summaryrefslogtreecommitdiff
path: root/lib/dtls.c
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2015-10-12 13:52:03 +0200
committerNikos Mavrogiannopoulos <nmav@redhat.com>2015-10-12 14:56:17 +0200
commit8d43daf7b5f75952a7d5ec49f1138db18ebe8ddb (patch)
tree7e5797d1dbca3e064236eec3810ea9d76b69cc48 /lib/dtls.c
parentc141b08728e0853633c8cd3dc35d108984d47f9c (diff)
downloadgnutls-8d43daf7b5f75952a7d5ec49f1138db18ebe8ddb.tar.gz
Introduced GNUTLS_INDEFINITE_TIMEOUT
This allows to specify an indefinite timeout to gnutls_record_set_timeout(). In addition this flag is accepted by gnutls_handshake_set_timeout() and cancels out a previously set timeout. Resolves #41
Diffstat (limited to 'lib/dtls.c')
-rw-r--r--lib/dtls.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/dtls.c b/lib/dtls.c
index 26ddaf2b77..36728a4f14 100644
--- a/lib/dtls.c
+++ b/lib/dtls.c
@@ -557,8 +557,12 @@ void gnutls_dtls_set_timeouts(gnutls_session_t session,
unsigned int retrans_timeout,
unsigned int total_timeout)
{
+ if (total_timeout == GNUTLS_INDEFINITE_TIMEOUT)
+ session->internals.handshake_timeout_ms = 0;
+ else
+ session->internals.handshake_timeout_ms = total_timeout;
+
session->internals.dtls.retrans_timeout_ms = retrans_timeout;
- session->internals.handshake_timeout_ms = total_timeout;
}
/**