From: Steve Dispensa Date: Tue, 19 Jan 2010 19:05:37 +0000 (+0100) Subject: Here is another patch that fixes an interoperability problem with safe X-Git-Tag: gnutls_2_9_10~161 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=81b417e6ccdd9cc26b69b1d8855ae7bf440eebd9;p=thirdparty%2Fgnutls.git Here is another patch that fixes an interoperability problem with safe renegotiation and resumption. In copying forward the safe renegotiation state across resumptions, I got a little carried away and copied too much data (new connections should start with empty RI data). Signed-off-by: Nikos Mavrogiannopoulos --- diff --git a/lib/gnutls_handshake.c b/lib/gnutls_handshake.c index 2575894d78..b4e81649bb 100644 --- a/lib/gnutls_handshake.c +++ b/lib/gnutls_handshake.c @@ -152,16 +152,6 @@ resume_copy_required_values (gnutls_session_t session) newext->connection_using_safe_renegotiation = resext->connection_using_safe_renegotiation; - - session->internals.initial_negotiation_completed = TRUE; - - newext->client_verify_data_len = resext->client_verify_data_len; - memcpy (newext->client_verify_data, resext->client_verify_data, - resext->client_verify_data_len); - - newext->server_verify_data_len = resext->server_verify_data_len; - memcpy (newext->server_verify_data, resext->server_verify_data, - resext->server_verify_data_len); } void @@ -1709,16 +1699,6 @@ _gnutls_client_check_if_resuming (gnutls_session_t session, newext->connection_using_safe_renegotiation = resext->connection_using_safe_renegotiation; - session->internals.initial_negotiation_completed = TRUE; - - newext->client_verify_data_len = resext->client_verify_data_len; - memcpy (newext->client_verify_data, resext->client_verify_data, - resext->client_verify_data_len); - - newext->server_verify_data_len = resext->server_verify_data_len; - memcpy (newext->server_verify_data, resext->server_verify_data, - resext->server_verify_data_len); - return 0; } else