diff mbox series

[meta-oe,v3] ktls-utils: Initial commit

Message ID 20250409023736.4038799-1-alistair.francis@wdc.com
State Accepted
Headers show
Series [meta-oe,v3] ktls-utils: Initial commit | expand

Commit Message

Alistair Francis April 9, 2025, 2:37 a.m. UTC
Package ktls-utils which includes tlsd.

This is used when in-kernel TLS consumers need a mechanism to perform TLS
handshakes on a connected socket to negotiate TLS session parameters that
can then be programmed into the kernel's TLS record protocol engine.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
---
 ...PERMS-if-it-doesn-t-exist-to-fix-mus.patch | 37 +++++++++++++++++++
 .../ktls-utils/ktls-utils_0.11.bb             | 24 ++++++++++++
 2 files changed, 61 insertions(+)
 create mode 100644 meta-oe/recipes-kernel/ktls-utils/ktls-utils/0001-tlshd-Define-ALLPERMS-if-it-doesn-t-exist-to-fix-mus.patch
 create mode 100644 meta-oe/recipes-kernel/ktls-utils/ktls-utils_0.11.bb
diff mbox series

Patch

diff --git a/meta-oe/recipes-kernel/ktls-utils/ktls-utils/0001-tlshd-Define-ALLPERMS-if-it-doesn-t-exist-to-fix-mus.patch b/meta-oe/recipes-kernel/ktls-utils/ktls-utils/0001-tlshd-Define-ALLPERMS-if-it-doesn-t-exist-to-fix-mus.patch
new file mode 100644
index 0000000000..d27e2aa741
--- /dev/null
+++ b/meta-oe/recipes-kernel/ktls-utils/ktls-utils/0001-tlshd-Define-ALLPERMS-if-it-doesn-t-exist-to-fix-mus.patch
@@ -0,0 +1,37 @@ 
+From ca95e956307672484e8c018263600749aa9c4f4d Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair.francis@wdc.com>
+Date: Wed, 9 Apr 2025 11:14:52 +1000
+Subject: [PATCH] tlshd: Define ALLPERMS if it doesn't exist to fix musl build
+
+ALLPERMS exists in glibc, but not on musl, so we manually define
+it if it doesn't exist. This fixes building on musl systems.
+
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+Upstream-Status: Submitted
+[https://github.com/oracle/ktls-utils/pull/88]
+---
+ src/tlshd/config.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/tlshd/config.c b/src/tlshd/config.c
+index 38948e8..e653bd8 100644
+--- a/src/tlshd/config.c
++++ b/src/tlshd/config.c
+@@ -46,6 +46,14 @@
+ 
+ static GKeyFile *tlshd_configuration;
+ 
++/**
++ * ALLPERMS exists in glibc, but not on musl, so we
++ * manually define it if it doesn't exist
++ */
++#ifndef ALLPERMS
++#define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)
++#endif
++
+ /**
+  * tlshd_config_init - Read tlshd's config file
+  * @pathname: Pathname to config file
+-- 
+2.49.0
+
diff --git a/meta-oe/recipes-kernel/ktls-utils/ktls-utils_0.11.bb b/meta-oe/recipes-kernel/ktls-utils/ktls-utils_0.11.bb
new file mode 100644
index 0000000000..650b69fcd1
--- /dev/null
+++ b/meta-oe/recipes-kernel/ktls-utils/ktls-utils_0.11.bb
@@ -0,0 +1,24 @@ 
+SUMMARY = "TLS handshake utilities for in-kernel TLS consumers"
+DESCRIPTION = "In-kernel TLS consumers need a mechanism to perform TLS \
+handshakes on a connected socket to negotiate TLS session parameters that \
+can then be programmed into the kernel's TLS record protocol engine."
+DEPENDS = "gnutls keyutils glib-2.0 libnl"
+RDEPENDS:${PN} += " gnutls"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d568123389d9a12625cca2b089b1728b"
+
+SRCREV = "5c3314b5728b272cbaf0d98f4d521cca9610b6bf"
+SRC_URI = " \
+	git://github.com/oracle/ktls-utils.git;nobranch=1;protocol=https \
+	file://0001-tlshd-Define-ALLPERMS-if-it-doesn-t-exist-to-fix-mus.patch \
+	"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep pkgconfig systemd
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+
+PACKAGECONFIG[systemd] = "--with-systemd,,systemd"
+
+SYSTEMD_SERVICE:${PN} = "tlshd.service"