summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2010-01-21 21:42:07 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2010-01-21 22:27:44 +0100
commit2d303d2076f53ad9b9454f507887839c37665558 (patch)
tree857ace28fb9d275ba113e5c790a7363323c5616b
parentd495b8dd52da94f5c655f52ae50689048a177dc0 (diff)
downloadgnutls-2d303d2076f53ad9b9454f507887839c37665558.tar.gz
Safe renegotiation variable cleanup. No longer clear variables that
should stay across rehandshakes.
-rw-r--r--lib/ext_safe_renegotiation.c4
-rw-r--r--lib/gnutls_handshake.c22
-rw-r--r--lib/gnutls_int.h3
-rw-r--r--lib/gnutls_state.c1
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.