From 142e1937e8447b6b6050e9e28a9ce7bcb6c12fb2 Mon Sep 17 00:00:00 2001 From: usa Date: Fri, 25 Jul 2003 16:40:26 +0000 Subject: * ext/openssl/ossl_ssl.c (ossl_ssl_setup): need to pass the real socket to SSL_get_fd on native win32 platforms. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/openssl/ossl_ssl.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'ext') diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c index e4fb0bf78..387b71c3b 100644 --- a/ext/openssl/ossl_ssl.c +++ b/ext/openssl/ossl_ssl.c @@ -19,6 +19,12 @@ #define numberof(ary) (sizeof(ary)/sizeof(ary[0])) +#ifdef OPENSSL_SYS_WINDOWS +# define TO_SOCKET(s) _get_osfhandle(s) +#else +# define TO_SOCKET(s) s +#endif + VALUE mSSL; VALUE eSSLError; VALUE cSSLContext; @@ -392,7 +398,7 @@ ossl_ssl_setup(VALUE self) GetOpenFile(io, fptr); rb_io_check_readable(fptr); rb_io_check_writable(fptr); - SSL_set_fd(ssl, fileno(fptr->f)); + SSL_set_fd(ssl, TO_SOCKET(fileno(fptr->f))); } return Qtrue; -- cgit