[vlc-commits] [Git][videolan/vlc][master] contrib: nfs: fix compilation with older Linux kernels

Steve Lhomme (@robUx4) gitlab at videolan.org
Fri Jan 30 11:19:43 UTC 2026



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
d8bd55bd by Steve Lhomme at 2026-01-30T10:07:10+00:00
contrib: nfs: fix compilation with older Linux kernels

- - - - -


3 changed files:

- + contrib/src/nfs/0007-tls-add-support-for-kernel-without-TLS_1_3_VERSION.patch
- + contrib/src/nfs/0008-tls-define-TLS_RX-if-it-s-missing.patch
- contrib/src/nfs/rules.mak


Changes:

=====================================
contrib/src/nfs/0007-tls-add-support-for-kernel-without-TLS_1_3_VERSION.patch
=====================================
@@ -0,0 +1,50 @@
+From 10a4fe89df7d2780a2e8711d908568f34b5e7d50 Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Fri, 16 Jan 2026 11:55:17 +0100
+Subject: [PATCH 7/8] tls: add support for kernel without TLS_1_3_VERSION
+
+810ef615eac7b5e8c8da9619016e0d8cc18c81ea assumed Kernel 5.10+ would be used.
+---
+ tls/ktls.c | 20 ++++++++++++++++----
+ 1 file changed, 16 insertions(+), 4 deletions(-)
+
+diff --git a/tls/ktls.c b/tls/ktls.c
+index ae277d7..eeba9d0 100644
+--- a/tls/ktls.c
++++ b/tls/ktls.c
+@@ -125,16 +125,28 @@ static int ktls_setsockopt(int sock, bool read, const void *info, socklen_t info
+ #define tls12_crypto_info_AES_CCM_128 		tls12_crypto_info_aes_ccm_128
+ #define tls12_crypto_info_CHACHA20_POLY1305	tls12_crypto_info_chacha20_poly1305
+ 
+-#define GENERATE_SET_CRYPTO_INFO(CIPHER) 				\
+-static int ktls_set_##CIPHER##_info(gnutls_session_t session) 		\
+-{ 									\
++#ifdef TLS_1_3_VERSION
++#define GENERATE_TLS_INFO(CIPHER) 				\
+ 	const bool is_tls12 = 						\
+ 		(gnutls_protocol_get_version(session) == GNUTLS_TLS1_2);\
+ 	struct tls12_crypto_info_##CIPHER info = { 			\
+ 		.info.version           = (is_tls12 ? TLS_1_2_VERSION	\
+ 						    : TLS_1_3_VERSION), \
+ 		.info.cipher_type       = TLS_CIPHER_##CIPHER, 		\
+-	}; 								\
++	};
++#else /* !TLS_1_3_VERSION */
++#define GENERATE_TLS_INFO(CIPHER) 				\
++	const bool is_tls12 =  1;\
++	struct tls12_crypto_info_##CIPHER info = { 			\
++		.info.version           = TLS_1_2_VERSION, \
++		.info.cipher_type       = TLS_CIPHER_##CIPHER, 		\
++	};
++#endif /* !TLS_1_3_VERSION */
++
++#define GENERATE_SET_CRYPTO_INFO(CIPHER) 				\
++static int ktls_set_##CIPHER##_info(gnutls_session_t session) 		\
++{ 									\
++	GENERATE_TLS_INFO(CIPHER) \	
+ 	unsigned char seq_number[12]; 					\
+ 	gnutls_datum_t cipher_key; 					\
+ 	gnutls_datum_t mac_key; 					\
+-- 
+2.52.0.windows.1
+


=====================================
contrib/src/nfs/0008-tls-define-TLS_RX-if-it-s-missing.patch
=====================================
@@ -0,0 +1,27 @@
+From 2904ad8fb49c070b8350f7b2dfad36f25b35609b Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Tue, 27 Jan 2026 10:32:36 +0100
+Subject: [PATCH 8/8] tls: define TLS_RX if it's missing
+
+---
+ tls/ktls.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/tls/ktls.c b/tls/ktls.c
+index eeba9d0..cb88a78 100644
+--- a/tls/ktls.c
++++ b/tls/ktls.c
+@@ -93,6 +93,10 @@ static bool tls_is_ktls_enabled(gnutls_session_t session _U_, bool read _U_)
+ }
+ #endif
+ 
++#ifndef TLS_RX
++#define TLS_RX 2
++#endif
++
+ static int ktls_setsockopt(int sock, bool read, const void *info, socklen_t infolen)
+ {
+ 	const int ret = setsockopt(sock, SOL_TLS, read ? TLS_RX : TLS_TX, info, infolen);
+-- 
+2.52.0.windows.1
+


=====================================
contrib/src/nfs/rules.mak
=====================================
@@ -27,6 +27,8 @@ nfs: libnfs-$(NFS_VERSION).tar.gz .sum-nfs
 	$(APPLY) $(SRC)/nfs/0004-win32-fix-build-with-MSVC.patch
 	$(APPLY) $(SRC)/nfs/0005-win32-don-t-use-pthread-on-Windows.patch
 	$(APPLY) $(SRC)/nfs/0001-cmake-export-the-necessary-library-in-the-pkg-config.patch
+	$(APPLY) $(SRC)/nfs/0007-tls-add-support-for-kernel-without-TLS_1_3_VERSION.patch
+	$(APPLY) $(SRC)/nfs/0008-tls-define-TLS_RX-if-it-s-missing.patch
 	$(MOVE)
 
 .nfs: nfs toolchain.cmake



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/d8bd55bd235ec375a13fd91898985132a70b48bc

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/d8bd55bd235ec375a13fd91898985132a70b48bc
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list