fix tcp forwarding crash

This commit is contained in:
rui.zheng 2017-03-03 12:48:46 +08:00
parent d5e4e24e83
commit 82925e4ac7
3 changed files with 7 additions and 7 deletions

View File

@ -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 {

View File

@ -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=",

View File

@ -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 {