From d3b5ff2484627e32857032ba6faed45a764d998a Mon Sep 17 00:00:00 2001 From: "rui.zheng" Date: Wed, 1 Nov 2017 16:11:21 +0800 Subject: [PATCH] fix multiplex session --- kcp.go | 4 ---- ssh.go | 8 -------- tls.go | 4 ---- ws.go | 9 --------- 4 files changed, 25 deletions(-) diff --git a/kcp.go b/kcp.go index b0ae961..07d7048 100644 --- a/kcp.go +++ b/kcp.go @@ -148,10 +148,6 @@ func (tr *kcpTransporter) Handshake(conn net.Conn, options ...HandshakeOption) ( defer tr.sessionMutex.Unlock() 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 { s, err := tr.initSession(opts.Addr, conn, config) if err != nil { diff --git a/ssh.go b/ssh.go index a9604f3..83ec844 100644 --- a/ssh.go +++ b/ssh.go @@ -168,10 +168,6 @@ func (tr *sshForwardTransporter) Handshake(conn net.Conn, options ...HandshakeOp defer tr.sessionMutex.Unlock() 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 { sshConn, chans, reqs, err := ssh.NewClientConn(conn, opts.Addr, &config) if err != nil { @@ -268,10 +264,6 @@ func (tr *sshTunnelTransporter) Handshake(conn net.Conn, options ...HandshakeOpt defer tr.sessionMutex.Unlock() 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 { sshConn, chans, reqs, err := ssh.NewClientConn(conn, opts.Addr, &config) if err != nil { diff --git a/tls.go b/tls.go index 6b8005c..edd0c82 100644 --- a/tls.go +++ b/tls.go @@ -92,10 +92,6 @@ func (tr *mtlsTransporter) Handshake(conn net.Conn, options ...HandshakeOption) defer tr.sessionMutex.Unlock() 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 { s, err := tr.initSession(opts.Addr, conn, opts) if err != nil { diff --git a/ws.go b/ws.go index 3866f35..0583154 100644 --- a/ws.go +++ b/ws.go @@ -5,7 +5,6 @@ import ( "crypto/sha1" "crypto/tls" "encoding/base64" - "errors" "io" "net" "net/http" @@ -195,10 +194,6 @@ func (tr *mwsTransporter) Handshake(conn net.Conn, options ...HandshakeOption) ( defer tr.sessionMutex.Unlock() 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 { s, err := tr.initSession(opts.Addr, conn, opts) if err != nil { @@ -332,10 +327,6 @@ func (tr *mwssTransporter) Handshake(conn net.Conn, options ...HandshakeOption) defer tr.sessionMutex.Unlock() 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 { s, err := tr.initSession(opts.Addr, conn, opts) if err != nil {