Add implementation for wolfSSL_SESSION_is_resumable.

This commit is contained in:
TakayukiMatsuo
2021-04-22 17:17:23 +09:00
parent 878e0006ad
commit 2b6f623777
2 changed files with 19 additions and 8 deletions

View File

@ -55382,20 +55382,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

@ -32911,11 +32911,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);