diff options
author | Erik Faye-Lund <kusmabite@googlemail.com> | 2009-10-19 17:42:07 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-10-19 22:17:36 -0700 |
commit | 514213bf72cb61725e42440aaf8dd53fa4c33a74 (patch) | |
tree | 541407959d427118350b2277cacb307219b8dfce /compat | |
parent | f9a88b70f94917f95e247a0e6e4d37f163fb41e3 (diff) | |
download | git-514213bf72cb61725e42440aaf8dd53fa4c33a74.tar.gz |
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 <kusmabite@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'compat')
-rw-r--r-- | compat/mingw.h | 21 |
1 files changed, 21 insertions, 0 deletions
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 <openssl/ssl.h> +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 */ |