diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2010-01-21 21:42:07 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2010-01-21 22:27:44 +0100 |
commit | 2d303d2076f53ad9b9454f507887839c37665558 (patch) | |
tree | 857ace28fb9d275ba113e5c790a7363323c5616b | |
parent | d495b8dd52da94f5c655f52ae50689048a177dc0 (diff) | |
download | gnutls-2d303d2076f53ad9b9454f507887839c37665558.tar.gz |
Safe renegotiation variable cleanup. No longer clear variables that
should stay across rehandshakes.
-rw-r--r-- | lib/ext_safe_renegotiation.c | 4 | ||||
-rw-r--r-- | lib/gnutls_handshake.c | 22 | ||||
-rw-r--r-- | lib/gnutls_int.h | 3 | ||||
-rw-r--r-- | lib/gnutls_state.c | 1 |
4 files changed, 5 insertions, 25 deletions
diff --git a/lib/ext_safe_renegotiation.c b/lib/ext_safe_renegotiation.c index ca725a7be4..09c4f43e53 100644 --- a/lib/ext_safe_renegotiation.c +++ b/lib/ext_safe_renegotiation.c @@ -50,7 +50,7 @@ _gnutls_safe_renegotiation_recv_params (gnutls_session_t session, * indicated safe renegotiation. */ session->internals.safe_renegotiation_received = 1; - ext->connection_using_safe_renegotiation = 1; + session->internals.connection_using_safe_renegotiation = 1; return 0; } @@ -71,7 +71,7 @@ _gnutls_safe_renegotiation_send_params (gnutls_session_t session, data[0] = 0; /* Always offer the extension if we're a client */ - if (ext->connection_using_safe_renegotiation || + if (session->internals.connection_using_safe_renegotiation || session->security_parameters.entity == GNUTLS_CLIENT) { DECR_LEN (data_size, 1); diff --git a/lib/gnutls_handshake.c b/lib/gnutls_handshake.c index 618b20c506..394c59aa11 100644 --- a/lib/gnutls_handshake.c +++ b/lib/gnutls_handshake.c @@ -107,9 +107,6 @@ _gnutls_handshake_hash_buffers_clear (gnutls_session_t session) static void resume_copy_required_values (gnutls_session_t session) { - tls_ext_st *newext; - tls_ext_st *resext; - /* get the new random values */ memcpy (session->internals.resumed_security_parameters.server_random, session->security_parameters.server_random, GNUTLS_RANDOM_SIZE); @@ -146,12 +143,6 @@ resume_copy_required_values (gnutls_session_t session) session->security_parameters.session_id_size = session->internals.resumed_security_parameters.session_id_size; - /* safe renegotiation */ - newext = &session->security_parameters.extensions; - resext = &session->internals.resumed_security_parameters.extensions; - - newext->connection_using_safe_renegotiation = - resext->connection_using_safe_renegotiation; } void @@ -884,7 +875,7 @@ _gnutls_server_select_suite (gnutls_session_t session, opaque * data, { _gnutls_handshake_log ("HSK[%p]: Received safe renegotiation CS\n", session); session->internals.safe_renegotiation_received = 1; - session->security_parameters.extensions.connection_using_safe_renegotiation = 1; + session->internals.connection_using_safe_renegotiation = 1; break; } } @@ -1668,8 +1659,6 @@ _gnutls_client_check_if_resuming (gnutls_session_t session, opaque * session_id, int session_id_len) { opaque buf[2 * TLS_MAX_SESSION_ID_SIZE + 1]; - tls_ext_st *newext; - tls_ext_st *resext; _gnutls_handshake_log ("HSK[%p]: SessionID length: %d\n", session, session_id_len); @@ -1691,13 +1680,6 @@ _gnutls_client_check_if_resuming (gnutls_session_t session, session->security_parameters.client_random, GNUTLS_RANDOM_SIZE); session->internals.resumed = RESUME_TRUE; /* we are resuming */ - /* safe renegotiation after resumption */ - newext = &session->security_parameters.extensions; - resext = &session->internals.resumed_security_parameters.extensions; - - newext->connection_using_safe_renegotiation = - resext->connection_using_safe_renegotiation; - return 0; } else @@ -2433,7 +2415,7 @@ _gnutls_recv_hello (gnutls_session_t session, opaque * data, int datalen) } else /* safe renegotiation not received... */ { - if (ext->connection_using_safe_renegotiation) + if (session->internals.connection_using_safe_renegotiation) { gnutls_assert(); _gnutls_handshake_log ("Peer previously asked for safe renegotiation!\n"); diff --git a/lib/gnutls_int.h b/lib/gnutls_int.h index 5799d46bce..83cd51434e 100644 --- a/lib/gnutls_int.h +++ b/lib/gnutls_int.h @@ -351,8 +351,6 @@ typedef struct uint8_t ri_extension_data[MAX_VERIFY_DATA_SIZE*2]; /* max signal is 72 bytes in s->c sslv3 */ size_t ri_extension_data_len; - int connection_using_safe_renegotiation:1; - } tls_ext_st; /* auth_info_t structures now MAY contain malloced @@ -743,6 +741,7 @@ typedef struct int safe_renegotiation_received:1; int initial_negotiation_completed:1; + int connection_using_safe_renegotiation:1; /* Oprfi */ gnutls_oprfi_callback_func oprfi_cb; diff --git a/lib/gnutls_state.c b/lib/gnutls_state.c index 0545757aec..3838efa7f9 100644 --- a/lib/gnutls_state.c +++ b/lib/gnutls_state.c @@ -227,7 +227,6 @@ _gnutls_handshake_internal_state_init (gnutls_session_t session) session->internals.adv_version_minor = 0; session->internals.direction = 0; session->internals.safe_renegotiation_received = 0; - session->internals.initial_negotiation_completed = 0; /* use out of band data for the last * handshake messages received. |