From: Matt Caswell Date: Wed, 2 Aug 2017 13:46:31 +0000 (+0100) Subject: Move ossl_assert X-Git-Tag: OpenSSL_1_1_1-pre1~902 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=67dc995eaf538ea309c6292a1a5073465201f55b;p=thirdparty%2Fopenssl.git Move ossl_assert Move the definition of ossl_assert() out of e_os.h which is intended for OS specific things. Instead it is moved into internal/cryptlib.h. This also changes the definition to remove the (int) cast. Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/4073) --- diff --git a/e_os.h b/e_os.h index 7138c7a181d..d4cef609bbb 100644 --- a/e_os.h +++ b/e_os.h @@ -545,23 +545,6 @@ struct servent *getservbyname(const char *name, const char *proto); # define CRYPTO_memcmp memcmp #endif -#ifdef NDEBUG -# define ossl_assert(x) (int)(x) -#else -__owur static ossl_inline int ossl_assert_int(int expr, const char *exprstr, - const char *file, int line) -{ - if (!expr) - OPENSSL_die(exprstr, file, line); - - return expr; -} - -# define ossl_assert(x) ossl_assert_int((int)(x), "Assertion failed: "#x, \ - __FILE__, __LINE__) - -#endif - #ifdef __cplusplus } #endif diff --git a/crypto/include/internal/cryptlib.h b/include/internal/cryptlib.h similarity index 84% rename from crypto/include/internal/cryptlib.h rename to include/internal/cryptlib.h index d2ab720d34e..c73c7542424 100644 --- a/crypto/include/internal/cryptlib.h +++ b/include/internal/cryptlib.h @@ -30,6 +30,23 @@ extern "C" { #endif +#ifdef NDEBUG +# define ossl_assert(x) ((x) != 0) +#else +__owur static ossl_inline int ossl_assert_int(int expr, const char *exprstr, + const char *file, int line) +{ + if (!expr) + OPENSSL_die(exprstr, file, line); + + return expr; +} + +# define ossl_assert(x) ossl_assert_int((x) != 0, "Assertion failed: "#x, \ + __FILE__, __LINE__) + +#endif + typedef struct ex_callback_st EX_CALLBACK; DEFINE_STACK_OF(EX_CALLBACK) diff --git a/ssl/packet.c b/ssl/packet.c index 7c4be4fee5b..7a4414ae6a8 100644 --- a/ssl/packet.c +++ b/ssl/packet.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "e_os.h" +#include "internal/cryptlib.h" #include "packet_locl.h" #define DEFAULT_BUF_SIZE 256 diff --git a/ssl/record/rec_layer_d1.c b/ssl/record/rec_layer_d1.c index 83f40943f3c..75e3aebdf26 100644 --- a/ssl/record/rec_layer_d1.c +++ b/ssl/record/rec_layer_d1.c @@ -15,6 +15,7 @@ #include #include "record_locl.h" #include "../packet_locl.h" +#include "internal/cryptlib.h" int DTLS_RECORD_LAYER_new(RECORD_LAYER *rl) { diff --git a/ssl/record/ssl3_record.c b/ssl/record/ssl3_record.c index bd27290aa81..afb03fde5be 100644 --- a/ssl/record/ssl3_record.c +++ b/ssl/record/ssl3_record.c @@ -11,6 +11,7 @@ #include "internal/constant_time_locl.h" #include #include "record_locl.h" +#include "internal/cryptlib.h" static const unsigned char ssl3_pad_1[48] = { 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, diff --git a/ssl/record/ssl3_record_tls13.c b/ssl/record/ssl3_record_tls13.c index 61e209254eb..ec8f9f9e8f5 100644 --- a/ssl/record/ssl3_record_tls13.c +++ b/ssl/record/ssl3_record_tls13.c @@ -9,6 +9,7 @@ #include "../ssl_locl.h" #include "record_locl.h" +#include "internal/cryptlib.h" /*- * tls13_enc encrypts/decrypts |n_recs| in |recs|. diff --git a/ssl/s3_cbc.c b/ssl/s3_cbc.c index bab9b268160..7d9c3776973 100644 --- a/ssl/s3_cbc.c +++ b/ssl/s3_cbc.c @@ -9,6 +9,7 @@ #include "internal/constant_time_locl.h" #include "ssl_locl.h" +#include "internal/cryptlib.h" #include #include diff --git a/ssl/s3_enc.c b/ssl/s3_enc.c index e33c07fdccf..bef9f99e7de 100644 --- a/ssl/s3_enc.c +++ b/ssl/s3_enc.c @@ -12,6 +12,7 @@ #include "ssl_locl.h" #include #include +#include "internal/cryptlib.h" static int ssl3_generate_key_block(SSL *s, unsigned char *km, int num) { diff --git a/ssl/ssl_ciph.c b/ssl/ssl_ciph.c index 47f715d29ee..914d0d8f4aa 100644 --- a/ssl/ssl_ciph.c +++ b/ssl/ssl_ciph.c @@ -17,6 +17,7 @@ #include #include "ssl_locl.h" #include "internal/thread_once.h" +#include "internal/cryptlib.h" #define SSL_ENC_DES_IDX 0 #define SSL_ENC_3DES_IDX 1 diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index 491023f835c..048669c4513 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -20,6 +20,7 @@ #include #include #include +#include "internal/cryptlib.h" const char SSL_version_str[] = OPENSSL_VERSION_TEXT; diff --git a/ssl/statem/extensions_clnt.c b/ssl/statem/extensions_clnt.c index 1bbb2102d7c..35e71731906 100644 --- a/ssl/statem/extensions_clnt.c +++ b/ssl/statem/extensions_clnt.c @@ -9,6 +9,7 @@ #include #include "../ssl_locl.h" +#include "internal/cryptlib.h" #include "statem_locl.h" EXT_RETURN tls_construct_ctos_renegotiate(SSL *s, WPACKET *pkt, diff --git a/ssl/statem/extensions_cust.c b/ssl/statem/extensions_cust.c index cd63d04b006..24b99090473 100644 --- a/ssl/statem/extensions_cust.c +++ b/ssl/statem/extensions_cust.c @@ -11,6 +11,7 @@ #include #include "../ssl_locl.h" +#include "internal/cryptlib.h" #include "statem_locl.h" typedef struct { diff --git a/ssl/statem/statem_dtls.c b/ssl/statem/statem_dtls.c index 83bd8d3322d..7fb6cdb8e2a 100644 --- a/ssl/statem/statem_dtls.c +++ b/ssl/statem/statem_dtls.c @@ -12,6 +12,7 @@ #include #include "../ssl_locl.h" #include "statem_locl.h" +#include "internal/cryptlib.h" #include #include #include diff --git a/ssl/statem/statem_lib.c b/ssl/statem/statem_lib.c index 08d5f416f38..c92c8b5ff89 100644 --- a/ssl/statem/statem_lib.c +++ b/ssl/statem/statem_lib.c @@ -13,6 +13,7 @@ #include #include "../ssl_locl.h" #include "statem_locl.h" +#include "internal/cryptlib.h" #include #include #include