From 5af14a75892045a0bab75881eb884db7d60013e1 Mon Sep 17 00:00:00 2001 From: Giuseppe Scrivano Date: Tue, 15 Jun 2010 13:03:13 +0200 Subject: [PATCH] Fix GNU TLS backend under Windows. --- src/ChangeLog | 7 +++++++ src/gnutls.c | 9 ++++++++- src/openssl.c | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 283e2d28..856d81a3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2010-06-15 Giuseppe Scrivano + + * gnutls.c [WIN32]: Include "w32sock.h". + (FD_TO_SOCKET): Add definition. + (ssl_connect_wget): Get the real socket handle by FD_TO_SOCKET. + Define FD_TO_SOCKET if it is not yet defined. + 2010-06-14 Giuseppe Scrivano * gnutls.c: Include . diff --git a/src/gnutls.c b/src/gnutls.c index 30ed5e17..782c7486 100644 --- a/src/gnutls.c +++ b/src/gnutls.c @@ -47,6 +47,10 @@ as that of the covered work. */ #include "url.h" #include "ssl.h" +#ifdef WIN32 +# include "w32sock.h" +#endif + /* Note: some of the functions private to this file have names that begin with "wgnutls_" (e.g. wgnutls_read) so that they wouldn't be confused with actual gnutls functions -- such as the gnutls_read @@ -196,7 +200,10 @@ ssl_connect_wget (int fd) gnutls_set_default_priority (session); gnutls_certificate_type_set_priority (session, cert_type_priority); gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, credentials); - gnutls_transport_set_ptr (session, (gnutls_transport_ptr) fd); +#ifndef FD_TO_SOCKET +# define FD_TO_SOCKET(X) (X) +#endif + gnutls_transport_set_ptr (session, (gnutls_transport_ptr) FD_TO_SOCKET (fd)); err = gnutls_handshake (session); if (err < 0) { diff --git a/src/openssl.c b/src/openssl.c index e0a30fc7..4be81cb2 100644 --- a/src/openssl.c +++ b/src/openssl.c @@ -398,7 +398,7 @@ ssl_connect_wget (int fd) if (!conn) goto error; #ifndef FD_TO_SOCKET -# define FD_TO_SOCKET(x) (x) +# define FD_TO_SOCKET(X) (X) #endif if (!SSL_set_fd (conn, FD_TO_SOCKET (fd))) goto error; -- 2.39.2