On Windows, the socket function returns a value of type SOCKET (i.e. *not* int). On 64 bit Windows (at least, Windows XP x64), SOCKET is defined as unsigned __int64.
Sockets have to be passed to the openssl library using the call SSL_set_fd. This functions accepts an int to pass the socket value. When you do this, the compiler will complain about loosing possibly significant bits (32 of them), and the compiler is entirely correct in this assessment. Using a cast doesn't help: you still loose those bits. The solution, it seems to me, is to go through the code and change all places where sockets are used to make them of type SOCKET (and define SOCKET to int for systems other than Windows). This problem occurs in openssl version 0.9.8k and 1.0.0-beta2. -- Sjoerd Mullender ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [email protected] Automated List Manager [email protected]
