From 91d13b68be55728a85b3832e2da9267dbf4f2464 Mon Sep 17 00:00:00 2001 From: Matt Kraai Date: Wed, 12 Aug 2009 08:49:24 +0200 Subject: libreplace: undef AI_ADDRCONFIG on QNX 6.3.0 (fix bug #6630) Some of the functions in source3/lib/util_sock.c use AI_ADDRCONFIG. On QNX 6.3.0, this macro is defined but, if it's used, getaddrinfo will fail. This prevents smbd from opening any sockets. If I undefine AI_ADDRCONFIG on such systems and allow lib/replace/system/network.h to define it to be 0, this works around the issue. Signed-off-by: Stefan Metzmacher --- lib/replace/system/network.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/replace/system/network.h b/lib/replace/system/network.h index c8364101a9..1f510350bd 100644 --- a/lib/replace/system/network.h +++ b/lib/replace/system/network.h @@ -195,6 +195,20 @@ int rep_socketpair(int d, int type, int protocol, int sv[2]); #endif #endif +/* + * Some of the functions in source3/lib/util_sock.c use AI_ADDRCONFIG. On QNX + * 6.3.0, this macro is defined but, if it's used, getaddrinfo will fail. This + * prevents smbd from opening any sockets. + * + * If I undefine AI_ADDRCONFIG on such systems and define it to be 0, + * this works around the issue. + */ +#ifdef __QNX__ +#include +#if _NTO_VERSION == 630 +#undef AI_ADDRCONFIG +#endif +#endif #ifndef AI_ADDRCONFIG /* * logic copied from AI_NUMERICHOST -- cgit