[openssl] master update

shane.lontis at oracle.com shane.lontis at oracle.com
Tue Jun 11 11:31:46 UTC 2019


The branch master has been updated
       via  53f5469604b5295a93316ec75f5da6aaf299d892 (commit)
       via  a1f0478277cedbbe5e866c046e540b48e8045a28 (commit)
       via  92bec78a26139185c840a5d516a2aa171b20e269 (commit)
      from  f0efeea29eca6e528a976f62ae2422eee34ea0eb (commit)


- Log -----------------------------------------------------------------
commit 53f5469604b5295a93316ec75f5da6aaf299d892
Author: Shane Lontis <shane.lontis at oracle.com>
Date:   Tue Jun 11 18:19:20 2019 +1000

    Fix app opt compile failure due to missing <inttypes.h>
    
    opt.c uses functions that are only available if inttypes.h exists.
    It now checks a define which is unavailable if
    inttypes.h is included. The include is done automagically inside e_os2.h.
    
    Reviewed-by: Richard Levitte <levitte at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/8986)

commit a1f0478277cedbbe5e866c046e540b48e8045a28
Author: Shane Lontis <shane.lontis at oracle.com>
Date:   Tue Jun 11 18:17:52 2019 +1000

    Fix Windows Compile failure due to missing <inttypes.h>
    
    Including <inttypes.h> caused a windows build failure.
    The test is now skipped if strtoimax & strtoumax are not supported.
    It does this by checking for a define which is only available if
    inttypes.h is not included. The include is done automagically inside e_os2.h.
    
    Reviewed-by: Richard Levitte <levitte at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/8986)

commit 92bec78a26139185c840a5d516a2aa171b20e269
Author: Shane Lontis <shane.lontis at oracle.com>
Date:   Tue Jun 11 18:16:51 2019 +1000

    Add defines to indicate if intypes.h and stdint.h are unavailable
    
    Use the defines OPENSSL_NO_INTTYPES_H & OPENSSL_NO_STDINT_H to determine
    if the headers are unavailable for a platform.
    
    Reviewed-by: Richard Levitte <levitte at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/8986)

-----------------------------------------------------------------------

Summary of changes:
 apps/include/opt.h            |  3 ++-
 apps/opt.c                    |  3 ++-
 include/openssl/e_os2.h       |  6 ++++++
 test/params_conversion_test.c | 15 +++++++++++----
 4 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/apps/include/opt.h b/apps/include/opt.h
index ecfa06e..81faf70 100644
--- a/apps/include/opt.h
+++ b/apps/include/opt.h
@@ -317,7 +317,8 @@ int opt_int(const char *arg, int *result);
 int opt_ulong(const char *arg, unsigned long *result);
 int opt_long(const char *arg, long *result);
 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L && \
-    defined(INTMAX_MAX) && defined(UINTMAX_MAX)
+    defined(INTMAX_MAX) && defined(UINTMAX_MAX) && \
+    !defined(OPENSSL_NO_INTTYPES_H)
 int opt_imax(const char *arg, intmax_t *result);
 int opt_umax(const char *arg, uintmax_t *result);
 #else
diff --git a/apps/opt.c b/apps/opt.c
index 439f271..f4a4e12 100644
--- a/apps/opt.c
+++ b/apps/opt.c
@@ -377,7 +377,8 @@ int opt_long(const char *value, long *result)
 }
 
 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L && \
-    defined(INTMAX_MAX) && defined(UINTMAX_MAX)
+    defined(INTMAX_MAX) && defined(UINTMAX_MAX) && \
+    !defined(OPENSSL_NO_INTTYPES_H)
 
 /* Parse an intmax_t, put it into *result; return 0 on failure, else 1. */
 int opt_imax(const char *value, intmax_t *result)
diff --git a/include/openssl/e_os2.h b/include/openssl/e_os2.h
index b88abc1..50ce937 100644
--- a/include/openssl/e_os2.h
+++ b/include/openssl/e_os2.h
@@ -228,6 +228,8 @@ extern "C" {
 # endif
 
 /* Standard integer types */
+# define OPENSSL_NO_INTTYPES_H
+# define OPENSSL_NO_STDINT_H
 # if defined(OPENSSL_SYS_UEFI)
 typedef INT8 int8_t;
 typedef UINT8 uint8_t;
@@ -241,6 +243,9 @@ typedef UINT64 uint64_t;
      defined(__osf__) || defined(__sgi) || defined(__hpux) || \
      defined(OPENSSL_SYS_VMS) || defined (__OpenBSD__)
 #  include <inttypes.h>
+#  undef OPENSSL_NO_INTTYPES_H
+/* Because the specs say that inttypes.h includes stdint.h if present */
+#  undef OPENSSL_NO_STDINT_H
 # elif defined(_MSC_VER) && _MSC_VER<=1500
 /*
  * minimally required typdefs for systems not supporting inttypes.h or
@@ -256,6 +261,7 @@ typedef __int64 int64_t;
 typedef unsigned __int64 uint64_t;
 # else
 #  include <stdint.h>
+#  undef OPENSSL_NO_STDINT_H
 # endif
 
 /* ossl_inline: portable inline definition usable in public headers */
diff --git a/test/params_conversion_test.c b/test/params_conversion_test.c
index 96d0aaa..9db5bd8 100644
--- a/test/params_conversion_test.c
+++ b/test/params_conversion_test.c
@@ -9,13 +9,15 @@
  */
 
 #include <string.h>
-#include <inttypes.h>
 #include <openssl/params.h>
 #include "testutil.h"
 
-#ifdef OPENSSL_SYS_WINDOWS
-# define strcasecmp _stricmp
-#endif
+/* On machines that dont support <inttypes.h> just disable the tests */
+#if !defined(OPENSSL_NO_INTTYPES_H)
+
+# ifdef OPENSSL_SYS_WINDOWS
+#  define strcasecmp _stricmp
+# endif
 
 typedef struct {
     const OSSL_PARAM *param;
@@ -320,6 +322,8 @@ end:
     return res;
 }
 
+#endif /* OPENSSL_NO_INTTYPES_H */
+
 OPT_TEST_DECLARE_USAGE("file...\n")
 
 int setup_tests(void)
@@ -329,6 +333,9 @@ int setup_tests(void)
     if (n == 0)
         return 0;
 
+#if !defined(OPENSSL_NO_INTTYPES_H)
     ADD_ALL_TESTS(run_param_file_tests, n);
+#endif /* OPENSSL_NO_INTTYPES_H */
+
     return 1;
 }


More information about the openssl-commits mailing list