It simplifies a bit. No need to support ancient versions.
- daemon/proxyv2: fix informing the engine about TCP/TLS from the actual client (!1578)
- forward: fix wrong pin-sha256 length; also log pins on mismatch (!1601, #813)
+Incompatible changes
+--------------------
+- gnutls < 3.4 support is dropped, released over 9 years ago (!1601)
+
Knot Resolver 6.0.8 (2024-07-23)
================================
}
}
-#if TLS_CAN_USE_PINS
/*
DNS-over-TLS Out of band key-pinned authentication profile uses the
same form of pins as HPKP:
gnutls_free(certs);
}
}
-#else
-void tls_credentials_log_pins(struct tls_credentials *tls_credentials)
-{
- kr_log_debug(TLS, "could not calculate RFC 7858 OOB key-pin; GnuTLS 3.4.0+ required\n");
-}
-#endif
static int str_replace(char **where_ptr, const char *with)
{
{
if (kr_fails_assert(params->pins.len > 0))
return GNUTLS_E_CERTIFICATE_ERROR;
-#if TLS_CAN_USE_PINS
for (int i = 0; i < cert_list_size; i++) {
gnutls_x509_crt_t cert;
int ret = gnutls_x509_crt_init(&cert);
log_all_pins(params);
log_all_certificates(cert_list_size, cert_list);
return GNUTLS_E_CERTIFICATE_ERROR;
-
-#else /* TLS_CAN_USE_PINS */
- kr_log_error(TLSCLIENT, "internal inconsistency: TLS_CAN_USE_PINS\n");
- kr_assert(false);
- return GNUTLS_E_CERTIFICATE_ERROR;
-#endif
}
/**
/** Required buffer length for pin_sha256, including the zero terminator. */
#define TLS_SHA256_BASE64_BUFLEN (((TLS_SHA256_RAW_LEN * 8 + 4) / 6) + 3 + 1)
-#if GNUTLS_VERSION_NUMBER >= 0x030400
- #define TLS_CAN_USE_PINS 1
-#else
- #define TLS_CAN_USE_PINS 0
-#endif
-
/** TLS authentication parameters for a single address-port pair. */
typedef struct {
#define TST_HASH abort()
#endif
-#if GNUTLS_VERSION_NUMBER < 0x030400
- /* It's of little use anyway. We may get the secret through lua,
- * which creates a copy outside of our control. */
- #define gnutls_memset memset
-#endif
-
/** Fields are internal to tst_key_* functions. */
typedef struct tls_session_ticket_ctx {
uv_timer_t timer; /**< timer for rotation of the key */
if not lmdb.found() # darwin workaround: missing pkgconfig
lmdb = meson.get_compiler('c').find_library('lmdb')
endif
-gnutls = dependency('gnutls')
+gnutls = dependency('gnutls', version: '>=3.4')
luajit = dependency('luajit')
message('------------------------------')