@@ -65,6 +65,8 @@ func (f RequestHandlerFunc) HandleSSHRequest(ctx Context, srv *Server, req *goss
65
65
return f (ctx , srv , req )
66
66
}
67
67
68
+ var DefaultRequestHandlers = map [string ]RequestHandler {}
69
+
68
70
type ChannelHandler interface {
69
71
HandleSSHChannel (srv * Server , conn * gossh.ServerConn , newChan gossh.NewChannel , ctx Context )
70
72
}
@@ -75,6 +77,10 @@ func (f ChannelHandlerFunc) HandleSSHChannel(srv *Server, conn *gossh.ServerConn
75
77
f (srv , conn , newChan , ctx )
76
78
}
77
79
80
+ var DefaultChannelHandlers = map [string ]ChannelHandler {
81
+ "session" : ChannelHandlerFunc (DefaultSessionHandler ),
82
+ }
83
+
78
84
func (srv * Server ) ensureHostSigner () error {
79
85
if len (srv .HostSigners ) == 0 {
80
86
signer , err := generateSigner ()
@@ -90,15 +96,15 @@ func (srv *Server) ensureHandlers() {
90
96
srv .mu .Lock ()
91
97
defer srv .mu .Unlock ()
92
98
if srv .RequestHandlers == nil {
93
- srv .RequestHandlers = map [string ]RequestHandler {
94
- "tcpip-forward" : forwardedTCPHandler {},
95
- "cancel-tcpip-forward" : forwardedTCPHandler {},
99
+ srv .RequestHandlers = map [string ]RequestHandler {}
100
+ for k , v := range DefaultRequestHandlers {
101
+ srv . RequestHandlers [ k ] = v
96
102
}
97
103
}
98
104
if srv .ChannelHandlers == nil {
99
- srv .ChannelHandlers = map [string ]ChannelHandler {
100
- "session" : ChannelHandlerFunc ( sessionHandler ),
101
- "direct-tcpip" : ChannelHandlerFunc ( directTcpipHandler ),
105
+ srv .ChannelHandlers = map [string ]ChannelHandler {}
106
+ for k , v := range DefaultChannelHandlers {
107
+ srv . ChannelHandlers [ k ] = v
102
108
}
103
109
}
104
110
}
0 commit comments