SSLEngine fixes for session cache, getError(), and unwrap() HandshakeStatus #193
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR includes the following fixes to
SSLEngine
:WOLFSSL_SESSION
) to the cache if the handshake has finished successfully and there is no outstanding error fromwolfSSL_get_error() / getError()
. This may prevent subsequent session resumption attempts trying to load/use a session that was in an error state.wolfSSL_get_error() / getError()
withioLock
in caseWOLFSSL
state is changing. We want to prevent getting an error until activity is done/paused on the session.This PR also fixes some issues found while testing wolfJSSE against the SunJSSE
SSLEngine
tests, including:SSL_SUCCESS
fromWolfSSLEngine.ClosingConnection()
whenZERO_RETURN
is receivedHandshakeStatus.FINISHED
fromSSLEngine.unwrap()
when a client has received a TLS 1.3 session ticket from the peer. This necessitated also wrapping the native wolfSSL APIwolfSSL_SESSION_has_ticket()
.ZD 17962