Просмотр исходного кода

Merge branch 'master' of https://github.com/Psiphon-Labs/psiphon-tunnel-core

Rod Hynes 11 лет назад
Родитель
Сommit
7683c634bb
1 измененных файлов с 8 добавлено и 7 удалено
  1. 8 7
      psiphon/socksProxy.go

+ 8 - 7
psiphon/socksProxy.go

@@ -21,9 +21,10 @@ package psiphon
 
 
 import (
 import (
 	"fmt"
 	"fmt"
-	socks "github.com/Psiphon-Inc/goptlib"
 	"net"
 	"net"
 	"sync"
 	"sync"
+
+	socks "github.com/Psiphon-Inc/goptlib"
 )
 )
 
 
 // SocksProxy is a SOCKS server that accepts local host connections
 // SocksProxy is a SOCKS server that accepts local host connections
@@ -103,13 +104,13 @@ loop:
 		}
 		}
 		if err != nil {
 		if err != nil {
 			Notice(NOTICE_ALERT, "SOCKS proxy accept error: %s", err)
 			Notice(NOTICE_ALERT, "SOCKS proxy accept error: %s", err)
-			if e, ok := err.(net.Error); ok && !e.Temporary() {
-				proxy.tunneler.SignalFailure()
-				// Fatal error, stop the proxy
-				break loop
+			if e, ok := err.(net.Error); ok && e.Temporary() {
+				// Temporary error, keep running
+				continue
 			}
 			}
-			// Temporary error, keep running
-			continue
+			// Fatal error, stop the proxy
+			proxy.tunneler.SignalFailure()
+			break loop
 		}
 		}
 		go func() {
 		go func() {
 			err := proxy.socksConnectionHandler(socksConnection)
 			err := proxy.socksConnectionHandler(socksConnection)