Move channelHandlers to avoid data race (#59)
This commit is contained in:
parent
47df570d18
commit
d6295a6cbc
10
server.go
10
server.go
@ -56,10 +56,6 @@ func (srv *Server) ensureHostSigner() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (srv *Server) config(ctx Context) *gossh.ServerConfig {
|
func (srv *Server) config(ctx Context) *gossh.ServerConfig {
|
||||||
srv.channelHandlers = map[string]channelHandler{
|
|
||||||
"session": sessionHandler,
|
|
||||||
"direct-tcpip": directTcpipHandler,
|
|
||||||
}
|
|
||||||
config := &gossh.ServerConfig{}
|
config := &gossh.ServerConfig{}
|
||||||
for _, signer := range srv.HostSigners {
|
for _, signer := range srv.HostSigners {
|
||||||
config.AddHostKey(signer)
|
config.AddHostKey(signer)
|
||||||
@ -164,6 +160,12 @@ func (srv *Server) Serve(l net.Listener) error {
|
|||||||
if srv.Handler == nil {
|
if srv.Handler == nil {
|
||||||
srv.Handler = DefaultHandler
|
srv.Handler = DefaultHandler
|
||||||
}
|
}
|
||||||
|
if srv.channelHandlers == nil {
|
||||||
|
srv.channelHandlers = map[string]channelHandler{
|
||||||
|
"session": sessionHandler,
|
||||||
|
"direct-tcpip": directTcpipHandler,
|
||||||
|
}
|
||||||
|
}
|
||||||
var tempDelay time.Duration
|
var tempDelay time.Duration
|
||||||
|
|
||||||
srv.trackListener(l, true)
|
srv.trackListener(l, true)
|
||||||
|
@ -18,6 +18,10 @@ func (srv *Server) serveOnce(l net.Listener) error {
|
|||||||
if e != nil {
|
if e != nil {
|
||||||
return e
|
return e
|
||||||
}
|
}
|
||||||
|
srv.channelHandlers = map[string]channelHandler{
|
||||||
|
"session": sessionHandler,
|
||||||
|
"direct-tcpip": directTcpipHandler,
|
||||||
|
}
|
||||||
srv.handleConn(conn)
|
srv.handleConn(conn)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user