From a6dab873d9b90165cbbe8845592fec963c154eb9 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Wed, 26 Aug 2009 15:15:15 +0000 Subject: PR: 2005 Submitted by: steve@openssl.org Some systems have broken IPv6 headers and/or implementations. If OPENSSL_USE_IPV6 is set to 0 IPv6 is not used, if it is set to 1 it is used and if undefined an attempt is made to detect at compile time by checking if AF_INET6 is set and excluding known problem platforms. --- e_os.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'e_os.h') diff --git a/e_os.h b/e_os.h index 3fbfe8e0ba..0f4b7994f5 100644 --- a/e_os.h +++ b/e_os.h @@ -624,6 +624,18 @@ static unsigned int _strlen31(const char *str) # define INVALID_SOCKET (-1) # endif /* INVALID_SOCKET */ # endif + +/* Some IPv6 implementations are broken, disable them in known bad + * versions. + */ +# if !defined(OPENSSL_USE_IPV6) +# if defined(AF_INET6) && !defined(OPENSSL_SYS_BEOS_BONE) && !defined(NETWARE_CLIB) +# define OPENSSL_USE_IPV6 1 +# else +# define OPENSSL_USE_IPV6 0 +# endif +# endif + #endif #if defined(__ultrix) -- cgit v1.2.3