fix tcp forwarding crash
This commit is contained in:
parent
d5e4e24e83
commit
82925e4ac7
4
cmd/gost/vendor/github.com/ginuerzh/gost/forward.go
generated
vendored
4
cmd/gost/vendor/github.com/ginuerzh/gost/forward.go
generated
vendored
@ -51,7 +51,7 @@ func (s *TcpForwardServer) ListenAndServe() error {
|
|||||||
|
|
||||||
select {
|
select {
|
||||||
case <-quit:
|
case <-quit:
|
||||||
if s.Base.Chain.lastNode.Transport != "ssh" {
|
if s.Base.Chain.lastNode == nil || s.Base.Chain.lastNode.Transport != "ssh" {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
if err := s.initSSHClient(); err != nil {
|
if err := s.initSSHClient(); err != nil {
|
||||||
@ -429,7 +429,7 @@ func (s *RTcpForwardServer) Serve() error {
|
|||||||
glog.V(LINFO).Infof("[rtcp] %s - %s", laddr, raddr)
|
glog.V(LINFO).Infof("[rtcp] %s - %s", laddr, raddr)
|
||||||
|
|
||||||
lastNode := s.Base.Chain.lastNode
|
lastNode := s.Base.Chain.lastNode
|
||||||
if lastNode.Transport == "ssh" {
|
if lastNode != nil && lastNode.Transport == "ssh" {
|
||||||
s.connectRTcpForwardSSH(conn, lastNode, laddr, raddr)
|
s.connectRTcpForwardSSH(conn, lastNode, laddr, raddr)
|
||||||
} else {
|
} else {
|
||||||
if err := s.connectRTcpForward(conn, laddr, raddr); err != nil {
|
if err := s.connectRTcpForward(conn, laddr, raddr); err != nil {
|
||||||
|
6
cmd/gost/vendor/vendor.json
vendored
6
cmd/gost/vendor/vendor.json
vendored
@ -21,10 +21,10 @@
|
|||||||
"revisionTime": "2017-01-19T05:34:58Z"
|
"revisionTime": "2017-01-19T05:34:58Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "8JlPLyEAjSN5tknRlRClQIVD5XA=",
|
"checksumSHA1": "iO+jPih44pGmJmhxHniw6feeIUA=",
|
||||||
"path": "github.com/ginuerzh/gost",
|
"path": "github.com/ginuerzh/gost",
|
||||||
"revision": "2ca2bf71871e271ad2b69f7b26e14983c99efc5d",
|
"revision": "d5e4e24e8354da5cef62733a4aa8a9d92556945e",
|
||||||
"revisionTime": "2017-02-25T14:51:33Z"
|
"revisionTime": "2017-02-26T10:31:07Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "+XIOnTW0rv8Kr/amkXgMraNeUr4=",
|
"checksumSHA1": "+XIOnTW0rv8Kr/amkXgMraNeUr4=",
|
||||||
|
@ -51,7 +51,7 @@ func (s *TcpForwardServer) ListenAndServe() error {
|
|||||||
|
|
||||||
select {
|
select {
|
||||||
case <-quit:
|
case <-quit:
|
||||||
if s.Base.Chain.lastNode.Transport != "ssh" {
|
if s.Base.Chain.lastNode == nil || s.Base.Chain.lastNode.Transport != "ssh" {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
if err := s.initSSHClient(); err != nil {
|
if err := s.initSSHClient(); err != nil {
|
||||||
@ -429,7 +429,7 @@ func (s *RTcpForwardServer) Serve() error {
|
|||||||
glog.V(LINFO).Infof("[rtcp] %s - %s", laddr, raddr)
|
glog.V(LINFO).Infof("[rtcp] %s - %s", laddr, raddr)
|
||||||
|
|
||||||
lastNode := s.Base.Chain.lastNode
|
lastNode := s.Base.Chain.lastNode
|
||||||
if lastNode.Transport == "ssh" {
|
if lastNode != nil && lastNode.Transport == "ssh" {
|
||||||
s.connectRTcpForwardSSH(conn, lastNode, laddr, raddr)
|
s.connectRTcpForwardSSH(conn, lastNode, laddr, raddr)
|
||||||
} else {
|
} else {
|
||||||
if err := s.connectRTcpForward(conn, laddr, raddr); err != nil {
|
if err := s.connectRTcpForward(conn, laddr, raddr); err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user