summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2015-07-31 16:03:25 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2015-07-31 21:38:06 +0200
commit7f7f42300347261744a1dcf3d999bb9e04326032 (patch)
tree6dcc4dbc3a9adf7c2d1d449d8a2921023d797f37
parent6b56fc66eb0c67f055f6d34220361c1d0fc46367 (diff)
downloadgnutls-7f7f42300347261744a1dcf3d999bb9e04326032.tar.gz
safe renegotiation: handle case where client didn't send any extension
That was affected by the "don't try to send extensions we didn't receive".
-rw-r--r--lib/ext/safe_renegotiation.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/ext/safe_renegotiation.c b/lib/ext/safe_renegotiation.c
index 30049360ff..1586589d5d 100644
--- a/lib/ext/safe_renegotiation.c
+++ b/lib/ext/safe_renegotiation.c
@@ -60,6 +60,10 @@ _gnutls_ext_sr_finished(gnutls_session_t session, void *vdata,
&epriv);
if (ret < 0) {
gnutls_assert();
+ /* if a client didn't advertise safe renegotiation, we treat
+ * it as disabled. */
+ if (session->security_parameters.entity == GNUTLS_SERVER)
+ return 0;
return ret;
}
priv = epriv;