Browse Source

Refactor: Use SOCK_ERRNO to avoid some #ifdef _WIN32s

Fixes ticket 6302
Nick Mathewson 11 years ago
parent
commit
9bd811b337
2 changed files with 6 additions and 26 deletions
  1. 5 21
      src/common/tortls.c
  2. 1 5
      src/or/connection.c

+ 5 - 21
src/common/tortls.c

@@ -359,35 +359,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);