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.
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)