summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2014-02-18 09:17:32 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2014-02-18 09:36:44 +0100
commit851972de9a2bfd72d81bd19c90fe6658b8fae93a (patch)
tree30bc7b24d6f1ee04c279a22d5a7113704fead3e0
parent3aa4672ce6eb58c623b3aabf26a76501c99030ea (diff)
downloadgnutls-851972de9a2bfd72d81bd19c90fe6658b8fae93a.tar.gz
reinitialize the handshake timers when gnutls_handshake() is called.
-rw-r--r--lib/gnutls_handshake.c5
-rw-r--r--lib/gnutls_state.c1
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/gnutls_handshake.c b/lib/gnutls_handshake.c
index ef7e8bdcb8..55f622abc6 100644
--- a/lib/gnutls_handshake.c
+++ b/lib/gnutls_handshake.c
@@ -2503,6 +2503,11 @@ int gnutls_handshake(gnutls_session_t session)
if (session->internals.priorities.protocol.algorithms == 0)
return gnutls_assert_val(GNUTLS_E_NO_PRIORITIES_WERE_SET);
+ if (STATE == STATE0) {
+ /* first call */
+ gettime(&session->internals.dtls.handshake_start_time);
+ }
+
if (session->internals.handshake_timeout_ms &&
session->internals.handshake_endtime == 0)
session->internals.handshake_endtime = gnutls_time(0) +
diff --git a/lib/gnutls_state.c b/lib/gnutls_state.c
index 131660b009..6338aeb398 100644
--- a/lib/gnutls_state.c
+++ b/lib/gnutls_state.c
@@ -263,7 +263,6 @@ static void _gnutls_handshake_internal_state_init(gnutls_session_t session)
session->internals.dtls.hsk_read_seq = 0;
session->internals.dtls.hsk_write_seq = 0;
- gettime(&session->internals.dtls.handshake_start_time);
}
void _gnutls_handshake_internal_state_clear(gnutls_session_t session)