mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-30 02:37:28 +02:00
Async Sniffer: Fix for decryption after second handshake
This commit is contained in:
@ -4692,15 +4692,17 @@ static int DecryptTls(WOLFSSL* ssl, byte* plain, const byte* input,
|
|||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
#ifdef WOLFSSL_ASYNC_CRYPT
|
#ifdef WOLFSSL_ASYNC_CRYPT
|
||||||
ret = wolfSSL_AsyncPop(ssl, &ssl->decrypt.state);
|
if (ssl->decrypt.state != CIPHER_STATE_BEGIN) {
|
||||||
if (ret != WC_NOT_PENDING_E) {
|
ret = wolfSSL_AsyncPop(ssl, &ssl->decrypt.state);
|
||||||
/* check for still pending */
|
if (ret != WC_NOT_PENDING_E) {
|
||||||
if (ret == WC_PENDING_E)
|
/* check for still pending */
|
||||||
return ret;
|
if (ret == WC_PENDING_E)
|
||||||
|
return ret;
|
||||||
|
|
||||||
ssl->error = 0; /* clear async */
|
ssl->error = 0; /* clear async */
|
||||||
|
|
||||||
/* let failures through so CIPHER_STATE_END logic is run */
|
/* let failures through so CIPHER_STATE_END logic is run */
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user