From 3ddfe298375c2484ac281d8a6d731ad8616f3542 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Thu, 9 Feb 2017 08:52:34 +0100 Subject: [PATCH] netbase: Do not print an error on connection timeouts through proxy If a timeout happens while reading the proxy response, this effectively means we timed out while connecting to the remote node. This is very common for Tor, so do not print an error message. --- src/netbase.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/netbase.cpp b/src/netbase.cpp index 414456a16c..fc9a6ed0be 100644 --- a/src/netbase.cpp +++ b/src/netbase.cpp @@ -360,7 +360,14 @@ static bool Socks5(const std::string& strDest, int port, const ProxyCredentials char pchRet2[4]; if ((recvr = InterruptibleRecv(pchRet2, 4, SOCKS5_RECV_TIMEOUT, hSocket)) != IntrRecvError::OK) { CloseSocket(hSocket); - return error("Error while reading proxy response"); + if (recvr == IntrRecvError::Timeout) { + /* If a timeout happens here, this effectively means we timed out while connecting + * to the remote node. This is very common for Tor, so do not print an + * error message. */ + return false; + } else { + return error("Error while reading proxy response"); + } } if (pchRet2[0] != 0x05) { CloseSocket(hSocket);