Allow OPENSSL_NO_SOCK in e_os.h even for non-Windows/DOS platforms
authorDavid Woodhouse <David.Woodhouse@intel.com>
Sat, 20 Feb 2016 15:07:32 +0000 (15:07 +0000)
committerRichard Levitte <levitte@openssl.org>
Thu, 10 Mar 2016 09:56:23 +0000 (10:56 +0100)
UEFI needs this too. Don't keep it only in the Windows/DOS ifdef block.

This is a fixed version of what was originally commit 963bb62195 and
subsequently reverted in commit 37b1f8bd62. Somewhere along the way, the
Windows/DOS ifdef actually got removed, leaving it just broken. It should
have been turned into an #elif, not removed.

This one correctly changes the logic from

    # if WINDOWS|DOS
    #  if OPENSSL_NO_SOCK
        ... no-sock ...
    #  elif !DJGPP
        ... native windows ...

to

    # if OPENSSL_NO_SOCK
       ... no-sock ...
    # elif WINDOWS|DOS
    #  if !DJGPP
        ... native windows ...

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
e_os.h

diff --git a/e_os.h b/e_os.h
index d2ae1ec..02c1ffd 100644 (file)
--- a/e_os.h
+++ b/e_os.h
@@ -448,11 +448,10 @@ extern int kbhit(void);
 # endif
 
 # ifdef USE_SOCKETS
-#  if defined(WINDOWS) || defined(MSDOS)
+#  ifdef OPENSSL_NO_SOCK
+#  elif defined(WINDOWS) || defined(MSDOS)
       /* windows world */
-
-#   ifdef OPENSSL_NO_SOCK
-#   elif !defined(__DJGPP__)
+#   if !defined(__DJGPP__)
 #    if defined(_WIN32_WCE) && _WIN32_WCE<410
 #     define getservbyname _masked_declaration_getservbyname
 #    endif