[Pkg-gnupg-commit] [libassuan] 03/08: Also try port 9150 in Tor mode.

Eric Dorland eric at moszumanska.debian.org
Wed Dec 2 06:17:57 UTC 2015


This is an automated email from the git hooks/post-receive script.

eric pushed a commit to branch master
in repository libassuan.

commit 5b927b3dcffa2918e6b503c4907923aadbad0865
Author: Werner Koch <wk at gnupg.org>
Date:   Sat Nov 21 13:13:52 2015 +0100

    Also try port 9150 in Tor mode.
    
    * src/assuan-socket.c (TOR_PORT2): New.
    (_assuan_sock_wsa2errno): Map WSAECONNREFUSED.
    (socks5_connect): Fall back to TOR_PORT2.
    
    Signed-off-by: Werner Koch <wk at gnupg.org>
---
 src/assuan-socket.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/assuan-socket.c b/src/assuan-socket.c
index 5ad7299..9f9f155 100644
--- a/src/assuan-socket.c
+++ b/src/assuan-socket.c
@@ -110,6 +110,7 @@
 /* The standard SOCKS and TOR port.  */
 #define SOCKS_PORT 1080
 #define TOR_PORT   9050
+#define TOR_PORT2  9150   /* The Tor browser is listening there.  */
 
 /* In the future, we can allow access to sock_ctx, if that context's
    hook functions need to be overridden.  There can only be one global
@@ -300,6 +301,8 @@ _assuan_sock_wsa2errno (int err)
       return EPIPE;
     case WSANOTINITIALISED:
       return ENOSYS;
+    case WSAECONNREFUSED:
+      return ECONNREFUSED;
     default:
       return EIO;
     }
@@ -730,6 +733,13 @@ socks5_connect (assuan_context_t ctx, assuan_fd_t sock,
   proxyaddr = (struct sockaddr *)&proxyaddr_in;
   proxyaddrlen = sizeof proxyaddr_in;
   ret = _assuan_connect (ctx, HANDLE2SOCKET (sock), proxyaddr, proxyaddrlen);
+  if (ret && socksport == TOR_PORT && errno == ECONNREFUSED)
+    {
+      /* Standard Tor port failed - try the Tor browser port.  */
+      proxyaddr_in.sin_port = htons (TOR_PORT2);
+      ret = _assuan_connect (ctx, HANDLE2SOCKET (sock),
+                             proxyaddr, proxyaddrlen);
+    }
   if (ret)
     return ret;
   buffer[0] = 5; /* RFC-1928 VER field.  */

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/libassuan.git



More information about the Pkg-gnupg-commit mailing list