Explorar o código

Merge remote-tracking branch 'public/bug6302'

Nick Mathewson %!s(int64=11) %!d(string=hai) anos
pai
achega
d094a76cc8
Modificáronse 2 ficheiros con 6 adicións e 26 borrados
  1. 5 21
      src/common/tortls.c
  2. 1 5
      src/or/connection.c

+ 5 - 21
src/common/tortls.c

@@ -362,35 +362,19 @@ tls_log_errors(tor_tls_t *tls, int severity, int domain, const char *doing)
 static int
 tor_errno_to_tls_error(int e)
 {
-#if defined(_WIN32)
   switch (e) {
-    case WSAECONNRESET: // most common
+    case SOCK_ERRNO(ECONNRESET): // most common
       return TOR_TLS_ERROR_CONNRESET;
-    case WSAETIMEDOUT:
+    case SOCK_ERRNO(ETIMEDOUT):
       return TOR_TLS_ERROR_TIMEOUT;
-    case WSAENETUNREACH:
-    case WSAEHOSTUNREACH:
+    case SOCK_ERRNO(EHOSTUNREACH):
+    case SOCK_ERRNO(ENETUNREACH):
       return TOR_TLS_ERROR_NO_ROUTE;
-    case WSAECONNREFUSED:
+    case SOCK_ERRNO(ECONNREFUSED):
       return TOR_TLS_ERROR_CONNREFUSED; // least common
     default:
       return TOR_TLS_ERROR_MISC;
   }
-#else
-  switch (e) {
-    case ECONNRESET: // most common
-      return TOR_TLS_ERROR_CONNRESET;
-    case ETIMEDOUT:
-      return TOR_TLS_ERROR_TIMEOUT;
-    case EHOSTUNREACH:
-    case ENETUNREACH:
-      return TOR_TLS_ERROR_NO_ROUTE;
-    case ECONNREFUSED:
-      return TOR_TLS_ERROR_CONNREFUSED; // least common
-    default:
-      return TOR_TLS_ERROR_MISC;
-  }
-#endif
 }
 
 /** Given a TOR_TLS_* error code, return a string equivalent. */

+ 1 - 5
src/or/connection.c

@@ -1442,11 +1442,7 @@ connection_connect(connection_t *conn, const char *address,
      * Warn if we do, and refuse to make the connection. */
     static ratelim_t disablenet_violated = RATELIM_INIT(30*60);
     char *m;
-#ifdef _WIN32
-    *socket_error = WSAENETUNREACH;
-#else
-    *socket_error = ENETUNREACH;
-#endif
+    *socket_error = SOCK_ERRNO(ENETUNREACH);
     if ((m = rate_limit_log(&disablenet_violated, approx_time()))) {
       log_warn(LD_BUG, "Tried to open a socket with DisableNetwork set.%s", m);
       tor_free(m);