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 22:21:51 +0200
commit3f8f6c077c6b79dedb316732867867f2e135174b (patch)
tree16666818dd967d75264b991bc232efdb6eb90a9b
parent89d63b22e1ec7468cc24015df5cb73c7ab158d4f (diff)
downloadgnutls-3f8f6c077c6b79dedb316732867867f2e135174b.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 314c4e2749..1a584182b1 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.ptr;