Fix compile errors

This commit is contained in:
Juliusz Sosinowicz
2019-11-06 14:35:16 +01:00
parent dd07344499
commit 8dde06bbca
2 changed files with 19 additions and 5 deletions

View File

@@ -19726,21 +19726,24 @@ int wolfSSL_session_reused(WOLFSSL* ssl)
#if defined(OPENSSL_EXTRA) || defined(HAVE_EXT_CACHE) #if defined(OPENSSL_EXTRA) || defined(HAVE_EXT_CACHE)
WOLFSSL_SESSION* wolfSSL_SESSION_dup(WOLFSSL_SESSION* session) WOLFSSL_SESSION* wolfSSL_SESSION_dup(WOLFSSL_SESSION* session)
{ {
#ifdef HAVE_EXT_CACHE
WOLFSSL_SESSION* copy; WOLFSSL_SESSION* copy;
WOLFSSL_ENTER("wolfSSL_SESSION_dup"); WOLFSSL_ENTER("wolfSSL_SESSION_dup");
if (session == NULL) if (session == NULL)
return NULL; return NULL;
#ifdef HAVE_SESSION_TICKET
if (session->isDynamic && !session->ticket) { if (session->isDynamic && !session->ticket) {
WOLFSSL_MSG("Session dynamic flag is set but ticket pointer is null"); WOLFSSL_MSG("Session dynamic flag is set but ticket pointer is null");
return NULL; return NULL;
} }
#endif
copy = XMALLOC(sizeof(WOLFSSL_SESSION), NULL, DYNAMIC_TYPE_OPENSSL); copy = XMALLOC(sizeof(WOLFSSL_SESSION), NULL, DYNAMIC_TYPE_OPENSSL);
if (copy != NULL) { if (copy != NULL) {
XMEMCPY(copy, session, sizeof(WOLFSSL_SESSION)); XMEMCPY(copy, session, sizeof(WOLFSSL_SESSION));
copy->isAlloced = 1; copy->isAlloced = 1;
#ifdef HAVE_SESSION_TICKET #ifdef HAVE_SESSION_TICKET
if (session->isDynamic) { if (session->isDynamic) {
copy->ticket = XMALLOC(session->ticketLen, NULL, copy->ticket = XMALLOC(session->ticketLen, NULL,
DYNAMIC_TYPE_SESSION_TICK); DYNAMIC_TYPE_SESSION_TICK);
@@ -19748,10 +19751,15 @@ WOLFSSL_SESSION* wolfSSL_SESSION_dup(WOLFSSL_SESSION* session)
} else { } else {
copy->ticket = copy->staticTicket; copy->ticket = copy->staticTicket;
} }
#endif #endif
} }
return copy; return copy;
#else
WOLFSSL_MSG("wolfSSL_SESSION_dup was called "
"but HAVE_EXT_CACHE is not defined");
(void)session;
return NULL;
#endif /* HAVE_EXT_CACHE */
} }
void wolfSSL_SESSION_free(WOLFSSL_SESSION* session) void wolfSSL_SESSION_free(WOLFSSL_SESSION* session)

View File

@@ -4410,9 +4410,12 @@ static void test_wolfSSL_PKCS12(void)
WOLFSSL_X509 *x509; WOLFSSL_X509 *x509;
WOLFSSL_X509 *tmp; WOLFSSL_X509 *tmp;
WOLFSSL_CTX *ctx; WOLFSSL_CTX *ctx;
WOLFSSL *ssl;
WOLF_STACK_OF(WOLFSSL_X509) *ca; WOLF_STACK_OF(WOLFSSL_X509) *ca;
#if defined(OPENSSL_ALL) || defined(WOLFSSL_ASIO) || defined(WOLFSSL_HAPROXY) \
|| defined(WOLFSSL_NGINX)
WOLFSSL *ssl;
WOLF_STACK_OF(WOLFSSL_X509) *tmp_ca = NULL; WOLF_STACK_OF(WOLFSSL_X509) *tmp_ca = NULL;
#endif
printf(testingFmt, "wolfSSL_PKCS12()"); printf(testingFmt, "wolfSSL_PKCS12()");
@@ -4459,6 +4462,8 @@ static void test_wolfSSL_PKCS12(void)
#else #else
AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_server_method())); AssertNotNull(ctx = wolfSSL_CTX_new(wolfSSLv23_server_method()));
#endif #endif
#if defined(OPENSSL_ALL) || defined(WOLFSSL_ASIO) || defined(WOLFSSL_HAPROXY) \
|| defined(WOLFSSL_NGINX)
AssertIntEQ(SSL_CTX_set0_chain(ctx, ca), 1); AssertIntEQ(SSL_CTX_set0_chain(ctx, ca), 1);
AssertIntEQ(wolfSSL_CTX_get_extra_chain_certs(ctx, &tmp_ca), 1); AssertIntEQ(wolfSSL_CTX_get_extra_chain_certs(ctx, &tmp_ca), 1);
AssertNotNull(tmp_ca); AssertNotNull(tmp_ca);
@@ -4469,6 +4474,7 @@ static void test_wolfSSL_PKCS12(void)
AssertNotNull(SSL_get_certificate(ssl)); AssertNotNull(SSL_get_certificate(ssl));
SSL_free(ssl); SSL_free(ssl);
SSL_CTX_free(ctx); SSL_CTX_free(ctx);
#endif
/* should be 2 other certs on stack */ /* should be 2 other certs on stack */
tmp = sk_X509_pop(ca); tmp = sk_X509_pop(ca);