fix multiplex session
This commit is contained in:
parent
5a2fd66c2a
commit
d3b5ff2484
4
kcp.go
4
kcp.go
@ -148,10 +148,6 @@ func (tr *kcpTransporter) Handshake(conn net.Conn, options ...HandshakeOption) (
|
|||||||
defer tr.sessionMutex.Unlock()
|
defer tr.sessionMutex.Unlock()
|
||||||
|
|
||||||
session, ok := tr.sessions[opts.Addr]
|
session, ok := tr.sessions[opts.Addr]
|
||||||
if session != nil && session.conn != conn {
|
|
||||||
conn.Close()
|
|
||||||
return nil, errors.New("kcp: unrecognized connection")
|
|
||||||
}
|
|
||||||
if !ok || session.session == nil {
|
if !ok || session.session == nil {
|
||||||
s, err := tr.initSession(opts.Addr, conn, config)
|
s, err := tr.initSession(opts.Addr, conn, config)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
8
ssh.go
8
ssh.go
@ -168,10 +168,6 @@ func (tr *sshForwardTransporter) Handshake(conn net.Conn, options ...HandshakeOp
|
|||||||
defer tr.sessionMutex.Unlock()
|
defer tr.sessionMutex.Unlock()
|
||||||
|
|
||||||
session, ok := tr.sessions[opts.Addr]
|
session, ok := tr.sessions[opts.Addr]
|
||||||
if session != nil && session.conn != conn {
|
|
||||||
conn.Close()
|
|
||||||
return nil, errors.New("ssh: unrecognized connection")
|
|
||||||
}
|
|
||||||
if !ok || session.client == nil {
|
if !ok || session.client == nil {
|
||||||
sshConn, chans, reqs, err := ssh.NewClientConn(conn, opts.Addr, &config)
|
sshConn, chans, reqs, err := ssh.NewClientConn(conn, opts.Addr, &config)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -268,10 +264,6 @@ func (tr *sshTunnelTransporter) Handshake(conn net.Conn, options ...HandshakeOpt
|
|||||||
defer tr.sessionMutex.Unlock()
|
defer tr.sessionMutex.Unlock()
|
||||||
|
|
||||||
session, ok := tr.sessions[opts.Addr]
|
session, ok := tr.sessions[opts.Addr]
|
||||||
if session != nil && session.conn != conn {
|
|
||||||
conn.Close()
|
|
||||||
return nil, errors.New("ssh: unrecognized connection")
|
|
||||||
}
|
|
||||||
if !ok || session.client == nil {
|
if !ok || session.client == nil {
|
||||||
sshConn, chans, reqs, err := ssh.NewClientConn(conn, opts.Addr, &config)
|
sshConn, chans, reqs, err := ssh.NewClientConn(conn, opts.Addr, &config)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
4
tls.go
4
tls.go
@ -92,10 +92,6 @@ func (tr *mtlsTransporter) Handshake(conn net.Conn, options ...HandshakeOption)
|
|||||||
defer tr.sessionMutex.Unlock()
|
defer tr.sessionMutex.Unlock()
|
||||||
|
|
||||||
session, ok := tr.sessions[opts.Addr]
|
session, ok := tr.sessions[opts.Addr]
|
||||||
if session != nil && session.conn != conn {
|
|
||||||
conn.Close()
|
|
||||||
return nil, errors.New("mtls: unrecognized connection")
|
|
||||||
}
|
|
||||||
if !ok || session.session == nil {
|
if !ok || session.session == nil {
|
||||||
s, err := tr.initSession(opts.Addr, conn, opts)
|
s, err := tr.initSession(opts.Addr, conn, opts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
9
ws.go
9
ws.go
@ -5,7 +5,6 @@ import (
|
|||||||
"crypto/sha1"
|
"crypto/sha1"
|
||||||
"crypto/tls"
|
"crypto/tls"
|
||||||
"encoding/base64"
|
"encoding/base64"
|
||||||
"errors"
|
|
||||||
"io"
|
"io"
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
@ -195,10 +194,6 @@ func (tr *mwsTransporter) Handshake(conn net.Conn, options ...HandshakeOption) (
|
|||||||
defer tr.sessionMutex.Unlock()
|
defer tr.sessionMutex.Unlock()
|
||||||
|
|
||||||
session, ok := tr.sessions[opts.Addr]
|
session, ok := tr.sessions[opts.Addr]
|
||||||
if session != nil && session.conn != conn {
|
|
||||||
conn.Close()
|
|
||||||
return nil, errors.New("mws: unrecognized connection")
|
|
||||||
}
|
|
||||||
if !ok || session.session == nil {
|
if !ok || session.session == nil {
|
||||||
s, err := tr.initSession(opts.Addr, conn, opts)
|
s, err := tr.initSession(opts.Addr, conn, opts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -332,10 +327,6 @@ func (tr *mwssTransporter) Handshake(conn net.Conn, options ...HandshakeOption)
|
|||||||
defer tr.sessionMutex.Unlock()
|
defer tr.sessionMutex.Unlock()
|
||||||
|
|
||||||
session, ok := tr.sessions[opts.Addr]
|
session, ok := tr.sessions[opts.Addr]
|
||||||
if session != nil && session.conn != conn {
|
|
||||||
conn.Close()
|
|
||||||
return nil, errors.New("mws: unrecognized connection")
|
|
||||||
}
|
|
||||||
if !ok || session.session == nil {
|
if !ok || session.session == nil {
|
||||||
s, err := tr.initSession(opts.Addr, conn, opts)
|
s, err := tr.initSession(opts.Addr, conn, opts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user