diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2014-10-09 18:15:01 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2014-10-09 18:16:45 +0200 |
commit | d254d2f3595b1a5798283e96c9818fe61c22f2ce (patch) | |
tree | 1f632262b5ec1d6003e076e883c5ff3e0da0020d | |
parent | ffaef4df2a0ef93fb0a96615ff436b06da46ff1e (diff) | |
download | gnutls-d254d2f3595b1a5798283e96c9818fe61c22f2ce.tar.gz |
added internal variable to track handshake status
Conflicts:
lib/gnutls_handshake.c
-rw-r--r-- | lib/gnutls_handshake.c | 2 | ||||
-rw-r--r-- | lib/gnutls_int.h | 2 | ||||
-rw-r--r-- | lib/gnutls_state.c | 1 |
3 files changed, 5 insertions, 0 deletions
diff --git a/lib/gnutls_handshake.c b/lib/gnutls_handshake.c index 301641e808..40d399c167 100644 --- a/lib/gnutls_handshake.c +++ b/lib/gnutls_handshake.c @@ -2525,6 +2525,8 @@ int gnutls_handshake(gnutls_session_t session) if (session->internals.priorities.protocol.algorithms == 0) return gnutls_assert_val(GNUTLS_E_NO_PRIORITIES_WERE_SET); + session->internals.handshake_in_progress = 1; + gettime(&session->internals.dtls.handshake_start_time); if (session->internals.handshake_timeout_ms && session->internals.handshake_endtime == 0) diff --git a/lib/gnutls_int.h b/lib/gnutls_int.h index deca5fe772..d9804caf8f 100644 --- a/lib/gnutls_int.h +++ b/lib/gnutls_int.h @@ -964,6 +964,8 @@ typedef struct { /* In case of clients that don't handle GNUTLS_E_LARGE_PACKET, don't * force them into an infinite loop */ unsigned handshake_large_loops; + /* should be non-zero when a handshake is in progress */ + bool handshake_in_progress; /* if set it means that the master key was set using * gnutls_session_set_master() rather than being negotiated. */ diff --git a/lib/gnutls_state.c b/lib/gnutls_state.c index 61655312f1..ef2a5bebc4 100644 --- a/lib/gnutls_state.c +++ b/lib/gnutls_state.c @@ -275,6 +275,7 @@ void _gnutls_handshake_internal_state_clear(gnutls_session_t session) _gnutls_epoch_gc(session); session->internals.handshake_endtime = 0; + session->internals.handshake_in_progress = 0; } /** |