Skip to content

Commit

Permalink
Don't block on SSH connection
Browse files Browse the repository at this point in the history
  • Loading branch information
antoniomika committed Feb 23, 2019
1 parent 83b6fce commit f08402e
Showing 1 changed file with 17 additions and 15 deletions.
32 changes: 17 additions & 15 deletions main.go
Expand Up @@ -115,23 +115,25 @@ func main() {

log.Println("Accepted SSH connection for:", conn.RemoteAddr())

sshConn, chans, reqs, err := ssh.NewServerConn(conn, sshConfig)
if err != nil {
conn.Close()
log.Println(err)
continue
}
go func() {
sshConn, chans, reqs, err := ssh.NewServerConn(conn, sshConfig)
if err != nil {
conn.Close()
log.Println(err)
return
}

holderConn := &SSHConnection{
SSHConn: sshConn,
Listeners: &sync.Map{},
Close: make(chan bool),
Messages: make(chan string),
}
holderConn := &SSHConnection{
SSHConn: sshConn,
Listeners: &sync.Map{},
Close: make(chan bool),
Messages: make(chan string),
}

state.SSHConnections.Store(sshConn.RemoteAddr(), holderConn)
state.SSHConnections.Store(sshConn.RemoteAddr(), holderConn)

go handleRequests(reqs, holderConn, state)
go handleChannels(chans, holderConn, state)
go handleRequests(reqs, holderConn, state)
go handleChannels(chans, holderConn, state)
}()
}
}

0 comments on commit f08402e

Please sign in to comment.