in src/sessionmanagerplugin/session/portsession/basicportforwarding.go [116:141]
func (p *BasicPortForwarding) startLocalConn(log log.T) (err error) {
// When localPortNumber is not specified, set port number to 0 to let net.conn choose an open port at random
localPortNumber := p.portParameters.LocalPortNumber
if p.portParameters.LocalPortNumber == "" {
localPortNumber = "0"
}
var listener net.Listener
if listener, err = p.startLocalListener(log, localPortNumber); err != nil {
log.Errorf("Unable to open tcp connection to port. %v", err)
return err
}
var tcpConn net.Conn
if tcpConn, err = acceptConnection(log, listener); err != nil {
log.Errorf("Failed to accept connection with error. %v", err)
return err
}
log.Infof("Connection accepted for session %s.", p.sessionId)
fmt.Printf("Connection accepted for session %s.\n", p.sessionId)
p.listener = &listener
p.stream = &tcpConn
return
}