mirror of
https://github.com/octoleo/syncthing.git
synced 2025-02-02 11:58:28 +00:00
lib/dialer: Add env var to disable proxy fallback (fixes #3006)
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3009
This commit is contained in:
parent
e87c1abd4e
commit
2467678bd4
@ -23,6 +23,7 @@ var (
|
|||||||
l = logger.DefaultLogger.NewFacility("dialer", "Dialing connections")
|
l = logger.DefaultLogger.NewFacility("dialer", "Dialing connections")
|
||||||
proxyDialer = getDialer(proxy.Direct)
|
proxyDialer = getDialer(proxy.Direct)
|
||||||
usingProxy = proxyDialer != proxy.Direct
|
usingProxy = proxyDialer != proxy.Direct
|
||||||
|
noFallback = os.Getenv("ALL_PROXY_NO_FALLBACK") != ""
|
||||||
)
|
)
|
||||||
|
|
||||||
type dialFunc func(network, addr string) (net.Conn, error)
|
type dialFunc func(network, addr string) (net.Conn, error)
|
||||||
@ -40,6 +41,9 @@ func init() {
|
|||||||
go func() {
|
go func() {
|
||||||
time.Sleep(500 * time.Millisecond)
|
time.Sleep(500 * time.Millisecond)
|
||||||
l.Infoln("Proxy settings detected")
|
l.Infoln("Proxy settings detected")
|
||||||
|
if noFallback {
|
||||||
|
l.Infoln("Proxy fallback disabled")
|
||||||
|
}
|
||||||
}()
|
}()
|
||||||
} else {
|
} else {
|
||||||
go func() {
|
go func() {
|
||||||
@ -62,6 +66,10 @@ func dialWithFallback(proxyDialFunc dialFunc, fallbackDialFunc dialFunc, network
|
|||||||
}
|
}
|
||||||
l.Debugf("Dialing %s address %s via proxy - error %s", network, addr, err)
|
l.Debugf("Dialing %s address %s via proxy - error %s", network, addr, err)
|
||||||
|
|
||||||
|
if noFallback {
|
||||||
|
return conn, err
|
||||||
|
}
|
||||||
|
|
||||||
conn, err = fallbackDialFunc(network, addr)
|
conn, err = fallbackDialFunc(network, addr)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
l.Debugf("Dialing %s address %s via fallback - success, %s -> %s", network, addr, conn.LocalAddr(), conn.RemoteAddr())
|
l.Debugf("Dialing %s address %s via fallback - success, %s -> %s", network, addr, conn.LocalAddr(), conn.RemoteAddr())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user