1From e4ea64134cfe3763332c16dcac52dd894b935880 Mon Sep 17 00:00:00 2001
2From: Daniel Lenski <dlenski@gmail.com>
3Date: Tue, 22 Aug 2023 12:02:19 -0700
4Subject: [PATCH] Shim for renaming of GNUTLS_NO_EXTENSIONS in GnuTLS v3.8.1
5
6The constant `GNUTLS_NO_EXTENSIONS` was renamed in
7https://gitlab.com/gnutls/gnutls/-/commit/a7c4a04e (released in v3.8.1), and
8then a backwards-compatibility shim was belatedly added in
9https://gitlab.com/gnutls/gnutls/-/commit/abfa8634, which has not yet been
10released.
11
12We need to re-add the constant ourselves in order to build correctly with
13GnuTLS v3.8.1.  This should fix
14https://gitlab.com/openconnect/openconnect/-/issues/650.
15
16Upstream-Status: Backport [https://git.infradead.org/users/dwmw2/openconnect.git/commit/7512698217c4104aade7a2df669a20de68f3bb8c]
17Signed-off-by: Daniel Lenski <dlenski@gmail.com>
18---
19 gnutls-dtls.c | 8 ++++++++
20 1 file changed, 8 insertions(+)
21
22diff --git a/gnutls-dtls.c b/gnutls-dtls.c
23index 3fd78e95..50a4bb4e 100644
24--- a/gnutls-dtls.c
25+++ b/gnutls-dtls.c
26@@ -39,6 +39,14 @@
27 # define GNUTLS_CIPHER_CHACHA20_POLY1305 23
28 #endif
29
30+#if GNUTLS_VERSION_NUMBER >= 0x030801 && !defined(GNUTLS_NO_EXTENSIONS)
31+/* XX: GNUTLS_NO_EXTENSIONS was renamed in GnuTLS v3.8.1. A
32+ * backwards-compatibility shim was added in a subsequent commit, but
33+ * not yet released.
34+ */
35+# define GNUTLS_NO_EXTENSIONS GNUTLS_NO_DEFAULT_EXTENSIONS
36+#endif
37+
38 /* sets the DTLS MTU and returns the actual tunnel MTU */
39 unsigned dtls_set_mtu(struct openconnect_info *vpninfo, unsigned mtu)
40 {
41--
422.42.0
43
44