From a9d502ef85144f7c57dd256fa8f42d099e13c42f Mon Sep 17 00:00:00 2001 From: Juliusz Sosinowicz Date: Thu, 2 Jul 2020 21:15:15 +0200 Subject: [PATCH] Add `--enable-libest` option to configure.ac Refactoring and adding defines for functions --- configure.ac | 26 ++++++++++++++++++++++++++ src/ssl.c | 6 ++---- wolfssl/openssl/ssl.h | 3 +++ 3 files changed, 31 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index 45842cd3d..d7db9a933 100644 --- a/configure.ac +++ b/configure.ac @@ -702,6 +702,7 @@ AC_ARG_ENABLE([mcast], # signal (--enable-signal) # lighty (--enable-lighty) HAVE_LIGHTY # stunnel (--enable-stunnel) HAVE_STUNNEL +# libest (--enable-libest) # asio (--enable-asio) WOLFSSL_ASIO # libwebsockets (--enable-libwebsockets) WOLFSSL_LIBWEBSOCKETS # qt (--enable-qt) WOLFSSL_QT @@ -4240,6 +4241,31 @@ then ENABLED_PSK=yes fi +# libest Support +AC_ARG_ENABLE([libest], + [AS_HELP_STRING([--enable-libest],[Enable libest (default: disabled)])], + [ ENABLED_LIBEST=$enableval ], + [ ENABLED_LIBEST=no ] + ) + +if test "$ENABLED_LIBEST" = "yes" +then + # Requires opensslextra and opensslall + if test "x$ENABLED_OPENSSLALL" = "xno" && test "x$ENABLED_OPENSSLCOEXIST" = "xno" + then + ENABLED_OPENSSLALL="yes" + ENABLED_OPENSSLEXTRA="yes" + AM_CFLAGS="-DOPENSSL_EXTRA -DOPENSSL_ALL $AM_CFLAGS" + fi + + # Requires OCSP make sure on + if test "x$ENABLED_OCSP" = "xno" + then + ENABLED_OCSP="yes" + AM_CFLAGS="$AM_CFLAGS -DHAVE_OCSP" + fi +fi + # MD4 AC_ARG_ENABLE([md4], [AS_HELP_STRING([--enable-md4],[Enable MD4 (default: disabled)])], diff --git a/src/ssl.c b/src/ssl.c index b2aa70d4c..81c747810 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -18307,13 +18307,11 @@ int wolfSSL_sk_X509_push(WOLF_STACK_OF(WOLFSSL_X509_NAME)* sk, WOLFSSL_X509* x50 } /* stack already has value(s) create a new node and add more */ - node = (WOLFSSL_STACK*)XMALLOC(sizeof(WOLFSSL_STACK), NULL, - DYNAMIC_TYPE_X509); + node = wolfSSL_sk_new_node(sk->heap); if (node == NULL) { WOLFSSL_MSG("Memory error"); return WOLFSSL_FAILURE; } - XMEMSET(node, 0, sizeof(WOLFSSL_STACK)); /* push new x509 onto head of stack */ node->data.x509 = sk->data.x509; @@ -42313,7 +42311,7 @@ WOLFSSL_X509_INFO* wolfSSL_sk_X509_INFO_pop(WOLF_STACK_OF(WOLFSSL_X509_INFO)* sk if (node != NULL) { /* update sk and remove node from stack */ sk->data.info = node->data.info; sk->next = node->next; - XFREE(node, NULL, DYNAMIC_TYPE_OPENSSL); + wolfSSL_sk_free_node(node); } else { /* last x509 in stack */ sk->data.info = NULL; diff --git a/wolfssl/openssl/ssl.h b/wolfssl/openssl/ssl.h index d1e4dfbb8..e50bf42b9 100644 --- a/wolfssl/openssl/ssl.h +++ b/wolfssl/openssl/ssl.h @@ -357,10 +357,12 @@ typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS; #define i2d_X509_bio wolfSSL_i2d_X509_bio #define d2i_X509_bio wolfSSL_d2i_X509_bio +#define d2i_X509_REQ_bio wolfSSL_d2i_X509_bio #define d2i_X509_fp wolfSSL_d2i_X509_fp #define i2d_X509 wolfSSL_i2d_X509 #define d2i_X509 wolfSSL_d2i_X509 #define PEM_read_bio_X509 wolfSSL_PEM_read_bio_X509 +#define PEM_read_bio_X509_REQ wolfSSL_PEM_read_bio_X509 #define PEM_read_bio_X509_CRL wolfSSL_PEM_read_bio_X509_CRL #define PEM_read_bio_X509_AUX wolfSSL_PEM_read_bio_X509_AUX #define PEM_read_X509 wolfSSL_PEM_read_X509 @@ -460,6 +462,7 @@ typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS; #define sk_X509_INFO_pop wolfSSL_sk_X509_INFO_pop #define sk_X509_INFO_pop_free wolfSSL_sk_X509_INFO_pop_free #define sk_X509_INFO_free wolfSSL_sk_X509_INFO_free +#define sk_X509_INFO_shift wolfSSL_sk_X509_INFO_pop #define i2d_X509_NAME wolfSSL_i2d_X509_NAME #define d2i_X509_NAME wolfSSL_d2i_X509_NAME