]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
reinitialize the handshake timers when gnutls_handshake() is called.
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Tue, 18 Feb 2014 08:17:32 +0000 (09:17 +0100)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Tue, 18 Feb 2014 08:32:25 +0000 (09:32 +0100)
lib/gnutls_handshake.c
lib/gnutls_state.c

index 6ec44012aa4f1a60f408678ab20dbc7602bb5d8c..ef45f1b6cf25ee3c0b90cbd6fdef74935160c358 100644 (file)
@@ -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) +
index 692b320fefd304b1f62519731916ea28903917b7..dab51997c8c3b267479a52b2762df691d17bd9bb 100644 (file)
@@ -264,7 +264,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)