diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2014-02-01 20:24:40 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2014-02-01 20:25:47 +0100 |
commit | 45ec742d6db94b8a5aa2f4f1b3f560d948230e3b (patch) | |
tree | 88be3a88013f044bd7ec794256c28605079226dc | |
parent | 8648c2da75e0db5f586627c70f2889a083462619 (diff) | |
download | gnutls-45ec742d6db94b8a5aa2f4f1b3f560d948230e3b.tar.gz |
tolerate servers that included the SUPPORTED ECC extension.
This is an extension that is defined to be sent by the client but there
are servers that include it as well. Most other implementations tolerate
this behavior so we do.
-rw-r--r-- | lib/ext/ecc.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/ext/ecc.c b/lib/ext/ecc.c index b913cb09be..a851ddd880 100644 --- a/lib/ext/ecc.c +++ b/lib/ext/ecc.c @@ -91,9 +91,10 @@ _gnutls_supported_ecc_recv_params(gnutls_session_t session, const uint8_t *p = data; if (session->security_parameters.entity == GNUTLS_CLIENT) { - /* A client shouldn't receive this extension */ - return - gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION); + /* A client shouldn't receive this extension, but of course + * there are servers out there that send it. Just ignore it. */ + _gnutls_debug_log("received SUPPORTED ECC extension on client side!!!\n"); + return 0; } else { /* SERVER SIDE - we must check if the sent supported ecc type is the right one */ if (data_size < 2) |