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 {
|
||||
case <-quit:
|
||||
if s.Base.Chain.lastNode.Transport != "ssh" {
|
||||
if s.Base.Chain.lastNode == nil || s.Base.Chain.lastNode.Transport != "ssh" {
|
||||
break
|
||||
}
|
||||
if err := s.initSSHClient(); err != nil {
|
||||
@ -429,7 +429,7 @@ func (s *RTcpForwardServer) Serve() error {
|
||||
glog.V(LINFO).Infof("[rtcp] %s - %s", laddr, raddr)
|
||||
|
||||
lastNode := s.Base.Chain.lastNode
|
||||
if lastNode.Transport == "ssh" {
|
||||
if lastNode != nil && lastNode.Transport == "ssh" {
|
||||
s.connectRTcpForwardSSH(conn, lastNode, laddr, raddr)
|
||||
} else {
|
||||
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"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "8JlPLyEAjSN5tknRlRClQIVD5XA=",
|
||||
"checksumSHA1": "iO+jPih44pGmJmhxHniw6feeIUA=",
|
||||
"path": "github.com/ginuerzh/gost",
|
||||
"revision": "2ca2bf71871e271ad2b69f7b26e14983c99efc5d",
|
||||
"revisionTime": "2017-02-25T14:51:33Z"
|
||||
"revision": "d5e4e24e8354da5cef62733a4aa8a9d92556945e",
|
||||
"revisionTime": "2017-02-26T10:31:07Z"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "+XIOnTW0rv8Kr/amkXgMraNeUr4=",
|
||||
|
@ -51,7 +51,7 @@ func (s *TcpForwardServer) ListenAndServe() error {
|
||||
|
||||
select {
|
||||
case <-quit:
|
||||
if s.Base.Chain.lastNode.Transport != "ssh" {
|
||||
if s.Base.Chain.lastNode == nil || s.Base.Chain.lastNode.Transport != "ssh" {
|
||||
break
|
||||
}
|
||||
if err := s.initSSHClient(); err != nil {
|
||||
@ -429,7 +429,7 @@ func (s *RTcpForwardServer) Serve() error {
|
||||
glog.V(LINFO).Infof("[rtcp] %s - %s", laddr, raddr)
|
||||
|
||||
lastNode := s.Base.Chain.lastNode
|
||||
if lastNode.Transport == "ssh" {
|
||||
if lastNode != nil && lastNode.Transport == "ssh" {
|
||||
s.connectRTcpForwardSSH(conn, lastNode, laddr, raddr)
|
||||
} else {
|
||||
if err := s.connectRTcpForward(conn, laddr, raddr); err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user