commit dea0720dadea8f3915901833115726f4ba0d48f4 Author: Nick Mathewson nickm@torproject.org Date: Tue Jan 17 16:38:47 2012 -0500
Warn if sizeof(tor_socket_t) != sizeof(SOCKET) --- changes/tor_socket_tests | 3 +++ src/common/compat.c | 5 +++++ 2 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/changes/tor_socket_tests b/changes/tor_socket_tests index 5857d20..b7ee325 100644 --- a/changes/tor_socket_tests +++ b/changes/tor_socket_tests @@ -2,6 +2,9 @@ - Find more places in the code that should have been testing for invalid sockets using the SOCKET_OK macro. Required for a fix for bug 4533. Bugfix on 0.2.2.28-beta. + - Detect attempts to build Tor on (as yet hypothetical) versions + of Windows where sizeof(intptr_t) != sizeof(SOCKET). Partial + fix for bug 4533. Bugfix on 0.2.2.28-beta.
o Code simplification and refactoring: - Use a TOR_INVALID_SOCKET macro when initializing a socket to an diff --git a/src/common/compat.c b/src/common/compat.c index 7f89037..1f9066d 100644 --- a/src/common/compat.c +++ b/src/common/compat.c @@ -2889,6 +2889,11 @@ network_init(void) log_warn(LD_NET,"Error initializing windows network layer: code was %d",r); return -1; } + if (sizeof(SOCKET) != sizeof(tor_socket_t)) { + log_warn(LD_BUG,"The tor_socket_t type does not match SOCKET in size; Tor " + "might not work. (Sizes are %d and %d respectively.)", + (int)sizeof(tor_socket_t), (int)sizeof(SOCKET)); + } /* WSAData.iMaxSockets might show the max sockets we're allowed to use. * We might use it to complain if we're trying to be a server but have * too few sockets available. */