forked from wolfSSL/wolfssl
Merge pull request #3879 from julek-wolfssl/dtls-timeout
Let user inspect error in wolfSSL_dtls_got_timeout
This commit is contained in:
19
src/ssl.c
19
src/ssl.c
@ -12262,10 +12262,21 @@ int wolfSSL_dtls_got_timeout(WOLFSSL* ssl)
|
|||||||
if (ssl == NULL)
|
if (ssl == NULL)
|
||||||
return WOLFSSL_FATAL_ERROR;
|
return WOLFSSL_FATAL_ERROR;
|
||||||
|
|
||||||
if ((IsSCR(ssl) || !ssl->options.handShakeDone) &&
|
if ((IsSCR(ssl) || !ssl->options.handShakeDone)) {
|
||||||
(DtlsMsgPoolTimeout(ssl) < 0 || DtlsMsgPoolSend(ssl, 0) < 0)) {
|
if (DtlsMsgPoolTimeout(ssl) < 0){
|
||||||
|
ssl->error = SOCKET_ERROR_E;
|
||||||
result = WOLFSSL_FATAL_ERROR;
|
WOLFSSL_ERROR(ssl->error);
|
||||||
|
result = WOLFSSL_FATAL_ERROR;
|
||||||
|
}
|
||||||
|
else if ((result = DtlsMsgPoolSend(ssl, 0)) < 0) {
|
||||||
|
ssl->error = result;
|
||||||
|
WOLFSSL_ERROR(result);
|
||||||
|
result = WOLFSSL_FATAL_ERROR;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
/* Reset return value to success */
|
||||||
|
result = WOLFSSL_SUCCESS;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WOLFSSL_LEAVE("wolfSSL_dtls_got_timeout()", result);
|
WOLFSSL_LEAVE("wolfSSL_dtls_got_timeout()", result);
|
||||||
|
Reference in New Issue
Block a user