summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2010-01-12 20:24:06 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2010-01-12 20:24:06 +0100
commit2a1121f9d91d1b7eda7090b2060a2467fff98153 (patch)
treefdddbd1a4e90b9abbdafb65c72434451b5524da0
parent5a92d28f74951356705d4e6698b9315980911f87 (diff)
downloadgnutls-2a1121f9d91d1b7eda7090b2060a2467fff98153.tar.gz
When denying an initial negotiation due to missing safe renegotiation
extension reply with NO_RENEGOTIATION alert.
-rw-r--r--lib/gnutls_handshake.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/gnutls_handshake.c b/lib/gnutls_handshake.c
index 3620a2991a..41a9f0e8ff 100644
--- a/lib/gnutls_handshake.c
+++ b/lib/gnutls_handshake.c
@@ -2430,6 +2430,15 @@ _gnutls_recv_hello (gnutls_session_t session, opaque * data, int datalen)
{
gnutls_assert();
_gnutls_handshake_log ("Denying unsafe renegotiation.\n");
+ ret = gnutls_alert_send (session, GNUTLS_AL_WARNING,
+ GNUTLS_A_NO_RENEGOTIATION);
+
+ if (ret < 0)
+ {
+ gnutls_assert ();
+ return ret;
+ }
+
return GNUTLS_E_SAFE_RENEGOTIATION_FAILED;
}
}