forked from wolfSSL/wolfssl
Merge pull request #1112 from dgarske/async_sniff
Adds async blocking support for sniffer tool
This commit is contained in:
@@ -1493,9 +1493,16 @@ static int ProcessClientKeyExchange(const byte* input, int* sslBytes,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
do {
|
||||||
|
#ifdef WOLFSSL_ASYNC_CRYPT
|
||||||
|
ret = wc_AsyncWait(ret, &key.asyncDev, WC_ASYNC_FLAG_CALL_AGAIN);
|
||||||
|
#endif
|
||||||
|
if (ret >= 0) {
|
||||||
ret = wc_RsaPrivateDecrypt(input, length,
|
ret = wc_RsaPrivateDecrypt(input, length,
|
||||||
session->sslServer->arrays->preMasterSecret,SECRET_LEN, &key);
|
session->sslServer->arrays->preMasterSecret, SECRET_LEN,
|
||||||
|
&key);
|
||||||
|
}
|
||||||
|
} while (ret == WC_PENDING_E);
|
||||||
if (ret != SECRET_LEN) {
|
if (ret != SECRET_LEN) {
|
||||||
SetError(RSA_DECRYPT_STR, error, session, FATAL_ERROR_STATE);
|
SetError(RSA_DECRYPT_STR, error, session, FATAL_ERROR_STATE);
|
||||||
wc_FreeRsaKey(&key);
|
wc_FreeRsaKey(&key);
|
||||||
|
Reference in New Issue
Block a user