From 09867a47a47d1eec7bcfb57331cc6bb69b752847 Mon Sep 17 00:00:00 2001
From: Richard Levitte <levitte@openssl.org>
Date: Thu, 19 Dec 2002 19:39:30 +0000
Subject: [PATCH] If _XOPEN_SOURCE_EXTENDED or _XOPEN_SOURCE are defined,
 _POSIX_C_SOURCE gets defined in DECC$TYPES.H.  If _POSIX_C_SOURCE is defined,
 certain types do not get defined (u_char, u_int, ...).  DECC.H gets included
 by assert.h and others.  Now, in6.h uses the types u_char, u_int and so on,
 and gets included as part of other header inclusions, and will of course fail
 because of the missing types.

On the other hand, _XOPEN_SOURCE_EXTENDED is needed to get gethostname()
properly declared...

Solution: define _XOPEN_SOURCE_EXTENDED much later, so DECC$TYPES.H has
a chance to be included *first*, so the otherwise missing types get defined
properly.

Personal: *mumble* *mumble*
---
 ssl/ssltest.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/ssl/ssltest.c b/ssl/ssltest.c
index e384599fb1..fc27f018d1 100644
--- a/ssl/ssltest.c
+++ b/ssl/ssltest.c
@@ -116,9 +116,6 @@
 
 #define _BSD_SOURCE 1		/* Or gethostname won't be declared properly
 				   on Linux and GNU platforms. */
-#define _XOPEN_SOURCE_EXTENDED	1 /* Or gethostname won't be declared properly
-				   on Compaq platforms (at least with DEC C).
-				*/
 
 #include <assert.h>
 #include <errno.h>
@@ -139,6 +136,13 @@
 #include <openssl/engine.h>
 #include <openssl/err.h>
 #include <openssl/rand.h>
+
+#define _XOPEN_SOURCE_EXTENDED	1 /* Or gethostname won't be declared properly
+				     on Compaq platforms (at least with DEC C).
+				     Do not try to put it earlier, or IPv6 includes
+				     get screwed...
+				  */
+
 #ifdef OPENSSL_SYS_WINDOWS
 #include <winsock.h>
 #include "../crypto/bio/bss_file.c"
-- 
2.40.0