forked from wolfSSL/wolfssl
Fix where the last flight was getting retransmit on timeout notification.
This commit is contained in:
@@ -4752,8 +4752,7 @@ retry:
|
|||||||
case WOLFSSL_CBIO_ERR_TIMEOUT:
|
case WOLFSSL_CBIO_ERR_TIMEOUT:
|
||||||
if (ssl->options.dtls) {
|
if (ssl->options.dtls) {
|
||||||
#ifdef WOLFSSL_DTLS
|
#ifdef WOLFSSL_DTLS
|
||||||
if ((!ssl->options.handShakeDone ||
|
if (!ssl->options.handShakeDone &&
|
||||||
ssl->options.dtlsHsRetain) &&
|
|
||||||
DtlsPoolTimeout(ssl) == 0 &&
|
DtlsPoolTimeout(ssl) == 0 &&
|
||||||
DtlsPoolSend(ssl) == 0) {
|
DtlsPoolSend(ssl) == 0) {
|
||||||
|
|
||||||
|
@@ -6617,7 +6617,9 @@ int wolfSSL_dtls_got_timeout(WOLFSSL* ssl)
|
|||||||
{
|
{
|
||||||
int result = SSL_SUCCESS;
|
int result = SSL_SUCCESS;
|
||||||
|
|
||||||
if (DtlsPoolTimeout(ssl) < 0 || DtlsPoolSend(ssl) < 0) {
|
if (!ssl->options.handShakeDone &&
|
||||||
|
(DtlsPoolTimeout(ssl) < 0 || DtlsPoolSend(ssl) < 0)) {
|
||||||
|
|
||||||
result = SSL_FATAL_ERROR;
|
result = SSL_FATAL_ERROR;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
Reference in New Issue
Block a user