Merge pull request #3975 from TakayukiMatsuo/resumable

Add implementation for wolfSSL_SESSION_is_resumable.
pull/3991/head
Chris Conlon 2021-04-27 16:45:34 -06:00 committed by GitHub
commit 6fad8c4a57
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 8 deletions

View File

@ -55873,20 +55873,29 @@ void wolfSSL_set_psk_use_session_callback(WOLFSSL* ssl,
(void)ssl;
(void)cb;
}
#endif /* NO_WOLFSSL_STUB */
/**
* Determine whether a WOLFSSL_SESSION object can be used for resumption
* @param s a pointer to WOLFSSL_SESSION structure
* @return return 1 if session is resumable,
* otherwise 0 (currently always 0 with stub)
* @return return 1 if session is resumable, otherwise 0.
*/
int wolfSSL_SESSION_is_resumable(const WOLFSSL_SESSION *s)
{
WOLFSSL_STUB("wolfSSL_SESSION_is_resumable");
(void)s;
if (s == NULL)
return 0;
#ifdef HAVE_SESSION_TICKET
if (s->ticketLen > 0)
return 1;
#endif
if (s->sessionIDSz > 0)
return 1;
return 0;
}
#endif /* NO_WOLFSSL_STUB */
/**
* free allocated memory resouce

View File

@ -32946,11 +32946,13 @@ static void test_wolfSSL_SESSION(void)
sess = wolfSSL_get_session(ssl);
/* STUB */
#if defined(OPENSSL_EXTRA)
AssertIntEQ(SSL_SESSION_is_resumable(sess), 0);
AssertIntEQ(SSL_SESSION_is_resumable(NULL), 0);
AssertIntEQ(SSL_SESSION_is_resumable(sess), 1);
#else
AssertIntEQ(wolfSSL_SESSION_is_resumable(sess), 0);
AssertIntEQ(wolfSSL_SESSION_is_resumable(NULL), 0);
AssertIntEQ(wolfSSL_SESSION_is_resumable(sess), 1);
#endif
wolfSSL_shutdown(ssl);