From 53fb2c5c465ea97fccdc8be1823fff2616f08b50 Mon Sep 17 00:00:00 2001 From: Gert Doering Date: Thu, 24 Nov 2011 21:09:36 +0100 Subject: [PATCH] work around inet_ntop/inet_pton problems for MSVC builds on WinXP always use our built-in replacement functions now, even if building on Win7 (which has inet_ntop/inet_pton in the system libraries) because the resulting binary will then fail on WinXP. Signed-off-by: Gert Doering Acked-by: David Sommerseth Signed-off-by: David Sommerseth --- socket.c | 9 ++++----- win32.h | 10 ++++++---- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/socket.c b/socket.c index 5302eca2b..c8a86ea6f 100644 --- a/socket.c +++ b/socket.c @@ -3083,11 +3083,12 @@ link_socket_write_udp_posix_sendmsg (struct link_socket *sock, /* * inet_ntop() and inet_pton() wrap-implementations using * WSAAddressToString() and WSAStringToAddress() functions + * + * this is needed as long as we support running OpenVPN on WinXP */ -#ifndef _MSC_VER const char * -inet_ntop(int af, const void *src, char *dst, socklen_t size) +openvpn_inet_ntop(int af, const void *src, char *dst, socklen_t size) { struct sockaddr_storage ss; unsigned long s = size; @@ -3111,7 +3112,7 @@ inet_ntop(int af, const void *src, char *dst, socklen_t size) } int -inet_pton(int af, const char *src, void *dst) +openvpn_inet_pton(int af, const char *src, void *dst) { struct sockaddr_storage ss; int size = sizeof(ss); @@ -3134,8 +3135,6 @@ inet_pton(int af, const char *src, void *dst) return 0; } -#endif - int socket_recv_queue (struct link_socket *sock, int maxsize) { diff --git a/win32.h b/win32.h index 9ee95ef44..23c04bede 100644 --- a/win32.h +++ b/win32.h @@ -276,10 +276,12 @@ char *get_win_sys_path (void); /* call self in a subprocess */ void fork_to_self (const char *cmdline); -#ifndef _MSC_VER -const char *inet_ntop(int af, const void *src, char *dst, socklen_t size); -int inet_pton(int af, const char *src, void *st); -#endif + +const char *openvpn_inet_ntop(int af, const void *src, + char *dst, socklen_t size); +int openvpn_inet_pton(int af, const char *src, void *dst); +#define inet_ntop(af,src,dst,size) openvpn_inet_ntop(af,src,dst,size) +#define inet_pton(af,src,dst) openvpn_inet_pton(af,src,dst) /* Find temporary directory */ const char *win_get_tempdir(); -- 2.47.2