From 514213bf72cb61725e42440aaf8dd53fa4c33a74 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Mon, 19 Oct 2009 17:42:07 +0200 Subject: mingw: wrap SSL_set_(w|r)fd to call _get_osfhandle SSL_set_fd (and friends) expects a OS file handle on Windows, not a file descriptor as on UNIX(-ish). This patch makes the Windows version of SSL_set_fd behave like the UNIX versions, by calling _get_osfhandle on it's input. Signed-off-by: Erik Faye-Lund Acked-by: Johannes Sixt Signed-off-by: Junio C Hamano --- compat/mingw.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'compat') diff --git a/compat/mingw.h b/compat/mingw.h index 5b5258bceb..6907345f90 100644 --- a/compat/mingw.h +++ b/compat/mingw.h @@ -124,6 +124,27 @@ static inline int waitpid(pid_t pid, int *status, unsigned options) return -1; } +#ifndef NO_OPENSSL +#include +static inline int mingw_SSL_set_fd(SSL *ssl, int fd) +{ + return SSL_set_fd(ssl, _get_osfhandle(fd)); +} +#define SSL_set_fd mingw_SSL_set_fd + +static inline int mingw_SSL_set_rfd(SSL *ssl, int fd) +{ + return SSL_set_rfd(ssl, _get_osfhandle(fd)); +} +#define SSL_set_rfd mingw_SSL_set_rfd + +static inline int mingw_SSL_set_wfd(SSL *ssl, int fd) +{ + return SSL_set_wfd(ssl, _get_osfhandle(fd)); +} +#define SSL_set_wfd mingw_SSL_set_wfd +#endif + /* * implementations of missing functions */ -- cgit v1.2.1 From c36e16385be363a11abaa4a43edd5a2b2b2dff81 Mon Sep 17 00:00:00 2001 From: Marius Storm-Olsen Date: Wed, 21 Oct 2009 19:04:51 +0200 Subject: MSVC: Enable OpenSSL, and translate -lcrypto We don't use crypto, but rather require libeay32 and ssleay32. handle it in both the Makefile msvc linker script, and the buildsystem generator. Signed-off-by: Marius Storm-Olsen Signed-off-by: Erik Faye-Lund Signed-off-by: Junio C Hamano --- compat/vcbuild/scripts/clink.pl | 3 +++ 1 file changed, 3 insertions(+) (limited to 'compat') diff --git a/compat/vcbuild/scripts/clink.pl b/compat/vcbuild/scripts/clink.pl index 0ffd59f9fb..fce1e2423e 100644 --- a/compat/vcbuild/scripts/clink.pl +++ b/compat/vcbuild/scripts/clink.pl @@ -29,6 +29,9 @@ while (@ARGV) { push(@args, "zlib.lib"); } elsif ("$arg" eq "-liconv") { push(@args, "iconv.lib"); + } elsif ("$arg" eq "-lcrypto") { + push(@args, "libeay32.lib"); + push(@args, "ssleay32.lib"); } elsif ("$arg" =~ /^-L/ && "$arg" ne "-LTCG") { $arg =~ s/^-L/-LIBPATH:/; push(@args, $arg); -- cgit v1.2.1