** libgnutls: We no longer mark RSA keys in PKCS#11 tokens as RSA-PSS capable if
the CKA_SIGN is not set (#667).
+** libgnutls: The priority string option %NO_EXTENSIONS was improved to completely
+ disable extensions at all cases, while providing a functional session. This
+ also implies that when specified, TLS1.3 is disabled.
+
** GNUTLS_X509_NO_WELL_DEFINED_EXPIRATION was marked as deprecated. The previous
definition was buggy and non-functional.
will prevent the sending of any TLS extensions in client side. Note
that TLS 1.2 requires extensions to be used, as well as safe
renegotiation thus this option must be used with care. When this option
-is set with TLS1.3 enabled the session behavior is undefined.
+is set no versions later than TLS1.2 can be negotiated.
@item %NO_TICKETS @tab
will prevent the advertizing of the TLS session ticket extension.
/* if we have NULL ciphersuites, SRP, or RSA-PSK enabled remove TLS1.3+
* protocol versions; they cannot be negotiated under TLS1.3. */
- if (have_null || have_srp || have_rsa_psk) {
+ if (have_null || have_srp || have_rsa_psk || priority_cache->no_extensions) {
for (i = j = 0; i < priority_cache->protocol.num_priorities; i++) {
vers = version_to_entry(priority_cache->protocol.priorities[i]);
if (!vers || !vers->tls13_sem)
}
static
-void start(const char *prio)
+void start(const char *prio, gnutls_protocol_t exp_version)
{
int ret;
/* Server stuff. */
}
}
+ assert(gnutls_protocol_get_version(server) == exp_version);
+
assert(gnutls_certificate_type_get(server)==GNUTLS_CRT_X509);
assert(gnutls_certificate_type_get(client)==GNUTLS_CRT_X509);
void doit(void)
{
- start("NORMAL:-VERS-ALL:+VERS-TLS1.0:%NO_EXTENSIONS");
- start("NORMAL:-VERS-ALL:+VERS-TLS1.1:%NO_EXTENSIONS");
- start("NORMAL:-VERS-ALL:+VERS-TLS1.2:%NO_EXTENSIONS");
+ start("NORMAL:-VERS-ALL:+VERS-TLS1.0:%NO_EXTENSIONS", GNUTLS_TLS1_0);
+ start("NORMAL:-VERS-ALL:+VERS-TLS1.1:%NO_EXTENSIONS", GNUTLS_TLS1_1);
+ start("NORMAL:-VERS-ALL:+VERS-TLS1.2:%NO_EXTENSIONS", GNUTLS_TLS1_2);
+ start("NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:%NO_EXTENSIONS", GNUTLS_TLS1_2);
}