summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-connectivity')
-rw-r--r--meta/recipes-connectivity/avahi/avahi-libnss-mdns_0.15.1.bb (renamed from meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.1.bb)3
-rw-r--r--meta/recipes-connectivity/avahi/avahi_0.8.bb8
-rw-r--r--meta/recipes-connectivity/avahi/files/initscript.patch6
-rw-r--r--meta/recipes-connectivity/bind/bind/0001-avoid-start-failure-with-bind-user.patch7
-rw-r--r--meta/recipes-connectivity/bind/bind/0001-named-lwresd-V-and-start-log-hide-build-options.patch5
-rw-r--r--meta/recipes-connectivity/bind/bind/bind-ensure-searching-for-json-headers-searches-sysr.patch7
-rw-r--r--meta/recipes-connectivity/bind/bind/conf.patch137
-rw-r--r--meta/recipes-connectivity/bind/bind/init.d-add-support-for-read-only-rootfs.patch12
-rw-r--r--meta/recipes-connectivity/bind/bind/make-etc-initd-bind-stop-work.patch19
-rw-r--r--meta/recipes-connectivity/bind/bind_9.20.10.bb (renamed from meta/recipes-connectivity/bind/bind_9.18.25.bb)14
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5.inc35
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch56
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5/0001-bluez5-disable-aics-tests.patch40
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5/0001-test-gatt-Fix-hung-issue.patch41
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5/0001-tests-add-a-target-for-building-tests-without-runnin.patch7
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5/0004-src-shared-util.c-include-linux-limits.h.patch27
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5_5.83.bb (renamed from meta/recipes-connectivity/bluez5/bluez5_5.72.bb)11
-rw-r--r--meta/recipes-connectivity/connman/connman-conf.bb3
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome_0.7.bb8
-rw-r--r--meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-resolved-when-we-use-co.patch29
-rw-r--r--meta/recipes-connectivity/connman/connman/0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch35
-rw-r--r--meta/recipes-connectivity/connman/connman/0001-src-log.c-Include-libgen.h-for-basename-API.patch55
-rw-r--r--meta/recipes-connectivity/connman/connman/0001-vpn-Adding-support-for-latest-pppd-2.5.0-release.patch152
-rw-r--r--meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch104
-rw-r--r--meta/recipes-connectivity/connman/connman/CVE-2025-32366.patch41
-rw-r--r--meta/recipes-connectivity/connman/connman/CVE-2025-32743.patch48
-rw-r--r--meta/recipes-connectivity/connman/connman/connman2
-rw-r--r--meta/recipes-connectivity/connman/connman/no-version-scripts.patch27
-rw-r--r--meta/recipes-connectivity/connman/connman_1.42.bb17
-rw-r--r--meta/recipes-connectivity/connman/connman_1.44.bb (renamed from meta/recipes-connectivity/connman/connman.inc)54
-rw-r--r--meta/recipes-connectivity/dhcpcd/dhcpcd_10.2.4.bb (renamed from meta/recipes-connectivity/dhcpcd/dhcpcd_10.0.6.bb)14
-rw-r--r--meta/recipes-connectivity/dhcpcd/files/0001-20-resolv.conf-improve-the-sitation-of-working-with-.patch11
-rw-r--r--meta/recipes-connectivity/dhcpcd/files/0001-dhcpcd.8-Fix-conflict-error-when-enable-multilib.patch7
-rw-r--r--meta/recipes-connectivity/dhcpcd/files/0001-remove-INCLUDEDIR-to-prevent-build-issues.patch9
-rw-r--r--meta/recipes-connectivity/inetutils/inetutils_2.6.bb (renamed from meta/recipes-connectivity/inetutils/inetutils_2.5.bb)18
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2/0001-include-libnetlink.h-add-missing-include-for-htobe64.patch24
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2/0001-libc-compat.h-add-musl-workaround.patch39
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2_6.15.0.bb (renamed from meta/recipes-connectivity/iproute2/iproute2_6.7.0.bb)14
-rw-r--r--meta/recipes-connectivity/iw/iw_6.9.bb (renamed from meta/recipes-connectivity/iw/iw_6.7.bb)4
-rw-r--r--meta/recipes-connectivity/kea/files/0001-kea-fix-reproducible-build-failure.patch62
-rw-r--r--meta/recipes-connectivity/kea/files/0001-make-kea-environment-available-to-lfc.patch96
-rw-r--r--meta/recipes-connectivity/kea/files/fix-multilib-conflict.patch28
-rw-r--r--meta/recipes-connectivity/kea/files/fix_pid_keactrl.patch12
-rw-r--r--meta/recipes-connectivity/kea/kea_2.6.3.bb (renamed from meta/recipes-connectivity/kea/kea_2.4.1.bb)14
-rw-r--r--meta/recipes-connectivity/libpcap/libpcap_1.10.5.bb (renamed from meta/recipes-connectivity/libpcap/libpcap_1.10.4.bb)4
-rw-r--r--meta/recipes-connectivity/libuv/libuv_1.51.0.bb (renamed from meta/recipes-connectivity/libuv/libuv_1.48.0.bb)6
-rw-r--r--meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_20250613.bb (renamed from meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb)8
-rw-r--r--meta/recipes-connectivity/neard/neard_0.19.bb9
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch299
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/0001-reexport.h-Include-unistd.h-to-compile-with-musl.patch34
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/0001-tools-locktest-Use-intmax_t-to-print-off_t.patch53
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/0004-Use-nogroup-for-nobody-group.patch38
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/0005-find-OE-provided-Kerberos.patch42
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch39
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/clang-warnings.patch36
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service18
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service24
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service16
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-debianize-start-statd.patch42
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils.conf35
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon300
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver71
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/proc-fs-nfsd.mount8
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils_2.8.3.bb (renamed from meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.4.bb)93
-rw-r--r--meta/recipes-connectivity/ofono/ofono/0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch36
-rw-r--r--meta/recipes-connectivity/ofono/ofono/0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch28
-rw-r--r--meta/recipes-connectivity/ofono/ofono_2.17.bb (renamed from meta/recipes-connectivity/ofono/ofono_2.4.bb)21
-rw-r--r--meta/recipes-connectivity/openssh/openssh/0001-regress-banner.sh-log-input-and-output-files-on-erro.patch8
-rw-r--r--meta/recipes-connectivity/openssh/openssh/0001-regress-test-exec-use-the-absolute-path-in-the-SSH-e.patch35
-rw-r--r--meta/recipes-connectivity/openssh/openssh/0001-systemd-Add-optional-support-for-systemd-sd_notify.patch96
-rw-r--r--meta/recipes-connectivity/openssh/openssh/add-test-support-for-busybox.patch47
-rw-r--r--meta/recipes-connectivity/openssh/openssh/fix-potential-signed-overflow-in-pointer-arithmatic.patch111
-rwxr-xr-xmeta/recipes-connectivity/openssh/openssh/run-ptest1
-rw-r--r--meta/recipes-connectivity/openssh/openssh/sshd2
-rw-r--r--meta/recipes-connectivity/openssh/openssh/sshd.service3
-rw-r--r--meta/recipes-connectivity/openssh/openssh/sshd.socket1
-rw-r--r--meta/recipes-connectivity/openssh/openssh/sshd_check_keys2
-rw-r--r--meta/recipes-connectivity/openssh/openssh_10.0p1.bb (renamed from meta/recipes-connectivity/openssh/openssh_9.7p1.bb)72
-rw-r--r--meta/recipes-connectivity/openssl/files/environment.d-openssl.sh25
-rw-r--r--meta/recipes-connectivity/openssl/openssl/0001-Added-handshake-history-reporting-when-test-fails.patch55
-rw-r--r--meta/recipes-connectivity/openssl/openssl/0001-Configure-do-not-tweak-mips-cflags.patch4
-rw-r--r--meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch28
-rw-r--r--meta/recipes-connectivity/openssl/openssl/CVE-2024-2511.patch120
-rw-r--r--meta/recipes-connectivity/openssl/openssl/bti.patch58
-rw-r--r--meta/recipes-connectivity/openssl/openssl/run-ptest19
-rw-r--r--meta/recipes-connectivity/openssl/openssl_3.5.0.bb (renamed from meta/recipes-connectivity/openssl/openssl_3.2.1.bb)133
-rw-r--r--meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb6
-rw-r--r--meta/recipes-connectivity/ppp/ppp/0001-pppd-pppdconf.h-remove-erroneous-generated-header.patch98
-rw-r--r--meta/recipes-connectivity/ppp/ppp/0001-pppd-session-Fixed-building-with-GCC-15.patch33
-rw-r--r--meta/recipes-connectivity/ppp/ppp/0001-pppdump-Fixed-building-with-GCC-15-548.patch75
-rw-r--r--meta/recipes-connectivity/ppp/ppp_2.5.2.bb (renamed from meta/recipes-connectivity/ppp/ppp_2.5.0.bb)44
-rw-r--r--meta/recipes-connectivity/resolvconf/resolvconf_1.93.bb (renamed from meta/recipes-connectivity/resolvconf/resolvconf_1.92.bb)6
-rw-r--r--meta/recipes-connectivity/slirp/libslirp_4.9.1.bb (renamed from meta/recipes-connectivity/slirp/libslirp_git.bb)8
-rw-r--r--meta/recipes-connectivity/socat/files/0001-fix-compile-procan.c-failed.patch30
-rw-r--r--meta/recipes-connectivity/socat/socat_1.8.0.3.bb (renamed from meta/recipes-connectivity/socat/socat_1.8.0.0.bb)4
-rw-r--r--meta/recipes-connectivity/ssh-pregen-hostkeys/ssh-pregen-hostkeys_1.0.bb10
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-Install-wpa_passphrase-when-not-disabled.patch33
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-PEAP-client-Update-Phase-2-authentication-requiremen.patch213
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-build-Re-enable-options-for-libwpa_client.so-and-wpa.patch73
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-macsec_linux-Hardware-offload-requires-Linux-headers.patch53
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0002-Fix-removal-of-wpa_passphrase-on-make-clean.patch26
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.11.bb (renamed from meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.10.bb)23
102 files changed, 1608 insertions, 2569 deletions
diff --git a/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.1.bb b/meta/recipes-connectivity/avahi/avahi-libnss-mdns_0.15.1.bb
index 0db609fc47..d45c06357d 100644
--- a/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.1.bb
+++ b/meta/recipes-connectivity/avahi/avahi-libnss-mdns_0.15.1.bb
@@ -13,8 +13,6 @@ SRC_URI = "git://github.com/lathiat/nss-mdns;branch=master;protocol=https \
13 13
14SRCREV = "4b3cfe818bf72d99a02b8ca8b8813cb2d6b40633" 14SRCREV = "4b3cfe818bf72d99a02b8ca8b8813cb2d6b40633"
15 15
16S = "${WORKDIR}/git"
17
18inherit autotools pkgconfig 16inherit autotools pkgconfig
19 17
20COMPATIBLE_HOST:libc-musl = 'null' 18COMPATIBLE_HOST:libc-musl = 'null'
@@ -22,6 +20,7 @@ COMPATIBLE_HOST:libc-musl = 'null'
22EXTRA_OECONF = "--libdir=${base_libdir}" 20EXTRA_OECONF = "--libdir=${base_libdir}"
23 21
24RDEPENDS:${PN} = "avahi-daemon" 22RDEPENDS:${PN} = "avahi-daemon"
23RPROVIDES:${PN} = "libnss-mdns"
25 24
26pkg_postinst:${PN} () { 25pkg_postinst:${PN} () {
27 sed ' 26 sed '
diff --git a/meta/recipes-connectivity/avahi/avahi_0.8.bb b/meta/recipes-connectivity/avahi/avahi_0.8.bb
index 1f18d4491d..220160a7e1 100644
--- a/meta/recipes-connectivity/avahi/avahi_0.8.bb
+++ b/meta/recipes-connectivity/avahi/avahi_0.8.bb
@@ -85,7 +85,7 @@ do_compile:prepend() {
85 export GIR_EXTRA_LIBS_PATH="${B}/avahi-gobject/.libs:${B}/avahi-common/.libs:${B}/avahi-client/.libs:${B}/avahi-glib/.libs" 85 export GIR_EXTRA_LIBS_PATH="${B}/avahi-gobject/.libs:${B}/avahi-common/.libs:${B}/avahi-client/.libs:${B}/avahi-glib/.libs"
86} 86}
87 87
88RRECOMMENDS:${PN}:append:libc-glibc = " libnss-mdns" 88RRECOMMENDS:${PN}:append:libc-glibc = " avahi-libnss-mdns"
89 89
90do_install() { 90do_install() {
91 autotools_do_install 91 autotools_do_install
@@ -157,7 +157,7 @@ DEV_PKG_DEPENDENCY = "avahi-daemon (= ${EXTENDPKGV}) libavahi-core (= ${EXTENDPK
157DEV_PKG_DEPENDENCY += "${@["", " libavahi-client (= ${EXTENDPKGV})"][bb.utils.contains('PACKAGECONFIG', 'dbus', 1, 0, d)]}" 157DEV_PKG_DEPENDENCY += "${@["", " libavahi-client (= ${EXTENDPKGV})"][bb.utils.contains('PACKAGECONFIG', 'dbus', 1, 0, d)]}"
158RDEPENDS:${PN}-dnsconfd = "${PN}-daemon" 158RDEPENDS:${PN}-dnsconfd = "${PN}-daemon"
159 159
160RRECOMMENDS:avahi-daemon:append:libc-glibc = " libnss-mdns" 160RRECOMMENDS:avahi-daemon:append:libc-glibc = " avahi-libnss-mdns"
161 161
162CONFFILES:avahi-daemon = "${sysconfdir}/avahi/avahi-daemon.conf" 162CONFFILES:avahi-daemon = "${sysconfdir}/avahi/avahi-daemon.conf"
163 163
@@ -184,8 +184,8 @@ SYSTEMD_SERVICE:${PN}-dnsconfd = "avahi-dnsconfd.service"
184 184
185do_install:append() { 185do_install:append() {
186 install -d ${D}${sysconfdir}/udhcpc.d 186 install -d ${D}${sysconfdir}/udhcpc.d
187 install ${WORKDIR}/00avahi-autoipd ${D}${sysconfdir}/udhcpc.d 187 install ${UNPACKDIR}/00avahi-autoipd ${D}${sysconfdir}/udhcpc.d
188 install ${WORKDIR}/99avahi-autoipd ${D}${sysconfdir}/udhcpc.d 188 install ${UNPACKDIR}/99avahi-autoipd ${D}${sysconfdir}/udhcpc.d
189} 189}
190 190
191# At the time the postinst runs, dbus might not be setup so only restart if running 191# At the time the postinst runs, dbus might not be setup so only restart if running
diff --git a/meta/recipes-connectivity/avahi/files/initscript.patch b/meta/recipes-connectivity/avahi/files/initscript.patch
index c856c3df04..e1176888df 100644
--- a/meta/recipes-connectivity/avahi/files/initscript.patch
+++ b/meta/recipes-connectivity/avahi/files/initscript.patch
@@ -1,4 +1,8 @@
1Upstream-Status: Pending 1Note: upcoming avahi 0.9 drops debian initscripts altogether,
2so any version update would probably have to copy the last
3upstream versions into oe-core, and install them from the recipe.
4
5Upstream-Status: Inappropriate [upstream removed the files]
2 6
3Index: avahi-0.7/initscript/debian/avahi-daemon.in 7Index: avahi-0.7/initscript/debian/avahi-daemon.in
4=================================================================== 8===================================================================
diff --git a/meta/recipes-connectivity/bind/bind/0001-avoid-start-failure-with-bind-user.patch b/meta/recipes-connectivity/bind/bind/0001-avoid-start-failure-with-bind-user.patch
index ec1bc7b567..78ab6b87fc 100644
--- a/meta/recipes-connectivity/bind/bind/0001-avoid-start-failure-with-bind-user.patch
+++ b/meta/recipes-connectivity/bind/bind/0001-avoid-start-failure-with-bind-user.patch
@@ -1,4 +1,4 @@
1From 31dde3562f287429eea94b77250d184818b49063 Mon Sep 17 00:00:00 2001 1From c70f74164bea8a8c54c03becffb2f21103dd1f31 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com> 2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Mon, 15 Oct 2018 16:55:09 +0800 3Date: Mon, 15 Oct 2018 16:55:09 +0800
4Subject: [PATCH] avoid start failure with bind user 4Subject: [PATCH] avoid start failure with bind user
@@ -11,7 +11,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
11 1 file changed, 1 insertion(+) 11 1 file changed, 1 insertion(+)
12 12
13diff --git a/init.d b/init.d 13diff --git a/init.d b/init.d
14index b2eec60..6e03936 100644 14index 95e8909..771d349 100644
15--- a/init.d 15--- a/init.d
16+++ b/init.d 16+++ b/init.d
17@@ -57,6 +57,7 @@ case "$1" in 17@@ -57,6 +57,7 @@ case "$1" in
@@ -22,6 +22,3 @@ index b2eec60..6e03936 100644
22 chmod 0640 /etc/bind/rndc.key 22 chmod 0640 /etc/bind/rndc.key
23 fi 23 fi
24 if [ -f /var/run/named/named.pid ]; then 24 if [ -f /var/run/named/named.pid ]; then
25--
262.7.4
27
diff --git a/meta/recipes-connectivity/bind/bind/0001-named-lwresd-V-and-start-log-hide-build-options.patch b/meta/recipes-connectivity/bind/bind/0001-named-lwresd-V-and-start-log-hide-build-options.patch
index 4c10f33f04..53e439721f 100644
--- a/meta/recipes-connectivity/bind/bind/0001-named-lwresd-V-and-start-log-hide-build-options.patch
+++ b/meta/recipes-connectivity/bind/bind/0001-named-lwresd-V-and-start-log-hide-build-options.patch
@@ -1,4 +1,4 @@
1From 4e83392e840fa7b05e778710b8c202d102477a13 Mon Sep 17 00:00:00 2001 1From 0dd67d85705cbcfa9a2759c46f3cdf3d0d6375de Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com> 2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Mon, 27 Aug 2018 21:24:20 +0800 3Date: Mon, 27 Aug 2018 21:24:20 +0800
4Subject: [PATCH] `named/lwresd -V' and start log hide build options 4Subject: [PATCH] `named/lwresd -V' and start log hide build options
@@ -15,13 +15,12 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
15 15
16Refreshed for 9.16.0 16Refreshed for 9.16.0
17Signed-off-by: Armin Kuster <akuster@mvista.com> 17Signed-off-by: Armin Kuster <akuster@mvista.com>
18
19--- 18---
20 configure.ac | 2 +- 19 configure.ac | 2 +-
21 1 file changed, 1 insertion(+), 1 deletion(-) 20 1 file changed, 1 insertion(+), 1 deletion(-)
22 21
23diff --git a/configure.ac b/configure.ac 22diff --git a/configure.ac b/configure.ac
24index bf20690..c5d330f 100644 23index f9cf4a4..0ce3d26 100644
25--- a/configure.ac 24--- a/configure.ac
26+++ b/configure.ac 25+++ b/configure.ac
27@@ -35,7 +35,7 @@ AC_DEFINE([PACKAGE_VERSION_EXTRA], ["][bind_VERSION_EXTRA]["], [BIND 9 Extra par 26@@ -35,7 +35,7 @@ AC_DEFINE([PACKAGE_VERSION_EXTRA], ["][bind_VERSION_EXTRA]["], [BIND 9 Extra par
diff --git a/meta/recipes-connectivity/bind/bind/bind-ensure-searching-for-json-headers-searches-sysr.patch b/meta/recipes-connectivity/bind/bind/bind-ensure-searching-for-json-headers-searches-sysr.patch
index 38d07cae39..38d208fc1c 100644
--- a/meta/recipes-connectivity/bind/bind/bind-ensure-searching-for-json-headers-searches-sysr.patch
+++ b/meta/recipes-connectivity/bind/bind/bind-ensure-searching-for-json-headers-searches-sysr.patch
@@ -1,4 +1,4 @@
1From 5ae30329f168c1e8d2e0c3831988a4f3e9096e39 Mon Sep 17 00:00:00 2001 1From 8c9c817933eef20328f10237bbd964580db0a3ad Mon Sep 17 00:00:00 2001
2From: Paul Gortmaker <paul.gortmaker@windriver.com> 2From: Paul Gortmaker <paul.gortmaker@windriver.com>
3Date: Tue, 9 Jun 2015 11:22:00 -0400 3Date: Tue, 9 Jun 2015 11:22:00 -0400
4Subject: [PATCH] bind: ensure searching for json headers searches sysroot 4Subject: [PATCH] bind: ensure searching for json headers searches sysroot
@@ -27,16 +27,15 @@ to make use of the combination some day.
27 27
28Upstream-Status: Inappropriate [OE Specific] 28Upstream-Status: Inappropriate [OE Specific]
29Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> 29Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
30
31--- 30---
32 configure.ac | 2 +- 31 configure.ac | 2 +-
33 1 file changed, 1 insertion(+), 1 deletion(-) 32 1 file changed, 1 insertion(+), 1 deletion(-)
34 33
35diff --git a/configure.ac b/configure.ac 34diff --git a/configure.ac b/configure.ac
36index 2ab8ddd..92fe983 100644 35index 334b551..f9cf4a4 100644
37--- a/configure.ac 36--- a/configure.ac
38+++ b/configure.ac 37+++ b/configure.ac
39@@ -761,7 +761,7 @@ AS_CASE([$with_lmdb], 38@@ -863,7 +863,7 @@ AS_CASE([$with_lmdb],
40 [no],[], 39 [no],[],
41 [auto|yes], [PKG_CHECK_MODULES([LMDB], [lmdb], 40 [auto|yes], [PKG_CHECK_MODULES([LMDB], [lmdb],
42 [ac_lib_lmdb_found=yes], 41 [ac_lib_lmdb_found=yes],
diff --git a/meta/recipes-connectivity/bind/bind/conf.patch b/meta/recipes-connectivity/bind/bind/conf.patch
index aa3642acec..102fe46ffe 100644
--- a/meta/recipes-connectivity/bind/bind/conf.patch
+++ b/meta/recipes-connectivity/bind/bind/conf.patch
@@ -1,12 +1,43 @@
1From 83a892af19bf1455ce7132350332ed6d7f1e2b94 Mon Sep 17 00:00:00 2001
2From: Qing He <qing.he@intel.com>
3Date: Tue, 30 Nov 2010 13:35:42 +0800
4Subject: [PATCH] bind: add new recipe
5
1Upstream-Status: Inappropriate [configuration] 6Upstream-Status: Inappropriate [configuration]
2 7
3the patch is imported from openembedded project 8the patch is imported from openembedded project
4 9
511/30/2010 - Qing He <qing.he@intel.com> 1011/30/2010 - Qing He <qing.he@intel.com>
11---
12 conf/db.0 | 12 +++++++
13 conf/db.127 | 13 ++++++++
14 conf/db.255 | 12 +++++++
15 conf/db.empty | 14 +++++++++
16 conf/db.local | 13 ++++++++
17 conf/db.root | 45 ++++++++++++++++++++++++++
18 conf/named.conf | 49 +++++++++++++++++++++++++++++
19 conf/named.conf.local | 8 +++++
20 conf/named.conf.options | 24 ++++++++++++++
21 conf/zones.rfc1918 | 20 ++++++++++++
22 init.d | 70 +++++++++++++++++++++++++++++++++++++++++
23 11 files changed, 280 insertions(+)
24 create mode 100644 conf/db.0
25 create mode 100644 conf/db.127
26 create mode 100644 conf/db.255
27 create mode 100644 conf/db.empty
28 create mode 100644 conf/db.local
29 create mode 100644 conf/db.root
30 create mode 100644 conf/named.conf
31 create mode 100644 conf/named.conf.local
32 create mode 100644 conf/named.conf.options
33 create mode 100644 conf/zones.rfc1918
34 create mode 100644 init.d
6 35
7diff -urN bind-9.3.1.orig/conf/db.0 bind-9.3.1/conf/db.0 36diff --git a/conf/db.0 b/conf/db.0
8--- bind-9.3.1.orig/conf/db.0 1970-01-01 01:00:00.000000000 +0100 37new file mode 100644
9+++ bind-9.3.1/conf/db.0 2005-07-10 22:14:00.000000000 +0200 38index 0000000..e3aabdb
39--- /dev/null
40+++ b/conf/db.0
10@@ -0,0 +1,12 @@ 41@@ -0,0 +1,12 @@
11+; 42+;
12+; BIND reverse data file for broadcast zone 43+; BIND reverse data file for broadcast zone
@@ -20,9 +51,11 @@ diff -urN bind-9.3.1.orig/conf/db.0 bind-9.3.1/conf/db.0
20+ 604800 ) ; Negative Cache TTL 51+ 604800 ) ; Negative Cache TTL
21+; 52+;
22+@ IN NS localhost. 53+@ IN NS localhost.
23diff -urN bind-9.3.1.orig/conf/db.127 bind-9.3.1/conf/db.127 54diff --git a/conf/db.127 b/conf/db.127
24--- bind-9.3.1.orig/conf/db.127 1970-01-01 01:00:00.000000000 +0100 55new file mode 100644
25+++ bind-9.3.1/conf/db.127 2005-07-10 22:14:00.000000000 +0200 56index 0000000..cd05bef
57--- /dev/null
58+++ b/conf/db.127
26@@ -0,0 +1,13 @@ 59@@ -0,0 +1,13 @@
27+; 60+;
28+; BIND reverse data file for local loopback interface 61+; BIND reverse data file for local loopback interface
@@ -37,43 +70,49 @@ diff -urN bind-9.3.1.orig/conf/db.127 bind-9.3.1/conf/db.127
37+; 70+;
38+@ IN NS localhost. 71+@ IN NS localhost.
39+1.0.0 IN PTR localhost. 72+1.0.0 IN PTR localhost.
40diff -urN bind-9.3.1.orig/conf/db.empty bind-9.3.1/conf/db.empty 73diff --git a/conf/db.255 b/conf/db.255
41--- bind-9.3.1.orig/conf/db.empty 1970-01-01 01:00:00.000000000 +0100 74new file mode 100644
42+++ bind-9.3.1/conf/db.empty 2005-07-10 22:14:00.000000000 +0200 75index 0000000..16cd819
43@@ -0,0 +1,14 @@ 76--- /dev/null
44+; BIND reverse data file for empty rfc1918 zone 77+++ b/conf/db.255
78@@ -0,0 +1,12 @@
45+; 79+;
46+; DO NOT EDIT THIS FILE - it is used for multiple zones. 80+; BIND reserve data file for broadcast zone
47+; Instead, copy it, edit named.conf, and use that copy.
48+; 81+;
49+$TTL 86400 82+$TTL 604800
50+@ IN SOA localhost. root.localhost. ( 83+@ IN SOA localhost. root.localhost. (
51+ 1 ; Serial 84+ 1 ; Serial
52+ 604800 ; Refresh 85+ 604800 ; Refresh
53+ 86400 ; Retry 86+ 86400 ; Retry
54+ 2419200 ; Expire 87+ 2419200 ; Expire
55+ 86400 ) ; Negative Cache TTL 88+ 604800 ) ; Negative Cache TTL
56+; 89+;
57+@ IN NS localhost. 90+@ IN NS localhost.
58diff -urN bind-9.3.1.orig/conf/db.255 bind-9.3.1/conf/db.255 91diff --git a/conf/db.empty b/conf/db.empty
59--- bind-9.3.1.orig/conf/db.255 1970-01-01 01:00:00.000000000 +0100 92new file mode 100644
60+++ bind-9.3.1/conf/db.255 2005-07-10 22:14:00.000000000 +0200 93index 0000000..8a12858
61@@ -0,0 +1,12 @@ 94--- /dev/null
95+++ b/conf/db.empty
96@@ -0,0 +1,14 @@
97+; BIND reverse data file for empty rfc1918 zone
62+; 98+;
63+; BIND reserve data file for broadcast zone 99+; DO NOT EDIT THIS FILE - it is used for multiple zones.
100+; Instead, copy it, edit named.conf, and use that copy.
64+; 101+;
65+$TTL 604800 102+$TTL 86400
66+@ IN SOA localhost. root.localhost. ( 103+@ IN SOA localhost. root.localhost. (
67+ 1 ; Serial 104+ 1 ; Serial
68+ 604800 ; Refresh 105+ 604800 ; Refresh
69+ 86400 ; Retry 106+ 86400 ; Retry
70+ 2419200 ; Expire 107+ 2419200 ; Expire
71+ 604800 ) ; Negative Cache TTL 108+ 86400 ) ; Negative Cache TTL
72+; 109+;
73+@ IN NS localhost. 110+@ IN NS localhost.
74diff -urN bind-9.3.1.orig/conf/db.local bind-9.3.1/conf/db.local 111diff --git a/conf/db.local b/conf/db.local
75--- bind-9.3.1.orig/conf/db.local 1970-01-01 01:00:00.000000000 +0100 112new file mode 100644
76+++ bind-9.3.1/conf/db.local 2005-07-10 22:14:00.000000000 +0200 113index 0000000..66b4892
114--- /dev/null
115+++ b/conf/db.local
77@@ -0,0 +1,13 @@ 116@@ -0,0 +1,13 @@
78+; 117+;
79+; BIND data file for local loopback interface 118+; BIND data file for local loopback interface
@@ -88,9 +127,11 @@ diff -urN bind-9.3.1.orig/conf/db.local bind-9.3.1/conf/db.local
88+; 127+;
89+@ IN NS localhost. 128+@ IN NS localhost.
90+@ IN A 127.0.0.1 129+@ IN A 127.0.0.1
91diff -urN bind-9.3.1.orig/conf/db.root bind-9.3.1/conf/db.root 130diff --git a/conf/db.root b/conf/db.root
92--- bind-9.3.1.orig/conf/db.root 1970-01-01 01:00:00.000000000 +0100 131new file mode 100644
93+++ bind-9.3.1/conf/db.root 2005-07-10 22:14:00.000000000 +0200 132index 0000000..01c20f0
133--- /dev/null
134+++ b/conf/db.root
94@@ -0,0 +1,45 @@ 135@@ -0,0 +1,45 @@
95+ 136+
96+; <<>> DiG 9.2.3 <<>> ns . @a.root-servers.net. 137+; <<>> DiG 9.2.3 <<>> ns . @a.root-servers.net.
@@ -137,9 +178,11 @@ diff -urN bind-9.3.1.orig/conf/db.root bind-9.3.1/conf/db.root
137+;; WHEN: Sun Feb 1 11:27:14 2004 178+;; WHEN: Sun Feb 1 11:27:14 2004
138+;; MSG SIZE rcvd: 436 179+;; MSG SIZE rcvd: 436
139+ 180+
140diff -urN bind-9.3.1.orig/conf/named.conf bind-9.3.1/conf/named.conf 181diff --git a/conf/named.conf b/conf/named.conf
141--- bind-9.3.1.orig/conf/named.conf 1970-01-01 01:00:00.000000000 +0100 182new file mode 100644
142+++ bind-9.3.1/conf/named.conf 2005-07-10 22:33:46.000000000 +0200 183index 0000000..95829cf
184--- /dev/null
185+++ b/conf/named.conf
143@@ -0,0 +1,49 @@ 186@@ -0,0 +1,49 @@
144+// This is the primary configuration file for the BIND DNS server named. 187+// This is the primary configuration file for the BIND DNS server named.
145+// 188+//
@@ -190,9 +233,11 @@ diff -urN bind-9.3.1.orig/conf/named.conf bind-9.3.1/conf/named.conf
190+// root-delegation-only exclude { "DE"; "MUSEUM"; }; 233+// root-delegation-only exclude { "DE"; "MUSEUM"; };
191+ 234+
192+include "/etc/bind/named.conf.local"; 235+include "/etc/bind/named.conf.local";
193diff -urN bind-9.3.1.orig/conf/named.conf.local bind-9.3.1/conf/named.conf.local 236diff --git a/conf/named.conf.local b/conf/named.conf.local
194--- bind-9.3.1.orig/conf/named.conf.local 1970-01-01 01:00:00.000000000 +0100 237new file mode 100644
195+++ bind-9.3.1/conf/named.conf.local 2005-07-10 22:14:06.000000000 +0200 238index 0000000..7a57b10
239--- /dev/null
240+++ b/conf/named.conf.local
196@@ -0,0 +1,8 @@ 241@@ -0,0 +1,8 @@
197+// 242+//
198+// Do any local configuration here 243+// Do any local configuration here
@@ -202,9 +247,11 @@ diff -urN bind-9.3.1.orig/conf/named.conf.local bind-9.3.1/conf/named.conf.local
202+// organization 247+// organization
203+//include "/etc/bind/zones.rfc1918"; 248+//include "/etc/bind/zones.rfc1918";
204+ 249+
205diff -urN bind-9.3.1.orig/conf/named.conf.options bind-9.3.1/conf/named.conf.options 250diff --git a/conf/named.conf.options b/conf/named.conf.options
206--- bind-9.3.1.orig/conf/named.conf.options 1970-01-01 01:00:00.000000000 +0100 251new file mode 100644
207+++ bind-9.3.1/conf/named.conf.options 2005-07-10 22:14:06.000000000 +0200 252index 0000000..813193d
253--- /dev/null
254+++ b/conf/named.conf.options
208@@ -0,0 +1,24 @@ 255@@ -0,0 +1,24 @@
209+options { 256+options {
210+ directory "/var/cache/bind"; 257+ directory "/var/cache/bind";
@@ -230,9 +277,11 @@ diff -urN bind-9.3.1.orig/conf/named.conf.options bind-9.3.1/conf/named.conf.opt
230+ 277+
231+}; 278+};
232+ 279+
233diff -urN bind-9.3.1.orig/conf/zones.rfc1918 bind-9.3.1/conf/zones.rfc1918 280diff --git a/conf/zones.rfc1918 b/conf/zones.rfc1918
234--- bind-9.3.1.orig/conf/zones.rfc1918 1970-01-01 01:00:00.000000000 +0100 281new file mode 100644
235+++ bind-9.3.1/conf/zones.rfc1918 2005-07-10 22:14:10.000000000 +0200 282index 0000000..03b5546
283--- /dev/null
284+++ b/conf/zones.rfc1918
236@@ -0,0 +1,20 @@ 285@@ -0,0 +1,20 @@
237+zone "10.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; 286+zone "10.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
238+ 287+
@@ -254,9 +303,11 @@ diff -urN bind-9.3.1.orig/conf/zones.rfc1918 bind-9.3.1/conf/zones.rfc1918
254+zone "31.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; 303+zone "31.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
255+ 304+
256+zone "168.192.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; 305+zone "168.192.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
257diff -urN bind-9.3.1.orig/init.d bind-9.3.1/init.d 306diff --git a/init.d b/init.d
258--- bind-9.3.1.orig/init.d 1970-01-01 01:00:00.000000000 +0100 307new file mode 100644
259+++ bind-9.3.1/init.d 2005-07-10 23:09:58.000000000 +0200 308index 0000000..2ef2277
309--- /dev/null
310+++ b/init.d
260@@ -0,0 +1,70 @@ 311@@ -0,0 +1,70 @@
261+#!/bin/sh 312+#!/bin/sh
262+ 313+
diff --git a/meta/recipes-connectivity/bind/bind/init.d-add-support-for-read-only-rootfs.patch b/meta/recipes-connectivity/bind/bind/init.d-add-support-for-read-only-rootfs.patch
index 11db95ede1..984d401c70 100644
--- a/meta/recipes-connectivity/bind/bind/init.d-add-support-for-read-only-rootfs.patch
+++ b/meta/recipes-connectivity/bind/bind/init.d-add-support-for-read-only-rootfs.patch
@@ -1,14 +1,17 @@
1Subject: init.d: add support for read-only rootfs 1From 1393cbf6b0084128fdfc9b5afb3bcc307265d094 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Thu, 27 Mar 2014 02:34:41 +0000
4Subject: [PATCH] init.d: add support for read-only rootfs
2 5
3Upstream-Status: Inappropriate [oe specific] 6Upstream-Status: Inappropriate [oe specific]
4 7
5Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 8Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
6--- 9---
7 init.d | 40 ++++++++++++++++++++++++++++++++++++++++ 10 init.d | 40 ++++++++++++++++++++++++++++++++++++++++
8 1 file changed, 40 insertions(+) 11 1 file changed, 40 insertions(+)
9 12
10diff --git a/init.d b/init.d 13diff --git a/init.d b/init.d
11index 0111ed4..24677c8 100644 14index 2ef2277..95e8909 100644
12--- a/init.d 15--- a/init.d
13+++ b/init.d 16+++ b/init.d
14@@ -6,8 +6,48 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin 17@@ -6,8 +6,48 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin
@@ -60,6 +63,3 @@ index 0111ed4..24677c8 100644
60 test -x /usr/sbin/rndc || exit 0 63 test -x /usr/sbin/rndc || exit 0
61 64
62 case "$1" in 65 case "$1" in
63--
641.7.9.5
65
diff --git a/meta/recipes-connectivity/bind/bind/make-etc-initd-bind-stop-work.patch b/meta/recipes-connectivity/bind/bind/make-etc-initd-bind-stop-work.patch
index 146f3e35db..74f2ef83a0 100644
--- a/meta/recipes-connectivity/bind/bind/make-etc-initd-bind-stop-work.patch
+++ b/meta/recipes-connectivity/bind/bind/make-etc-initd-bind-stop-work.patch
@@ -1,4 +1,7 @@
1bind: make "/etc/init.d/bind stop" work 1From ce06506bb3fe661e03161af3a603bd228590a254 Mon Sep 17 00:00:00 2001
2From: Roy Li <rongqing.li@windriver.com>
3Date: Thu, 15 Nov 2012 02:27:54 +0000
4Subject: [PATCH] bind: make "/etc/init.d/bind stop" work
2 5
3Upstream-Status: Inappropriate [configuration] 6Upstream-Status: Inappropriate [configuration]
4 7
@@ -7,13 +10,13 @@ the named daemon.
7 10
8Signed-off-by: Roy Li <rongqing.li@windriver.com> 11Signed-off-by: Roy Li <rongqing.li@windriver.com>
9--- 12---
10 conf/named.conf | 5 +++++ 13 conf/named.conf | 5 +++++
11 conf/rndc.conf | 5 +++++ 14 conf/rndc.conf | 5 +++++
12 2 files changed, 10 insertions(+), 0 deletions(-) 15 2 files changed, 10 insertions(+)
13 create mode 100644 conf/rndc.conf 16 create mode 100644 conf/rndc.conf
14 17
15diff --git a/conf/named.conf b/conf/named.conf 18diff --git a/conf/named.conf b/conf/named.conf
16index 95829cf..c8899e7 100644 19index 95829cf..021dbca 100644
17--- a/conf/named.conf 20--- a/conf/named.conf
18+++ b/conf/named.conf 21+++ b/conf/named.conf
19@@ -47,3 +47,8 @@ zone "255.in-addr.arpa" { 22@@ -47,3 +47,8 @@ zone "255.in-addr.arpa" {
@@ -27,7 +30,7 @@ index 95829cf..c8899e7 100644
27+}; 30+};
28diff --git a/conf/rndc.conf b/conf/rndc.conf 31diff --git a/conf/rndc.conf b/conf/rndc.conf
29new file mode 100644 32new file mode 100644
30index 0000000..a0b481d 33index 0000000..4b43a3d
31--- /dev/null 34--- /dev/null
32+++ b/conf/rndc.conf 35+++ b/conf/rndc.conf
33@@ -0,0 +1,5 @@ 36@@ -0,0 +1,5 @@
@@ -36,7 +39,3 @@ index 0000000..a0b481d
36+ default-server localhost; 39+ default-server localhost;
37+ default-key rndc-key; 40+ default-key rndc-key;
38+}; 41+};
39
40--
411.7.5.4
42
diff --git a/meta/recipes-connectivity/bind/bind_9.18.25.bb b/meta/recipes-connectivity/bind/bind_9.20.10.bb
index cc35604aba..32f0bdf7b5 100644
--- a/meta/recipes-connectivity/bind/bind_9.18.25.bb
+++ b/meta/recipes-connectivity/bind/bind_9.20.10.bb
@@ -6,7 +6,7 @@ SECTION = "console/network"
6LICENSE = "MPL-2.0" 6LICENSE = "MPL-2.0"
7LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=c7a0b6d9a1b692a5da9af9d503671f43" 7LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=c7a0b6d9a1b692a5da9af9d503671f43"
8 8
9DEPENDS = "openssl libcap zlib libuv" 9DEPENDS = "openssl libcap zlib libuv liburcu"
10 10
11SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.xz \ 11SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.xz \
12 file://conf.patch \ 12 file://conf.patch \
@@ -20,7 +20,7 @@ SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.xz \
20 file://0001-avoid-start-failure-with-bind-user.patch \ 20 file://0001-avoid-start-failure-with-bind-user.patch \
21 " 21 "
22 22
23SRC_URI[sha256sum] = "5a4a70432a33d009f0e6e9dbb328aae7a5e27507e98e28bf3c0c6b250ccb2ab3" 23SRC_URI[sha256sum] = "0fb3ba2c337bb488ca68f5df296c435cd255058fb63d0822e91db0235c905716"
24 24
25UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/" 25UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
26# follow the ESV versions divisible by 2 26# follow the ESV versions divisible by 2
@@ -34,7 +34,7 @@ inherit autotools update-rc.d systemd useradd pkgconfig multilib_header update-a
34 34
35# PACKAGECONFIGs readline and libedit should NOT be set at same time 35# PACKAGECONFIGs readline and libedit should NOT be set at same time
36PACKAGECONFIG ?= "readline" 36PACKAGECONFIG ?= "readline"
37PACKAGECONFIG[httpstats] = "--with-libxml2=${STAGING_DIR_HOST}${prefix},--without-libxml2,libxml2" 37PACKAGECONFIG[httpstats] = "--with-libxml2,--without-libxml2,libxml2"
38PACKAGECONFIG[readline] = "--with-readline=readline,,readline" 38PACKAGECONFIG[readline] = "--with-readline=readline,,readline"
39PACKAGECONFIG[libedit] = "--with-readline=libedit,,libedit" 39PACKAGECONFIG[libedit] = "--with-readline=libedit,,libedit"
40PACKAGECONFIG[dns-over-http] = "--enable-doh,--disable-doh,nghttp2" 40PACKAGECONFIG[dns-over-http] = "--enable-doh,--disable-doh,nghttp2"
@@ -44,7 +44,7 @@ EXTRA_OECONF = " --disable-auto-validation \
44 --sysconfdir=${sysconfdir}/bind \ 44 --sysconfdir=${sysconfdir}/bind \
45 --with-openssl=${STAGING_DIR_HOST}${prefix} \ 45 --with-openssl=${STAGING_DIR_HOST}${prefix} \
46 " 46 "
47LDFLAGS:append = " -lz" 47LDFLAGS += "-lz"
48 48
49# dhcp needs .la so keep them 49# dhcp needs .la so keep them
50REMOVE_LIBTOOL_LA = "0" 50REMOVE_LIBTOOL_LA = "0"
@@ -68,15 +68,15 @@ do_install:append() {
68 68
69 # Install systemd related files 69 # Install systemd related files
70 install -d ${D}${sbindir} 70 install -d ${D}${sbindir}
71 install -m 755 ${WORKDIR}/generate-rndc-key.sh ${D}${sbindir} 71 install -m 755 ${UNPACKDIR}/generate-rndc-key.sh ${D}${sbindir}
72 install -d ${D}${systemd_system_unitdir} 72 install -d ${D}${systemd_system_unitdir}
73 install -m 0644 ${WORKDIR}/named.service ${D}${systemd_system_unitdir} 73 install -m 0644 ${UNPACKDIR}/named.service ${D}${systemd_system_unitdir}
74 sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ 74 sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
75 -e 's,@SBINDIR@,${sbindir},g' \ 75 -e 's,@SBINDIR@,${sbindir},g' \
76 ${D}${systemd_system_unitdir}/named.service 76 ${D}${systemd_system_unitdir}/named.service
77 77
78 install -d ${D}${sysconfdir}/default 78 install -d ${D}${sysconfdir}/default
79 install -m 0644 ${WORKDIR}/bind9 ${D}${sysconfdir}/default 79 install -m 0644 ${UNPACKDIR}/bind9 ${D}${sysconfdir}/default
80 80
81 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then 81 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
82 install -d ${D}${sysconfdir}/tmpfiles.d 82 install -d ${D}${sysconfdir}/tmpfiles.d
diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc
index a31d7076ba..287ebf658e 100644
--- a/meta/recipes-connectivity/bluez5/bluez5.inc
+++ b/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -7,7 +7,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
7 file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \ 7 file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \
8 file://src/main.c;beginline=1;endline=24;md5=0ad83ca0dc37ab08af448777c581e7ac" 8 file://src/main.c;beginline=1;endline=24;md5=0ad83ca0dc37ab08af448777c581e7ac"
9DEPENDS = "dbus glib-2.0" 9DEPENDS = "dbus glib-2.0"
10RDEPENDS:${PN} += "dbus"
11PROVIDES += "bluez-hcidump" 10PROVIDES += "bluez-hcidump"
12RPROVIDES:${PN} += "bluez-hcidump" 11RPROVIDES:${PN} += "bluez-hcidump"
13 12
@@ -18,6 +17,14 @@ PACKAGECONFIG ??= "obex-profiles \
18 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ 17 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
19 a2dp-profiles \ 18 a2dp-profiles \
20 avrcp-profiles \ 19 avrcp-profiles \
20 bap-profiles \
21 bass-profiles \
22 mcp-profiles \
23 ccp-profiles \
24 vcp-profiles \
25 micp-profiles \
26 csip-profiles \
27 asha-profiles \
21 network-profiles \ 28 network-profiles \
22 hid-profiles \ 29 hid-profiles \
23 hog-profiles \ 30 hog-profiles \
@@ -39,6 +46,14 @@ PACKAGECONFIG[network-profiles] = "--enable-network,--disable-network"
39PACKAGECONFIG[hid-profiles] = "--enable-hid,--disable-hid" 46PACKAGECONFIG[hid-profiles] = "--enable-hid,--disable-hid"
40PACKAGECONFIG[hog-profiles] = "--enable-hog,--disable-hog" 47PACKAGECONFIG[hog-profiles] = "--enable-hog,--disable-hog"
41PACKAGECONFIG[health-profiles] = "--enable-health,--disable-health" 48PACKAGECONFIG[health-profiles] = "--enable-health,--disable-health"
49PACKAGECONFIG[bap-profiles] = "--enable-bap,--disable-bap"
50PACKAGECONFIG[bass-profiles] = "--enable-bass,--disable-bass"
51PACKAGECONFIG[mcp-profiles] = "--enable-mcp,--disable-mcp"
52PACKAGECONFIG[ccp-profiles] = "--enable-ccp,--disable-ccp"
53PACKAGECONFIG[vcp-profiles] = "--enable-vcp,--disable-vcp"
54PACKAGECONFIG[micp-profiles] = "--enable-micp,--disable-micp"
55PACKAGECONFIG[csip-profiles] = "--enable-csip,--disable-csip"
56PACKAGECONFIG[asha-profiles] = "--enable-asha,--disable-asha"
42PACKAGECONFIG[sixaxis] = "--enable-sixaxis,--disable-sixaxis" 57PACKAGECONFIG[sixaxis] = "--enable-sixaxis,--disable-sixaxis"
43PACKAGECONFIG[tools] = "--enable-tools,--disable-tools" 58PACKAGECONFIG[tools] = "--enable-tools,--disable-tools"
44PACKAGECONFIG[threads] = "--enable-threads,--disable-threads" 59PACKAGECONFIG[threads] = "--enable-threads,--disable-threads"
@@ -51,12 +66,10 @@ PACKAGECONFIG[manpages] = "--enable-manpages,--disable-manpages,python3-docutils
51SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \ 66SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \
52 file://init \ 67 file://init \
53 file://run-ptest \ 68 file://run-ptest \
54 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'file://0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch', d)} \
55 file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \ 69 file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \
56 file://0001-test-gatt-Fix-hung-issue.patch \ 70 file://0001-bluez5-disable-aics-tests.patch \
57 file://0004-src-shared-util.c-include-linux-limits.h.patch \
58 " 71 "
59S = "${WORKDIR}/bluez-${PV}" 72S = "${UNPACKDIR}/bluez-${PV}"
60 73
61CVE_PRODUCT = "bluez" 74CVE_PRODUCT = "bluez"
62 75
@@ -85,20 +98,16 @@ NOINST_TOOLS = " \
85 98
86do_install:append() { 99do_install:append() {
87 install -d ${D}${INIT_D_DIR} 100 install -d ${D}${INIT_D_DIR}
88 install -m 0755 ${WORKDIR}/init ${D}${INIT_D_DIR}/bluetooth 101 install -m 0755 ${UNPACKDIR}/init ${D}${INIT_D_DIR}/bluetooth
89 102
90 if [ -f ${D}/${sysconfdir}/init.d/bluetooth ]; then 103 if [ -f ${D}${sysconfdir}/init.d/bluetooth ]; then
91 sed -i -e 's#@LIBEXECDIR@#${libexecdir}#g' ${D}/${sysconfdir}/init.d/bluetooth 104 sed -i -e 's#@LIBEXECDIR@#${libexecdir}#g' ${D}${sysconfdir}/init.d/bluetooth
92 fi 105 fi
93 106
94 # Install desired tools that upstream leaves in build area 107 # Install desired tools that upstream leaves in build area
95 for f in ${NOINST_TOOLS} ; do 108 for f in ${NOINST_TOOLS} ; do
96 install -m 755 ${B}/$f ${D}/${bindir} 109 install -m 755 ${B}/$f ${D}${bindir}
97 done 110 done
98
99 # Patch python tools to use Python 3; they should be source compatible, but
100 # still refer to Python 2 in the shebang
101 sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${libdir}/bluez/test/*
102} 111}
103 112
104PACKAGES =+ "${PN}-testtools ${PN}-obex ${PN}-noinst-tools" 113PACKAGES =+ "${PN}-testtools ${PN}-obex ${PN}-noinst-tools"
diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch
deleted file mode 100644
index 618ed734a9..0000000000
--- a/meta/recipes-connectivity/bluez5/bluez5/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch
+++ /dev/null
@@ -1,56 +0,0 @@
1From f74eb97c9fb3c0ee2895742e773ac6a3c41c999c Mon Sep 17 00:00:00 2001
2From: Giovanni Campagna <gcampagna-cNUdlRotFMnNLxjTenLetw@public.gmane.org>
3Date: Sat, 12 Oct 2013 17:45:25 +0200
4Subject: [PATCH] Allow using obexd without systemd in the user session
5
6Not all sessions run systemd --user (actually, the majority
7doesn't), so the dbus daemon must be able to spawn obexd
8directly, and to do so it needs the full path of the daemon.
9
10Upstream-Status: Denied
11
12Not accepted by upstream maintainer for being a distro specific
13configuration. See thread:
14
15http://thread.gmane.org/gmane.linux.bluez.kernel/38725/focus=38843
16
17Signed-off-by: Javier Viguera <javier.viguera@digi.com>
18
19---
20 Makefile.obexd | 4 ++--
21 .../src/{org.bluez.obex.service => org.bluez.obex.service.in} | 2 +-
22 2 files changed, 3 insertions(+), 3 deletions(-)
23 rename obexd/src/{org.bluez.obex.service => org.bluez.obex.service.in} (76%)
24
25diff --git a/Makefile.obexd b/Makefile.obexd
26index de59d29..73004a3 100644
27--- a/Makefile.obexd
28+++ b/Makefile.obexd
29@@ -1,12 +1,12 @@
30 if SYSTEMD
31 systemduserunitdir = $(SYSTEMD_USERUNITDIR)
32 systemduserunit_DATA = obexd/src/obex.service
33+endif
34
35 dbussessionbusdir = $(DBUS_SESSIONBUSDIR)
36 dbussessionbus_DATA = obexd/src/org.bluez.obex.service
37-endif
38
39-EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service
40+EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service.in
41
42 if OBEX
43
44diff --git a/obexd/src/org.bluez.obex.service b/obexd/src/org.bluez.obex.service.in
45similarity index 76%
46rename from obexd/src/org.bluez.obex.service
47rename to obexd/src/org.bluez.obex.service.in
48index a538088..9c815f2 100644
49--- a/obexd/src/org.bluez.obex.service
50+++ b/obexd/src/org.bluez.obex.service.in
51@@ -1,4 +1,4 @@
52 [D-BUS Service]
53 Name=org.bluez.obex
54-Exec=/bin/false
55+Exec=@libexecdir@/obexd
56 SystemdService=dbus-org.bluez.obex.service
diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-bluez5-disable-aics-tests.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-bluez5-disable-aics-tests.patch
new file mode 100644
index 0000000000..3f01843ea3
--- /dev/null
+++ b/meta/recipes-connectivity/bluez5/bluez5/0001-bluez5-disable-aics-tests.patch
@@ -0,0 +1,40 @@
1From 182545f2504255d67d9ec2071fd5c82ab53c5a2e Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= <gudni.m.g@gmail.com>
3Date: Sun, 30 Mar 2025 02:20:24 +0000
4Subject: [PATCH] bluez5: disable aics tests
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Temporarily disable aics tests as they can fail
10depending on how the tests are executed. Sometimes they pass,
11sometimes they fail. The issue has been observed since BlueZ 5.72 to 5.80
12
13Starting with BlueZ 5.80, the tests began failing when using the
14ptest-runner script. This is not a new issue in BlueZ 5.80 which is
15why the test is disabled with this commit until a solution is found.
16
17See discussion on Github:
18https://github.com/bluez/bluez/issues/726
19https://github.com/bluez/bluez/issues/683
20
21Upstream-Status: Inappropriate [OE-Specific]
22
23Signed-off-by: Guðni Már Gilbert <gudni.m.g@gmail.com>
24---
25 unit/test-vcp.c | 2 +-
26 1 file changed, 1 insertion(+), 1 deletion(-)
27
28diff --git a/unit/test-vcp.c b/unit/test-vcp.c
29index 6a61ea2..04b92e4 100644
30--- a/unit/test-vcp.c
31+++ b/unit/test-vcp.c
32@@ -2754,7 +2754,7 @@ int main(int argc, char *argv[])
33 tester_init(&argc, &argv);
34
35 test_vocs_unit_testcases();
36- test_aics_unit_testcases();
37+ //test_aics_unit_testcases();
38
39 return tester_run();
40 }
diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-test-gatt-Fix-hung-issue.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-test-gatt-Fix-hung-issue.patch
deleted file mode 100644
index b1e93dbe19..0000000000
--- a/meta/recipes-connectivity/bluez5/bluez5/0001-test-gatt-Fix-hung-issue.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1From fb583a57f9f4ab956a09e9bb96d89aa13553bf21 Mon Sep 17 00:00:00 2001
2From: Mingli Yu <Mingli.Yu@windriver.com>
3Date: Fri, 24 Aug 2018 12:04:03 +0800
4Subject: [PATCH] test-gatt: Fix hung issue
5
6The below test hangs infinitely
7$ unit/test-gatt -p /robustness/unkown-request -d
8/robustness/unkown-request - init
9/robustness/unkown-request - setup
10/robustness/unkown-request - setup complete
11/robustness/unkown-request - run
12 GATT: < 02 17 00 ...
13 bt_gatt_server:MTU exchange complete, with MTU: 23
14 GATT: > 03 00 02 ...
15 PDU: = 03 00 02 ...
16 GATT: < bf 00
17
18Actually, the /robustness/unkown-request test does
19no action.
20
21Upstream-Status: Submitted [https://marc.info/?l=linux-bluetooth&m=153508881804635&w=2]
22
23Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
24
25---
26 unit/test-gatt.c | 2 +-
27 1 file changed, 1 insertion(+), 1 deletion(-)
28
29diff --git a/unit/test-gatt.c b/unit/test-gatt.c
30index 5e06d4e..4864d36 100644
31--- a/unit/test-gatt.c
32+++ b/unit/test-gatt.c
33@@ -4546,7 +4546,7 @@ int main(int argc, char *argv[])
34 test_server, service_db_1, NULL,
35 raw_pdu(0x03, 0x00, 0x02),
36 raw_pdu(0xbf, 0x00),
37- raw_pdu(0x01, 0xbf, 0x00, 0x00, 0x06));
38+ raw_pdu());
39
40 define_test_server("/robustness/unkown-command",
41 test_server, service_db_1, NULL,
diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-tests-add-a-target-for-building-tests-without-runnin.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-tests-add-a-target-for-building-tests-without-runnin.patch
index 881494a354..a9af56f141 100644
--- a/meta/recipes-connectivity/bluez5/bluez5/0001-tests-add-a-target-for-building-tests-without-runnin.patch
+++ b/meta/recipes-connectivity/bluez5/bluez5/0001-tests-add-a-target-for-building-tests-without-runnin.patch
@@ -1,20 +1,19 @@
1From 738e73b386352fd90f1f26cc1ee75427cf4dc23b Mon Sep 17 00:00:00 2001 1From fa5da30786837b437707cea921056e9c1c22ffba Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com> 2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Fri, 1 Apr 2016 17:07:34 +0300 3Date: Fri, 1 Apr 2016 17:07:34 +0300
4Subject: [PATCH] tests: add a target for building tests without running them 4Subject: [PATCH] tests: add a target for building tests without running them
5 5
6Upstream-Status: Inappropriate [oe specific] 6Upstream-Status: Inappropriate [oe specific]
7Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 7Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
8
9--- 8---
10 Makefile.am | 3 +++ 9 Makefile.am | 3 +++
11 1 file changed, 3 insertions(+) 10 1 file changed, 3 insertions(+)
12 11
13diff --git a/Makefile.am b/Makefile.am 12diff --git a/Makefile.am b/Makefile.am
14index e738eb3..dab17dd 100644 13index 02ad23c..169269d 100644
15--- a/Makefile.am 14--- a/Makefile.am
16+++ b/Makefile.am 15+++ b/Makefile.am
17@@ -710,6 +710,9 @@ endif 16@@ -722,6 +722,9 @@ endif
18 TESTS = $(unit_tests) 17 TESTS = $(unit_tests)
19 AM_TESTS_ENVIRONMENT = MALLOC_CHECK_=3 MALLOC_PERTURB_=69 18 AM_TESTS_ENVIRONMENT = MALLOC_CHECK_=3 MALLOC_PERTURB_=69
20 19
diff --git a/meta/recipes-connectivity/bluez5/bluez5/0004-src-shared-util.c-include-linux-limits.h.patch b/meta/recipes-connectivity/bluez5/bluez5/0004-src-shared-util.c-include-linux-limits.h.patch
deleted file mode 100644
index 516d859069..0000000000
--- a/meta/recipes-connectivity/bluez5/bluez5/0004-src-shared-util.c-include-linux-limits.h.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1From b53df61b41088b68c127ac76cc71683ac3453b9d Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Mon, 12 Dec 2022 13:10:19 +0100
4Subject: [PATCH] src/shared/util.c: include linux/limits.h
5
6MAX_INPUT is defined in that file. This matters on non-glibc
7systems such as those using musl.
8
9Upstream-Status: Submitted [to linux-bluetooth@vger.kernel.org,luiz.von.dentz@intel.com,frederic.danis@collabora.com]
10Signed-off-by: Alexander Kanavin <alex@linutronix.de>
11
12---
13 src/shared/util.c | 1 +
14 1 file changed, 1 insertion(+)
15
16diff --git a/src/shared/util.c b/src/shared/util.c
17index c0c2c4a..036dc0d 100644
18--- a/src/shared/util.c
19+++ b/src/shared/util.c
20@@ -23,6 +23,7 @@
21 #include <unistd.h>
22 #include <dirent.h>
23 #include <limits.h>
24+#include <linux/limits.h>
25 #include <string.h>
26
27 #ifdef HAVE_SYS_RANDOM_H
diff --git a/meta/recipes-connectivity/bluez5/bluez5_5.72.bb b/meta/recipes-connectivity/bluez5/bluez5_5.83.bb
index 9fda960ea7..8af6bdb67e 100644
--- a/meta/recipes-connectivity/bluez5/bluez5_5.72.bb
+++ b/meta/recipes-connectivity/bluez5/bluez5_5.83.bb
@@ -1,6 +1,6 @@
1require bluez5.inc 1require bluez5.inc
2 2
3SRC_URI[sha256sum] = "499d7fa345a996c1bb650f5c6749e1d929111fa6ece0be0e98687fee6124536e" 3SRC_URI[sha256sum] = "108522d909d220581399bfec93daab62035539ceef3dda3e79970785c63bd24c"
4 4
5CVE_STATUS[CVE-2020-24490] = "cpe-incorrect: This issue has kernel fixes rather than bluez fixes" 5CVE_STATUS[CVE-2020-24490] = "cpe-incorrect: This issue has kernel fixes rather than bluez fixes"
6 6
@@ -32,6 +32,9 @@ NOINST_TOOLS_TESTING ?= " \
32 tools/rfcomm-tester \ 32 tools/rfcomm-tester \
33 tools/bnep-tester \ 33 tools/bnep-tester \
34 tools/userchan-tester \ 34 tools/userchan-tester \
35 tools/iso-tester \
36 tools/mesh-tester \
37 tools/ioctl-tester \
35" 38"
36 39
37# noinst programs in Makefile.tools that are conditional on TOOLS 40# noinst programs in Makefile.tools that are conditional on TOOLS
@@ -41,11 +44,11 @@ NOINST_TOOLS_BT ?= " \
41 tools/avinfo \ 44 tools/avinfo \
42 tools/avtest \ 45 tools/avtest \
43 tools/scotest \ 46 tools/scotest \
44 tools/amptest \
45 tools/hwdb \ 47 tools/hwdb \
46 tools/hcieventmask \ 48 tools/hcieventmask \
47 tools/hcisecfilter \ 49 tools/hcisecfilter \
48 tools/btinfo \ 50 tools/btinfo \
51 tools/btconfig \
49 tools/btsnoop \ 52 tools/btsnoop \
50 tools/btproxy \ 53 tools/btproxy \
51 tools/btiotest \ 54 tools/btiotest \
@@ -56,6 +59,8 @@ NOINST_TOOLS_BT ?= " \
56 tools/advtest \ 59 tools/advtest \
57 tools/seq2bseq \ 60 tools/seq2bseq \
58 tools/nokfw \ 61 tools/nokfw \
62 tools/rtlfw \
63 tools/bcmfw \
59 tools/create-image \ 64 tools/create-image \
60 tools/eddystone \ 65 tools/eddystone \
61 tools/ibeacon \ 66 tools/ibeacon \
@@ -65,5 +70,5 @@ NOINST_TOOLS_BT ?= " \
65 tools/check-selftest \ 70 tools/check-selftest \
66 tools/gatt-service \ 71 tools/gatt-service \
67 profiles/iap/iapd \ 72 profiles/iap/iapd \
68 ${@bb.utils.contains('PACKAGECONFIG', 'btpclient', 'tools/btpclient', '', d)} \ 73 ${@bb.utils.contains('PACKAGECONFIG', 'btpclient', 'tools/btpclient tools/btpclientctl', '', d)} \
69" 74"
diff --git a/meta/recipes-connectivity/connman/connman-conf.bb b/meta/recipes-connectivity/connman/connman-conf.bb
index a1a0e08faa..854e1f1f29 100644
--- a/meta/recipes-connectivity/connman/connman-conf.bb
+++ b/meta/recipes-connectivity/connman/connman-conf.bb
@@ -4,11 +4,10 @@ network interface inside qemu machines."
4LICENSE = "GPL-2.0-only" 4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" 5LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
6 6
7
8SRC_URI = "file://main.conf \ 7SRC_URI = "file://main.conf \
9 " 8 "
10 9
11S = "${WORKDIR}" 10S = "${UNPACKDIR}"
12 11
13PACKAGE_ARCH = "${MACHINE_ARCH}" 12PACKAGE_ARCH = "${MACHINE_ARCH}"
14 13
diff --git a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb
index fcd154b4b0..8bfc1540b3 100644
--- a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb
+++ b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb
@@ -18,13 +18,15 @@ SRC_URI = "git://github.com/connectivity/connman-gnome.git;branch=master;protoco
18 file://0001-Port-to-Gtk3.patch \ 18 file://0001-Port-to-Gtk3.patch \
19 " 19 "
20 20
21S = "${WORKDIR}/git"
22
23inherit autotools-brokensep gtk-icon-cache pkgconfig features_check 21inherit autotools-brokensep gtk-icon-cache pkgconfig features_check
24ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" 22ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
25 23
26RDEPENDS:${PN} = "connman" 24RDEPENDS:${PN} = "connman"
27 25
28do_install:append() { 26do_install:append() {
29 install -m 0644 ${WORKDIR}/images/* ${D}/usr/share/icons/hicolor/22x22/apps/ 27 install -m 0644 ${UNPACKDIR}/images/* ${D}/usr/share/icons/hicolor/22x22/apps/
30} 28}
29
30# http://errors.yoctoproject.org/Errors/Details/766926/
31# connman-client.c:200:15: error: assignment to 'GtkTreeModel *' {aka 'struct _GtkTreeModel *'} from incompatible pointer type 'GtkTreeStore *' {aka 'struct _GtkTreeStore *'} [-Wincompatible-pointer-types]
32CFLAGS += "-Wno-error=incompatible-pointer-types"
diff --git a/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-resolved-when-we-use-co.patch b/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-resolved-when-we-use-co.patch
deleted file mode 100644
index 8e2e0bd02d..0000000000
--- a/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-resolved-when-we-use-co.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1From 9f70b94ebf18f52c115634642652830fa77f27a1 Mon Sep 17 00:00:00 2001
2From: "Maxin B. John" <maxin.john@intel.com>
3Date: Mon, 12 Jun 2017 16:52:39 +0300
4Subject: [PATCH] connman.service: stop systemd-resolved when we use connman
5
6Stop systemd-resolved service when we use connman as network manager.
7
8Upstream-Status: Inappropriate [configuration]
9
10Signed-off-by: Maxin B. John <maxin.john@intel.com>
11---
12 src/connman.service.in | 1 +
13 1 file changed, 1 insertion(+)
14
15diff --git a/src/connman.service.in b/src/connman.service.in
16index 9f5c10f..dab48bc 100644
17--- a/src/connman.service.in
18+++ b/src/connman.service.in
19@@ -6,6 +6,7 @@ RequiresMountsFor=@localstatedir@/lib/connman
20 After=dbus.service network-pre.target systemd-sysusers.service
21 Before=network.target multi-user.target shutdown.target
22 Wants=network.target
23+Conflicts=systemd-resolved.service
24
25 [Service]
26 Type=dbus
27--
282.4.0
29
diff --git a/meta/recipes-connectivity/connman/connman/0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch b/meta/recipes-connectivity/connman/connman/0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch
deleted file mode 100644
index e6f03e632e..0000000000
--- a/meta/recipes-connectivity/connman/connman/0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch
+++ /dev/null
@@ -1,35 +0,0 @@
1From 4ddaf78dad5a9ee4a0658235f71b75132192123e Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 7 Apr 2012 18:52:12 -0700
4Subject: [PATCH] plugin.h: Change visibility to default for debug symbols
5
6gold refuses to link in undefined weak symbols which
7have hidden visibility
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10
11
12Upstream-Status: Pending
13---
14 include/plugin.h | 4 ++--
15 1 files changed, 2 insertions(+), 2 deletions(-)
16
17diff --git a/include/plugin.h b/include/plugin.h
18index 692a4e5..a9361c3 100644
19--- a/include/plugin.h
20+++ b/include/plugin.h
21@@ -89,9 +89,9 @@ struct connman_plugin_desc {
22 #else
23 #define CONNMAN_PLUGIN_DEFINE(name, description, version, priority, init, exit) \
24 extern struct connman_debug_desc __start___debug[] \
25- __attribute__ ((weak, visibility("hidden"))); \
26+ __attribute__ ((weak, visibility("default"))); \
27 extern struct connman_debug_desc __stop___debug[] \
28- __attribute__ ((weak, visibility("hidden"))); \
29+ __attribute__ ((weak, visibility("default"))); \
30 extern struct connman_plugin_desc connman_plugin_desc \
31 __attribute__ ((visibility("default"))); \
32 struct connman_plugin_desc connman_plugin_desc = { \
33--
341.7.5.4
35
diff --git a/meta/recipes-connectivity/connman/connman/0001-src-log.c-Include-libgen.h-for-basename-API.patch b/meta/recipes-connectivity/connman/connman/0001-src-log.c-Include-libgen.h-for-basename-API.patch
deleted file mode 100644
index 8012606db7..0000000000
--- a/meta/recipes-connectivity/connman/connman/0001-src-log.c-Include-libgen.h-for-basename-API.patch
+++ /dev/null
@@ -1,55 +0,0 @@
1From cbba6638986c2de763981bf6fc59df6a86fed44f Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 1 Jan 2024 17:42:21 -0800
4Subject: [PATCH v2] src/log.c: Include libgen.h for basename API
5
6Use POSIX version of basename. This comes to front with latest musl
7which dropped the declaration from string.h [1] it fails to build with
8clang-17+ because it treats implicit function declaration as error.
9
10Fix it by applying the basename on a copy of string since posix version
11may modify the input string.
12
13[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
14
15Upstream-Status: Submitted [https://lore.kernel.org/connman/20240102015917.3732089-1-raj.khem@gmail.com/T/#u]
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17---
18
19 src/log.c | 6 ++++--
20 1 file changed, 4 insertions(+), 2 deletions(-)
21
22diff --git a/src/log.c b/src/log.c
23index 554b046..2df3af7 100644
24--- a/src/log.c
25+++ b/src/log.c
26@@ -24,6 +24,7 @@
27 #endif
28
29 #include <stdio.h>
30+#include <libgen.h>
31 #include <unistd.h>
32 #include <stdarg.h>
33 #include <stdlib.h>
34@@ -196,6 +197,7 @@ int __connman_log_init(const char *program, const char *debug,
35 const char *program_name, const char *program_version)
36 {
37 static char path[PATH_MAX];
38+ char* tmp = strdup(program);
39 int option = LOG_NDELAY | LOG_PID;
40
41 program_exec = program;
42@@ -212,8 +214,8 @@ int __connman_log_init(const char *program, const char *debug,
43 if (backtrace)
44 signal_setup(signal_handler);
45
46- openlog(basename(program), option, LOG_DAEMON);
47-
48+ openlog(basename(tmp), option, LOG_DAEMON);
49+ free(tmp);
50 syslog(LOG_INFO, "%s version %s", program_name, program_version);
51
52 return 0;
53--
542.43.0
55
diff --git a/meta/recipes-connectivity/connman/connman/0001-vpn-Adding-support-for-latest-pppd-2.5.0-release.patch b/meta/recipes-connectivity/connman/connman/0001-vpn-Adding-support-for-latest-pppd-2.5.0-release.patch
deleted file mode 100644
index 9e5ac8da15..0000000000
--- a/meta/recipes-connectivity/connman/connman/0001-vpn-Adding-support-for-latest-pppd-2.5.0-release.patch
+++ /dev/null
@@ -1,152 +0,0 @@
1From af55a6a414d32c12f9ef3cab778385a361e1ad6d Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Eivind=20N=C3=A6ss?= <eivnaes@yahoo.com>
3Date: Sat, 25 Mar 2023 20:51:52 +0000
4Subject: [PATCH] vpn: Adding support for latest pppd 2.5.0 release
5
6The API has gone through a significant overhaul, and this change fixes any compile issues.
71) Fixes to configure.ac itself
82) Cleanup in pppd plugin itself
9
10Adding a libppp-compat.h file to mask for any differences in the version.
11
12Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=a48864a2e5d2a725dfc6eef567108bc13b43857f]
13Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
14
15---
16 scripts/libppp-compat.h | 127 ++++++++++++++++++++++++++++++++++++++++
17 1 file changed, 127 insertions(+)
18 create mode 100644 scripts/libppp-compat.h
19
20diff --git a/scripts/libppp-compat.h b/scripts/libppp-compat.h
21new file mode 100644
22index 0000000..eee1d09
23--- /dev/null
24+++ b/scripts/libppp-compat.h
25@@ -0,0 +1,127 @@
26+/* Copyright (C) Eivind Naess, eivnaes@yahoo.com */
27+/* SPDX-License-Identifier: GPL-2.0-or-later */
28+
29+#ifndef __LIBPPP_COMPAT_H__
30+#define __LIBPPP_COMPAT_H__
31+
32+/* Define USE_EAPTLS compile with EAP TLS support against older pppd headers,
33+ * pppd >= 2.5.0 use PPP_WITH_EAPTLS and is defined in pppdconf.h */
34+#define USE_EAPTLS 1
35+
36+/* Define INET6 to compile with IPv6 support against older pppd headers,
37+ * pppd >= 2.5.0 use PPP_WITH_IPV6CP and is defined in pppdconf.h */
38+#define INET6 1
39+
40+/* PPP < 2.5.0 defines and exports VERSION which overlaps with current package VERSION define.
41+ * this silly macro magic is to work around that. */
42+#undef VERSION
43+#include <pppd/pppd.h>
44+
45+#ifndef PPPD_VERSION
46+#define PPPD_VERSION VERSION
47+#endif
48+
49+#include <pppd/fsm.h>
50+#include <pppd/ccp.h>
51+#include <pppd/eui64.h>
52+#include <pppd/ipcp.h>
53+#include <pppd/ipv6cp.h>
54+#include <pppd/eap.h>
55+#include <pppd/upap.h>
56+
57+#ifdef HAVE_PPPD_CHAP_H
58+#include <pppd/chap.h>
59+#endif
60+
61+#ifdef HAVE_PPPD_CHAP_NEW_H
62+#include <pppd/chap-new.h>
63+#endif
64+
65+#ifdef HAVE_PPPD_CHAP_MS_H
66+#include <pppd/chap_ms.h>
67+#endif
68+
69+#ifndef PPP_PROTO_CHAP
70+#define PPP_PROTO_CHAP 0xc223
71+#endif
72+
73+#ifndef PPP_PROTO_EAP
74+#define PPP_PROTO_EAP 0xc227
75+#endif
76+
77+
78+#if WITH_PPP_VERSION < PPP_VERSION(2,5,0)
79+
80+static inline bool
81+debug_on (void)
82+{
83+ return debug;
84+}
85+
86+static inline const char
87+*ppp_ipparam (void)
88+{
89+ return ipparam;
90+}
91+
92+static inline int
93+ppp_ifunit (void)
94+{
95+ return ifunit;
96+}
97+
98+static inline const char *
99+ppp_ifname (void)
100+{
101+ return ifname;
102+}
103+
104+static inline int
105+ppp_get_mtu (int idx)
106+{
107+ return netif_get_mtu(idx);
108+}
109+
110+typedef enum ppp_notify
111+{
112+ NF_PID_CHANGE,
113+ NF_PHASE_CHANGE,
114+ NF_EXIT,
115+ NF_SIGNALED,
116+ NF_IP_UP,
117+ NF_IP_DOWN,
118+ NF_IPV6_UP,
119+ NF_IPV6_DOWN,
120+ NF_AUTH_UP,
121+ NF_LINK_DOWN,
122+ NF_FORK,
123+ NF_MAX_NOTIFY
124+} ppp_notify_t;
125+
126+typedef void (ppp_notify_fn) (void *ctx, int arg);
127+
128+static inline void
129+ppp_add_notify (ppp_notify_t type, ppp_notify_fn *func, void *ctx)
130+{
131+ struct notifier **list[NF_MAX_NOTIFY] = {
132+ [NF_PID_CHANGE ] = &pidchange,
133+ [NF_PHASE_CHANGE] = &phasechange,
134+ [NF_EXIT ] = &exitnotify,
135+ [NF_SIGNALED ] = &sigreceived,
136+ [NF_IP_UP ] = &ip_up_notifier,
137+ [NF_IP_DOWN ] = &ip_down_notifier,
138+ [NF_IPV6_UP ] = &ipv6_up_notifier,
139+ [NF_IPV6_DOWN ] = &ipv6_down_notifier,
140+ [NF_AUTH_UP ] = &auth_up_notifier,
141+ [NF_LINK_DOWN ] = &link_down_notifier,
142+ [NF_FORK ] = &fork_notifier,
143+ };
144+
145+ struct notifier **notify = list[type];
146+ if (notify) {
147+ add_notifier(notify, func, ctx);
148+ }
149+}
150+
151+#endif /* #if WITH_PPP_VERSION < PPP_VERSION(2,5,0) */
152+#endif /* #if__LIBPPP_COMPAT_H__ */
diff --git a/meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch b/meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch
index aefdd3aa06..2c612039ee 100644
--- a/meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch
+++ b/meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch
@@ -1,75 +1,85 @@
1From 01974865e4d331eeaf25248bee1bb96539c450d9 Mon Sep 17 00:00:00 2001 1From 4e726a5aaa75d60fab6a56bc37dbec48be53ff79 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 6 Apr 2015 23:02:21 -0700 3Date: Mon, 6 Apr 2015 23:02:21 -0700
4Subject: [PATCH] resolve: musl does not implement res_ninit 4Subject: [PATCH] gweb/gresolv.c: make use of res_ninit optional and subject to
5 __RES
5 6
6ported from 7Not all libc implementation have those functions, and the way to determine
8if they do is to check __RES which is explained in resolv.h thusly:
9
10/*
11 * Revision information. This is the release date in YYYYMMDD format.
12 * It can change every day so the right thing to do with it is use it
13 * in preprocessor commands such as "#if (__RES > 19931104)". Do not
14 * compare for equality; rather, use it to determine whether your resolver
15 * is new enough to contain a certain feature.
16 */
17
18Indeed, it needs to be at least 19991006.
19
20The portion of the patch that implements a fallback is ported from
21Alpine Linux:
7http://git.alpinelinux.org/cgit/aports/plain/testing/connman/libresolv.patch 22http://git.alpinelinux.org/cgit/aports/plain/testing/connman/libresolv.patch
8 23
9Upstream-Status: Pending 24Upstream-Status: Submitted [to connman@lists.linux.dev,marcel@holtmann.org]
10 25
11Signed-off-by: Khem Raj <raj.khem@gmail.com> 26Signed-off-by: Khem Raj <raj.khem@gmail.com>
12
13--- 27---
14 gweb/gresolv.c | 34 +++++++++++++--------------------- 28 gweb/gresolv.c | 21 +++++++++++++++++++++
15 1 file changed, 13 insertions(+), 21 deletions(-) 29 1 file changed, 21 insertions(+)
16 30
17diff --git a/gweb/gresolv.c b/gweb/gresolv.c 31diff --git a/gweb/gresolv.c b/gweb/gresolv.c
18index 954e7cf..2a9bc51 100644 32index 8101d71..9f1477c 100644
19--- a/gweb/gresolv.c 33--- a/gweb/gresolv.c
20+++ b/gweb/gresolv.c 34+++ b/gweb/gresolv.c
21@@ -878,8 +879,6 @@ GResolv *g_resolv_new(int index) 35@@ -879,7 +879,9 @@ GResolv *g_resolv_new(int index)
22 resolv->index = index; 36 resolv->index = index;
23 resolv->nameserver_list = NULL; 37 resolv->nameserver_list = NULL;
24 38
25- res_ninit(&resolv->res); 39+#if (__RES >= 19991006)
26- 40 res_ninit(&resolv->res);
41+#endif
42
27 return resolv; 43 return resolv;
28 } 44 }
29 45@@ -920,7 +922,9 @@ void g_resolv_unref(GResolv *resolv)
30@@ -919,8 +918,6 @@ void g_resolv_unref(GResolv *resolv)
31 46
32 flush_nameservers(resolv); 47 flush_nameservers(resolv);
33 48
34- res_nclose(&resolv->res); 49+#if (__RES >= 19991006)
35- 50 res_nclose(&resolv->res);
51+#endif
52
36 g_free(resolv); 53 g_free(resolv);
37 } 54 }
38 55@@ -1024,6 +1028,7 @@ guint g_resolv_lookup_hostname(GResolv *resolv, const char *hostname,
39@@ -1023,24 +1020,19 @@ guint g_resolv_lookup_hostname(GResolv *resolv, const char *hostname,
40 debug(resolv, "hostname %s", hostname); 56 debug(resolv, "hostname %s", hostname);
41 57
42 if (!resolv->nameserver_list) { 58 if (!resolv->nameserver_list) {
43- int i; 59+#if (__RES >= 19991006)
44- 60 int i;
45- for (i = 0; i < resolv->res.nscount; i++) { 61
46- char buf[100]; 62 for (i = 0; i < resolv->res.nscount; i++) {
47- int family = resolv->res.nsaddr_list[i].sin_family; 63@@ -1043,6 +1048,22 @@ guint g_resolv_lookup_hostname(GResolv *resolv, const char *hostname,
48- void *sa_addr = &resolv->res.nsaddr_list[i].sin_addr; 64 if (inet_ntop(family, sa_addr, buf, sizeof(buf)))
49- 65 g_resolv_add_nameserver(resolv, buf, 53, 0);
50- if (family != AF_INET &&
51- resolv->res._u._ext.nsaddrs[i]) {
52- family = AF_INET6;
53- sa_addr = &resolv->res._u._ext.nsaddrs[i]->sin6_addr;
54+ FILE *f = fopen("/etc/resolv.conf", "r");
55+ if (f) {
56+ char line[256], *s;
57+ int i;
58+ while (fgets(line, sizeof(line), f)) {
59+ if (strncmp(line, "nameserver", 10) || !isspace(line[10]))
60+ continue;
61+ for (s = &line[11]; isspace(s[0]); s++);
62+ for (i = 0; s[i] && !isspace(s[i]); i++);
63+ s[i] = 0;
64+ g_resolv_add_nameserver(resolv, s, 53, 0);
65 }
66-
67- if (family != AF_INET && family != AF_INET6)
68- continue;
69-
70- if (inet_ntop(family, sa_addr, buf, sizeof(buf)))
71- g_resolv_add_nameserver(resolv, buf, 53, 0);
72+ fclose(f);
73 } 66 }
67+#else
68+ FILE *f = fopen("/etc/resolv.conf", "r");
69+ if (f) {
70+ char line[256], *s;
71+ int i;
72+ while (fgets(line, sizeof(line), f)) {
73+ if (strncmp(line, "nameserver", 10) || !isspace(line[10]))
74+ continue;
75+ for (s = &line[11]; isspace(s[0]); s++);
76+ for (i = 0; s[i] && !isspace(s[i]); i++);
77+ s[i] = 0;
78+ g_resolv_add_nameserver(resolv, s, 53, 0);
79+ }
80+ fclose(f);
81+ }
82+#endif
74 83
75 if (!resolv->nameserver_list) 84 if (!resolv->nameserver_list)
85 g_resolv_add_nameserver(resolv, "127.0.0.1", 53, 0);
diff --git a/meta/recipes-connectivity/connman/connman/CVE-2025-32366.patch b/meta/recipes-connectivity/connman/connman/CVE-2025-32366.patch
new file mode 100644
index 0000000000..62f07e707a
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman/CVE-2025-32366.patch
@@ -0,0 +1,41 @@
1From 8d3be0285f1d4667bfe85dba555c663eb3d704b4 Mon Sep 17 00:00:00 2001
2From: Yoonje Shin <ioerts@kookmin.ac.kr>
3Date: Mon, 12 May 2025 10:48:18 +0200
4Subject: [PATCH] dnsproxy: Address CVE-2025-32366 vulnerability
5
6In Connman parse_rr in dnsproxy.c has a memcpy length
7that depends on an RR RDLENGTH value (i.e., *rdlen=ntohs(rr->rdlen)
8and memcpy(response+offset,*end,*rdlen)). Here, rdlen may be larger
9than the amount of remaining packet data in the current state of
10parsing. As a result, values of stack memory locations may be sent
11over the network in a response.
12
13This patch adds a check to ensure that (*end + *rdlen) does not exceed
14the valid range. If the condition is violated, the function returns
15-EINVAL.
16
17CVE: CVE-2025-32366
18
19Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=8d3be0285f1d4667bfe85dba555c663eb3d704b4]
20
21Signed-off-by: Praveen Kumar <praveen.kumar@windriver.com>
22---
23 src/dnsproxy.c | 3 +++
24 1 file changed, 3 insertions(+)
25
26diff --git a/src/dnsproxy.c b/src/dnsproxy.c
27index 7ee26d9..1dd2f7f 100644
28--- a/src/dnsproxy.c
29+++ b/src/dnsproxy.c
30@@ -998,6 +998,9 @@ static int parse_rr(const unsigned char *buf, const unsigned char *start,
31 if ((offset + *rdlen) > *response_size)
32 return -ENOBUFS;
33
34+ if ((*end + *rdlen) > max)
35+ return -EINVAL;
36+
37 memcpy(response + offset, *end, *rdlen);
38
39 *end += *rdlen;
40--
412.40.0
diff --git a/meta/recipes-connectivity/connman/connman/CVE-2025-32743.patch b/meta/recipes-connectivity/connman/connman/CVE-2025-32743.patch
new file mode 100644
index 0000000000..c114589679
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman/CVE-2025-32743.patch
@@ -0,0 +1,48 @@
1From d90b911f6760959bdf1393c39fe8d1118315490f Mon Sep 17 00:00:00 2001
2From: Praveen Kumar <praveen.kumar@windriver.com>
3Date: Thu, 24 Apr 2025 11:39:29 +0000
4Subject: [PATCH] dnsproxy: Fix NULL/empty lookup causing potential crash
5
6In ConnMan through 1.44, the lookup string in ns_resolv in dnsproxy.c
7can be NULL or an empty string when the TC (Truncated) bit is set in
8a DNS response. This allows attackers to cause a denial of service
9(application crash) or possibly execute arbitrary code, because those
10lookup values lead to incorrect length calculations and incorrect
11memcpy operations.
12
13This patch includes a check to make sure loookup value is valid before
14using it. This helps avoid unexpected value when the input is empty or
15incorrect.
16
17Fixes: CVE-2025-32743
18
19CVE: CVE-2025-32743
20
21Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=d90b911f6760959bdf1393c39fe8d1118315490f]
22
23Signed-off-by: Praveen Kumar <praveen.kumar@windriver.com>
24---
25 src/dnsproxy.c | 7 ++++++-
26 1 file changed, 6 insertions(+), 1 deletion(-)
27
28diff --git a/src/dnsproxy.c b/src/dnsproxy.c
29index f28a5d7..7ee26d9 100644
30--- a/src/dnsproxy.c
31+++ b/src/dnsproxy.c
32@@ -1685,8 +1685,13 @@ static int ns_resolv(struct server_data *server, struct request_data *req,
33 gpointer request, gpointer name)
34 {
35 int sk = -1;
36+ int err;
37 const char *lookup = (const char *)name;
38- int err = ns_try_resolv_from_cache(req, request, lookup);
39+
40+ if (!lookup || strlen(lookup) == 0)
41+ return -EINVAL;
42+
43+ err = ns_try_resolv_from_cache(req, request, lookup);
44
45 if (err > 0)
46 /* cache hit */
47--
482.40.0
diff --git a/meta/recipes-connectivity/connman/connman/connman b/meta/recipes-connectivity/connman/connman/connman
index a021fd4655..adb5d44fed 100644
--- a/meta/recipes-connectivity/connman/connman/connman
+++ b/meta/recipes-connectivity/connman/connman/connman
@@ -18,7 +18,7 @@ do_start() {
18} 18}
19 19
20do_stop() { 20do_stop() {
21 start-stop-daemon --stop --name connmand --quiet 21 start-stop-daemon --stop --oknodo --name connmand --quiet
22} 22}
23 23
24case "$1" in 24case "$1" in
diff --git a/meta/recipes-connectivity/connman/connman/no-version-scripts.patch b/meta/recipes-connectivity/connman/connman/no-version-scripts.patch
deleted file mode 100644
index e96e38bcf9..0000000000
--- a/meta/recipes-connectivity/connman/connman/no-version-scripts.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1With binutils 2.27 on at least MIPS, connmand will crash on startup. This
2appears to be due to the symbol visibilty scripts hiding symbols that stdio
3looks up at runtime, resulting in it segfaulting.
4
5This certainly appears to be a bug in binutils 2.27 although the problem has
6been known about for some time:
7
8https://sourceware.org/bugzilla/show_bug.cgi?id=17908
9
10As the version scripts are only used to hide symbols from plugins we can safely
11remove the scripts to work around the problem until binutils is fixed.
12
13Upstream-Status: Inappropriate
14Signed-off-by: Ross Burton <ross.burton@intel.com>
15
16diff --git a/Makefile.am b/Makefile.am
17index d70725c..76ae432 100644
18--- a/Makefile.am
19+++ b/Makefile.am
20@@ -132,2 +132 @@ src_connmand_LDADD = gdbus/libgdbus-internal.la $(builtin_libadd) \
21-src_connmand_LDFLAGS = -Wl,--export-dynamic \
22- -Wl,--version-script=$(srcdir)/src/connman.ver
23+src_connmand_LDFLAGS = -Wl,--export-dynamic
24@@ -166,2 +165 @@ vpn_connman_vpnd_LDADD = gdbus/libgdbus-internal.la $(builtin_vpn_libadd) \
25-vpn_connman_vpnd_LDFLAGS = -Wl,--export-dynamic \
26- -Wl,--version-script=$(srcdir)/vpn/vpn.ver
27+vpn_connman_vpnd_LDFLAGS = -Wl,--export-dynamic
diff --git a/meta/recipes-connectivity/connman/connman_1.42.bb b/meta/recipes-connectivity/connman/connman_1.42.bb
deleted file mode 100644
index 91ab9895ac..0000000000
--- a/meta/recipes-connectivity/connman/connman_1.42.bb
+++ /dev/null
@@ -1,17 +0,0 @@
1require connman.inc
2
3SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
4 file://0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch \
5 file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \
6 file://connman \
7 file://no-version-scripts.patch \
8 file://0001-vpn-Adding-support-for-latest-pppd-2.5.0-release.patch \
9 file://0001-src-log.c-Include-libgen.h-for-basename-API.patch \
10 "
11
12SRC_URI:append:libc-musl = " file://0002-resolve-musl-does-not-implement-res_ninit.patch"
13
14SRC_URI[sha256sum] = "a3e6bae46fc081ef2e9dae3caa4f7649de892c3de622c20283ac0ca81423c2aa"
15
16RRECOMMENDS:${PN} = "connman-conf"
17RCONFLICTS:${PN} = "networkmanager"
diff --git a/meta/recipes-connectivity/connman/connman.inc b/meta/recipes-connectivity/connman/connman_1.44.bb
index 7487ca0d0c..1b0fbe438c 100644
--- a/meta/recipes-connectivity/connman/connman.inc
+++ b/meta/recipes-connectivity/connman/connman_1.44.bb
@@ -7,8 +7,7 @@ It is a fully modular system that can be extended, through plug-ins, \
7to support all kinds of wired or wireless technologies. Also, \ 7to support all kinds of wired or wireless technologies. Also, \
8configuration methods, like DHCP and domain name resolving, are \ 8configuration methods, like DHCP and domain name resolving, are \
9implemented using plug-ins." 9implemented using plug-ins."
10HOMEPAGE = "http://connman.net/" 10HOMEPAGE = "https://web.git.kernel.org/pub/scm/network/connman/connman.git/about/"
11BUGTRACKER = "https://01.org/jira/browse/CM"
12LICENSE = "GPL-2.0-only" 11LICENSE = "GPL-2.0-only"
13LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ 12LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
14 file://src/main.c;beginline=1;endline=20;md5=486a279a6ab0c8d152bcda3a5b5edc36" 13 file://src/main.c;beginline=1;endline=20;md5=486a279a6ab0c8d152bcda3a5b5edc36"
@@ -17,17 +16,32 @@ inherit autotools pkgconfig systemd update-rc.d update-alternatives
17 16
18CVE_PRODUCT = "connman connection_manager" 17CVE_PRODUCT = "connman connection_manager"
19 18
20DEPENDS = "dbus glib-2.0 ppp" 19DEPENDS = "dbus glib-2.0"
20
21SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
22 file://connman \
23 file://0002-resolve-musl-does-not-implement-res_ninit.patch \
24 file://CVE-2025-32743.patch \
25 file://CVE-2025-32366.patch \
26 "
27
28SRC_URI[sha256sum] = "2be2b00321632b775f9eff713acd04ef21e31fbf388f6ebf45512ff4289574ff"
29
30RRECOMMENDS:${PN} = "connman-conf"
31RCONFLICTS:${PN} = "networkmanager"
21 32
22EXTRA_OECONF += "\ 33EXTRA_OECONF += "\
23 ac_cv_path_WPASUPPLICANT=${sbindir}/wpa_supplicant \ 34 ac_cv_path_IP6TABLES_SAVE=${sbindir}/ip6tables-save \
35 ac_cv_path_IPTABLES_SAVE=${sbindir}/iptables-save \
24 ac_cv_path_PPPD=${sbindir}/pppd \ 36 ac_cv_path_PPPD=${sbindir}/pppd \
37 ac_cv_path_WPASUPPLICANT=${sbindir}/wpa_supplicant \
25 --enable-debug \ 38 --enable-debug \
26 --enable-loopback \ 39 --enable-loopback \
27 --enable-ethernet \ 40 --enable-ethernet \
28 --enable-tools \ 41 --enable-tools \
29 --disable-polkit \ 42 --disable-polkit \
30 --runstatedir=/run \ 43 --runstatedir='${runtimedir}' \
44 --with-dns-backend='${@bb.utils.contains("DISTRO_FEATURES", "systemd-resolved", "systemd-resolved", "internal", d)}' \
31" 45"
32# For smooth operation it would be best to start only one wireless daemon at a time. 46# For smooth operation it would be best to start only one wireless daemon at a time.
33# If wpa-supplicant is running, connman will use it preferentially. 47# If wpa-supplicant is running, connman will use it preferentially.
@@ -53,12 +67,12 @@ PACKAGECONFIG[iwd] = "--enable-iwd,--disable-iwd,,iwd"
53PACKAGECONFIG[tist] = "--enable-tist,--disable-tist," 67PACKAGECONFIG[tist] = "--enable-tist,--disable-tist,"
54PACKAGECONFIG[openvpn] = "--enable-openvpn --with-openvpn=${sbindir}/openvpn,--disable-openvpn,,openvpn" 68PACKAGECONFIG[openvpn] = "--enable-openvpn --with-openvpn=${sbindir}/openvpn,--disable-openvpn,,openvpn"
55PACKAGECONFIG[vpnc] = "--enable-vpnc --with-vpnc=${sbindir}/vpnc,--disable-vpnc,,vpnc" 69PACKAGECONFIG[vpnc] = "--enable-vpnc --with-vpnc=${sbindir}/vpnc,--disable-vpnc,,vpnc"
56PACKAGECONFIG[l2tp] = "--enable-l2tp --with-l2tp=${sbindir}/xl2tpd,--disable-l2tp,,xl2tpd" 70PACKAGECONFIG[l2tp] = "--enable-l2tp --with-l2tp=${sbindir}/xl2tpd,--disable-l2tp,ppp,xl2tpd"
57PACKAGECONFIG[pptp] = "--enable-pptp --with-pptp=${sbindir}/pptp,--disable-pptp,,pptp-linux" 71PACKAGECONFIG[pptp] = "--enable-pptp --with-pptp=${sbindir}/pptp,--disable-pptp,ppp,pptp-linux"
58# WISPr support for logging into hotspots, requires TLS 72# WISPr support for logging into hotspots, requires TLS
59PACKAGECONFIG[wispr] = "--enable-wispr,--disable-wispr,gnutls," 73PACKAGECONFIG[wispr] = "--enable-wispr,--disable-wispr,gnutls,"
60PACKAGECONFIG[nftables] = "--with-firewall=nftables ,,libmnl libnftnl,,kernel-module-nf-tables kernel-module-nft-chain-nat-ipv4 kernel-module-nft-chain-route-ipv4 kernel-module-nft-masq-ipv4 kernel-module-nft-nat" 74PACKAGECONFIG[nftables] = "--with-firewall=nftables ,,libmnl libnftnl,,kernel-module-nf-tables kernel-module-nft-chain-nat-ipv4 kernel-module-nft-chain-route-ipv4 kernel-module-nft-masq-ipv4 kernel-module-nft-nat,iptables"
61PACKAGECONFIG[iptables] = "--with-firewall=iptables ,,iptables,iptables" 75PACKAGECONFIG[iptables] = "--with-firewall=iptables,,iptables,,,nftables"
62PACKAGECONFIG[nfc] = "--enable-neard, --disable-neard, neard, neard" 76PACKAGECONFIG[nfc] = "--enable-neard, --disable-neard, neard, neard"
63PACKAGECONFIG[client] = "--enable-client,--disable-client,readline" 77PACKAGECONFIG[client] = "--enable-client,--disable-client,readline"
64PACKAGECONFIG[wireguard] = "--enable-wireguard,--disable-wireguard,libmnl" 78PACKAGECONFIG[wireguard] = "--enable-wireguard,--disable-wireguard,libmnl"
@@ -78,7 +92,7 @@ SYSTEMD_SERVICE:${PN} = "connman.service"
78SYSTEMD_SERVICE:${PN}-vpn = "connman-vpn.service" 92SYSTEMD_SERVICE:${PN}-vpn = "connman-vpn.service"
79SYSTEMD_SERVICE:${PN}-wait-online = "connman-wait-online.service" 93SYSTEMD_SERVICE:${PN}-wait-online = "connman-wait-online.service"
80 94
81ALTERNATIVE_PRIORITY = "100" 95ALTERNATIVE_PRIORITY = "${@bb.utils.contains('DISTRO_FEATURES','systemd-resolved','10','100',d)}"
82ALTERNATIVE:${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}" 96ALTERNATIVE:${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}"
83ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.connman','',d)}" 97ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.connman','',d)}"
84ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}" 98ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}"
@@ -86,7 +100,7 @@ ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','sy
86do_install:append() { 100do_install:append() {
87 if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then 101 if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
88 install -d ${D}${sysconfdir}/init.d 102 install -d ${D}${sysconfdir}/init.d
89 install -m 0755 ${WORKDIR}/connman ${D}${sysconfdir}/init.d/connman 103 install -m 0755 ${UNPACKDIR}/connman ${D}${sysconfdir}/init.d/connman
90 sed -i s%@DATADIR@%${datadir}% ${D}${sysconfdir}/init.d/connman 104 sed -i s%@DATADIR@%${datadir}% ${D}${sysconfdir}/init.d/connman
91 fi 105 fi
92 106
@@ -103,10 +117,11 @@ do_install:append() {
103 # plugins directory to be present for ownership 117 # plugins directory to be present for ownership
104 mkdir -p ${D}${libdir}/connman/plugins 118 mkdir -p ${D}${libdir}/connman/plugins
105 119
106 # For read-only filesystem, do not create links during bootup 120 # For read-only filesystem, do not create links during bootup
107 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then 121 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
108 ln -sf ../run/connman/resolv.conf ${D}${sysconfdir}/resolv-conf.connman 122 install -d ${D}${sysconfdir}
109 fi 123 ln -sf ../run/connman/resolv.conf ${D}${sysconfdir}/resolv-conf.connman
124 fi
110} 125}
111 126
112# These used to be plugins, but now they are core 127# These used to be plugins, but now they are core
@@ -118,10 +133,6 @@ RPROVIDES:${PN} = "\
118 ${@bb.utils.contains('PACKAGECONFIG', '3g','connman-plugin-ofono', '', d)} \ 133 ${@bb.utils.contains('PACKAGECONFIG', '3g','connman-plugin-ofono', '', d)} \
119 " 134 "
120 135
121RDEPENDS:${PN} = "\
122 dbus \
123 "
124
125PACKAGES_DYNAMIC += "^${PN}-plugin-.*" 136PACKAGES_DYNAMIC += "^${PN}-plugin-.*"
126 137
127def add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, add_insane_skip): 138def add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, add_insane_skip):
@@ -155,12 +166,13 @@ python populate_packages:prepend() {
155PACKAGES =+ "${PN}-tools ${PN}-tests ${PN}-client" 166PACKAGES =+ "${PN}-tools ${PN}-tests ${PN}-client"
156 167
157FILES:${PN}-tools = "${bindir}/wispr" 168FILES:${PN}-tools = "${bindir}/wispr"
158RDEPENDS:${PN}-tools ="${PN}" 169RDEPENDS:${PN}-tools = "${PN}"
159 170
160FILES:${PN}-tests = "${bindir}/*-test" 171FILES:${PN}-tests = "${bindir}/*-test"
172RDEPENDS:${PN}-tests = "${@bb.utils.contains('PACKAGECONFIG', 'iptables', 'iptables', '', d)}"
161 173
162FILES:${PN}-client = "${bindir}/connmanctl" 174FILES:${PN}-client = "${bindir}/connmanctl"
163RDEPENDS:${PN}-client ="${PN}" 175RDEPENDS:${PN}-client = "${PN}"
164 176
165FILES:${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \ 177FILES:${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \
166 ${libdir}/connman/plugins \ 178 ${libdir}/connman/plugins \
diff --git a/meta/recipes-connectivity/dhcpcd/dhcpcd_10.0.6.bb b/meta/recipes-connectivity/dhcpcd/dhcpcd_10.2.4.bb
index 6bde9b1f51..bfb24aa58c 100644
--- a/meta/recipes-connectivity/dhcpcd/dhcpcd_10.0.6.bb
+++ b/meta/recipes-connectivity/dhcpcd/dhcpcd_10.2.4.bb
@@ -7,7 +7,7 @@ DESCRIPTION = "dhcpcd runs on your machine and silently configures your \
7HOMEPAGE = "http://roy.marples.name/projects/dhcpcd/" 7HOMEPAGE = "http://roy.marples.name/projects/dhcpcd/"
8 8
9LICENSE = "BSD-2-Clause" 9LICENSE = "BSD-2-Clause"
10LIC_FILES_CHKSUM = "file://LICENSE;md5=ba9c7e534853aaf3de76c905b2410ffd" 10LIC_FILES_CHKSUM = "file://LICENSE;md5=4dda5beb433a809f2e0aeffbf9da3d91"
11 11
12SRC_URI = "git://github.com/NetworkConfiguration/dhcpcd;protocol=https;branch=master \ 12SRC_URI = "git://github.com/NetworkConfiguration/dhcpcd;protocol=https;branch=master \
13 file://0001-remove-INCLUDEDIR-to-prevent-build-issues.patch \ 13 file://0001-remove-INCLUDEDIR-to-prevent-build-issues.patch \
@@ -17,9 +17,9 @@ SRC_URI = "git://github.com/NetworkConfiguration/dhcpcd;protocol=https;branch=ma
17 file://0001-dhcpcd.8-Fix-conflict-error-when-enable-multilib.patch \ 17 file://0001-dhcpcd.8-Fix-conflict-error-when-enable-multilib.patch \
18 " 18 "
19 19
20SRCREV = "1c8ae59836fa87b4c63c598087f0460ec20ed862" 20SRCREV = "93df2b254caf9639f9ffb66e0fe2b584eeba6220"
21S = "${WORKDIR}/git"
22 21
22# Doesn't use automake so we can't do out-of-tree builds
23inherit pkgconfig autotools-brokensep systemd useradd 23inherit pkgconfig autotools-brokensep systemd useradd
24 24
25SYSTEMD_SERVICE:${PN} = "dhcpcd.service" 25SYSTEMD_SERVICE:${PN} = "dhcpcd.service"
@@ -49,10 +49,16 @@ EXTRA_OECONF = "--enable-ipv4 \
49USERADD_PACKAGES = "${PN}" 49USERADD_PACKAGES = "${PN}"
50USERADD_PARAM:${PN} = "--system -d ${DBDIR} -M -s /bin/false -U dhcpcd" 50USERADD_PARAM:${PN} = "--system -d ${DBDIR} -M -s /bin/false -U dhcpcd"
51 51
52# This isn't autoconf but is instead a configure script that tries to look like
53# autoconf, so just run it directly.
54do_configure() {
55 oe_runconf
56}
57
52do_install:append () { 58do_install:append () {
53 # install systemd unit files 59 # install systemd unit files
54 install -d ${D}${systemd_system_unitdir} 60 install -d ${D}${systemd_system_unitdir}
55 install -m 0644 ${WORKDIR}/dhcpcd*.service ${D}${systemd_system_unitdir} 61 install -m 0644 ${UNPACKDIR}/dhcpcd*.service ${D}${systemd_system_unitdir}
56 62
57 chmod 700 ${D}${DBDIR} 63 chmod 700 ${D}${DBDIR}
58 chown dhcpcd:dhcpcd ${D}${DBDIR} 64 chown dhcpcd:dhcpcd ${D}${DBDIR}
diff --git a/meta/recipes-connectivity/dhcpcd/files/0001-20-resolv.conf-improve-the-sitation-of-working-with-.patch b/meta/recipes-connectivity/dhcpcd/files/0001-20-resolv.conf-improve-the-sitation-of-working-with-.patch
index 8d1ed6671a..512e33aebf 100644
--- a/meta/recipes-connectivity/dhcpcd/files/0001-20-resolv.conf-improve-the-sitation-of-working-with-.patch
+++ b/meta/recipes-connectivity/dhcpcd/files/0001-20-resolv.conf-improve-the-sitation-of-working-with-.patch
@@ -1,4 +1,4 @@
1From 02acc4d875ee81e6fd19ef66d69c9f55b4b4a7e7 Mon Sep 17 00:00:00 2001 1From d1581ce103db0a5db0b1761907fff9ddd6b55a8a Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com> 2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Wed, 9 Nov 2022 16:33:18 +0800 3Date: Wed, 9 Nov 2022 16:33:18 +0800
4Subject: [PATCH] 20-resolv.conf: improve the sitation of working with systemd 4Subject: [PATCH] 20-resolv.conf: improve the sitation of working with systemd
@@ -27,7 +27,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
27 1 file changed, 13 insertions(+), 4 deletions(-) 27 1 file changed, 13 insertions(+), 4 deletions(-)
28 28
29diff --git a/hooks/20-resolv.conf b/hooks/20-resolv.conf 29diff --git a/hooks/20-resolv.conf b/hooks/20-resolv.conf
30index 7c29e276..becc019f 100644 30index bd0b0df5..9c7721de 100644
31--- a/hooks/20-resolv.conf 31--- a/hooks/20-resolv.conf
32+++ b/hooks/20-resolv.conf 32+++ b/hooks/20-resolv.conf
33@@ -11,8 +11,12 @@ nocarrier_roaming_dir="$state_dir/roaming" 33@@ -11,8 +11,12 @@ nocarrier_roaming_dir="$state_dir/roaming"
@@ -59,7 +59,7 @@ index 7c29e276..becc019f 100644
59 fi 59 fi
60 rm -f "$cf" 60 rm -f "$cf"
61 } 61 }
62@@ -170,7 +179,7 @@ add_resolv_conf() 62@@ -179,7 +188,7 @@ add_resolv_conf()
63 for x in ${new_domain_name_servers}; do 63 for x in ${new_domain_name_servers}; do
64 conf="${conf}nameserver $x$NL" 64 conf="${conf}nameserver $x$NL"
65 done 65 done
@@ -68,7 +68,7 @@ index 7c29e276..becc019f 100644
68 [ -n "$ifmetric" ] && export IF_METRIC="$ifmetric" 68 [ -n "$ifmetric" ] && export IF_METRIC="$ifmetric"
69 printf %s "$conf" | "$resolvconf" -a "$ifname" 69 printf %s "$conf" | "$resolvconf" -a "$ifname"
70 return $? 70 return $?
71@@ -186,7 +195,7 @@ add_resolv_conf() 71@@ -195,7 +204,7 @@ add_resolv_conf()
72 72
73 remove_resolv_conf() 73 remove_resolv_conf()
74 { 74 {
@@ -77,6 +77,3 @@ index 7c29e276..becc019f 100644
77 "$resolvconf" -d "$ifname" -f 77 "$resolvconf" -d "$ifname" -f
78 else 78 else
79 if [ -e "$resolv_conf_dir/$ifname" ]; then 79 if [ -e "$resolv_conf_dir/$ifname" ]; then
80--
812.17.1
82
diff --git a/meta/recipes-connectivity/dhcpcd/files/0001-dhcpcd.8-Fix-conflict-error-when-enable-multilib.patch b/meta/recipes-connectivity/dhcpcd/files/0001-dhcpcd.8-Fix-conflict-error-when-enable-multilib.patch
index 461d04bd1d..484b84f94a 100644
--- a/meta/recipes-connectivity/dhcpcd/files/0001-dhcpcd.8-Fix-conflict-error-when-enable-multilib.patch
+++ b/meta/recipes-connectivity/dhcpcd/files/0001-dhcpcd.8-Fix-conflict-error-when-enable-multilib.patch
@@ -1,4 +1,4 @@
1From 5d5ba8a2b8010db6bee68bd712f829cb737c9ac1 Mon Sep 17 00:00:00 2001 1From e9b1376c59b15e7b03611429187d9d89167154b5 Mon Sep 17 00:00:00 2001
2From: Lei Maohui <leimaohui@fujitsu.com> 2From: Lei Maohui <leimaohui@fujitsu.com>
3Date: Fri, 10 Mar 2023 03:48:46 +0000 3Date: Fri, 10 Mar 2023 03:48:46 +0000
4Subject: [PATCH] dhcpcd.8: Fix conflict error when enable multilib. 4Subject: [PATCH] dhcpcd.8: Fix conflict error when enable multilib.
@@ -24,16 +24,15 @@ versions.
24 24
25Upstream-Status: Inappropriate [oe specific] 25Upstream-Status: Inappropriate [oe specific]
26Signed-off-by: Lei Maohui <leimaohui@fujitsu.com> 26Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
27
28--- 27---
29 src/dhcpcd.8.in | 2 +- 28 src/dhcpcd.8.in | 2 +-
30 1 file changed, 1 insertion(+), 1 deletion(-) 29 1 file changed, 1 insertion(+), 1 deletion(-)
31 30
32diff --git a/src/dhcpcd.8.in b/src/dhcpcd.8.in 31diff --git a/src/dhcpcd.8.in b/src/dhcpcd.8.in
33index 93232840..09930a31 100644 32index 91fdde2c..b467dc3b 100644
34--- a/src/dhcpcd.8.in 33--- a/src/dhcpcd.8.in
35+++ b/src/dhcpcd.8.in 34+++ b/src/dhcpcd.8.in
36@@ -824,7 +824,7 @@ Configuration file for dhcpcd. 35@@ -826,7 +826,7 @@ Configuration file for dhcpcd.
37 If you always use the same options, put them here. 36 If you always use the same options, put them here.
38 .It Pa @SCRIPT@ 37 .It Pa @SCRIPT@
39 Bourne shell script that is run to configure or de-configure an interface. 38 Bourne shell script that is run to configure or de-configure an interface.
diff --git a/meta/recipes-connectivity/dhcpcd/files/0001-remove-INCLUDEDIR-to-prevent-build-issues.patch b/meta/recipes-connectivity/dhcpcd/files/0001-remove-INCLUDEDIR-to-prevent-build-issues.patch
index c54942be4b..fd3fae7e7e 100644
--- a/meta/recipes-connectivity/dhcpcd/files/0001-remove-INCLUDEDIR-to-prevent-build-issues.patch
+++ b/meta/recipes-connectivity/dhcpcd/files/0001-remove-INCLUDEDIR-to-prevent-build-issues.patch
@@ -1,4 +1,4 @@
1From ec9fc4e6086e1dbe0ac2f94a8a088a571596a581 Mon Sep 17 00:00:00 2001 1From c2ebc32112e0cd29390b4dc951b65efae36d607b Mon Sep 17 00:00:00 2001
2From: Stefano Cappa <stefano.cappa.ks89@gmail.com> 2From: Stefano Cappa <stefano.cappa.ks89@gmail.com>
3Date: Sun, 13 Jan 2019 01:50:52 +0100 3Date: Sun, 13 Jan 2019 01:50:52 +0100
4Subject: [PATCH] remove INCLUDEDIR to prevent build issues 4Subject: [PATCH] remove INCLUDEDIR to prevent build issues
@@ -6,13 +6,12 @@ Subject: [PATCH] remove INCLUDEDIR to prevent build issues
6Upstream-Status: Pending 6Upstream-Status: Pending
7 7
8Signed-off-by: Stefano Cappa <stefano.cappa.ks89@gmail.com> 8Signed-off-by: Stefano Cappa <stefano.cappa.ks89@gmail.com>
9
10--- 9---
11 configure | 5 ----- 10 configure | 5 -----
12 1 file changed, 5 deletions(-) 11 1 file changed, 5 deletions(-)
13 12
14diff --git a/configure b/configure 13diff --git a/configure b/configure
15index 5237b0e2..7220718b 100755 14index a60da137..3673de8b 100755
16--- a/configure 15--- a/configure
17+++ b/configure 16+++ b/configure
18@@ -26,7 +26,6 @@ BUILD= 17@@ -26,7 +26,6 @@ BUILD=
@@ -23,7 +22,7 @@ index 5237b0e2..7220718b 100755
23 DEBUG= 22 DEBUG=
24 FORK= 23 FORK=
25 STATIC= 24 STATIC=
26@@ -86,7 +85,6 @@ for x do 25@@ -89,7 +88,6 @@ for x do
27 --mandir) MANDIR=$var;; 26 --mandir) MANDIR=$var;;
28 --datadir) DATADIR=$var;; 27 --datadir) DATADIR=$var;;
29 --with-ccopts|CFLAGS) CFLAGS=$var;; 28 --with-ccopts|CFLAGS) CFLAGS=$var;;
@@ -31,7 +30,7 @@ index 5237b0e2..7220718b 100755
31 CC) CC=$var;; 30 CC) CC=$var;;
32 CPPFLAGS) CPPFLAGS=$var;; 31 CPPFLAGS) CPPFLAGS=$var;;
33 PKG_CONFIG) PKG_CONFIG=$var;; 32 PKG_CONFIG) PKG_CONFIG=$var;;
34@@ -343,9 +341,6 @@ if [ -n "$CPPFLAGS" ]; then 33@@ -346,9 +344,6 @@ if [ -n "$CPPFLAGS" ]; then
35 echo "CPPFLAGS=" >>$CONFIG_MK 34 echo "CPPFLAGS=" >>$CONFIG_MK
36 echo "CPPFLAGS+= $CPPFLAGS" >>$CONFIG_MK 35 echo "CPPFLAGS+= $CPPFLAGS" >>$CONFIG_MK
37 fi 36 fi
diff --git a/meta/recipes-connectivity/inetutils/inetutils_2.5.bb b/meta/recipes-connectivity/inetutils/inetutils_2.6.bb
index 0f1a0736bd..6e03195f2d 100644
--- a/meta/recipes-connectivity/inetutils/inetutils_2.5.bb
+++ b/meta/recipes-connectivity/inetutils/inetutils_2.6.bb
@@ -11,7 +11,7 @@ LICENSE = "GPL-3.0-only"
11 11
12LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7" 12LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7"
13 13
14SRC_URI[sha256sum] = "87697d60a31e10b5cb86a9f0651e1ec7bee98320d048c0739431aac3d5764fb6" 14SRC_URI[sha256sum] = "68bedbfeaf73f7d86be2a7d99bcfbd4093d829f52770893919ae174c0b2357ca"
15SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.xz \ 15SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.xz \
16 file://rexec.xinetd.inetutils \ 16 file://rexec.xinetd.inetutils \
17 file://rlogin.xinetd.inetutils \ 17 file://rlogin.xinetd.inetutils \
@@ -22,8 +22,6 @@ SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.xz \
22 22
23inherit autotools gettext update-alternatives texinfo 23inherit autotools gettext update-alternatives texinfo
24 24
25acpaths = "-I ./m4"
26
27PACKAGECONFIG ??= "ftp uucpd \ 25PACKAGECONFIG ??= "ftp uucpd \
28 ${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \ 26 ${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
29 ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6 ping6', '', d)} \ 27 ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6 ping6', '', d)} \
@@ -80,23 +78,23 @@ do_install:append () {
80 mv ${D}${libexecdir}/telnetd ${D}${sbindir}/in.telnetd 78 mv ${D}${libexecdir}/telnetd ${D}${sbindir}/in.telnetd
81 if [ -e ${D}${libexecdir}/rexecd ]; then 79 if [ -e ${D}${libexecdir}/rexecd ]; then
82 mv ${D}${libexecdir}/rexecd ${D}${sbindir}/in.rexecd 80 mv ${D}${libexecdir}/rexecd ${D}${sbindir}/in.rexecd
83 cp ${WORKDIR}/rexec.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rexec 81 cp ${UNPACKDIR}/rexec.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rexec
84 fi 82 fi
85 if [ -e ${D}${libexecdir}/rlogind ]; then 83 if [ -e ${D}${libexecdir}/rlogind ]; then
86 mv ${D}${libexecdir}/rlogind ${D}${sbindir}/in.rlogind 84 mv ${D}${libexecdir}/rlogind ${D}${sbindir}/in.rlogind
87 cp ${WORKDIR}/rlogin.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rlogin 85 cp ${UNPACKDIR}/rlogin.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rlogin
88 fi 86 fi
89 if [ -e ${D}${libexecdir}/rshd ]; then 87 if [ -e ${D}${libexecdir}/rshd ]; then
90 mv ${D}${libexecdir}/rshd ${D}${sbindir}/in.rshd 88 mv ${D}${libexecdir}/rshd ${D}${sbindir}/in.rshd
91 cp ${WORKDIR}/rsh.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rsh 89 cp ${UNPACKDIR}/rsh.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rsh
92 fi 90 fi
93 if [ -e ${D}${libexecdir}/talkd ]; then 91 if [ -e ${D}${libexecdir}/talkd ]; then
94 mv ${D}${libexecdir}/talkd ${D}${sbindir}/in.talkd 92 mv ${D}${libexecdir}/talkd ${D}${sbindir}/in.talkd
95 fi 93 fi
96 mv ${D}${libexecdir}/uucpd ${D}${sbindir}/in.uucpd 94 mv ${D}${libexecdir}/uucpd ${D}${sbindir}/in.uucpd
97 mv ${D}${libexecdir}/* ${D}${bindir}/ 95 mv ${D}${libexecdir}/* ${D}${bindir}/
98 cp ${WORKDIR}/telnet.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/telnet 96 cp ${UNPACKDIR}/telnet.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/telnet
99 cp ${WORKDIR}/tftpd.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/tftpd 97 cp ${UNPACKDIR}/tftpd.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/tftpd
100 98
101 sed -e 's,@SBINDIR@,${sbindir},g' -i ${D}/${sysconfdir}/xinetd.d/* 99 sed -e 's,@SBINDIR@,${sbindir},g' -i ${D}/${sysconfdir}/xinetd.d/*
102 if [ -e ${D}${libdir}/charset.alias ]; then 100 if [ -e ${D}${libdir}/charset.alias ]; then
@@ -141,11 +139,12 @@ ALTERNATIVE:${PN}-telnetd = "telnetd"
141ALTERNATIVE_LINK_NAME[telnetd] = "${sbindir}/telnetd" 139ALTERNATIVE_LINK_NAME[telnetd] = "${sbindir}/telnetd"
142ALTERNATIVE_TARGET[telnetd] = "${sbindir}/in.telnetd" 140ALTERNATIVE_TARGET[telnetd] = "${sbindir}/in.telnetd"
143 141
144ALTERNATIVE:${PN}-inetd= "inetd" 142ALTERNATIVE:${PN}-inetd = "inetd"
145ALTERNATIVE:${PN}-traceroute = "traceroute" 143ALTERNATIVE:${PN}-traceroute = "traceroute"
146 144
147ALTERNATIVE:${PN}-hostname = "hostname" 145ALTERNATIVE:${PN}-hostname = "hostname"
148ALTERNATIVE_LINK_NAME[hostname] = "${base_bindir}/hostname" 146ALTERNATIVE_LINK_NAME[hostname] = "${base_bindir}/hostname"
147ALTERNATIVE_PRIORITY[hostname] = "100"
149 148
150ALTERNATIVE:${PN}-doc = "hostname.1 dnsdomainname.1 logger.1 syslogd.8 \ 149ALTERNATIVE:${PN}-doc = "hostname.1 dnsdomainname.1 logger.1 syslogd.8 \
151 tftpd.8 tftp.1 telnetd.8" 150 tftpd.8 tftp.1 telnetd.8"
@@ -166,7 +165,6 @@ ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping"
166ALTERNATIVE:${PN}-ping6 = "${@bb.utils.filter('PACKAGECONFIG', 'ping6', d)}" 165ALTERNATIVE:${PN}-ping6 = "${@bb.utils.filter('PACKAGECONFIG', 'ping6', d)}"
167ALTERNATIVE_LINK_NAME[ping6] = "${base_bindir}/ping6" 166ALTERNATIVE_LINK_NAME[ping6] = "${base_bindir}/ping6"
168 167
169
170FILES:${PN}-dbg += "${base_bindir}/.debug ${base_sbindir}/.debug ${bindir}/.debug ${sbindir}/.debug" 168FILES:${PN}-dbg += "${base_bindir}/.debug ${base_sbindir}/.debug ${bindir}/.debug ${sbindir}/.debug"
171FILES:${PN}-ping = "${base_bindir}/ping.${BPN}" 169FILES:${PN}-ping = "${base_bindir}/ping.${BPN}"
172FILES:${PN}-ping6 = "${base_bindir}/ping6.${BPN}" 170FILES:${PN}-ping6 = "${base_bindir}/ping6.${BPN}"
diff --git a/meta/recipes-connectivity/iproute2/iproute2/0001-include-libnetlink.h-add-missing-include-for-htobe64.patch b/meta/recipes-connectivity/iproute2/iproute2/0001-include-libnetlink.h-add-missing-include-for-htobe64.patch
new file mode 100644
index 0000000000..c4dea39676
--- /dev/null
+++ b/meta/recipes-connectivity/iproute2/iproute2/0001-include-libnetlink.h-add-missing-include-for-htobe64.patch
@@ -0,0 +1,24 @@
1From 9e427aa1c647f741b08a1f0c44483ea974c7fc61 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Sat, 24 Aug 2024 15:32:25 +0200
4Subject: [PATCH] include/libnetlink.h: add missing include for htobe64
5 definitions
6
7Upstream-Status: Submitted [by email to stephen@networkplumber.org netdev@vger.kernel.org]
8Signed-off-by: Alexander Kanavin <alex@linutronix.de>
9---
10 include/libnetlink.h | 1 +
11 1 file changed, 1 insertion(+)
12
13diff --git a/include/libnetlink.h b/include/libnetlink.h
14index 7074e91..3dbfa42 100644
15--- a/include/libnetlink.h
16+++ b/include/libnetlink.h
17@@ -13,6 +13,7 @@
18 #include <linux/neighbour.h>
19 #include <linux/netconf.h>
20 #include <arpa/inet.h>
21+#include <endian.h>
22
23 struct rtnl_handle {
24 int fd;
diff --git a/meta/recipes-connectivity/iproute2/iproute2/0001-libc-compat.h-add-musl-workaround.patch b/meta/recipes-connectivity/iproute2/iproute2/0001-libc-compat.h-add-musl-workaround.patch
deleted file mode 100644
index 74e3de1ce9..0000000000
--- a/meta/recipes-connectivity/iproute2/iproute2/0001-libc-compat.h-add-musl-workaround.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1From c25f8d1f7a6203dfeb10b39f80ffd314bb84a58d Mon Sep 17 00:00:00 2001
2From: Baruch Siach <baruch@tkos.co.il>
3Date: Thu, 22 Dec 2016 15:26:30 +0200
4Subject: [PATCH] libc-compat.h: add musl workaround
5
6The libc-compat.h kernel header uses glibc specific macros (__GLIBC__ and
7__USE_MISC) to solve conflicts with libc provided headers. This patch makes
8libc-compat.h work for musl libc as well.
9
10Upstream-Status: Pending
11
12Taken From:
13https://git.buildroot.net/buildroot/tree/package/iproute2/0001-Add-the-musl-workaround-to-the-libc-compat.h-copy.patch
14
15Signed-off-by: Baruch Siach <baruch@tkos.co.il>
16Signed-off-by: Maxin B. John <maxin.john@intel.com>
17
18---
19 include/uapi/linux/libc-compat.h | 4 +++-
20 1 file changed, 3 insertions(+), 1 deletion(-)
21
22diff --git a/include/uapi/linux/libc-compat.h b/include/uapi/linux/libc-compat.h
23index a159991..22198fa 100644
24--- a/include/uapi/linux/libc-compat.h
25+++ b/include/uapi/linux/libc-compat.h
26@@ -50,10 +50,12 @@
27 #define _LIBC_COMPAT_H
28
29 /* We have included glibc headers... */
30-#if defined(__GLIBC__)
31+#if 1
32+#define __USE_MISC
33
34 /* Coordinate with glibc net/if.h header. */
35 #if defined(_NET_IF_H) && defined(__USE_MISC)
36+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0
37
38 /* GLIBC headers included first so don't define anything
39 * that would already be defined. */
diff --git a/meta/recipes-connectivity/iproute2/iproute2_6.7.0.bb b/meta/recipes-connectivity/iproute2/iproute2_6.15.0.bb
index 8c460adf73..592e3e15af 100644
--- a/meta/recipes-connectivity/iproute2/iproute2_6.7.0.bb
+++ b/meta/recipes-connectivity/iproute2/iproute2_6.15.0.bb
@@ -9,25 +9,28 @@ LICENSE = "GPL-2.0-or-later"
9LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ 9LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
10 " 10 "
11 11
12DEPENDS = "flex-native bison-native iptables libcap" 12DEPENDS = "flex-native bison-native libcap"
13 13
14SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ 14SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \
15 file://0001-libc-compat.h-add-musl-workaround.patch \ 15 file://0001-include-libnetlink.h-add-missing-include-for-htobe64.patch \
16 " 16 "
17 17
18SRC_URI[sha256sum] = "ff942dd9828d7d1f867f61fe72ce433078c31e5d8e4a78e20f02cb5892e8841d" 18SRC_URI[sha256sum] = "8041854a882583ad5263466736c9c8c68c74b1a35754ab770d23343f947528fb"
19 19
20inherit update-alternatives bash-completion pkgconfig 20inherit update-alternatives bash-completion pkgconfig
21 21
22PACKAGECONFIG ??= "tipc elf devlink" 22PACKAGECONFIG ??= "tipc elf devlink iptables"
23PACKAGECONFIG[tipc] = ",,libmnl," 23PACKAGECONFIG[tipc] = ",,libmnl,"
24PACKAGECONFIG[elf] = ",,elfutils," 24PACKAGECONFIG[elf] = ",,elfutils,"
25PACKAGECONFIG[devlink] = ",,libmnl," 25PACKAGECONFIG[devlink] = ",,libmnl,"
26PACKAGECONFIG[iptables] = ",,iptables"
26PACKAGECONFIG[rdma] = ",,libmnl," 27PACKAGECONFIG[rdma] = ",,libmnl,"
27PACKAGECONFIG[selinux] = ",,libselinux" 28PACKAGECONFIG[selinux] = ",,libselinux"
28 29
29IPROUTE2_MAKE_SUBDIRS = "lib tc ip bridge misc genl ${@bb.utils.filter('PACKAGECONFIG', 'devlink tipc rdma', d)}" 30IPROUTE2_MAKE_SUBDIRS = "lib tc ip bridge misc genl ${@bb.utils.filter('PACKAGECONFIG', 'devlink tipc rdma', d)}"
30 31
32# This is needed with GCC-14 and musl
33CFLAGS += "-Wno-error=incompatible-pointer-types"
31# CFLAGS are computed in Makefile and reference CCOPTS 34# CFLAGS are computed in Makefile and reference CCOPTS
32# 35#
33EXTRA_OEMAKE = "\ 36EXTRA_OEMAKE = "\
@@ -53,6 +56,9 @@ do_install () {
53 install -d ${D}${datadir} 56 install -d ${D}${datadir}
54 mv ${D}/share/* ${D}${datadir}/ || true 57 mv ${D}/share/* ${D}${datadir}/ || true
55 rm ${D}/share -rf || true 58 rm ${D}/share -rf || true
59
60 # Remove support fot ipt and xt in tc. So tc library directory is not needed.
61 rm ${D}${libdir}/tc -rf
56} 62}
57 63
58# The .so files in iproute2-tc are modules, not traditional libraries 64# The .so files in iproute2-tc are modules, not traditional libraries
diff --git a/meta/recipes-connectivity/iw/iw_6.7.bb b/meta/recipes-connectivity/iw/iw_6.9.bb
index b46b54bc93..e34400e18b 100644
--- a/meta/recipes-connectivity/iw/iw_6.7.bb
+++ b/meta/recipes-connectivity/iw/iw_6.9.bb
@@ -4,7 +4,7 @@ wireless devices. It supports almost all new drivers that have been added \
4to the kernel recently. " 4to the kernel recently. "
5HOMEPAGE = "https://wireless.wiki.kernel.org/en/users/documentation/iw" 5HOMEPAGE = "https://wireless.wiki.kernel.org/en/users/documentation/iw"
6SECTION = "base" 6SECTION = "base"
7LICENSE = "BSD-2-Clause" 7LICENSE = "ISC"
8LIC_FILES_CHKSUM = "file://COPYING;md5=878618a5c4af25e9b93ef0be1a93f774" 8LIC_FILES_CHKSUM = "file://COPYING;md5=878618a5c4af25e9b93ef0be1a93f774"
9 9
10DEPENDS = "libnl" 10DEPENDS = "libnl"
@@ -14,7 +14,7 @@ SRC_URI = "http://www.kernel.org/pub/software/network/iw/${BP}.tar.gz \
14 file://separate-objdir.patch \ 14 file://separate-objdir.patch \
15" 15"
16 16
17SRC_URI[sha256sum] = "b3ef3fa85fa1177b11d3e97d6d38cdfe10ee250ca31482b581f3bd0fc79cb015" 17SRC_URI[sha256sum] = "4c3194778b175d58442907d51d1977e7270fce5cbebff0eab11c45c1da287a4b"
18 18
19inherit pkgconfig 19inherit pkgconfig
20 20
diff --git a/meta/recipes-connectivity/kea/files/0001-kea-fix-reproducible-build-failure.patch b/meta/recipes-connectivity/kea/files/0001-kea-fix-reproducible-build-failure.patch
deleted file mode 100644
index 8a5bd00302..0000000000
--- a/meta/recipes-connectivity/kea/files/0001-kea-fix-reproducible-build-failure.patch
+++ /dev/null
@@ -1,62 +0,0 @@
1From f9bcfed5a1d44d9211c5f6eba403a9898c8c9057 Mon Sep 17 00:00:00 2001
2From: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
3Date: Tue, 8 Aug 2023 19:03:13 +0100
4Subject: [PATCH] kea: fix reproducible build failure
5
6New version of Kea has started using path of build-dir instead of
7src-dir which results in reproducible builds failure.
8Use src-dir as is used in v2.2.0
9
10Upstream-Status: Pending
11https://gitlab.isc.org/isc-projects/kea/-/issues/3007
12
13Upstream has confirmed the patch will not be accepted but discussions
14with upstream is still going on, we might have a proper solution later.
15
16Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
17---
18 src/bin/admin/kea-admin.in | 8 ++++----
19 1 file changed, 4 insertions(+), 4 deletions(-)
20
21diff --git a/src/bin/admin/kea-admin.in b/src/bin/admin/kea-admin.in
22index 034a0ee..8ab11ab 100644
23--- a/src/bin/admin/kea-admin.in
24+++ b/src/bin/admin/kea-admin.in
25@@ -51,14 +51,14 @@ dump_qry=""
26 if test -f "@datarootdir@/@PACKAGE_NAME@/scripts/admin-utils.sh"; then
27 . "@datarootdir@/@PACKAGE_NAME@/scripts/admin-utils.sh"
28 else
29- . "@abs_top_builddir@/src/bin/admin/admin-utils.sh"
30+ . "@abs_top_srcdir@/src/bin/admin/admin-utils.sh"
31 fi
32
33 # Find the installed kea-lfc if available. Fallback to sources otherwise.
34 if test -x "@sbindir@/kea-lfc"; then
35 kea_lfc="@sbindir@/kea-lfc"
36 else
37- kea_lfc="@abs_top_builddir@/src/bin/lfc/kea-lfc"
38+ kea_lfc="@abs_top_srcdir@/src/bin/lfc/kea-lfc"
39 fi
40
41 # Prints out usage version.
42@@ -355,7 +355,7 @@ mysql_upgrade() {
43 # Check if there are any files in it
44 num_files=$(find "${upgrade_scripts_dir}" -name 'upgrade*.sh' -type f | wc -l)
45 if [ "$num_files" -eq 0 ]; then
46- upgrade_scripts_dir=@abs_top_builddir@/src/share/database/scripts/mysql
47+ upgrade_scripts_dir=@abs_top_srcdir@/src/share/database/scripts/mysql
48
49 # Check if the scripts directory exists at all.
50 if [ ! -d ${upgrade_scripts_dir} ]; then
51@@ -405,7 +405,7 @@ pgsql_upgrade() {
52 # Check if there are any files in it
53 num_files=$(find "${upgrade_scripts_dir}" -name 'upgrade*.sh' -type f | wc -l)
54 if [ "$num_files" -eq 0 ]; then
55- upgrade_scripts_dir=@abs_top_builddir@/src/share/database/scripts/pgsql
56+ upgrade_scripts_dir=@abs_top_srcdir@/src/share/database/scripts/pgsql
57
58 # Check if the scripts directory exists at all.
59 if [ ! -d ${upgrade_scripts_dir} ]; then
60--
612.39.2
62
diff --git a/meta/recipes-connectivity/kea/files/0001-make-kea-environment-available-to-lfc.patch b/meta/recipes-connectivity/kea/files/0001-make-kea-environment-available-to-lfc.patch
new file mode 100644
index 0000000000..15c09d4c41
--- /dev/null
+++ b/meta/recipes-connectivity/kea/files/0001-make-kea-environment-available-to-lfc.patch
@@ -0,0 +1,96 @@
1From 72d7e6c0b6b5af4fea2e4db9ed33757984ccdc5b Mon Sep 17 00:00:00 2001
2From: Razvan Becheriu <razvan@isc.org>
3Date: Fri, 14 Jun 2024 17:09:50 +0300
4Subject: [PATCH] make kea environment available to lfc
5
6Upstream-Status: Backport
7[https://gitlab.isc.org/isc-projects/kea/-/commit/f477e8ebcc8b8e1f1adaad4d55031084c0ff6f40]
8
9Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
10---
11 configure.ac | 2 ++
12 src/lib/dhcpsrv/memfile_lease_mgr.cc | 3 ++-
13 .../tests/memfile_lease_mgr_unittest.cc | 26 +++++++++++++++++++
14 src/lib/dhcpsrv/tests/test_kea_lfc_env.sh.in | 6 +++++
15 4 files changed, 36 insertions(+), 1 deletion(-)
16 create mode 100644 src/lib/dhcpsrv/tests/test_kea_lfc_env.sh.in
17
18diff --git a/configure.ac b/configure.ac
19index c00edb5..7b572b0 100644
20--- a/configure.ac
21+++ b/configure.ac
22@@ -1629,6 +1629,8 @@ AC_CONFIG_FILES([src/lib/dhcp_ddns/tests/Makefile])
23 AC_CONFIG_FILES([src/lib/dhcpsrv/Makefile])
24 AC_CONFIG_FILES([src/lib/dhcpsrv/tests/Makefile])
25 AC_CONFIG_FILES([src/lib/dhcpsrv/tests/test_libraries.h])
26+AC_CONFIG_FILES([src/lib/dhcpsrv/tests/test_kea_lfc_env.sh],
27+ [chmod +x src/lib/dhcpsrv/tests/test_kea_lfc_env.sh])
28 AC_CONFIG_FILES([src/lib/dhcpsrv/testutils/Makefile])
29 AC_CONFIG_FILES([src/lib/dns/Makefile])
30 AC_CONFIG_FILES([src/lib/dns/tests/Makefile])
31diff --git a/src/lib/dhcpsrv/memfile_lease_mgr.cc b/src/lib/dhcpsrv/memfile_lease_mgr.cc
32index db4f5d5..0ecf3e7 100644
33--- a/src/lib/dhcpsrv/memfile_lease_mgr.cc
34+++ b/src/lib/dhcpsrv/memfile_lease_mgr.cc
35@@ -209,7 +209,8 @@ LFCSetup::setup(const uint32_t lfc_interval,
36 args.push_back("ignored-path");
37
38 // Create the process (do not start it yet).
39- process_.reset(new ProcessSpawn(ProcessSpawn::ASYNC, executable, args));
40+ process_.reset(new ProcessSpawn(ProcessSpawn::ASYNC, executable, args,
41+ ProcessEnvVars(), true));
42
43 // If we've been told to run it once now, invoke the callback directly.
44 if (run_once_now) {
45diff --git a/src/lib/dhcpsrv/tests/memfile_lease_mgr_unittest.cc b/src/lib/dhcpsrv/tests/memfile_lease_mgr_unittest.cc
46index 034f1f5..9edf637 100644
47--- a/src/lib/dhcpsrv/tests/memfile_lease_mgr_unittest.cc
48+++ b/src/lib/dhcpsrv/tests/memfile_lease_mgr_unittest.cc
49@@ -534,6 +534,32 @@ TEST_F(MemfileLeaseMgrTest, lfcTimer) {
50 EXPECT_EQ(2, lease_mgr->getLFCCount());
51 }
52
53+/// @brief Check that the kea environment is accesible to the Lease
54+/// File Cleanup process.
55+TEST_F(MemfileLeaseMgrTest, lfcEnv) {
56+ DatabaseConnection::ParameterMap pmap;
57+ pmap["type"] = "memfile";
58+ pmap["universe"] = "4";
59+ pmap["name"] = getLeaseFilePath("leasefile4_0.csv");
60+ pmap["lfc-interval"] = "1";
61+
62+ std::ostringstream s;
63+ s << DHCP_DATA_DIR << "/test_kea_lfc_env.sh";
64+ setenv("KEA_LFC_EXECUTABLE", s.str().c_str(), 1);
65+
66+ boost::scoped_ptr<NakedMemfileLeaseMgr> lease_mgr(new NakedMemfileLeaseMgr(pmap));
67+
68+ // Try to run the lease file cleanup.
69+ ASSERT_NO_THROW(lease_mgr->lfcCallback());
70+
71+ // Wait for the LFC process to complete.
72+ ASSERT_TRUE(waitForProcess(*lease_mgr, 1));
73+
74+ // And make sure it has returned an exit status of 0.
75+ EXPECT_EQ(0, lease_mgr->getLFCExitStatus())
76+ << "environment not available to LFC";
77+}
78+
79 /// @brief This test checks if the LFC timer is disabled (doesn't trigger)
80 /// cleanups when the lfc-interval is set to 0.
81 TEST_F(MemfileLeaseMgrTest, lfcTimerDisabled) {
82diff --git a/src/lib/dhcpsrv/tests/test_kea_lfc_env.sh.in b/src/lib/dhcpsrv/tests/test_kea_lfc_env.sh.in
83new file mode 100644
84index 0000000..3eb71d5
85--- /dev/null
86+++ b/src/lib/dhcpsrv/tests/test_kea_lfc_env.sh.in
87@@ -0,0 +1,6 @@
88+#!/bin/sh
89+
90+if [ $(env | grep -c KEA_LFC_EXECUTABLE) != 0 ]; then
91+ exit 0
92+fi
93+exit 1
94--
952.25.1
96
diff --git a/meta/recipes-connectivity/kea/files/fix-multilib-conflict.patch b/meta/recipes-connectivity/kea/files/fix-multilib-conflict.patch
index 5b135b3aee..763639327a 100644
--- a/meta/recipes-connectivity/kea/files/fix-multilib-conflict.patch
+++ b/meta/recipes-connectivity/kea/files/fix-multilib-conflict.patch
@@ -8,17 +8,21 @@ Subject: [PATCH] There are conflict of config files between kea and lib32-kea:
8 lib32-kea-1.7.10-r0.core2_32 and kea-1.7.10-r0.core2_64 8 lib32-kea-1.7.10-r0.core2_32 and kea-1.7.10-r0.core2_64
9| file /etc/kea/kea-dhcp4.conf conflicts between attempted installs of 9| file /etc/kea/kea-dhcp4.conf conflicts between attempted installs of
10 lib32-kea-1.7.10-r0.core2_32 and kea-1.7.10-r0.core2_64 10 lib32-kea-1.7.10-r0.core2_32 and kea-1.7.10-r0.core2_64
11| file /etc/kea/kea-dhcp6.conf conflicts between attempted installs of
12 lib32-kea-2.6.1-r0.core2_32 and kea-2.6.1-r0.core2_64
11 13
12Because they are all commented out, replace the expanded libdir path with 14Because they are all commented out, replace the expanded libdir path with
13'$libdir' in the config files to avoid conflict. 15'$libdir' in the config files to avoid conflict.
14 16
15Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/issues/2602] 17Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/issues/2602]
16Signed-off-by: Kai Kang <kai.kang@windriver.com> 18Signed-off-by: Kai Kang <kai.kang@windriver.com>
19Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
17 20
18--- 21---
19 src/bin/keactrl/kea-ctrl-agent.conf.pre | 3 ++- 22 src/bin/keactrl/kea-ctrl-agent.conf.pre | 3 ++-
20 src/bin/keactrl/kea-dhcp4.conf.pre | 4 ++-- 23 src/bin/keactrl/kea-dhcp4.conf.pre | 4 ++--
21 2 files changed, 4 insertions(+), 3 deletions(-) 24 src/bin/keactrl/kea-dhcp6.conf.pre | 4 ++--
25 3 files changed, 6 insertions(+), 5 deletions(-)
22 26
23diff --git a/src/bin/keactrl/kea-ctrl-agent.conf.pre b/src/bin/keactrl/kea-ctrl-agent.conf.pre 27diff --git a/src/bin/keactrl/kea-ctrl-agent.conf.pre b/src/bin/keactrl/kea-ctrl-agent.conf.pre
24index e6ae8b8..50a3092 100644 28index e6ae8b8..50a3092 100644
@@ -56,3 +60,25 @@ index 6edb8a1..b2a7385 100644
56 // "parameters": { 60 // "parameters": {
57 // "identifier-expression": "relay4[2].hex" 61 // "identifier-expression": "relay4[2].hex"
58 // } 62 // }
63diff --git a/src/bin/keactrl/kea-dhcp6.conf.pre b/src/bin/keactrl/kea-dhcp6.conf.pre
64index 271021b..5b85854 100644
65--- a/src/bin/keactrl/kea-dhcp6.conf.pre
66+++ b/src/bin/keactrl/kea-dhcp6.conf.pre
67@@ -201,7 +201,7 @@
68 // // of all devices serviced by Kea, including their identifiers
69 // // (like MAC address), their location in the network, times
70 // // when they were active etc.
71- // "library": "@libdir@/kea/hooks/libdhcp_legal_log.so",
72+ // "library": "$libdir/kea/hooks/libdhcp_legal_log.so",
73 // "parameters": {
74 // "path": "/var/lib/kea",
75 // "base-name": "kea-forensic6"
76@@ -218,7 +218,7 @@
77 // // of specific options or perhaps even a combination of several
78 // // options and fields to uniquely identify a client. Those scenarios
79 // // are addressed by the Flexible Identifiers hook application.
80- // "library": "@libdir@/kea/hooks/libdhcp_flex_id.so",
81+ // "library": "$libdir/kea/hooks/libdhcp_flex_id.so",
82 // "parameters": {
83 // "identifier-expression": "relay6[0].option[37].hex"
84 // }
diff --git a/meta/recipes-connectivity/kea/files/fix_pid_keactrl.patch b/meta/recipes-connectivity/kea/files/fix_pid_keactrl.patch
index 63a6a2805b..2f5a217d3f 100644
--- a/meta/recipes-connectivity/kea/files/fix_pid_keactrl.patch
+++ b/meta/recipes-connectivity/kea/files/fix_pid_keactrl.patch
@@ -1,4 +1,4 @@
1From c878a356712606549f7f188b62f7d1cae08a176e Mon Sep 17 00:00:00 2001 1From f5125725e4e2e250ccc78a17a8b77431100e7c15 Mon Sep 17 00:00:00 2001
2From: Armin kuster <akuster808@gmail.com> 2From: Armin kuster <akuster808@gmail.com>
3Date: Wed, 14 Oct 2020 22:48:31 -0700 3Date: Wed, 14 Oct 2020 22:48:31 -0700
4Subject: [PATCH] Busybox does not support ps -p so use pgrep 4Subject: [PATCH] Busybox does not support ps -p so use pgrep
@@ -8,15 +8,18 @@ Based on changes from Diego Sueiro <Diego.Sueiro@arm.com>
8 8
9Signed-off-by: Armin kuster <akuster808@gmail.com> 9Signed-off-by: Armin kuster <akuster808@gmail.com>
10 10
11Refresh to apply on top of 2.6.1.
12
13Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
11--- 14---
12 src/bin/keactrl/keactrl.in | 4 ++-- 15 src/bin/keactrl/keactrl.in | 4 ++--
13 1 file changed, 2 insertions(+), 2 deletions(-) 16 1 file changed, 2 insertions(+), 2 deletions(-)
14 17
15diff --git a/src/bin/keactrl/keactrl.in b/src/bin/keactrl/keactrl.in 18diff --git a/src/bin/keactrl/keactrl.in b/src/bin/keactrl/keactrl.in
16index 450e997..c353ca9 100644 19index cccfdac303..20ae2e6ec5 100644
17--- a/src/bin/keactrl/keactrl.in 20--- a/src/bin/keactrl/keactrl.in
18+++ b/src/bin/keactrl/keactrl.in 21+++ b/src/bin/keactrl/keactrl.in
19@@ -149,8 +149,8 @@ check_running() { 22@@ -146,8 +146,8 @@ check_running() {
20 # Get the PID from the PID file (if it exists) 23 # Get the PID from the PID file (if it exists)
21 get_pid_from_file "${proc_name}" 24 get_pid_from_file "${proc_name}"
22 if [ ${_pid} -gt 0 ]; then 25 if [ ${_pid} -gt 0 ]; then
@@ -27,3 +30,6 @@ index 450e997..c353ca9 100644
27 # No error, so PID IS ALIVE 30 # No error, so PID IS ALIVE
28 _running=1 31 _running=1
29 fi 32 fi
33--
342.39.2
35
diff --git a/meta/recipes-connectivity/kea/kea_2.4.1.bb b/meta/recipes-connectivity/kea/kea_2.6.3.bb
index c3aa4dc8f0..1df91e4522 100644
--- a/meta/recipes-connectivity/kea/kea_2.4.1.bb
+++ b/meta/recipes-connectivity/kea/kea_2.6.3.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Kea is the next generation of DHCP software developed by ISC. It
3HOMEPAGE = "http://kea.isc.org" 3HOMEPAGE = "http://kea.isc.org"
4SECTION = "connectivity" 4SECTION = "connectivity"
5LICENSE = "MPL-2.0" 5LICENSE = "MPL-2.0"
6LIC_FILES_CHKSUM = "file://COPYING;md5=ea061fa0188838072c4248c1318ec131" 6LIC_FILES_CHKSUM = "file://COPYING;md5=ee16e7280a6cf2a1487717faf33190dc"
7 7
8DEPENDS = "boost log4cplus openssl" 8DEPENDS = "boost log4cplus openssl"
9 9
@@ -17,9 +17,9 @@ SRC_URI = "http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \
17 file://fix-multilib-conflict.patch \ 17 file://fix-multilib-conflict.patch \
18 file://fix_pid_keactrl.patch \ 18 file://fix_pid_keactrl.patch \
19 file://0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch \ 19 file://0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch \
20 file://0001-kea-fix-reproducible-build-failure.patch \ 20 file://0001-make-kea-environment-available-to-lfc.patch \
21 " 21 "
22SRC_URI[sha256sum] = "815c61f5c271caa4a1db31dd656eb50a7f6ea973da3690f7c8581408e180131a" 22SRC_URI[sha256sum] = "00241a5955ffd3d215a2c098c4527f9d7f4b203188b276f9a36250dd3d9dd612"
23 23
24inherit autotools systemd update-rc.d upstream-version-is-even 24inherit autotools systemd update-rc.d upstream-version-is-even
25 25
@@ -39,6 +39,7 @@ DEBUG_OPTIMIZATION:append:mipsel = " -O"
39BUILD_OPTIMIZATION:remove:mipsel = " -Og" 39BUILD_OPTIMIZATION:remove:mipsel = " -Og"
40BUILD_OPTIMIZATION:append:mipsel = " -O" 40BUILD_OPTIMIZATION:append:mipsel = " -O"
41 41
42CXXFLAGS:remove = "-fvisibility-inlines-hidden"
42EXTRA_OECONF = "--with-boost-libs=-lboost_system \ 43EXTRA_OECONF = "--with-boost-libs=-lboost_system \
43 --with-log4cplus=${STAGING_DIR_TARGET}${prefix} \ 44 --with-log4cplus=${STAGING_DIR_TARGET}${prefix} \
44 --with-openssl=${STAGING_DIR_TARGET}${prefix}" 45 --with-openssl=${STAGING_DIR_TARGET}${prefix}"
@@ -47,7 +48,7 @@ do_configure:prepend() {
47 # replace abs_top_builddir to avoid introducing the build path 48 # replace abs_top_builddir to avoid introducing the build path
48 # don't expand the abs_top_builddir on the target as the abs_top_builddir is meanlingless on the target 49 # don't expand the abs_top_builddir on the target as the abs_top_builddir is meanlingless on the target
49 find ${S} -type f -name *.sh.in | xargs sed -i "s:@abs_top_builddir@:@abs_top_builddir_placeholder@:g" 50 find ${S} -type f -name *.sh.in | xargs sed -i "s:@abs_top_builddir@:@abs_top_builddir_placeholder@:g"
50 sed -i "s:@abs_top_srcdir@:@abs_top_srcdir_placeholder@:g" ${S}/src/bin/admin/kea-admin.in 51 sed -i "s:@abs_top_builddir@:@abs_top_builddir_placeholder@:g" ${S}/src/bin/admin/kea-admin.in
51} 52}
52 53
53# patch out build host paths for reproducibility 54# patch out build host paths for reproducibility
@@ -59,11 +60,12 @@ do_install:append() {
59 install -d ${D}${sysconfdir}/init.d 60 install -d ${D}${sysconfdir}/init.d
60 install -d ${D}${systemd_system_unitdir} 61 install -d ${D}${systemd_system_unitdir}
61 62
62 install -m 0644 ${WORKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir} 63 install -m 0644 ${UNPACKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir}
63 install -m 0755 ${WORKDIR}/kea-*-server ${D}${sysconfdir}/init.d 64 install -m 0755 ${UNPACKDIR}/kea-*-server ${D}${sysconfdir}/init.d
64 sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@BASE_BINDIR@,${base_bindir},g' \ 65 sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@BASE_BINDIR@,${base_bindir},g' \
65 -e 's,@LOCALSTATEDIR@,${localstatedir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' \ 66 -e 's,@LOCALSTATEDIR@,${localstatedir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' \
66 ${D}${systemd_system_unitdir}/kea-dhcp*service ${D}${sbindir}/keactrl 67 ${D}${systemd_system_unitdir}/kea-dhcp*service ${D}${sbindir}/keactrl
68 sed -i "s:${B}:@abs_top_builddir_placeholder@:g" ${D}${sbindir}/kea-admin
67} 69}
68 70
69do_install:append() { 71do_install:append() {
diff --git a/meta/recipes-connectivity/libpcap/libpcap_1.10.4.bb b/meta/recipes-connectivity/libpcap/libpcap_1.10.5.bb
index 166654e280..7ad52acd06 100644
--- a/meta/recipes-connectivity/libpcap/libpcap_1.10.4.bb
+++ b/meta/recipes-connectivity/libpcap/libpcap_1.10.5.bb
@@ -10,8 +10,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5eb289217c160e2920d2e35bddc36453 \
10 file://pcap.h;beginline=1;endline=32;md5=39af3510e011f34b8872f120b1dc31d2" 10 file://pcap.h;beginline=1;endline=32;md5=39af3510e011f34b8872f120b1dc31d2"
11DEPENDS = "flex-native bison-native" 11DEPENDS = "flex-native bison-native"
12 12
13SRC_URI = "https://www.tcpdump.org/release/${BP}.tar.gz" 13SRC_URI = "https://www.tcpdump.org/release/${BP}.tar.xz"
14SRC_URI[sha256sum] = "ed19a0383fad72e3ad435fd239d7cd80d64916b87269550159d20e47160ebe5f" 14SRC_URI[sha256sum] = "84fa89ac6d303028c1c5b754abff77224f45eca0a94eb1a34ff0aa9ceece3925"
15 15
16inherit autotools binconfig-disabled pkgconfig 16inherit autotools binconfig-disabled pkgconfig
17 17
diff --git a/meta/recipes-connectivity/libuv/libuv_1.48.0.bb b/meta/recipes-connectivity/libuv/libuv_1.51.0.bb
index 87a2c22a7c..9ff9cf35e2 100644
--- a/meta/recipes-connectivity/libuv/libuv_1.48.0.bb
+++ b/meta/recipes-connectivity/libuv/libuv_1.51.0.bb
@@ -6,12 +6,10 @@ LICENSE = "MIT"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=74b6f2f7818a4e3a80d03556f71b129b \ 6LIC_FILES_CHKSUM = "file://LICENSE;md5=74b6f2f7818a4e3a80d03556f71b129b \
7 file://LICENSE-extra;md5=f9307417749e19bd1d6d68a394b49324" 7 file://LICENSE-extra;md5=f9307417749e19bd1d6d68a394b49324"
8 8
9SRCREV = "e9f29cb984231524e3931aa0ae2c5dae1a32884e" 9SRCREV = "5152db2cbfeb5582e9c27c5ea1dba2cd9e10759b"
10SRC_URI = "git://github.com/libuv/libuv.git;branch=v1.x;protocol=https" 10SRC_URI = "git://github.com/libuv/libuv.git;branch=v1.x;protocol=https;tag=v${PV}"
11UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" 11UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
12 12
13S = "${WORKDIR}/git"
14
15inherit autotools 13inherit autotools
16 14
17do_configure() { 15do_configure() {
diff --git a/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb b/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_20250613.bb
index a4030b7b32..72663c7e0a 100644
--- a/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb
+++ b/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_20250613.bb
@@ -5,13 +5,11 @@ SECTION = "network"
5LICENSE = "PD" 5LICENSE = "PD"
6LIC_FILES_CHKSUM = "file://COPYING;md5=87964579b2a8ece4bc6744d2dc9a8b04" 6LIC_FILES_CHKSUM = "file://COPYING;md5=87964579b2a8ece4bc6744d2dc9a8b04"
7 7
8SRCREV = "aae7c68671d225e6d35224613d5b98192b9b2ffe"
9PV = "20230416"
10PE = "1" 8PE = "1"
11 9
12SRC_URI = "git://gitlab.gnome.org/GNOME/mobile-broadband-provider-info.git;protocol=https;branch=main" 10SRC_URI = "git://gitlab.gnome.org/GNOME/mobile-broadband-provider-info.git;protocol=https;branch=main;tag=${PV}"
13S = "${WORKDIR}/git" 11SRCREV = "2a1b409491a531aedcf3eb3ba907929d96bd181a"
14 12
15inherit autotools 13inherit meson
16 14
17DEPENDS += "libxslt-native" 15DEPENDS += "libxslt-native"
diff --git a/meta/recipes-connectivity/neard/neard_0.19.bb b/meta/recipes-connectivity/neard/neard_0.19.bb
index a98f436b98..41c7e55f44 100644
--- a/meta/recipes-connectivity/neard/neard_0.19.bb
+++ b/meta/recipes-connectivity/neard/neard_0.19.bb
@@ -17,8 +17,6 @@ SRC_URI = "git://git.kernel.org/pub/scm/network/nfc/neard.git;protocol=https;bra
17 17
18SRCREV = "a1dc8a75cba999728e154a0f811ab9dd50c809f7" 18SRCREV = "a1dc8a75cba999728e154a0f811ab9dd50c809f7"
19 19
20S = "${WORKDIR}/git"
21
22inherit autotools pkgconfig systemd update-rc.d 20inherit autotools pkgconfig systemd update-rc.d
23 21
24PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" 22PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
@@ -31,18 +29,17 @@ EXTRA_OECONF += "--enable-tools"
31do_install:append() { 29do_install:append() {
32 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then 30 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
33 install -d ${D}${sysconfdir}/init.d/ 31 install -d ${D}${sysconfdir}/init.d/
34 sed "s:@installpath@:${libexecdir}/nfc:" ${WORKDIR}/neard.in \ 32 sed "s:@installpath@:${libexecdir}/nfc:" ${UNPACKDIR}/neard.in \
35 > ${D}${sysconfdir}/init.d/neard 33 > ${D}${sysconfdir}/init.d/neard
36 chmod 0755 ${D}${sysconfdir}/init.d/neard 34 chmod 0755 ${D}${sysconfdir}/init.d/neard
37 fi 35 fi
38} 36}
39 37
40RDEPENDS:${PN} = "dbus"
41
42# Bluez & Wifi are not mandatory except for handover 38# Bluez & Wifi are not mandatory except for handover
39WIRELESS_DAEMON ??= "wpa-supplicant"
43RRECOMMENDS:${PN} = "\ 40RRECOMMENDS:${PN} = "\
44 ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \ 41 ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \
45 ${@bb.utils.contains('DISTRO_FEATURES', 'wifi','wpa-supplicant', '', d)} \ 42 ${@bb.utils.contains('DISTRO_FEATURES', 'wifi','${WIRELESS_DAEMON}', '', d)} \
46 " 43 "
47 44
48INITSCRIPT_NAME = "neard" 45INITSCRIPT_NAME = "neard"
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch
deleted file mode 100644
index 7603eb680d..0000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch
+++ /dev/null
@@ -1,299 +0,0 @@
1From 690a90a5b7786e40b5447ad7c5f19a7657d27405 Mon Sep 17 00:00:00 2001
2From: Mingli Yu <Mingli.Yu@windriver.com>
3Date: Fri, 14 Dec 2018 17:44:32 +0800
4Subject: [PATCH] Makefile.am: fix undefined function for libnsm.a
5
6The source file of libnsm.a uses some function
7in ../support/misc/file.c, add ../support/misc/file.c
8to libnsm_a_SOURCES to fix build error when run
9"make -C tests statdb_dump":
10| ../support/nsm/libnsm.a(file.o): In function `nsm_make_pathname':
11| /usr/src/debug/nfs-utils/2.3.3-r0/nfs-utils-2.3.3/support/nsm/file.c:175: undefined reference to `generic_make_pathname'
12| /usr/src/debug/nfs-utils/2.3.3-r0/nfs-utils-2.3.3/support/nsm/file.c:175: undefined reference to `generic_make_pathname'
13| /usr/src/debug/nfs-utils/2.3.3-r0/nfs-utils-2.3.3/support/nsm/file.c:175: undefined reference to `generic_make_pathname'
14| ../support/nsm/libnsm.a(file.o): In function `nsm_setup_pathnames':
15| /usr/src/debug/nfs-utils/2.3.3-r0/nfs-utils-2.3.3/support/nsm/file.c:280: undefined reference to `generic_setup_basedir'
16| collect2: error: ld returned 1 exit status
17
18As there is already one source file named file.c
19as support/nsm/file.c in support/nsm/Makefile.am,
20so rename ../support/misc/file.c to ../support/misc/misc.c.
21
22Upstream-Status: Submitted [https://marc.info/?l=linux-nfs&m=154502780423058&w=2]
23
24Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
25
26Rebase it.
27
28Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
29---
30 support/misc/Makefile.am | 2 +-
31 support/misc/file.c | 115 ---------------------------------------------------------------------------------------------------------------
32 support/misc/misc.c | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
33 support/nsm/Makefile.am | 2 +-
34 4 files changed, 113 insertions(+), 117 deletions(-)
35
36diff --git a/support/misc/Makefile.am b/support/misc/Makefile.am
37index f9993e3..8b0e9db 100644
38--- a/support/misc/Makefile.am
39+++ b/support/misc/Makefile.am
40@@ -1,7 +1,7 @@
41 ## Process this file with automake to produce Makefile.in
42
43 noinst_LIBRARIES = libmisc.a
44-libmisc_a_SOURCES = tcpwrapper.c from_local.c mountpoint.c file.c \
45+libmisc_a_SOURCES = tcpwrapper.c from_local.c mountpoint.c misc.c \
46 nfsd_path.c workqueue.c xstat.c
47
48 MAINTAINERCLEANFILES = Makefile.in
49diff --git a/support/misc/file.c b/support/misc/file.c
50deleted file mode 100644
51index 06f6bb2..0000000
52--- a/support/misc/file.c
53+++ /dev/null
54@@ -1,115 +0,0 @@
55-/*
56- * Copyright 2009 Oracle. All rights reserved.
57- * Copyright 2017 Red Hat, Inc. All rights reserved.
58- *
59- * This file is part of nfs-utils.
60- *
61- * nfs-utils is free software; you can redistribute it and/or modify
62- * it under the terms of the GNU General Public License as published by
63- * the Free Software Foundation; either version 2 of the License, or
64- * (at your option) any later version.
65- *
66- * nfs-utils is distributed in the hope that it will be useful,
67- * but WITHOUT ANY WARRANTY; without even the implied warranty of
68- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
69- * GNU General Public License for more details.
70- *
71- * You should have received a copy of the GNU General Public License
72- * along with nfs-utils. If not, see <http://www.gnu.org/licenses/>.
73- */
74-
75-#ifdef HAVE_CONFIG_H
76-#include <config.h>
77-#endif
78-
79-#include <sys/stat.h>
80-
81-#include <string.h>
82-#include <libgen.h>
83-#include <stdio.h>
84-#include <errno.h>
85-#include <dirent.h>
86-#include <stdlib.h>
87-#include <stdbool.h>
88-#include <limits.h>
89-
90-#include "xlog.h"
91-#include "misc.h"
92-
93-/*
94- * Returns a dynamically allocated, '\0'-terminated buffer
95- * containing an appropriate pathname, or NULL if an error
96- * occurs. Caller must free the returned result with free(3).
97- */
98-__attribute__((__malloc__))
99-char *
100-generic_make_pathname(const char *base, const char *leaf)
101-{
102- size_t size;
103- char *path;
104- int len;
105-
106- size = strlen(base) + strlen(leaf) + 2;
107- if (size > PATH_MAX)
108- return NULL;
109-
110- path = malloc(size);
111- if (path == NULL)
112- return NULL;
113-
114- len = snprintf(path, size, "%s/%s", base, leaf);
115- if ((len < 0) || ((size_t)len >= size)) {
116- free(path);
117- return NULL;
118- }
119-
120- return path;
121-}
122-
123-
124-/**
125- * generic_setup_basedir - set up basedir
126- * @progname: C string containing name of program, for error messages
127- * @parentdir: C string containing pathname to on-disk state, or NULL
128- * @base: character buffer to contain the basedir that is set up
129- * @baselen: size of @base in bytes
130- *
131- * This runs before logging is set up, so error messages are directed
132- * to stderr.
133- *
134- * Returns true and sets up our basedir, if @parentdir was valid
135- * and usable; otherwise false is returned.
136- */
137-_Bool
138-generic_setup_basedir(const char *progname, const char *parentdir, char *base,
139- const size_t baselen)
140-{
141- static char buf[PATH_MAX];
142- struct stat st;
143- char *path;
144-
145- /* First: test length of name and whether it exists */
146- if ((strlen(parentdir) >= baselen) || (strlen(parentdir) >= PATH_MAX)) {
147- (void)fprintf(stderr, "%s: Directory name too long: %s",
148- progname, parentdir);
149- return false;
150- }
151- if (lstat(parentdir, &st) == -1) {
152- (void)fprintf(stderr, "%s: Failed to stat %s: %s",
153- progname, parentdir, strerror(errno));
154- return false;
155- }
156-
157- /* Ensure we have a clean directory pathname */
158- strncpy(buf, parentdir, sizeof(buf)-1);
159- path = dirname(buf);
160- if (*path == '.') {
161- (void)fprintf(stderr, "%s: Unusable directory %s",
162- progname, parentdir);
163- return false;
164- }
165-
166- xlog(D_CALL, "Using %s as the state directory", parentdir);
167- strcpy(base, parentdir);
168- return true;
169-}
170diff --git a/support/misc/misc.c b/support/misc/misc.c
171new file mode 100644
172index 0000000..e7c3819
173--- /dev/null
174+++ b/support/misc/misc.c
175@@ -0,0 +1,111 @@
176+/*
177+ * Copyright 2009 Oracle. All rights reserved.
178+ * Copyright 2017 Red Hat, Inc. All rights reserved.
179+ *
180+ * This file is part of nfs-utils.
181+ *
182+ * nfs-utils is free software; you can redistribute it and/or modify
183+ * it under the terms of the GNU General Public License as published by
184+ * the Free Software Foundation; either version 2 of the License, or
185+ * (at your option) any later version.
186+ *
187+ * nfs-utils is distributed in the hope that it will be useful,
188+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
189+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
190+ * GNU General Public License for more details.
191+ *
192+ * You should have received a copy of the GNU General Public License
193+ * along with nfs-utils. If not, see <http://www.gnu.org/licenses/>.
194+ */
195+
196+#include <sys/stat.h>
197+
198+#include <string.h>
199+#include <libgen.h>
200+#include <stdio.h>
201+#include <errno.h>
202+#include <dirent.h>
203+#include <stdlib.h>
204+#include <stdbool.h>
205+#include <limits.h>
206+
207+#include "xlog.h"
208+#include "misc.h"
209+
210+/*
211+ * Returns a dynamically allocated, '\0'-terminated buffer
212+ * containing an appropriate pathname, or NULL if an error
213+ * occurs. Caller must free the returned result with free(3).
214+ */
215+__attribute__((__malloc__))
216+char *
217+generic_make_pathname(const char *base, const char *leaf)
218+{
219+ size_t size;
220+ char *path;
221+ int len;
222+
223+ size = strlen(base) + strlen(leaf) + 2;
224+ if (size > PATH_MAX)
225+ return NULL;
226+
227+ path = malloc(size);
228+ if (path == NULL)
229+ return NULL;
230+
231+ len = snprintf(path, size, "%s/%s", base, leaf);
232+ if ((len < 0) || ((size_t)len >= size)) {
233+ free(path);
234+ return NULL;
235+ }
236+
237+ return path;
238+}
239+
240+
241+/**
242+ * generic_setup_basedir - set up basedir
243+ * @progname: C string containing name of program, for error messages
244+ * @parentdir: C string containing pathname to on-disk state, or NULL
245+ * @base: character buffer to contain the basedir that is set up
246+ * @baselen: size of @base in bytes
247+ *
248+ * This runs before logging is set up, so error messages are directed
249+ * to stderr.
250+ *
251+ * Returns true and sets up our basedir, if @parentdir was valid
252+ * and usable; otherwise false is returned.
253+ */
254+_Bool
255+generic_setup_basedir(const char *progname, const char *parentdir, char *base,
256+ const size_t baselen)
257+{
258+ static char buf[PATH_MAX];
259+ struct stat st;
260+ char *path;
261+
262+ /* First: test length of name and whether it exists */
263+ if ((strlen(parentdir) >= baselen) || (strlen(parentdir) >= PATH_MAX)) {
264+ (void)fprintf(stderr, "%s: Directory name too long: %s",
265+ progname, parentdir);
266+ return false;
267+ }
268+ if (lstat(parentdir, &st) == -1) {
269+ (void)fprintf(stderr, "%s: Failed to stat %s: %s",
270+ progname, parentdir, strerror(errno));
271+ return false;
272+ }
273+
274+ /* Ensure we have a clean directory pathname */
275+ strncpy(buf, parentdir, sizeof(buf)-1);
276+ path = dirname(buf);
277+ if (*path == '.') {
278+ (void)fprintf(stderr, "%s: Unusable directory %s",
279+ progname, parentdir);
280+ return false;
281+ }
282+
283+ xlog(D_CALL, "Using %s as the state directory", parentdir);
284+ strcpy(base, parentdir);
285+ return true;
286+}
287diff --git a/support/nsm/Makefile.am b/support/nsm/Makefile.am
288index 8f5874e..68f1a46 100644
289--- a/support/nsm/Makefile.am
290+++ b/support/nsm/Makefile.am
291@@ -10,7 +10,7 @@ GENFILES = $(GENFILES_CLNT) $(GENFILES_SVC) $(GENFILES_XDR) $(GENFILES_H)
292 EXTRA_DIST = sm_inter.x
293
294 noinst_LIBRARIES = libnsm.a
295-libnsm_a_SOURCES = $(GENFILES) file.c rpc.c
296+libnsm_a_SOURCES = $(GENFILES) ../misc/misc.c file.c rpc.c
297
298 BUILT_SOURCES = $(GENFILES)
299
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-reexport.h-Include-unistd.h-to-compile-with-musl.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-reexport.h-Include-unistd.h-to-compile-with-musl.patch
deleted file mode 100644
index 57d4660571..0000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-reexport.h-Include-unistd.h-to-compile-with-musl.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1From 45597a58e98f351b18db8444292b1cf6dd0cd810 Mon Sep 17 00:00:00 2001
2From: Robert Yang <liezhi.yang@windriver.com>
3Date: Sat, 9 Dec 2023 23:34:08 -0800
4Subject: [PATCH] reexport.h: Include unistd.h to compile with musl
5
6Fixed error when compile with musl
7reexport.c: In function 'reexpdb_init':
8reexport.c:62:17: error: implicit declaration of function 'sleep' [-Werror=implicit-function-declaration]
9 62 | sleep(1);
10
11
12Upstream-Status: Submitted [https://marc.info/?l=linux-nfs&m=170254661824522&w=2]
13
14Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
15---
16 support/reexport/reexport.h | 1 +
17 1 files changed, 1 insertions(+)
18
19diff --git a/support/reexport/reexport.h b/support/reexport/reexport.h
20index 85fd59c..02f8684 100644
21--- a/support/reexport/reexport.h
22+++ b/support/reexport/reexport.h
23@@ -1,6 +1,8 @@
24 #ifndef REEXPORT_H
25 #define REEXPORT_H
26
27+#include <unistd.h>
28+
29 #include "nfslib.h"
30
31 enum {
32--
332.42.0
34
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-tools-locktest-Use-intmax_t-to-print-off_t.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-tools-locktest-Use-intmax_t-to-print-off_t.patch
deleted file mode 100644
index 7d903e04bc..0000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-tools-locktest-Use-intmax_t-to-print-off_t.patch
+++ /dev/null
@@ -1,53 +0,0 @@
1From e2e9251dbeb452f5382179023d8ae18b511167a1 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 25 Jul 2023 23:47:08 -0700
4Subject: [PATCH] tools/locktest: Use intmax_t to print off_t
5
6off_t could be 64bit on 32bit architectures which means using %z printf
7modifier is not enough to print it and compiler will complain about
8format mismatch
9
10Fixes
11| testlk.c:84:66: error: format '%zd' expects argument of type 'signed size_t', but argument 4 has type '__off64_t' {aka 'long long int'} [-Werror=format=]
12| 84 | printf("%s: conflicting lock by %d on (%zd;%zd)\n",
13| | ~~^
14| | |
15| | int
16| | %lld
17| 85 | fname, fl.l_pid, fl.l_start, fl.l_len);
18| | ~~~~~~~~~~
19| | |
20| | __off64_t {aka long long int}
21
22Upstream-Status: Submitted [https://marc.info/?l=linux-nfs&m=169035457128067&w=2]
23Signed-off-by: Khem Raj <raj.khem@gmail.com>
24---
25 tools/locktest/testlk.c | 5 +++--
26 1 file changed, 3 insertions(+), 2 deletions(-)
27
28diff --git a/tools/locktest/testlk.c b/tools/locktest/testlk.c
29index ea51f788..9d4c88c4 100644
30--- a/tools/locktest/testlk.c
31+++ b/tools/locktest/testlk.c
32@@ -2,6 +2,7 @@
33 #include <config.h>
34 #endif
35
36+#include <stdint.h>
37 #include <stdlib.h>
38 #include <stdio.h>
39 #include <unistd.h>
40@@ -81,8 +82,8 @@ main(int argc, char **argv)
41 if (fl.l_type == F_UNLCK) {
42 printf("%s: no conflicting lock\n", fname);
43 } else {
44- printf("%s: conflicting lock by %d on (%zd;%zd)\n",
45- fname, fl.l_pid, fl.l_start, fl.l_len);
46+ printf("%s: conflicting lock by %d on (%jd;%jd)\n",
47+ fname, fl.l_pid, (intmax_t)fl.l_start, (intmax_t)fl.l_len);
48 }
49 return 0;
50 }
51--
522.41.0
53
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0004-Use-nogroup-for-nobody-group.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0004-Use-nogroup-for-nobody-group.patch
new file mode 100644
index 0000000000..bbf44d5977
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/0004-Use-nogroup-for-nobody-group.patch
@@ -0,0 +1,38 @@
1From 001913c5eb0aad933a93ee966252905cd46d776b Mon Sep 17 00:00:00 2001
2From: Daniel McGregor <daniel.mcgregor@vecima.com>
3Date: Tue, 6 Jun 2023 16:07:53 -0600
4Subject: [PATCH] Use "nogroup" for nobody group
5
6Upstream-Status: Inappropriate [oe-core specific, configuration]
7Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
8---
9 support/nfsidmap/idmapd.conf | 2 +-
10 utils/idmapd/idmapd.c | 2 +-
11 2 files changed, 2 insertions(+), 2 deletions(-)
12
13diff --git a/support/nfsidmap/idmapd.conf b/support/nfsidmap/idmapd.conf
14index 2a2f79a1..e6f3724f 100644
15--- a/support/nfsidmap/idmapd.conf
16+++ b/support/nfsidmap/idmapd.conf
17@@ -41,7 +41,7 @@
18 [Mapping]
19
20 #Nobody-User = nobody
21-#Nobody-Group = nobody
22+#Nobody-Group = nogroup
23
24 [Translation]
25
26diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c
27index cd9a965f..3be805e9 100644
28--- a/utils/idmapd/idmapd.c
29+++ b/utils/idmapd/idmapd.c
30@@ -89,7 +89,7 @@
31 #endif
32
33 #ifndef NFS4NOBODY_GROUP
34-#define NFS4NOBODY_GROUP "nobody"
35+#define NFS4NOBODY_GROUP "nogroup"
36 #endif
37
38 /* From Niels */
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-find-OE-provided-Kerberos.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-find-OE-provided-Kerberos.patch
new file mode 100644
index 0000000000..3241e8e859
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-find-OE-provided-Kerberos.patch
@@ -0,0 +1,42 @@
1From a2af266f013722a64c5d04e0fe097cd711393a53 Mon Sep 17 00:00:00 2001
2From: Daniel McGregor <daniel.mcgregor@vecima.com>
3Date: Wed, 8 Nov 2023 16:24:20 -0600
4Subject: [PATCH] find OE provided Kerberos
5
6Upstream-Status: Inappropriate [oe-core specific]
7Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
8---
9 aclocal/kerberos5.m4 | 6 ++++--
10 1 file changed, 4 insertions(+), 2 deletions(-)
11
12diff --git a/aclocal/kerberos5.m4 b/aclocal/kerberos5.m4
13index f96f0fd4..ad85fdf2 100644
14--- a/aclocal/kerberos5.m4
15+++ b/aclocal/kerberos5.m4
16@@ -22,8 +22,8 @@ AC_DEFUN([AC_KERBEROS_V5],[
17 dnl This ugly hack brought on by the split installation of
18 dnl MIT Kerberos on Fedora Core 1
19 K5CONFIG=""
20- if test -f $dir/bin/krb5-config; then
21- K5CONFIG=$dir/bin/krb5-config
22+ if test -f $dir/bin/crossscripts/krb5-config; then
23+ K5CONFIG=$dir/bin/crossscripts/krb5-config
24 elif test -f "/usr/kerberos/bin/krb5-config"; then
25 K5CONFIG="/usr/kerberos/bin/krb5-config"
26 elif test -f "/usr/lib/mit/bin/krb5-config"; then
27@@ -72,6 +72,7 @@ AC_DEFUN([AC_KERBEROS_V5],[
28 AC_MSG_RESULT($KRBDIR)
29
30 dnl Check if -rpath=$(KRBDIR)/lib is needed
31+ if false; then
32 echo "The current KRBDIR is $KRBDIR"
33 if test "$KRBDIR/lib" = "/lib" -o "$KRBDIR/lib" = "/usr/lib" \
34 -o "$KRBDIR/lib" = "//lib" -o "$KRBDIR/lib" = "/usr//lib" ; then
35@@ -81,6 +82,7 @@ AC_DEFUN([AC_KERBEROS_V5],[
36 else
37 KRBLDFLAGS="-Wl,-rpath=$KRBDIR/lib"
38 fi
39+ fi
40
41 dnl Now check for functions within gssapi library
42 AC_CHECK_LIB($gssapi_lib, gss_krb5_export_lucid_sec_context,
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch
deleted file mode 100644
index f13d7b380c..0000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1From 398fed3bb0350cb1229e54e7020ae0e044c206d1 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Ulrich=20=C3=96lmann?= <u.oelmann@pengutronix.de>
3Date: Wed, 17 Feb 2016 08:33:45 +0100
4Subject: bugfix: adjust statd service name
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Upstream uses 'rpc-statd.service' and Yocto introduced 'nfs-statd.service'
10instead but forgot to update the mount.nfs helper 'start-statd' accordingly.
11
12Upstream-Status: Inappropriate [other]
13
14Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
15
16Rebase it.
17
18Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
19---
20 utils/statd/start-statd | 4 ++--
21 1 file changed, 2 insertions(+), 2 deletions(-)
22
23diff --git a/utils/statd/start-statd b/utils/statd/start-statd
24index af5c950..df9b9be 100755
25--- a/utils/statd/start-statd
26+++ b/utils/statd/start-statd
27@@ -28,10 +28,10 @@ fi
28 # First try systemd if it's installed.
29 if [ -d /run/systemd/system ]; then
30 # Quit only if the call worked.
31- if systemctl start rpc-statd.service; then
32+ if systemctl start nfs-statd.service; then
33 # Ensure systemd knows not to stop rpc.statd or its dependencies
34 # on 'systemctl isolate ..'
35- systemctl add-wants --runtime remote-fs.target rpc-statd.service
36+ systemctl add-wants --runtime remote-fs.target nfs-statd.service
37 exit 0
38 fi
39 fi
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-warnings.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-warnings.patch
deleted file mode 100644
index fde99b599e..0000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-warnings.patch
+++ /dev/null
@@ -1,36 +0,0 @@
1From 1ab0c326405c6daa06f1a7eb4b0b60bf4e0584c2 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 31 Dec 2019 08:15:34 -0800
4Subject: [PATCH] Detect warning options during configure
5
6Certain options maybe compiler specific therefore its better
7to detect them before use.
8
9nfs_error copies the format string and appends newline to it
10but compiler can forget that it was format string since its not
11same fmt string that was passed. Ignore the warning
12
13Wdiscarded-qualifiers is gcc specific and this is no longer needed
14
15Upstream-Status: Pending
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17
18---
19 support/nfs/xcommon.c | 3 +++
20 1 file changed, 3 insertions(+)
21
22diff --git a/support/nfs/xcommon.c b/support/nfs/xcommon.c
23index 3989f0b..e080423 100644
24--- a/support/nfs/xcommon.c
25+++ b/support/nfs/xcommon.c
26@@ -98,7 +98,10 @@ nfs_error (const char *fmt, ...) {
27
28 fmt2 = xstrconcat2 (fmt, "\n");
29 va_start (args, fmt);
30+#pragma GCC diagnostic push
31+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
32 vfprintf (stderr, fmt2, args);
33+#pragma GCC diagnostic pop
34 va_end (args);
35 free (fmt2);
36 }
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service
deleted file mode 100644
index ebfe64b9ce..0000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service
+++ /dev/null
@@ -1,18 +0,0 @@
1[Unit]
2Description=NFS Mount Daemon
3DefaultDependencies=no
4After=rpcbind.socket
5Requires=proc-fs-nfsd.mount
6After=proc-fs-nfsd.mount
7After=network.target local-fs.target
8BindsTo=nfs-server.service
9ConditionPathExists=@SYSCONFDIR@/exports
10
11[Service]
12EnvironmentFile=-@SYSCONFDIR@/nfs-utils.conf
13ExecStart=@SBINDIR@/rpc.mountd -F $MOUNTD_OPTS
14LimitNOFILE=@HIGH_RLIMIT_NOFILE@
15StateDirectory=nfs
16
17[Install]
18WantedBy=multi-user.target
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service
deleted file mode 100644
index 15ceee04d0..0000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service
+++ /dev/null
@@ -1,24 +0,0 @@
1[Unit]
2Description=NFS server and services
3DefaultDependencies=no
4Requires=network.target proc-fs-nfsd.mount
5Requires=nfs-mountd.service
6Wants=rpcbind.service
7After=local-fs.target
8After=network.target proc-fs-nfsd.mount rpcbind.service nfs-mountd.service
9ConditionPathExists=@SYSCONFDIR@/exports
10
11[Service]
12Type=oneshot
13EnvironmentFile=-@SYSCONFDIR@/nfs-utils.conf
14ExecStartPre=@SBINDIR@/exportfs -r
15ExecStart=@SBINDIR@/rpc.nfsd $NFSD_OPTS $NFSD_COUNT
16ExecStop=@SBINDIR@/rpc.nfsd 0
17ExecStopPost=@SBINDIR@/exportfs -au
18ExecStopPost=@SBINDIR@/exportfs -f
19ExecReload=@SBINDIR@/exportfs -r
20RemainAfterExit=yes
21StateDirectory=nfs
22
23[Install]
24WantedBy=multi-user.target
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service
deleted file mode 100644
index b519194121..0000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service
+++ /dev/null
@@ -1,16 +0,0 @@
1[Unit]
2Description=NFS status monitor for NFSv2/3 locking.
3DefaultDependencies=no
4Conflicts=umount.target
5Requires=nss-lookup.target rpcbind.service
6After=network.target nss-lookup.target rpcbind.service
7ConditionPathExists=@SYSCONFDIR@/exports
8
9[Service]
10EnvironmentFile=-@SYSCONFDIR@/nfs-utils.conf
11ExecStart=@SBINDIR@/rpc.statd -F $STATD_OPTS
12LimitNOFILE=@HIGH_RLIMIT_NOFILE@
13StateDirectory=nfs
14
15[Install]
16WantedBy=multi-user.target
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-debianize-start-statd.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-debianize-start-statd.patch
deleted file mode 100644
index ede0dcefc4..0000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-debianize-start-statd.patch
+++ /dev/null
@@ -1,42 +0,0 @@
1[PATCH] nfs-utils: debianize start-statd
2
3Upstream-Status: Pending
4
5make start-statd command to use nfscommon configure, too.
6
7Signed-off-by: Henrik Riomar <henrik.riomar@ericsson.com>
8Signed-off-by: Li Wang <li.wang@windriver.com>
9Signed-off-by: Roy Li <rongqing.li@windriver.com>
10Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
11---
12 utils/statd/start-statd | 10 +++++++++-
13 1 file changed, 9 insertions(+), 1 deletion(-)
14
15diff --git a/utils/statd/start-statd b/utils/statd/start-statd
16index 2fd6039..f591b34 100755
17--- a/utils/statd/start-statd
18+++ b/utils/statd/start-statd
19@@ -17,6 +17,14 @@ then
20 # statd already running - must have been slow to respond.
21 exit 0
22 fi
23+
24+# Read config
25+DEFAULTFILE=/etc/default/nfs-common
26+NEED_IDMAPD=
27+if [ -f $DEFAULTFILE ]; then
28+ . $DEFAULTFILE
29+fi
30+
31 # First try systemd if it's installed.
32 if [ -d /run/systemd/system ]; then
33 # Quit only if the call worked.
34@@ -25,4 +33,4 @@ fi
35
36 cd /
37 # Fall back to launching it ourselves.
38-exec rpc.statd --no-notify
39+exec rpc.statd --no-notify $STATDOPTS
40--
412.6.6
42
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils.conf b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils.conf
deleted file mode 100644
index a1007a7fbf..0000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils.conf
+++ /dev/null
@@ -1,35 +0,0 @@
1# Parameters to be passed to nfs-utils (clients & server) service files.
2#
3
4# Options to pass to rpc.nfsd.
5NFSD_OPTS=""
6
7# Number of servers to start up; the default is 8 servers.
8NFSD_COUNT=""
9
10# Where to mount nfsd filesystem; the default is "/proc/fs/nfsd".
11PROCNFSD_MOUNTPOINT=""
12
13# Options used to mount nfsd filesystem; the default is "rw,nodev,noexec,nosuid".
14PROCNFSD_MOUNTOPTS=""
15
16# Options for rpc.mountd.
17# If you have a port-based firewall, you might want to set up
18# a fixed port here using the --port option.
19MOUNTD_OPTS=""
20
21# Parameters to be passed to nfs-common (nfs clients & server) init script.
22#
23
24# If you do not set values for the NEED_ options, they will be attempted
25# autodetected; this should be sufficient for most people. Valid alternatives
26# for the NEED_ options are "yes" and "no".
27
28# Do you want to start the statd daemon? It is not needed for NFSv4.
29NEED_STATD=""
30
31# Options to pass to rpc.statd.
32# N.B. statd normally runs on both client and server, and run-time
33# options should be specified accordingly.
34# STATD_OPTS="-p 32765 -o 32766"
35STATD_OPTS=""
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon
index 992267d5a1..9b7fd17b41 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon
@@ -1,63 +1,279 @@
1#!/bin/sh 1#!/bin/sh
2
2### BEGIN INIT INFO 3### BEGIN INIT INFO
3# Provides: nfs-common 4# Provides: nfs-common
4# Required-Start: $portmap hwclock 5# Required-Start: $portmap $time
5# Required-Stop: $portmap hwclock 6# Required-Stop: $portmap $time
6# Default-Start: 2 3 4 5 7# Default-Start: S
7# Default-Stop: 0 1 6 8# Default-Stop: 0 1 6
8# Short-Description: NFS support for both client and server 9# Short-Description: NFS support files common to client and server
9# Description: NFS is a popular protocol for file sharing across 10# Description: NFS is a popular protocol for file sharing across
10# TCP/IP networks. This service provides various 11# TCP/IP networks. This service provides various
11# support functions for NFS mounts. 12# support functions for NFS mounts.
12### END INIT INFO 13### END INIT INFO
13#
14# Startup script for nfs-utils
15#
16#
17# Location of executables:
18 14
19# Source function library. 15# What is this?
16DESC="NFS common utilities"
17
18# Read config
19DEFAULTFILE=/etc/default/nfs-utils
20NEED_STATD=
21NEED_GSSD=
22if nfsconf --isset general pipefs-directory; then
23 PIPEFS_MOUNTPOINT=$(nfsconf --get general pipefs-directory)
24else
25 PIPEFS_MOUNTPOINT=/var/lib/nfs/rpc_pipefs
26fi
27if [ -f $DEFAULTFILE ]; then
28 . $DEFAULTFILE
29fi
30
20. /etc/init.d/functions 31. /etc/init.d/functions
21 32
22test -x "$NFS_STATD" || NFS_STATD=/usr/sbin/rpc.statd 33# Exit if required binaries are missing.
23test -z "$STATD_PID" && STATD_PID=/var/run/rpc.statd.pid 34[ -x /usr/sbin/rpc.statd ] || exit 0
35
24# 36#
25# The default state directory is /var/lib/nfs 37# Parse the fstab file, and determine whether we need gssd. (The
26test -n "$NFS_STATEDIR" || NFS_STATEDIR=/var/lib/nfs 38# /etc/defaults settings, if any, will override our autodetection.) This code
39# is partially adapted from the mountnfs.sh script in the sysvinit package.
27# 40#
28#---------------------------------------------------------------------- 41AUTO_NEED_GSSD=no
29# Startup and shutdown functions. 42
30# Actual startup/shutdown is at the end of this file. 43if [ -f /etc/fstab ]; then
31 44 exec 9<&0 </etc/fstab
32start_statd(){ 45
33 echo -n "starting statd: " 46 while read -r DEV _ _ OPTS _
34 start-stop-daemon --start --exec "$NFS_STATD" --pidfile "$STATD_PID" 47 do
35 echo done 48 case $DEV in
49 ''|\#*)
50 continue
51 ;;
52 esac
53 OLDIFS="$IFS"
54 IFS=","
55 for OPT in $OPTS; do
56 case "$OPT" in
57 sec=krb5|sec=krb5i|sec=krb5p)
58 AUTO_NEED_GSSD=yes
59 ;;
60 esac
61 done
62 IFS="$OLDIFS"
63 done
64
65 exec 0<&9 9<&-
66fi
67
68case "$NEED_STATD" in
69 yes|no)
70 ;;
71 *)
72 NEED_STATD=yes
73 ;;
74esac
75
76case "$NEED_IDMAPD" in
77 yes|no)
78 ;;
79 *)
80 NEED_IDMAPD=yes
81 ;;
82esac
83
84case "$NEED_GSSD" in
85 yes|no)
86 ;;
87 *)
88 NEED_GSSD=$AUTO_NEED_GSSD
89 ;;
90esac
91
92do_modprobe() {
93 if [ -x /sbin/modprobe ] && [ -f /proc/modules ]
94 then
95 modprobe -q "$1" || true
96 fi
97}
98
99do_mount() {
100 if ! grep -E -qs "$1\$" /proc/filesystems
101 then
102 return 1
103 fi
104 if ! mountpoint -q "$2"
105 then
106 mount -t "$1" "$1" "$2"
107 return
108 fi
109 return 0
36} 110}
37stop_statd(){ 111
38 echo -n 'stopping statd: ' 112do_umount() {
39 start-stop-daemon --stop --quiet --signal 1 --pidfile "$STATD_PID" 113 if mountpoint -q "$1"
40 echo done 114 then
115 umount "$1"
116 fi
117 return 0
41} 118}
42#---------------------------------------------------------------------- 119
43# 120# See how we were called.
44# supported options:
45# start
46# stop
47# restart: stops and starts mountd
48#FIXME: need to create the /var/lib/nfs/... directories
49case "$1" in 121case "$1" in
50 start) 122 start)
51 start_statd;; 123 echo -n "Starting $DESC ..."
124
125 if [ "$NEED_STATD" = yes ]; then
126 echo -n " statd"
127
128 # See if rpcbind is running
129 if [ -x /usr/sbin/rpcinfo ]; then
130 /usr/sbin/rpcinfo -p >/dev/null 2>&1
131 RET=$?
132 if [ $RET != 0 ]; then
133 echo
134 echo "Not starting: portmapper is not running"
135 exit 0
136 fi
137 fi
138 start-stop-daemon --start --oknodo --quiet \
139 --pidfile /run/rpc.statd.pid \
140 --exec /usr/sbin/rpc.statd
141 RET=$?
142 if [ $RET != 0 ]; then
143 echo " failed" $RET
144 exit $RET
145 else
146 if [ -d /run/sendsigs.omit.d ]; then
147 rm -f /run/sendsigs.omit.d/statd
148 ln -s /run/rpc.statd.pid /run/sendsigs.omit.d/statd
149 fi
150 fi
151 fi
152
153 # Don't start idmapd and gssd if we don't have them (say, if /usr is not
154 # up yet).
155 [ -x /usr/sbin/rpc.idmapd ] || NEED_IDMAPD=no
156 [ -x /usr/sbin/rpc.gssd ] || NEED_GSSD=no
157
158 if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]
159 then
160 do_modprobe sunrpc
161 do_modprobe nfs
162 do_modprobe nfsd
163 mkdir -p "$PIPEFS_MOUNTPOINT"
164 if do_mount rpc_pipefs $PIPEFS_MOUNTPOINT
165 then
166 if [ "$NEED_IDMAPD" = yes ]
167 then
168 ecno -n " idmapd"
169 start-stop-daemon --start --oknodo --quiet \
170 --exec /usr/sbin/rpc.idmapd
171 RET=$?
172 if [ $RET != 0 ]; then
173 echo " failed" $RET
174 exit $RET
175 fi
176 fi
177 if [ "$NEED_GSSD" = yes ]
178 then
179 do_modprobe rpcsec_gss_krb5
180 echo -n " gssd"
181
182 start-stop-daemon --start --oknodo --quiet \
183 --exec /usr/sbin/rpc.gssd
184 RET=$?
185 if [ $RET != 0 ]; then
186 echo " failed" $RET
187 exit $RET
188 fi
189 fi
190 fi
191 fi
192 echo " done"
193 ;;
194
52 stop) 195 stop)
53 stop_statd;; 196 echo -n "Stopping $DESC ..."
197
198 if [ "$NEED_GSSD" = yes ]
199 then
200 echo -n " gssd"
201 start-stop-daemon --stop --oknodo --quiet \
202 --name rpc.gssd
203 RET=$?
204 if [ $RET != 0 ]; then
205 echo " failed" $RET
206 exit $RET
207 fi
208 fi
209 if [ "$NEED_IDMAPD" = yes ]
210 then
211 echo -n " idmapd"
212 start-stop-daemon --stop --oknodo --quiet \
213 --name rpc.idmapd
214 RET=$?
215 if [ $RET != 0 ]; then
216 echo " failed" $RET
217 exit $RET
218 fi
219 fi
220 if [ "$NEED_STATD" = yes ]
221 then
222 echo -n " statd"
223 start-stop-daemon --stop --oknodo --quiet \
224 --name rpc.statd
225 RET=$?
226 if [ $RET != 0 ]; then
227 echo " failed" $RET
228 exit $RET
229 fi
230 fi
231 do_umount $PIPEFS_MOUNTPOINT 2>/dev/null || true
232 echo " done"
233 ;;
234
54 status) 235 status)
55 status $NFS_STATD 236 if [ "$NEED_STATD" = yes ]
56 exit $?;; 237 then
57 restart) 238 if ! pidof rpc.statd >/dev/null
239 then
240 echo "rpc.statd not running"
241 exit 3
242 fi
243 fi
244
245 if [ "$NEED_GSSD" = yes ]
246 then
247 if ! pidof rpc.gssd >/dev/null
248 then
249 echo "rpc.gssd not running"
250 exit 3
251 fi
252 fi
253
254 if [ "$NEED_IDMAPD" = yes ]
255 then
256 if ! pidof rpc.idmapd >/dev/null
257 then
258 echo "rpc.idmapd not running"
259 exit 3
260 fi
261 fi
262
263 echo "all daemons running"
264 exit 0
265 ;;
266
267 restart | force-reload)
58 $0 stop 268 $0 stop
59 $0 start;; 269 sleep 1
270 $0 start
271 ;;
272
60 *) 273 *)
61 echo "Usage: $0 {start|stop|status|restart}" 274 echo "Usage: nfscommon {start|stop|status|restart}"
62 exit 1;; 275 exit 1
276 ;;
63esac 277esac
278
279exit 0
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver
index 0f5747cc6d..99ec280b35 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver
@@ -1,8 +1,10 @@
1#!/bin/sh 1#!/bin/sh
2
2### BEGIN INIT INFO 3### BEGIN INIT INFO
3# Provides: nfs-kernel-server 4# Provides: nfs-kernel-server
4# Required-Start: $remote_fs nfs-common $portmap hwclock 5# Required-Start: $remote_fs nfs-common $portmap $time
5# Required-Stop: $remote_fs nfs-common $portmap hwclock 6# Required-Stop: $remote_fs nfs-common $portmap $time
7# Should-Start: $named
6# Default-Start: 2 3 4 5 8# Default-Start: 2 3 4 5
7# Default-Stop: 0 1 6 9# Default-Stop: 0 1 6
8# Short-Description: Kernel NFS server support 10# Short-Description: Kernel NFS server support
@@ -19,20 +21,25 @@
19# 21#
20# The environment variable NFS_SERVERS may be set in /etc/default/nfsd 22# The environment variable NFS_SERVERS may be set in /etc/default/nfsd
21# Other control variables may be overridden here too 23# Other control variables may be overridden here too
22test -r /etc/default/nfsd && . /etc/default/nfsd 24test -r /etc/default/nfs-utils && . /etc/default/nfs-utils
23# 25#
24# Location of executables: 26# Location of executables:
25test -x "$NFS_MOUNTD" || NFS_MOUNTD=/usr/sbin/rpc.mountd 27test -x "$NFS_MOUNTD" || NFS_MOUNTD=/usr/sbin/rpc.mountd
26test -x "$NFS_NFSD" || NFS_NFSD=/usr/sbin/rpc.nfsd 28test -x "$NFS_NFSD" || NFS_NFSD=/usr/sbin/rpc.nfsd
29test -x "$NFS_SVCGSSD" || NFS_SVCGSSD=/usr/sbin/rpc.svcgssd
27# 30#
28# The user mode program must also exist (it just starts the kernel 31# The user mode program must also exist (it just starts the kernel
29# threads using the kernel module code). 32# threads using the kernel module code).
30test -x "$NFS_MOUNTD" || exit 0 33test -x "$NFS_MOUNTD" || exit 0
31test -x "$NFS_NFSD" || exit 0 34test -x "$NFS_NFSD" || exit 0
32# 35
33# Default is 8 threads, value is settable between 1 and the truely 36case "$NEED_SVCGSSD" in
34# ridiculous 99 37 yes|no)
35test "$NFS_SERVERS" != "" && test "$NFS_SERVERS" -gt 0 && test "$NFS_SERVERS" -lt 100 || NFS_SERVERS=8 38 ;;
39 *)
40 NEED_SVCGSSD=no
41 ;;
42esac
36# 43#
37#---------------------------------------------------------------------- 44#----------------------------------------------------------------------
38# Startup and shutdown functions. 45# Startup and shutdown functions.
@@ -49,6 +56,22 @@ stop_mountd(){
49 echo done 56 echo done
50} 57}
51# 58#
59#svcgssd
60start_svcgssd(){
61 modprobe -q rpcsec_gss_krb5
62 if [ "$NEED_SVCGSSD" = "yes" ]; then
63 echo -n "starting svcgssd: "
64 start-stop-daemon --start --exec "$NFS_SVCGSSD" -- "$@"
65 echo done
66 fi
67}
68stop_svcgssd(){
69 if [ "$NEED_SVCGSSD" = "yes" ]; then
70 echo -n "stop svcgssd: "
71 start-stop-daemon --stop --exec "$NFS_SVCGSSD"
72 echo done
73 fi
74}
52#nfsd 75#nfsd
53start_nfsd(){ 76start_nfsd(){
54 modprobe -q nfsd 77 modprobe -q nfsd
@@ -62,38 +85,18 @@ start_nfsd(){
62 exit 1 85 exit 1
63 } 86 }
64 87
65 echo -n "starting $1 nfsd kernel threads: " 88 echo -n "starting nfsd: "
66 start-stop-daemon --start --exec "$NFS_NFSD" -- "$@" 89 start-stop-daemon --start --exec "$NFS_NFSD" -- "$@"
67 echo done 90 echo done
68} 91}
69delay_nfsd(){
70 for delay in 0 1 2 3 4 5 6 7 8 9
71 do
72 if pidof nfsd >/dev/null
73 then
74 echo -n .
75 sleep 1
76 else
77 return 0
78 fi
79 done
80 return 1
81}
82stop_nfsd(){ 92stop_nfsd(){
83 # WARNING: this kills any process with the executable
84 # name 'nfsd'.
85 echo -n 'stopping nfsd: ' 93 echo -n 'stopping nfsd: '
86 start-stop-daemon --stop --quiet --signal 1 --name nfsd 94 $NFS_NFSD 0
87 if delay_nfsd || { 95 if pidof nfsd
88 echo failed
89 echo ' using signal 9: '
90 start-stop-daemon --stop --quiet --signal 9 --name nfsd
91 delay_nfsd
92 }
93 then 96 then
94 echo done
95 else
96 echo failed 97 echo failed
98 else
99 echo done
97 fi 100 fi
98} 101}
99 102
@@ -108,11 +111,13 @@ stop_nfsd(){
108case "$1" in 111case "$1" in
109 start) 112 start)
110 test -r /etc/exports && exportfs -r 113 test -r /etc/exports && exportfs -r
111 start_nfsd "$NFS_SERVERS" 114 start_nfsd
115 start_svcgssd
112 start_mountd 116 start_mountd
113 test -r /etc/exports && exportfs -a;; 117 test -r /etc/exports && exportfs -a;;
114 stop) exportfs -ua 118 stop) exportfs -ua
115 stop_mountd 119 stop_mountd
120 stop_svcgssd
116 stop_nfsd;; 121 stop_nfsd;;
117 status) 122 status)
118 status /usr/sbin/rpc.mountd 123 status /usr/sbin/rpc.mountd
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/proc-fs-nfsd.mount b/meta/recipes-connectivity/nfs-utils/nfs-utils/proc-fs-nfsd.mount
deleted file mode 100644
index 630801b375..0000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/proc-fs-nfsd.mount
+++ /dev/null
@@ -1,8 +0,0 @@
1[Unit]
2Description=NFSD configuration filesystem
3After=systemd-modules-load.service
4
5[Mount]
6What=nfsd
7Where=/proc/fs/nfsd
8Type=nfsd
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.4.bb b/meta/recipes-connectivity/nfs-utils/nfs-utils_2.8.3.bb
index 2f2644f9a8..9668ac0e86 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.4.bb
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_2.8.3.bb
@@ -8,7 +8,7 @@ LICENSE = "MIT & GPL-2.0-or-later & BSD-3-Clause"
8LIC_FILES_CHKSUM = "file://COPYING;md5=95f3a93a5c3c7888de623b46ea085a84" 8LIC_FILES_CHKSUM = "file://COPYING;md5=95f3a93a5c3c7888de623b46ea085a84"
9 9
10# util-linux for libblkid 10# util-linux for libblkid
11DEPENDS = "libcap libevent util-linux sqlite3 libtirpc" 11DEPENDS = "libcap libevent util-linux sqlite3 libtirpc libxml2"
12RDEPENDS:${PN} = "${PN}-client" 12RDEPENDS:${PN} = "${PN}-client"
13RRECOMMENDS:${PN} = "kernel-module-nfsd" 13RRECOMMENDS:${PN} = "kernel-module-nfsd"
14 14
@@ -21,20 +21,12 @@ USERADD_PARAM:${PN}-client = "--system --home-dir /var/lib/nfs \
21SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.xz \ 21SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.xz \
22 file://nfsserver \ 22 file://nfsserver \
23 file://nfscommon \ 23 file://nfscommon \
24 file://nfs-utils.conf \
25 file://nfs-server.service \
26 file://nfs-mountd.service \
27 file://nfs-statd.service \
28 file://proc-fs-nfsd.mount \
29 file://nfs-utils-debianize-start-statd.patch \
30 file://bugfix-adjust-statd-service-name.patch \
31 file://0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch \
32 file://clang-warnings.patch \
33 file://0001-locktest-Makefile.am-Do-not-use-build-flags.patch \ 24 file://0001-locktest-Makefile.am-Do-not-use-build-flags.patch \
34 file://0001-tools-locktest-Use-intmax_t-to-print-off_t.patch \ 25 file://0004-Use-nogroup-for-nobody-group.patch \
35 file://0001-reexport.h-Include-unistd.h-to-compile-with-musl.patch \ 26 file://0005-find-OE-provided-Kerberos.patch \
36 " 27 "
37SRC_URI[sha256sum] = "01b3b0fb9c7d0bbabf5114c736542030748c788ec2fd9734744201e9b0a1119d" 28
29SRC_URI[sha256sum] = "11e7c5847a8423a72931c865bd9296e7fd56ff270a795a849183900961711725"
38 30
39# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will 31# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will
40# pull in the remainder of the dependencies. 32# pull in the remainder of the dependencies.
@@ -48,32 +40,36 @@ INITSCRIPT_PARAMS:${PN}-client = "defaults 19 21"
48inherit autotools-brokensep update-rc.d systemd pkgconfig 40inherit autotools-brokensep update-rc.d systemd pkgconfig
49 41
50SYSTEMD_PACKAGES = "${PN} ${PN}-client" 42SYSTEMD_PACKAGES = "${PN} ${PN}-client"
51SYSTEMD_SERVICE:${PN} = "nfs-server.service nfs-mountd.service" 43SYSTEMD_SERVICE:${PN} = "nfs-server.service"
52SYSTEMD_SERVICE:${PN}-client = "nfs-statd.service" 44SYSTEMD_SERVICE:${PN}-client = "nfs-client.target"
53 45
54# --enable-uuid is need for cross-compiling 46# --enable-uuid is need for cross-compiling
55EXTRA_OECONF = "--with-statduser=rpcuser \ 47EXTRA_OECONF = "--with-statduser=rpcuser \
56 --enable-mountconfig \ 48 --enable-mountconfig \
57 --enable-libmount-mount \ 49 --enable-libmount-mount \
58 --enable-uuid \ 50 --enable-uuid \
59 --disable-gss \
60 --disable-nfsdcltrack \
61 --with-statdpath=/var/lib/nfs/statd \ 51 --with-statdpath=/var/lib/nfs/statd \
52 --with-pluginpath=${libdir}/libnfsidmap \
62 --with-rpcgen=${HOSTTOOLS_DIR}/rpcgen \ 53 --with-rpcgen=${HOSTTOOLS_DIR}/rpcgen \
63 " 54 "
64 55
65LDFLAGS:append = " -lsqlite3 -levent" 56LDFLAGS += "-lsqlite3 -levent"
66 57
67PACKAGECONFIG ??= "tcp-wrappers \ 58PACKAGECONFIG ??= "tcp-wrappers \
68 ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ 59 ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} \
69" 60"
61
70PACKAGECONFIG:remove:libc-musl = "tcp-wrappers" 62PACKAGECONFIG:remove:libc-musl = "tcp-wrappers"
63#krb5 is available in meta-oe
64PACKAGECONFIG[gssapi] = "--with-krb5=${STAGING_EXECPREFIXDIR} --enable-gss --enable-svcgss,--disable-gss --disable-svcgss,krb5"
71PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers,tcp-wrappers" 65PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers,tcp-wrappers"
72PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," 66PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
73# libdevmapper is available in meta-oe 67# libdevmapper is available in meta-oe
74PACKAGECONFIG[nfsv41] = "--enable-nfsv41,--disable-nfsv41,libdevmapper,libdevmapper" 68PACKAGECONFIG[nfsv41] = "--enable-nfsv41,--disable-nfsv41,libdevmapper,libdevmapper"
75# keyutils is available in meta-oe 69# keyutils is available in meta-oe
76PACKAGECONFIG[nfsv4] = "--enable-nfsv4,--disable-nfsv4,keyutils,python3-core" 70PACKAGECONFIG[nfsv4] = "--enable-nfsv4 --enable-nfsdcltrack,--disable-nfsv4 --disable-nfsdcltrack,keyutils,python3-core"
71PACKAGECONFIG[nfsdctl] = "--enable-nfsdctl,--disable-nfsdctl,libnl readline,"
72PACKAGECONFIG[systemd] = "--with-systemd=${systemd_unitdir}/system,--without-systemd"
77 73
78PACKAGES =+ "${PN}-client ${PN}-mount ${PN}-stats ${PN}-rpcctl" 74PACKAGES =+ "${PN}-client ${PN}-mount ${PN}-stats ${PN}-rpcctl"
79 75
@@ -81,17 +77,34 @@ CONFFILES:${PN}-client += "${localstatedir}/lib/nfs/etab \
81 ${localstatedir}/lib/nfs/rmtab \ 77 ${localstatedir}/lib/nfs/rmtab \
82 ${localstatedir}/lib/nfs/xtab \ 78 ${localstatedir}/lib/nfs/xtab \
83 ${localstatedir}/lib/nfs/statd/state \ 79 ${localstatedir}/lib/nfs/statd/state \
80 ${sysconfdir}/idmapd.conf \
81 ${sysconfdir}/nfs.conf \
84 ${sysconfdir}/nfsmount.conf" 82 ${sysconfdir}/nfsmount.conf"
85 83
86FILES:${PN}-client = "${sbindir}/*statd \ 84FILES:${PN}-client = "${sbindir}/*statd \
87 ${libdir}/libnfsidmap.so.* \
88 ${sbindir}/rpc.idmapd ${sbindir}/sm-notify \ 85 ${sbindir}/rpc.idmapd ${sbindir}/sm-notify \
89 ${sbindir}/showmount ${sbindir}/nfsstat \ 86 ${sbindir}/showmount ${sbindir}/nfsstat \
87 ${sbindir}/rpc.gssd \
88 ${sbindir}/nfsconf \
89 ${libdir}/libnfsidmap.so.* \
90 ${libdir}/libnfsidmap/*.so \
91 ${libexecdir}/nfsrahead \
90 ${localstatedir}/lib/nfs \ 92 ${localstatedir}/lib/nfs \
91 ${sysconfdir}/nfs-utils.conf \ 93 ${sysconfdir}/idmapd.conf \
92 ${sysconfdir}/nfsmount.conf \
93 ${sysconfdir}/init.d/nfscommon \ 94 ${sysconfdir}/init.d/nfscommon \
94 ${systemd_system_unitdir}/nfs-statd.service" 95 ${sysconfdir}/nfs.conf \
96 ${sysconfdir}/nfsmount.conf \
97 ${systemd_system_unitdir}/auth-rpcgss-module.service \
98 ${systemd_system_unitdir}/nfs-client.target \
99 ${systemd_system_unitdir}/nfs-idmapd.service \
100 ${systemd_system_unitdir}/nfs-statd.service \
101 ${systemd_system_unitdir}/nfscommon.service \
102 ${systemd_system_unitdir}/rpc-gssd.service \
103 ${systemd_system_unitdir}/rpc-statd-notify.service \
104 ${systemd_system_unitdir}/rpc-statd.service \
105 ${systemd_system_unitdir}/rpc_pipefs.target \
106 ${systemd_system_unitdir}/var-lib-nfs-rpc_pipefs.mount \
107 ${nonarch_libdir}/udev/rules.d/*"
95RDEPENDS:${PN}-client = "${PN}-mount rpcbind" 108RDEPENDS:${PN}-client = "${PN}-mount rpcbind"
96 109
97FILES:${PN}-mount = "${base_sbindir}/*mount.nfs*" 110FILES:${PN}-mount = "${base_sbindir}/*mount.nfs*"
@@ -108,7 +121,9 @@ FILES:${PN} += "${systemd_unitdir} ${libdir}/libnfsidmap/ ${nonarch_libdir}/modp
108 121
109do_configure:prepend() { 122do_configure:prepend() {
110 sed -i -e 's,sbindir = /sbin,sbindir = ${base_sbindir},g' \ 123 sed -i -e 's,sbindir = /sbin,sbindir = ${base_sbindir},g' \
111 ${S}/utils/mount/Makefile.am 124 -e 's,udev_rulesdir = /usr/lib/udev/rules.d/,udev_rulesdir = ${nonarch_base_libdir}/udev/rules.d/,g' \
125 ${S}/utils/mount/Makefile.am ${S}/utils/nfsdcltrack/Makefile.am \
126 ${S}/systemd/Makefile.am ${S}/tools/nfsrahead/Makefile.am
112} 127}
113 128
114# Make clean needed because the package comes with 129# Make clean needed because the package comes with
@@ -122,25 +137,18 @@ HIGH_RLIMIT_NOFILE ??= "4096"
122 137
123do_install:append () { 138do_install:append () {
124 install -d ${D}${sysconfdir}/init.d 139 install -d ${D}${sysconfdir}/init.d
125 install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver 140 install -m 0755 ${UNPACKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver
126 install -m 0755 ${WORKDIR}/nfscommon ${D}${sysconfdir}/init.d/nfscommon 141 install -m 0755 ${UNPACKDIR}/nfscommon ${D}${sysconfdir}/init.d/nfscommon
127 142
128 install -m 0755 ${WORKDIR}/nfs-utils.conf ${D}${sysconfdir} 143 install -m 0644 ${S}/support/nfsidmap/idmapd.conf ${D}${sysconfdir}
129 install -m 0755 ${S}/utils/mount/nfsmount.conf ${D}${sysconfdir} 144 install -m 0644 ${S}/nfs.conf ${D}${sysconfdir}
130 145
131 install -d ${D}${systemd_system_unitdir} 146 install -d ${D}${systemd_system_unitdir}
132 install -m 0644 ${WORKDIR}/nfs-server.service ${D}${systemd_system_unitdir}/ 147 # Retain historical service name so old scripts keep working
133 install -m 0644 ${WORKDIR}/nfs-mountd.service ${D}${systemd_system_unitdir}/ 148 ln -s rpc-statd.service ${D}${systemd_system_unitdir}/nfs-statd.service
134 install -m 0644 ${WORKDIR}/nfs-statd.service ${D}${systemd_system_unitdir}/ 149 # Add compatibility symlinks for the sysvinit scripts
135 sed -i -e 's,@SBINDIR@,${sbindir},g' \ 150 ln -s nfs-server.service ${D}${systemd_system_unitdir}/nfsserver.service
136 -e 's,@SYSCONFDIR@,${sysconfdir},g' \ 151 ln -s /dev/null ${D}${systemd_system_unitdir}/nfscommon.service
137 -e 's,@HIGH_RLIMIT_NOFILE@,${HIGH_RLIMIT_NOFILE},g' \
138 ${D}${systemd_system_unitdir}/*.service
139 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
140 install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_system_unitdir}/
141 install -d ${D}${systemd_system_unitdir}/sysinit.target.wants/
142 ln -sf ../proc-fs-nfsd.mount ${D}${systemd_system_unitdir}/sysinit.target.wants/proc-fs-nfsd.mount
143 fi
144 152
145 # kernel code as of 3.8 hard-codes this path as a default 153 # kernel code as of 3.8 hard-codes this path as a default
146 install -d ${D}/var/lib/nfs/v4recovery 154 install -d ${D}/var/lib/nfs/v4recovery
@@ -148,7 +156,4 @@ do_install:append () {
148 # chown the directories and files 156 # chown the directories and files
149 chown -R rpcuser:rpcuser ${D}${localstatedir}/lib/nfs/statd 157 chown -R rpcuser:rpcuser ${D}${localstatedir}/lib/nfs/statd
150 chmod 0644 ${D}${localstatedir}/lib/nfs/statd/state 158 chmod 0644 ${D}${localstatedir}/lib/nfs/statd/state
151
152 # Make python tools use python 3
153 sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${sbindir}/mountstats ${D}${sbindir}/nfsiostat
154} 159}
diff --git a/meta/recipes-connectivity/ofono/ofono/0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch b/meta/recipes-connectivity/ofono/ofono/0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch
deleted file mode 100644
index 8a5a300adc..0000000000
--- a/meta/recipes-connectivity/ofono/ofono/0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch
+++ /dev/null
@@ -1,36 +0,0 @@
1From 22b52db4842611ac31a356f023fc09595384e2ad Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 23 May 2019 18:11:22 -0700
4Subject: [PATCH] mbim: add an optional TEMP_FAILURE_RETRY macro copy
5
6Fixes build on musl which does not provide this macro
7
8Upstream-Status: Submitted [https://lists.ofono.org/pipermail/ofono/2019-May/019370.html]
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 drivers/mbimmodem/mbim-private.h | 9 +++++++++
12 1 file changed, 9 insertions(+)
13
14diff --git a/drivers/mbimmodem/mbim-private.h b/drivers/mbimmodem/mbim-private.h
15index e159235..51693ea 100644
16--- a/drivers/mbimmodem/mbim-private.h
17+++ b/drivers/mbimmodem/mbim-private.h
18@@ -21,6 +21,15 @@
19
20 #define align_len(len, boundary) (((len)+(boundary)-1) & ~((boundary)-1))
21
22+#ifndef TEMP_FAILURE_RETRY
23+#define TEMP_FAILURE_RETRY(expression) ({ \
24+ __typeof(expression) __result; \
25+ do { \
26+ __result = (expression); \
27+ } while (__result == -1 && errno == EINTR); \
28+ __result; })
29+#endif
30+
31 enum mbim_control_message {
32 MBIM_OPEN_MSG = 0x1,
33 MBIM_CLOSE_MSG = 0x2,
34--
352.21.0
36
diff --git a/meta/recipes-connectivity/ofono/ofono/0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch b/meta/recipes-connectivity/ofono/ofono/0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch
deleted file mode 100644
index 3655b3fd66..0000000000
--- a/meta/recipes-connectivity/ofono/ofono/0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1From 76e4054801350ebd4a44057379431a33d460ad0f Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Wed, 21 Apr 2021 11:01:34 +0000
4Subject: [PATCH] mbim: Fix build with ell-0.39 by restoring unlikely macro
5 from ell/util.h
6
7Upstream-Status: Pending
8
9Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
10---
11 drivers/mbimmodem/mbim-private.h | 4 ++++
12 1 file changed, 4 insertions(+)
13
14diff --git a/drivers/mbimmodem/mbim-private.h b/drivers/mbimmodem/mbim-private.h
15index 51693eae..d917312c 100644
16--- a/drivers/mbimmodem/mbim-private.h
17+++ b/drivers/mbimmodem/mbim-private.h
18@@ -30,6 +30,10 @@
19 __result; })
20 #endif
21
22+/* used to be part of ell/util.h before 0.39:
23+ https://git.kernel.org/pub/scm/libs/ell/ell.git/commit/?id=2a682421b06e41c45098217a686157f576847021 */
24+#define unlikely(x) __builtin_expect(!!(x), 0)
25+
26 enum mbim_control_message {
27 MBIM_OPEN_MSG = 0x1,
28 MBIM_CLOSE_MSG = 0x2,
diff --git a/meta/recipes-connectivity/ofono/ofono_2.4.bb b/meta/recipes-connectivity/ofono/ofono_2.17.bb
index dae5cc3c25..36bbe9439a 100644
--- a/meta/recipes-connectivity/ofono/ofono_2.4.bb
+++ b/meta/recipes-connectivity/ofono/ofono_2.17.bb
@@ -4,16 +4,13 @@ HOMEPAGE = "http://www.ofono.org"
4BUGTRACKER = "https://01.org/jira/browse/OF" 4BUGTRACKER = "https://01.org/jira/browse/OF"
5LICENSE = "GPL-2.0-only" 5LICENSE = "GPL-2.0-only"
6LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ 6LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
7 file://src/ofono.h;beginline=1;endline=20;md5=3ce17d5978ef3445def265b98899c2ee" 7 file://src/ofono.h;beginline=1;endline=6;md5=13e42133935ceecfc9bcb547f256e277"
8DEPENDS = "dbus glib-2.0 udev mobile-broadband-provider-info ell" 8DEPENDS = "dbus glib-2.0 udev mobile-broadband-provider-info ell"
9 9
10SRC_URI = "\ 10SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
11 ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ 11 file://ofono \
12 file://ofono \ 12 "
13 file://0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch \ 13SRC_URI[sha256sum] = "70bb50997d3a7657edf133355677f8e04b2158bcb031118a67b296107f6ea73e"
14 file://0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch \
15"
16SRC_URI[sha256sum] = "93580adc1afd1890dc516efb069de0c5cdfef014415256ddfb28ab172df2d11d"
17 14
18inherit autotools pkgconfig update-rc.d systemd gobject-introspection-data 15inherit autotools pkgconfig update-rc.d systemd gobject-introspection-data
19 16
@@ -30,14 +27,9 @@ PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, bluez5"
30 27
31EXTRA_OECONF += "--enable-test --enable-external-ell" 28EXTRA_OECONF += "--enable-test --enable-external-ell"
32 29
33do_configure:prepend() {
34 bbnote "Removing bundled ell from ${S}/ell to prevent including it"
35 rm -rf ${S}/ell
36}
37
38do_install:append() { 30do_install:append() {
39 install -d ${D}${sysconfdir}/init.d/ 31 install -d ${D}${sysconfdir}/init.d/
40 install -m 0755 ${WORKDIR}/ofono ${D}${sysconfdir}/init.d/ofono 32 install -m 0755 ${UNPACKDIR}/ofono ${D}${sysconfdir}/init.d/ofono
41} 33}
42 34
43PACKAGES =+ "${PN}-tests" 35PACKAGES =+ "${PN}-tests"
@@ -45,7 +37,6 @@ PACKAGES =+ "${PN}-tests"
45FILES:${PN} += "${systemd_unitdir}" 37FILES:${PN} += "${systemd_unitdir}"
46FILES:${PN}-tests = "${libdir}/${BPN}/test" 38FILES:${PN}-tests = "${libdir}/${BPN}/test"
47 39
48RDEPENDS:${PN} += "dbus"
49RDEPENDS:${PN}-tests = "\ 40RDEPENDS:${PN}-tests = "\
50 python3-core \ 41 python3-core \
51 python3-dbus \ 42 python3-dbus \
diff --git a/meta/recipes-connectivity/openssh/openssh/0001-regress-banner.sh-log-input-and-output-files-on-erro.patch b/meta/recipes-connectivity/openssh/openssh/0001-regress-banner.sh-log-input-and-output-files-on-erro.patch
index 8763f30f4b..f424288e37 100644
--- a/meta/recipes-connectivity/openssh/openssh/0001-regress-banner.sh-log-input-and-output-files-on-erro.patch
+++ b/meta/recipes-connectivity/openssh/openssh/0001-regress-banner.sh-log-input-and-output-files-on-erro.patch
@@ -1,4 +1,4 @@
1From f5a4dacc987ca548fc86577c2dba121c86da3c34 Mon Sep 17 00:00:00 2001 1From 5cc897fe2effe549e1e280c2f606bce8b532b61e Mon Sep 17 00:00:00 2001
2From: Mikko Rapeli <mikko.rapeli@linaro.org> 2From: Mikko Rapeli <mikko.rapeli@linaro.org>
3Date: Mon, 11 Sep 2023 09:55:21 +0100 3Date: Mon, 11 Sep 2023 09:55:21 +0100
4Subject: [PATCH] regress/banner.sh: log input and output files on error 4Subject: [PATCH] regress/banner.sh: log input and output files on error
@@ -37,12 +37,13 @@ See: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15178
37Upstream-Status: Denied [https://github.com/openssh/openssh-portable/pull/437] 37Upstream-Status: Denied [https://github.com/openssh/openssh-portable/pull/437]
38 38
39Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> 39Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
40Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
40--- 41---
41 regress/banner.sh | 4 +++- 42 regress/banner.sh | 4 +++-
42 1 file changed, 3 insertions(+), 1 deletion(-) 43 1 file changed, 3 insertions(+), 1 deletion(-)
43 44
44diff --git a/regress/banner.sh b/regress/banner.sh 45diff --git a/regress/banner.sh b/regress/banner.sh
45index a84feb5a..de84957a 100644 46index a84feb5..de84957 100644
46--- a/regress/banner.sh 47--- a/regress/banner.sh
47+++ b/regress/banner.sh 48+++ b/regress/banner.sh
48@@ -32,7 +32,9 @@ for s in 0 10 100 1000 10000 100000 ; do 49@@ -32,7 +32,9 @@ for s in 0 10 100 1000 10000 100000 ; do
@@ -56,6 +57,3 @@ index a84feb5a..de84957a 100644
56 done 57 done
57 58
58 trace "test suppress banner (-q)" 59 trace "test suppress banner (-q)"
59--
602.34.1
61
diff --git a/meta/recipes-connectivity/openssh/openssh/0001-regress-test-exec-use-the-absolute-path-in-the-SSH-e.patch b/meta/recipes-connectivity/openssh/openssh/0001-regress-test-exec-use-the-absolute-path-in-the-SSH-e.patch
new file mode 100644
index 0000000000..360b62af34
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/0001-regress-test-exec-use-the-absolute-path-in-the-SSH-e.patch
@@ -0,0 +1,35 @@
1From 9dcccafe44ea17e972e7cddea205bbe9fe71d8d6 Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <jose.quaresma@foundries.io>
3Date: Mon, 15 Jul 2024 18:43:08 +0100
4Subject: [PATCH] regress/test-exec: use the absolute path in the SSH env
5
6The SSHAGENT_BIN was changed in [1] to SSH_BIN but
7the last one don't use the absolute path and consequently
8the function increase_datafile_size can loops forever
9if the binary not found.
10
11[1] https://github.com/openssh/openssh-portable/commit/a68f80f2511f0e0c5cef737a8284cc2dfabad818
12
13Upstream-Status: Submitted [https://github.com/openssh/openssh-portable/pull/510]
14
15Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
16---
17 regress/test-exec.sh | 5 +++++
18 1 file changed, 5 insertions(+)
19
20diff --git a/regress/test-exec.sh b/regress/test-exec.sh
21index 8a00c72..2891f27 100644
22--- a/regress/test-exec.sh
23+++ b/regress/test-exec.sh
24@@ -179,6 +179,11 @@ if [ "x$TEST_SSH_OPENSSL" != "x" ]; then
25 fi
26
27 # Path to sshd must be absolute for rexec
28+case "$SSH" in
29+/*) ;;
30+*) SSH=`which $SSH` ;;
31+esac
32+
33 case "$SSHD" in
34 /*) ;;
35 *) SSHD=`which $SSHD` ;;
diff --git a/meta/recipes-connectivity/openssh/openssh/0001-systemd-Add-optional-support-for-systemd-sd_notify.patch b/meta/recipes-connectivity/openssh/openssh/0001-systemd-Add-optional-support-for-systemd-sd_notify.patch
deleted file mode 100644
index f079d936a4..0000000000
--- a/meta/recipes-connectivity/openssh/openssh/0001-systemd-Add-optional-support-for-systemd-sd_notify.patch
+++ /dev/null
@@ -1,96 +0,0 @@
1From b02ef7621758f06eb686ef4f620636dbad086eda Mon Sep 17 00:00:00 2001
2From: Matt Jolly <Matt.Jolly@footclan.ninja>
3Date: Thu, 2 Feb 2023 21:05:40 +1100
4Subject: [PATCH] systemd: Add optional support for systemd `sd_notify`
5
6This is a rebase of Dennis Lamm's <expeditioneer@gentoo.org>
7patch based on Jakub Jelen's <jjelen@redhat.com> original patch
8
9Upstream-Status: Submitted [https://github.com/openssh/openssh-portable/pull/375/commits/be187435911cde6cc3cef6982a508261074f1e56]
10
11Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
12---
13 configure.ac | 24 ++++++++++++++++++++++++
14 sshd.c | 13 +++++++++++++
15 2 files changed, 37 insertions(+)
16
17diff --git a/configure.ac b/configure.ac
18index 82e8bb7..d1145d3 100644
19--- a/configure.ac
20+++ b/configure.ac
21@@ -4870,6 +4870,29 @@ AC_SUBST([GSSLIBS])
22 AC_SUBST([K5LIBS])
23 AC_SUBST([CHANNELLIBS])
24
25+# Check whether user wants systemd support
26+SYSTEMD_MSG="no"
27+AC_ARG_WITH(systemd,
28+ [ --with-systemd Enable systemd support],
29+ [ if test "x$withval" != "xno" ; then
30+ AC_PATH_TOOL([PKGCONFIG], [pkg-config], [no])
31+ if test "$PKGCONFIG" != "no"; then
32+ AC_MSG_CHECKING([for libsystemd])
33+ if $PKGCONFIG --exists libsystemd; then
34+ SYSTEMD_CFLAGS=`$PKGCONFIG --cflags libsystemd`
35+ SYSTEMD_LIBS=`$PKGCONFIG --libs libsystemd`
36+ CPPFLAGS="$CPPFLAGS $SYSTEMD_CFLAGS"
37+ SSHDLIBS="$SSHDLIBS $SYSTEMD_LIBS"
38+ AC_MSG_RESULT([yes])
39+ AC_DEFINE(HAVE_SYSTEMD, 1, [Define if you want systemd support.])
40+ SYSTEMD_MSG="yes"
41+ else
42+ AC_MSG_RESULT([no])
43+ fi
44+ fi
45+ fi ]
46+)
47+
48 # Looking for programs, paths and files
49
50 PRIVSEP_PATH=/var/empty
51@@ -5688,6 +5711,7 @@ echo " libldns support: $LDNS_MSG"
52 echo " Solaris process contract support: $SPC_MSG"
53 echo " Solaris project support: $SP_MSG"
54 echo " Solaris privilege support: $SPP_MSG"
55+echo " systemd support: $SYSTEMD_MSG"
56 echo " IP address in \$DISPLAY hack: $DISPLAY_HACK_MSG"
57 echo " Translate v4 in v6 hack: $IPV4_IN6_HACK_MSG"
58 echo " BSD Auth support: $BSD_AUTH_MSG"
59diff --git a/sshd.c b/sshd.c
60index b4f2b97..6820a41 100644
61--- a/sshd.c
62+++ b/sshd.c
63@@ -88,6 +88,10 @@
64 #include <prot.h>
65 #endif
66
67+#ifdef HAVE_SYSTEMD
68+#include <systemd/sd-daemon.h>
69+#endif
70+
71 #include "xmalloc.h"
72 #include "ssh.h"
73 #include "ssh2.h"
74@@ -308,6 +312,10 @@ static void
75 sighup_restart(void)
76 {
77 logit("Received SIGHUP; restarting.");
78+#ifdef HAVE_SYSTEMD
79+ /* Signal systemd that we are reloading */
80+ sd_notify(0, "RELOADING=1");
81+#endif
82 if (options.pid_file != NULL)
83 unlink(options.pid_file);
84 platform_pre_restart();
85@@ -2093,6 +2101,11 @@ main(int ac, char **av)
86 }
87 }
88
89+#ifdef HAVE_SYSTEMD
90+ /* Signal systemd that we are ready to accept connections */
91+ sd_notify(0, "READY=1");
92+#endif
93+
94 /* Accept a connection and return in a forked child */
95 server_accept_loop(&sock_in, &sock_out,
96 &newsock, config_s);
diff --git a/meta/recipes-connectivity/openssh/openssh/add-test-support-for-busybox.patch b/meta/recipes-connectivity/openssh/openssh/add-test-support-for-busybox.patch
deleted file mode 100644
index b8402a4dee..0000000000
--- a/meta/recipes-connectivity/openssh/openssh/add-test-support-for-busybox.patch
+++ /dev/null
@@ -1,47 +0,0 @@
1Adjust test cases to work with busybox.
2
3- Replace dd parameter "obs" with "bs".
4- Replace "head -<num>" with "head -n <num>".
5
6Signed-off-by: Maxin B. John <maxin.john@enea.com>
7Upstream-Status: Pending
8
9Index: openssh-7.6p1/regress/cipher-speed.sh
10===================================================================
11--- openssh-7.6p1.orig/regress/cipher-speed.sh
12+++ openssh-7.6p1/regress/cipher-speed.sh
13@@ -17,7 +17,7 @@ for c in `${SSH} -Q cipher`; do n=0; for
14 printf "%-60s" "$c/$m:"
15 ( ${SSH} -o 'compression no' \
16 -F $OBJ/ssh_proxy -m $m -c $c somehost \
17- exec sh -c \'"dd of=/dev/null obs=32k"\' \
18+ exec sh -c \'"dd of=/dev/null bs=32k"\' \
19 < ${DATA} ) 2>&1 | getbytes
20
21 if [ $? -ne 0 ]; then
22Index: openssh-7.6p1/regress/transfer.sh
23===================================================================
24--- openssh-7.6p1.orig/regress/transfer.sh
25+++ openssh-7.6p1/regress/transfer.sh
26@@ -13,7 +13,7 @@ cmp ${DATA} ${COPY} || fail "corrupted
27 for s in 10 100 1k 32k 64k 128k 256k; do
28 trace "dd-size ${s}"
29 rm -f ${COPY}
30- dd if=$DATA obs=${s} 2> /dev/null | \
31+ dd if=$DATA bs=${s} 2> /dev/null | \
32 ${SSH} -q -F $OBJ/ssh_proxy somehost "cat > ${COPY}"
33 if [ $? -ne 0 ]; then
34 fail "ssh cat $DATA failed"
35Index: openssh-7.6p1/regress/key-options.sh
36===================================================================
37--- openssh-7.6p1.orig/regress/key-options.sh
38+++ openssh-7.6p1/regress/key-options.sh
39@@ -47,7 +47,7 @@ for f in 127.0.0.1 '127.0.0.0\/8'; do
40 fi
41
42 sed 's/.*/from="'"$f"'" &/' $origkeys >$authkeys
43- from=`head -1 $authkeys | cut -f1 -d ' '`
44+ from=`head -n 1 $authkeys | cut -f1 -d ' '`
45 verbose "key option $from"
46 r=`${SSH} -q -F $OBJ/ssh_proxy somehost 'echo true'`
47 if [ "$r" = "true" ]; then
diff --git a/meta/recipes-connectivity/openssh/openssh/fix-potential-signed-overflow-in-pointer-arithmatic.patch b/meta/recipes-connectivity/openssh/openssh/fix-potential-signed-overflow-in-pointer-arithmatic.patch
deleted file mode 100644
index 20036da931..0000000000
--- a/meta/recipes-connectivity/openssh/openssh/fix-potential-signed-overflow-in-pointer-arithmatic.patch
+++ /dev/null
@@ -1,111 +0,0 @@
1From 3328e98bcbf2930cd7eea3e6c92ad5dcbdf4794f Mon Sep 17 00:00:00 2001
2From: Yuanjie Huang <yuanjie.huang@windriver.com>
3Date: Wed, 24 Aug 2016 03:15:43 +0000
4Subject: [PATCH] Fix potential signed overflow in pointer arithmatic
5
6Pointer arithmatic results in implementation defined signed integer
7type, so that 's - src' in strlcpy and others may trigger signed overflow.
8In case of compilation by gcc or clang with -ftrapv option, the overflow
9would lead to program abort.
10
11Upstream-Status: Submitted [http://bugzilla.mindrot.org/show_bug.cgi?id=2608]
12
13Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
14
15Complete the fix
16Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
17---
18 openbsd-compat/strlcat.c | 10 +++++++---
19 openbsd-compat/strlcpy.c | 8 ++++++--
20 openbsd-compat/strnlen.c | 8 ++++++--
21 3 files changed, 19 insertions(+), 7 deletions(-)
22
23diff --git a/openbsd-compat/strlcat.c b/openbsd-compat/strlcat.c
24index bcc1b61..124e1e3 100644
25--- a/openbsd-compat/strlcat.c
26+++ b/openbsd-compat/strlcat.c
27@@ -23,6 +23,7 @@
28
29 #include <sys/types.h>
30 #include <string.h>
31+#include <stdint.h>
32
33 /*
34 * Appends src to string dst of size siz (unlike strncat, siz is the
35@@ -42,7 +43,7 @@ strlcat(char *dst, const char *src, size_t siz)
36 /* Find the end of dst and adjust bytes left but don't go past end */
37 while (n-- != 0 && *d != '\0')
38 d++;
39- dlen = d - dst;
40+ dlen = (uintptr_t)d - (uintptr_t)dst;
41 n = siz - dlen;
42
43 if (n == 0)
44@@ -55,8 +56,11 @@ strlcat(char *dst, const char *src, size_t siz)
45 s++;
46 }
47 *d = '\0';
48-
49- return(dlen + (s - src)); /* count does not include NUL */
50+ /*
51+ * Cast pointers to unsigned type before calculation, to avoid signed
52+ * overflow when the string ends where the MSB has changed.
53+ */
54+ return (dlen + ((uintptr_t)s - (uintptr_t)src)); /* count does not include NUL */
55 }
56
57 #endif /* !HAVE_STRLCAT */
58diff --git a/openbsd-compat/strlcpy.c b/openbsd-compat/strlcpy.c
59index b4b1b60..b06f374 100644
60--- a/openbsd-compat/strlcpy.c
61+++ b/openbsd-compat/strlcpy.c
62@@ -23,6 +23,7 @@
63
64 #include <sys/types.h>
65 #include <string.h>
66+#include <stdint.h>
67
68 /*
69 * Copy src to string dst of size siz. At most siz-1 characters
70@@ -51,8 +52,11 @@ strlcpy(char *dst, const char *src, size_t siz)
71 while (*s++)
72 ;
73 }
74-
75- return(s - src - 1); /* count does not include NUL */
76+ /*
77+ * Cast pointers to unsigned type before calculation, to avoid signed
78+ * overflow when the string ends where the MSB has changed.
79+ */
80+ return ((uintptr_t)s - (uintptr_t)src - 1); /* count does not include NUL */
81 }
82
83 #endif /* !HAVE_STRLCPY */
84diff --git a/openbsd-compat/strnlen.c b/openbsd-compat/strnlen.c
85index 7ad3573..7040f1f 100644
86--- a/openbsd-compat/strnlen.c
87+++ b/openbsd-compat/strnlen.c
88@@ -23,6 +23,7 @@
89 #include <sys/types.h>
90
91 #include <string.h>
92+#include <stdint.h>
93
94 size_t
95 strnlen(const char *str, size_t maxlen)
96@@ -31,7 +32,10 @@ strnlen(const char *str, size_t maxlen)
97
98 for (cp = str; maxlen != 0 && *cp != '\0'; cp++, maxlen--)
99 ;
100-
101- return (size_t)(cp - str);
102+ /*
103+ * Cast pointers to unsigned type before calculation, to avoid signed
104+ * overflow when the string ends where the MSB has changed.
105+ */
106+ return (size_t)((uintptr_t)cp - (uintptr_t)str);
107 }
108 #endif
109--
1102.17.1
111
diff --git a/meta/recipes-connectivity/openssh/openssh/run-ptest b/meta/recipes-connectivity/openssh/openssh/run-ptest
index b2244d725a..c9100f9f37 100755
--- a/meta/recipes-connectivity/openssh/openssh/run-ptest
+++ b/meta/recipes-connectivity/openssh/openssh/run-ptest
@@ -1,5 +1,6 @@
1#!/bin/sh 1#!/bin/sh
2 2
3export TEST_SSH_SSH=ssh
3export TEST_SHELL=sh 4export TEST_SHELL=sh
4export SKIP_UNIT=1 5export SKIP_UNIT=1
5 6
diff --git a/meta/recipes-connectivity/openssh/openssh/sshd b/meta/recipes-connectivity/openssh/openssh/sshd
index 4882e58b48..cf675a4dad 100644
--- a/meta/recipes-connectivity/openssh/openssh/sshd
+++ b/meta/recipes-connectivity/openssh/openssh/sshd
@@ -7,4 +7,4 @@ password include common-password
7session optional pam_keyinit.so force revoke 7session optional pam_keyinit.so force revoke
8session include common-session 8session include common-session
9session required pam_loginuid.so 9session required pam_loginuid.so
10 10session required pam_env.so
diff --git a/meta/recipes-connectivity/openssh/openssh/sshd.service b/meta/recipes-connectivity/openssh/openssh/sshd.service
index 2a997b656a..c71fff1cc1 100644
--- a/meta/recipes-connectivity/openssh/openssh/sshd.service
+++ b/meta/recipes-connectivity/openssh/openssh/sshd.service
@@ -2,13 +2,14 @@
2Description=OpenSSH server daemon 2Description=OpenSSH server daemon
3Wants=sshdgenkeys.service 3Wants=sshdgenkeys.service
4After=sshdgenkeys.service 4After=sshdgenkeys.service
5After=nss-user-lookup.target
5 6
6[Service] 7[Service]
8Type=notify-reload
7Environment="SSHD_OPTS=" 9Environment="SSHD_OPTS="
8EnvironmentFile=-/etc/default/ssh 10EnvironmentFile=-/etc/default/ssh
9ExecStartPre=@BASE_BINDIR@/mkdir -p /var/run/sshd 11ExecStartPre=@BASE_BINDIR@/mkdir -p /var/run/sshd
10ExecStart=-@SBINDIR@/sshd -D $SSHD_OPTS 12ExecStart=-@SBINDIR@/sshd -D $SSHD_OPTS
11ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID
12KillMode=process 13KillMode=process
13Restart=on-failure 14Restart=on-failure
14RestartSec=42s 15RestartSec=42s
diff --git a/meta/recipes-connectivity/openssh/openssh/sshd.socket b/meta/recipes-connectivity/openssh/openssh/sshd.socket
index 8d76d62309..7dd2ed0626 100644
--- a/meta/recipes-connectivity/openssh/openssh/sshd.socket
+++ b/meta/recipes-connectivity/openssh/openssh/sshd.socket
@@ -1,6 +1,7 @@
1[Unit] 1[Unit]
2Conflicts=sshd.service 2Conflicts=sshd.service
3Wants=sshdgenkeys.service 3Wants=sshdgenkeys.service
4After=nss-user-lookup.target
4 5
5[Socket] 6[Socket]
6ExecStartPre=@BASE_BINDIR@/mkdir -p /var/run/sshd 7ExecStartPre=@BASE_BINDIR@/mkdir -p /var/run/sshd
diff --git a/meta/recipes-connectivity/openssh/openssh/sshd_check_keys b/meta/recipes-connectivity/openssh/openssh/sshd_check_keys
index 606d1894b5..bbb6a14908 100644
--- a/meta/recipes-connectivity/openssh/openssh/sshd_check_keys
+++ b/meta/recipes-connectivity/openssh/openssh/sshd_check_keys
@@ -8,7 +8,7 @@ generate_key() {
8 mkdir -p "$DIR" 8 mkdir -p "$DIR"
9 rm -f ${FILE}.tmp 9 rm -f ${FILE}.tmp
10 ssh-keygen -q -f "${FILE}.tmp" -N '' -t $TYPE 10 ssh-keygen -q -f "${FILE}.tmp" -N '' -t $TYPE
11 11 chmod go-rwx "$FILE.tmp"
12 # Atomically rename file public key 12 # Atomically rename file public key
13 mv -f "${FILE}.tmp.pub" "${FILE}.pub" 13 mv -f "${FILE}.tmp.pub" "${FILE}.pub"
14 14
diff --git a/meta/recipes-connectivity/openssh/openssh_9.7p1.bb b/meta/recipes-connectivity/openssh/openssh_10.0p1.bb
index d1468c59fc..a044aec063 100644
--- a/meta/recipes-connectivity/openssh/openssh_9.7p1.bb
+++ b/meta/recipes-connectivity/openssh/openssh_10.0p1.bb
@@ -6,12 +6,12 @@ and for executing commands on a remote machine."
6HOMEPAGE = "http://www.openssh.com/" 6HOMEPAGE = "http://www.openssh.com/"
7SECTION = "console/network" 7SECTION = "console/network"
8LICENSE = "BSD-2-Clause & BSD-3-Clause & ISC & MIT" 8LICENSE = "BSD-2-Clause & BSD-3-Clause & ISC & MIT"
9LIC_FILES_CHKSUM = "file://LICENCE;md5=072979064e691d342002f43cd89c0394" 9LIC_FILES_CHKSUM = "file://LICENCE;md5=78ffb36e5a48c0d8c5648603a3b6c8eb"
10 10
11DEPENDS = "zlib openssl virtual/crypt" 11DEPENDS = "zlib openssl virtual/crypt"
12DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" 12DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
13 13
14SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \ 14SRC_URI = "https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \
15 file://sshd_config \ 15 file://sshd_config \
16 file://ssh_config \ 16 file://ssh_config \
17 file://init \ 17 file://init \
@@ -22,13 +22,11 @@ SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar
22 file://sshdgenkeys.service \ 22 file://sshdgenkeys.service \
23 file://volatiles.99_sshd \ 23 file://volatiles.99_sshd \
24 file://run-ptest \ 24 file://run-ptest \
25 file://fix-potential-signed-overflow-in-pointer-arithmatic.patch \
26 file://sshd_check_keys \ 25 file://sshd_check_keys \
27 file://add-test-support-for-busybox.patch \
28 file://0001-regress-banner.sh-log-input-and-output-files-on-erro.patch \ 26 file://0001-regress-banner.sh-log-input-and-output-files-on-erro.patch \
29 file://0001-systemd-Add-optional-support-for-systemd-sd_notify.patch \ 27 file://0001-regress-test-exec-use-the-absolute-path-in-the-SSH-e.patch \
30 " 28 "
31SRC_URI[sha256sum] = "490426f766d82a2763fcacd8d83ea3d70798750c7bd2aff2e57dc5660f773ffd" 29SRC_URI[sha256sum] = "021a2e709a0edf4250b1256bd5a9e500411a90dddabea830ed59cef90eb9d85c"
32 30
33CVE_STATUS[CVE-2007-2768] = "not-applicable-config: This CVE is specific to OpenSSH with the pam opie which we don't build/use here." 31CVE_STATUS[CVE-2007-2768] = "not-applicable-config: This CVE is specific to OpenSSH with the pam opie which we don't build/use here."
34 32
@@ -38,6 +36,7 @@ CVE_STATUS[CVE-2014-9278] = "not-applicable-platform: This CVE is specific to Op
38Red Hat Enterprise Linux 7 and when running in a Kerberos environment" 36Red Hat Enterprise Linux 7 and when running in a Kerberos environment"
39 37
40CVE_STATUS[CVE-2008-3844] = "not-applicable-platform: Only applies to some distributed RHEL binaries." 38CVE_STATUS[CVE-2008-3844] = "not-applicable-platform: Only applies to some distributed RHEL binaries."
39CVE_STATUS[CVE-2023-51767] = "upstream-wontfix: It was demonstrated on modified sshd and does not exist in upstream openssh https://bugzilla.mindrot.org/show_bug.cgi?id=3656#c1."
41 40
42PAM_SRC_URI = "file://sshd" 41PAM_SRC_URI = "file://sshd"
43 42
@@ -53,11 +52,10 @@ SYSTEMD_PACKAGES = "${PN}-sshd"
53SYSTEMD_SERVICE:${PN}-sshd = "${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-socket-mode','sshd.socket', '', d)} ${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-service-mode','sshd.service', '', d)}" 52SYSTEMD_SERVICE:${PN}-sshd = "${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-socket-mode','sshd.socket', '', d)} ${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-service-mode','sshd.service', '', d)}"
54 53
55inherit autotools-brokensep ptest pkgconfig 54inherit autotools-brokensep ptest pkgconfig
56DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
57 55
58# systemd-sshd-socket-mode means installing sshd.socket 56# systemd-sshd-socket-mode means installing sshd.socket
59# and systemd-sshd-service-mode corresponding to sshd.service 57# and systemd-sshd-service-mode corresponding to sshd.service
60PACKAGECONFIG ??= "systemd-sshd-socket-mode" 58PACKAGECONFIG ??= "systemd-sshd-socket-mode hostkey-ecdsa"
61PACKAGECONFIG[fido2] = "--with-security-key-builtin,--disable-security-key,libfido2" 59PACKAGECONFIG[fido2] = "--with-security-key-builtin,--disable-security-key,libfido2"
62PACKAGECONFIG[kerberos] = "--with-kerberos5,--without-kerberos5,krb5" 60PACKAGECONFIG[kerberos] = "--with-kerberos5,--without-kerberos5,krb5"
63PACKAGECONFIG[ldns] = "--with-ldns,--without-ldns,ldns" 61PACKAGECONFIG[ldns] = "--with-ldns,--without-ldns,ldns"
@@ -65,6 +63,9 @@ PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
65PACKAGECONFIG[manpages] = "--with-mantype=man,--with-mantype=cat" 63PACKAGECONFIG[manpages] = "--with-mantype=man,--with-mantype=cat"
66PACKAGECONFIG[systemd-sshd-socket-mode] = "" 64PACKAGECONFIG[systemd-sshd-socket-mode] = ""
67PACKAGECONFIG[systemd-sshd-service-mode] = "" 65PACKAGECONFIG[systemd-sshd-service-mode] = ""
66PACKAGECONFIG[hostkey-rsa] = ""
67PACKAGECONFIG[hostkey-ecdsa] = ""
68PACKAGECONFIG[hostkey-ed25519] = ""
68 69
69EXTRA_AUTORECONF += "--exclude=aclocal" 70EXTRA_AUTORECONF += "--exclude=aclocal"
70 71
@@ -76,7 +77,6 @@ EXTRA_OECONF = "'LOGIN_PROGRAM=${base_bindir}/login' \
76 --sysconfdir=${sysconfdir}/ssh \ 77 --sysconfdir=${sysconfdir}/ssh \
77 --with-xauth=${bindir}/xauth \ 78 --with-xauth=${bindir}/xauth \
78 --disable-strip \ 79 --disable-strip \
79 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemd', '--without-systemd', d)} \
80 " 80 "
81 81
82# musl doesn't implement wtmp/utmp and logwtmp 82# musl doesn't implement wtmp/utmp and logwtmp
@@ -102,17 +102,42 @@ CACHED_CONFIGUREVARS += "ac_cv_header_maillock_h=no"
102 102
103do_configure:prepend () { 103do_configure:prepend () {
104 export LD="${CC}" 104 export LD="${CC}"
105 install -m 0644 ${WORKDIR}/sshd_config ${B}/ 105 install -m 0644 ${UNPACKDIR}/sshd_config ${B}/
106 install -m 0644 ${WORKDIR}/ssh_config ${B}/ 106 install -m 0644 ${UNPACKDIR}/ssh_config ${B}/
107} 107}
108 108
109do_compile_ptest() { 109do_compile_ptest() {
110 oe_runmake regress-binaries regress-unit-binaries 110 oe_runmake regress-binaries regress-unit-binaries
111} 111}
112 112
113sshd_hostkey_setup() {
114 # Enable specific ssh host keys
115 sed -i '/HostKey/d' ${D}${sysconfdir}/ssh/sshd_config
116 if ${@bb.utils.contains('PACKAGECONFIG','hostkey-rsa','true','false',d)}; then
117 echo "HostKey /etc/ssh/ssh_host_rsa_key" >> ${D}${sysconfdir}/ssh/sshd_config
118 fi
119 if ${@bb.utils.contains('PACKAGECONFIG','hostkey-ecdsa','true','false',d)}; then
120 echo "HostKey /etc/ssh/ssh_host_ecdsa_key" >> ${D}${sysconfdir}/ssh/sshd_config
121 fi
122 if ${@bb.utils.contains('PACKAGECONFIG','hostkey-ed25519','true','false',d)}; then
123 echo "HostKey /etc/ssh/ssh_host_ed25519_key" >> ${D}${sysconfdir}/ssh/sshd_config
124 fi
125
126 sed -i '/HostKey/d' ${D}${sysconfdir}/ssh/sshd_config_readonly
127 if ${@bb.utils.contains('PACKAGECONFIG','hostkey-rsa','true','false',d)}; then
128 echo "HostKey /var/run/ssh/ssh_host_rsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
129 fi
130 if ${@bb.utils.contains('PACKAGECONFIG','hostkey-ecdsa','true','false',d)}; then
131 echo "HostKey /var/run/ssh/ssh_host_ecdsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
132 fi
133 if ${@bb.utils.contains('PACKAGECONFIG','hostkey-ed25519','true','false',d)}; then
134 echo "HostKey /var/run/ssh/ssh_host_ed25519_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
135 fi
136}
137
113do_install:append () { 138do_install:append () {
114 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then 139 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
115 install -D -m 0644 ${WORKDIR}/sshd ${D}${sysconfdir}/pam.d/sshd 140 install -D -m 0644 ${UNPACKDIR}/sshd ${D}${sysconfdir}/pam.d/sshd
116 sed -i -e 's:#UsePAM no:UsePAM yes:' ${D}${sysconfdir}/ssh/sshd_config 141 sed -i -e 's:#UsePAM no:UsePAM yes:' ${D}${sysconfdir}/ssh/sshd_config
117 fi 142 fi
118 143
@@ -121,25 +146,21 @@ do_install:append () {
121 fi 146 fi
122 147
123 install -d ${D}${sysconfdir}/init.d 148 install -d ${D}${sysconfdir}/init.d
124 install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/sshd 149 install -m 0755 ${UNPACKDIR}/init ${D}${sysconfdir}/init.d/sshd
125 rm -f ${D}${bindir}/slogin ${D}${datadir}/Ssh.bin 150 rm -f ${D}${bindir}/slogin ${D}${datadir}/Ssh.bin
126 rmdir ${D}${localstatedir}/run/sshd ${D}${localstatedir}/run ${D}${localstatedir} 151 rmdir ${D}${localstatedir}/run/sshd ${D}${localstatedir}/run ${D}${localstatedir}
127 install -d ${D}/${sysconfdir}/default/volatiles 152 install -d ${D}/${sysconfdir}/default/volatiles
128 install -m 644 ${WORKDIR}/volatiles.99_sshd ${D}/${sysconfdir}/default/volatiles/99_sshd 153 install -m 644 ${UNPACKDIR}/volatiles.99_sshd ${D}/${sysconfdir}/default/volatiles/99_sshd
129 install -m 0755 ${S}/contrib/ssh-copy-id ${D}${bindir} 154 install -m 0755 ${S}/contrib/ssh-copy-id ${D}${bindir}
130 155
131 # Create config files for read-only rootfs 156 # Create config files for read-only rootfs
132 install -d ${D}${sysconfdir}/ssh 157 install -d ${D}${sysconfdir}/ssh
133 install -m 644 ${D}${sysconfdir}/ssh/sshd_config ${D}${sysconfdir}/ssh/sshd_config_readonly 158 install -m 644 ${D}${sysconfdir}/ssh/sshd_config ${D}${sysconfdir}/ssh/sshd_config_readonly
134 sed -i '/HostKey/d' ${D}${sysconfdir}/ssh/sshd_config_readonly
135 echo "HostKey /var/run/ssh/ssh_host_rsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
136 echo "HostKey /var/run/ssh/ssh_host_ecdsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
137 echo "HostKey /var/run/ssh/ssh_host_ed25519_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
138 159
139 install -d ${D}${systemd_system_unitdir} 160 install -d ${D}${systemd_system_unitdir}
140 if ${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-socket-mode','true','false',d)}; then 161 if ${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-socket-mode','true','false',d)}; then
141 install -c -m 0644 ${WORKDIR}/sshd.socket ${D}${systemd_system_unitdir} 162 install -c -m 0644 ${UNPACKDIR}/sshd.socket ${D}${systemd_system_unitdir}
142 install -c -m 0644 ${WORKDIR}/sshd@.service ${D}${systemd_system_unitdir} 163 install -c -m 0644 ${UNPACKDIR}/sshd@.service ${D}${systemd_system_unitdir}
143 sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ 164 sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
144 -e 's,@SBINDIR@,${sbindir},g' \ 165 -e 's,@SBINDIR@,${sbindir},g' \
145 -e 's,@BINDIR@,${bindir},g' \ 166 -e 's,@BINDIR@,${bindir},g' \
@@ -147,9 +168,9 @@ do_install:append () {
147 ${D}${systemd_system_unitdir}/sshd.socket 168 ${D}${systemd_system_unitdir}/sshd.socket
148 fi 169 fi
149 if ${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-service-mode','true','false',d)}; then 170 if ${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-service-mode','true','false',d)}; then
150 install -c -m 0644 ${WORKDIR}/sshd.service ${D}${systemd_system_unitdir} 171 install -c -m 0644 ${UNPACKDIR}/sshd.service ${D}${systemd_system_unitdir}
151 fi 172 fi
152 install -c -m 0644 ${WORKDIR}/sshdgenkeys.service ${D}${systemd_system_unitdir} 173 install -c -m 0644 ${UNPACKDIR}/sshdgenkeys.service ${D}${systemd_system_unitdir}
153 sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ 174 sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
154 -e 's,@SBINDIR@,${sbindir},g' \ 175 -e 's,@SBINDIR@,${sbindir},g' \
155 -e 's,@BINDIR@,${bindir},g' \ 176 -e 's,@BINDIR@,${bindir},g' \
@@ -159,7 +180,8 @@ do_install:append () {
159 sed -i -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \ 180 sed -i -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \
160 ${D}${sysconfdir}/init.d/sshd 181 ${D}${sysconfdir}/init.d/sshd
161 182
162 install -D -m 0755 ${WORKDIR}/sshd_check_keys ${D}${libexecdir}/${BPN}/sshd_check_keys 183 install -D -m 0755 ${UNPACKDIR}/sshd_check_keys ${D}${libexecdir}/${BPN}/sshd_check_keys
184 sshd_hostkey_setup
163} 185}
164 186
165do_install_ptest () { 187do_install_ptest () {
@@ -173,9 +195,9 @@ ALLOW_EMPTY:${PN} = "1"
173PACKAGES =+ "${PN}-keygen ${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-sftp ${PN}-misc ${PN}-sftp-server" 195PACKAGES =+ "${PN}-keygen ${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-sftp ${PN}-misc ${PN}-sftp-server"
174FILES:${PN}-scp = "${bindir}/scp.${BPN}" 196FILES:${PN}-scp = "${bindir}/scp.${BPN}"
175FILES:${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config" 197FILES:${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config"
176FILES:${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd ${systemd_system_unitdir}" 198FILES:${PN}-sshd = "${sbindir}/sshd ${libexecdir}/sshd-session ${sysconfdir}/init.d/sshd ${systemd_system_unitdir}"
177FILES:${PN}-sshd += "${sysconfdir}/ssh/moduli ${sysconfdir}/ssh/sshd_config ${sysconfdir}/ssh/sshd_config_readonly ${sysconfdir}/default/volatiles/99_sshd ${sysconfdir}/pam.d/sshd" 199FILES:${PN}-sshd += "${sysconfdir}/ssh/moduli ${sysconfdir}/ssh/sshd_config ${sysconfdir}/ssh/sshd_config_readonly ${sysconfdir}/default/volatiles/99_sshd ${sysconfdir}/pam.d/sshd"
178FILES:${PN}-sshd += "${libexecdir}/${BPN}/sshd_check_keys" 200FILES:${PN}-sshd += "${libexecdir}/${BPN}/sshd_check_keys ${libexecdir}/sshd-auth"
179FILES:${PN}-sftp = "${bindir}/sftp" 201FILES:${PN}-sftp = "${bindir}/sftp"
180FILES:${PN}-sftp-server = "${libexecdir}/sftp-server" 202FILES:${PN}-sftp-server = "${libexecdir}/sftp-server"
181FILES:${PN}-misc = "${bindir}/ssh* ${libexecdir}/ssh*" 203FILES:${PN}-misc = "${bindir}/ssh* ${libexecdir}/ssh*"
diff --git a/meta/recipes-connectivity/openssl/files/environment.d-openssl.sh b/meta/recipes-connectivity/openssl/files/environment.d-openssl.sh
index 6f23490c87..71d378734c 100644
--- a/meta/recipes-connectivity/openssl/files/environment.d-openssl.sh
+++ b/meta/recipes-connectivity/openssl/files/environment.d-openssl.sh
@@ -1,5 +1,24 @@
1export OPENSSL_CONF="$OECORE_NATIVE_SYSROOT/usr/lib/ssl/openssl.cnf" 1export OPENSSL_CONF="$OECORE_NATIVE_SYSROOT/usr/lib/ssl-3/openssl.cnf"
2export SSL_CERT_DIR="$OECORE_NATIVE_SYSROOT/usr/lib/ssl/certs"
3export SSL_CERT_FILE="$OECORE_NATIVE_SYSROOT/usr/lib/ssl/certs/ca-certificates.crt"
4export OPENSSL_MODULES="$OECORE_NATIVE_SYSROOT/usr/lib/ossl-modules/" 2export OPENSSL_MODULES="$OECORE_NATIVE_SYSROOT/usr/lib/ossl-modules/"
5export OPENSSL_ENGINES="$OECORE_NATIVE_SYSROOT/usr/lib/engines-3" 3export OPENSSL_ENGINES="$OECORE_NATIVE_SYSROOT/usr/lib/engines-3"
4export BB_ENV_PASSTHROUGH_ADDITIONS="${BB_ENV_PASSTHROUGH_ADDITIONS:-} OPENSSL_CONF OPENSSL_MODULES OPENSSL_ENGINES"
5
6# Respect host env SSL_CERT_FILE/SSL_CERT_DIR first, then auto-detected host cert, then cert in buildtools
7# CAFILE/CAPATH is auto-deteced when source buildtools
8if [ -z "$SSL_CERT_FILE" ]; then
9 if [ -n "$CAFILE" ];then
10 export SSL_CERT_FILE="$CAFILE"
11 elif [ -e "${OECORE_NATIVE_SYSROOT}/etc/ssl/certs/ca-certificates.crt" ];then
12 export SSL_CERT_FILE="$OECORE_NATIVE_SYSROOT/usr/lib/ssl-3/certs/ca-certificates.crt"
13 fi
14fi
15
16if [ -z "$SSL_CERT_DIR" ]; then
17 if [ -n "$CAPATH" ];then
18 export SSL_CERT_DIR="$CAPATH"
19 elif [ -e "${OECORE_NATIVE_SYSROOT}/etc/ssl/certs/ca-certificates.crt" ];then
20 export SSL_CERT_DIR="$OECORE_NATIVE_SYSROOT/usr/lib/ssl-3/certs"
21 fi
22fi
23
24export BB_ENV_PASSTHROUGH_ADDITIONS="${BB_ENV_PASSTHROUGH_ADDITIONS:-} SSL_CERT_DIR SSL_CERT_FILE"
diff --git a/meta/recipes-connectivity/openssl/openssl/0001-Added-handshake-history-reporting-when-test-fails.patch b/meta/recipes-connectivity/openssl/openssl/0001-Added-handshake-history-reporting-when-test-fails.patch
index aa2e5bb800..5b7365a353 100644
--- a/meta/recipes-connectivity/openssl/openssl/0001-Added-handshake-history-reporting-when-test-fails.patch
+++ b/meta/recipes-connectivity/openssl/openssl/0001-Added-handshake-history-reporting-when-test-fails.patch
@@ -7,26 +7,19 @@ Upstream-Status: Submitted [https://github.com/openssl/openssl/pull/22481]
7 7
8Signed-off-by: William Lyu <William.Lyu@windriver.com> 8Signed-off-by: William Lyu <William.Lyu@windriver.com>
9--- 9---
10 test/helpers/handshake.c | 139 +++++++++++++++++++++++++++++---------- 10 test/helpers/handshake.c | 137 +++++++++++++++++++++++++++++----------
11 test/helpers/handshake.h | 70 +++++++++++++++++++- 11 test/helpers/handshake.h | 70 +++++++++++++++++++-
12 test/ssl_test.c | 44 +++++++++++++ 12 test/ssl_test.c | 44 +++++++++++++
13 3 files changed, 218 insertions(+), 35 deletions(-) 13 3 files changed, 217 insertions(+), 34 deletions(-)
14 14
15diff --git a/test/helpers/handshake.c b/test/helpers/handshake.c 15diff --git a/test/helpers/handshake.c b/test/helpers/handshake.c
16index e0422469e4..ae2ad59dd4 100644 16index f611b3a..5703b48 100644
17--- a/test/helpers/handshake.c 17--- a/test/helpers/handshake.c
18+++ b/test/helpers/handshake.c 18+++ b/test/helpers/handshake.c
19@@ -1,5 +1,5 @@ 19@@ -25,6 +25,102 @@
20 /*
21- * Copyright 2016-2022 The OpenSSL Project Authors. All Rights Reserved.
22+ * Copyright 2016-2023 The OpenSSL Project Authors. All Rights Reserved.
23 *
24 * Licensed under the Apache License 2.0 (the "License"). You may not use
25 * this file except in compliance with the License. You can obtain a copy
26@@ -24,6 +24,102 @@
27 #include <netinet/sctp.h> 20 #include <netinet/sctp.h>
28 #endif 21 #endif
29 22
30+/* Shamelessly copied from test/helpers/ssl_test_ctx.c */ 23+/* Shamelessly copied from test/helpers/ssl_test_ctx.c */
31+/* Maps string names to various enumeration type */ 24+/* Maps string names to various enumeration type */
32+typedef struct { 25+typedef struct {
@@ -126,10 +119,10 @@ index e0422469e4..ae2ad59dd4 100644
126 HANDSHAKE_RESULT *HANDSHAKE_RESULT_new(void) 119 HANDSHAKE_RESULT *HANDSHAKE_RESULT_new(void)
127 { 120 {
128 HANDSHAKE_RESULT *ret; 121 HANDSHAKE_RESULT *ret;
129@@ -719,15 +815,6 @@ static void configure_handshake_ssl(SSL *server, SSL *client, 122@@ -726,15 +822,6 @@ static void configure_handshake_ssl(SSL *server, SSL *client,
130 SSL_set_post_handshake_auth(client, 1); 123 SSL_set_post_handshake_auth(client, 1);
131 } 124 }
132 125
133-/* The status for each connection phase. */ 126-/* The status for each connection phase. */
134-typedef enum { 127-typedef enum {
135- PEER_SUCCESS, 128- PEER_SUCCESS,
@@ -142,10 +135,10 @@ index e0422469e4..ae2ad59dd4 100644
142 /* An SSL object and associated read-write buffers. */ 135 /* An SSL object and associated read-write buffers. */
143 typedef struct peer_st { 136 typedef struct peer_st {
144 SSL *ssl; 137 SSL *ssl;
145@@ -1074,17 +1161,6 @@ static void do_shutdown_step(PEER *peer) 138@@ -1081,17 +1168,6 @@ static void do_shutdown_step(PEER *peer)
146 } 139 }
147 } 140 }
148 141
149-typedef enum { 142-typedef enum {
150- HANDSHAKE, 143- HANDSHAKE,
151- RENEG_APPLICATION_DATA, 144- RENEG_APPLICATION_DATA,
@@ -160,10 +153,10 @@ index e0422469e4..ae2ad59dd4 100644
160 static int renegotiate_op(const SSL_TEST_CTX *test_ctx) 153 static int renegotiate_op(const SSL_TEST_CTX *test_ctx)
161 { 154 {
162 switch (test_ctx->handshake_mode) { 155 switch (test_ctx->handshake_mode) {
163@@ -1162,19 +1238,6 @@ static void do_connect_step(const SSL_TEST_CTX *test_ctx, PEER *peer, 156@@ -1169,19 +1245,6 @@ static void do_connect_step(const SSL_TEST_CTX *test_ctx, PEER *peer,
164 } 157 }
165 } 158 }
166 159
167-typedef enum { 160-typedef enum {
168- /* Both parties succeeded. */ 161- /* Both parties succeeded. */
169- HANDSHAKE_SUCCESS, 162- HANDSHAKE_SUCCESS,
@@ -180,10 +173,10 @@ index e0422469e4..ae2ad59dd4 100644
180 /* 173 /*
181 * Determine the handshake outcome. 174 * Determine the handshake outcome.
182 * last_status: the status of the peer to have acted last. 175 * last_status: the status of the peer to have acted last.
183@@ -1539,6 +1602,10 @@ static HANDSHAKE_RESULT *do_handshake_internal( 176@@ -1546,6 +1609,10 @@ static HANDSHAKE_RESULT *do_handshake_internal(
184 177
185 start = time(NULL); 178 start = time(NULL);
186 179
187+ save_loop_history(&(ret->history), 180+ save_loop_history(&(ret->history),
188+ phase, status, server.status, client.status, 181+ phase, status, server.status, client.status,
189+ client_turn_count, client_turn); 182+ client_turn_count, client_turn);
@@ -191,10 +184,10 @@ index e0422469e4..ae2ad59dd4 100644
191 /* 184 /*
192 * Half-duplex handshake loop. 185 * Half-duplex handshake loop.
193 * Client and server speak to each other synchronously in the same process. 186 * Client and server speak to each other synchronously in the same process.
194@@ -1560,6 +1627,10 @@ static HANDSHAKE_RESULT *do_handshake_internal( 187@@ -1567,6 +1634,10 @@ static HANDSHAKE_RESULT *do_handshake_internal(
195 0 /* server went last */); 188 0 /* server went last */);
196 } 189 }
197 190
198+ save_loop_history(&(ret->history), 191+ save_loop_history(&(ret->history),
199+ phase, status, server.status, client.status, 192+ phase, status, server.status, client.status,
200+ client_turn_count, client_turn); 193+ client_turn_count, client_turn);
@@ -203,7 +196,7 @@ index e0422469e4..ae2ad59dd4 100644
203 case HANDSHAKE_SUCCESS: 196 case HANDSHAKE_SUCCESS:
204 client_turn_count = 0; 197 client_turn_count = 0;
205diff --git a/test/helpers/handshake.h b/test/helpers/handshake.h 198diff --git a/test/helpers/handshake.h b/test/helpers/handshake.h
206index 78b03f9f4b..b9967c2623 100644 199index 78b03f9..b9967c2 100644
207--- a/test/helpers/handshake.h 200--- a/test/helpers/handshake.h
208+++ b/test/helpers/handshake.h 201+++ b/test/helpers/handshake.h
209@@ -1,5 +1,5 @@ 202@@ -1,5 +1,5 @@
@@ -214,9 +207,9 @@ index 78b03f9f4b..b9967c2623 100644
214 * Licensed under the Apache License 2.0 (the "License"). You may not use 207 * Licensed under the Apache License 2.0 (the "License"). You may not use
215 * this file except in compliance with the License. You can obtain a copy 208 * this file except in compliance with the License. You can obtain a copy
216@@ -12,6 +12,11 @@ 209@@ -12,6 +12,11 @@
217 210
218 #include "ssl_test_ctx.h" 211 #include "ssl_test_ctx.h"
219 212
220+#define MAX_HANDSHAKE_HISTORY_ENTRY_BIT 4 213+#define MAX_HANDSHAKE_HISTORY_ENTRY_BIT 4
221+#define MAX_HANDSHAKE_HISTORY_ENTRY (1 << MAX_HANDSHAKE_HISTORY_ENTRY_BIT) 214+#define MAX_HANDSHAKE_HISTORY_ENTRY (1 << MAX_HANDSHAKE_HISTORY_ENTRY_BIT)
222+#define MAX_HANDSHAKE_HISTORY_ENTRY_IDX_MASK \ 215+#define MAX_HANDSHAKE_HISTORY_ENTRY_IDX_MASK \
@@ -228,7 +221,7 @@ index 78b03f9f4b..b9967c2623 100644
228@@ -22,6 +27,63 @@ typedef struct ctx_data_st { 221@@ -22,6 +27,63 @@ typedef struct ctx_data_st {
229 char *session_ticket_app_data; 222 char *session_ticket_app_data;
230 } CTX_DATA; 223 } CTX_DATA;
231 224
232+typedef enum { 225+typedef enum {
233+ HANDSHAKE, 226+ HANDSHAKE,
234+ RENEG_APPLICATION_DATA, 227+ RENEG_APPLICATION_DATA,
@@ -296,25 +289,25 @@ index 78b03f9f4b..b9967c2623 100644
296+ /* handshake loop history */ 289+ /* handshake loop history */
297+ HANDSHAKE_HISTORY history; 290+ HANDSHAKE_HISTORY history;
298 } HANDSHAKE_RESULT; 291 } HANDSHAKE_RESULT;
299 292
300 HANDSHAKE_RESULT *HANDSHAKE_RESULT_new(void); 293 HANDSHAKE_RESULT *HANDSHAKE_RESULT_new(void);
301@@ -95,4 +159,8 @@ int configure_handshake_ctx_for_srp(SSL_CTX *server_ctx, SSL_CTX *server2_ctx, 294@@ -95,4 +159,8 @@ int configure_handshake_ctx_for_srp(SSL_CTX *server_ctx, SSL_CTX *server2_ctx,
302 CTX_DATA *server2_ctx_data, 295 CTX_DATA *server2_ctx_data,
303 CTX_DATA *client_ctx_data); 296 CTX_DATA *client_ctx_data);
304 297
305+const char *handshake_connect_phase_name(connect_phase_t phase); 298+const char *handshake_connect_phase_name(connect_phase_t phase);
306+const char *handshake_status_name(handshake_status_t handshake_status); 299+const char *handshake_status_name(handshake_status_t handshake_status);
307+const char *handshake_peer_status_name(peer_status_t peer_status); 300+const char *handshake_peer_status_name(peer_status_t peer_status);
308+ 301+
309 #endif /* OSSL_TEST_HANDSHAKE_HELPER_H */ 302 #endif /* OSSL_TEST_HANDSHAKE_HELPER_H */
310diff --git a/test/ssl_test.c b/test/ssl_test.c 303diff --git a/test/ssl_test.c b/test/ssl_test.c
311index ea608518f9..9d6b093c81 100644 304index ea60851..9d6b093 100644
312--- a/test/ssl_test.c 305--- a/test/ssl_test.c
313+++ b/test/ssl_test.c 306+++ b/test/ssl_test.c
314@@ -26,6 +26,44 @@ static OSSL_LIB_CTX *libctx = NULL; 307@@ -26,6 +26,44 @@ static OSSL_LIB_CTX *libctx = NULL;
315 /* Currently the section names are of the form test-<number>, e.g. test-15. */ 308 /* Currently the section names are of the form test-<number>, e.g. test-15. */
316 #define MAX_TESTCASE_NAME_LENGTH 100 309 #define MAX_TESTCASE_NAME_LENGTH 100
317 310
318+static void print_handshake_history(const HANDSHAKE_HISTORY *history) 311+static void print_handshake_history(const HANDSHAKE_HISTORY *history)
319+{ 312+{
320+ size_t first_idx; 313+ size_t first_idx;
diff --git a/meta/recipes-connectivity/openssl/openssl/0001-Configure-do-not-tweak-mips-cflags.patch b/meta/recipes-connectivity/openssl/openssl/0001-Configure-do-not-tweak-mips-cflags.patch
index 502a7aaf32..7043188973 100644
--- a/meta/recipes-connectivity/openssl/openssl/0001-Configure-do-not-tweak-mips-cflags.patch
+++ b/meta/recipes-connectivity/openssl/openssl/0001-Configure-do-not-tweak-mips-cflags.patch
@@ -17,10 +17,10 @@ Signed-off-by: Tim Orling <tim.orling@konsulko.com>
17 1 file changed, 10 deletions(-) 17 1 file changed, 10 deletions(-)
18 18
19diff --git a/Configure b/Configure 19diff --git a/Configure b/Configure
20index 4569952..adf019b 100755 20index fff97bd..5ee54c1 100755
21--- a/Configure 21--- a/Configure
22+++ b/Configure 22+++ b/Configure
23@@ -1422,16 +1422,6 @@ if ($target =~ /^mingw/ && `$config{CC} --target-help 2>&1` =~ m/-mno-cygwin/m) 23@@ -1551,16 +1551,6 @@ if ($target =~ /^mingw/ && `$config{CC} --target-help 2>&1` =~ m/-mno-cygwin/m)
24 push @{$config{shared_ldflag}}, "-mno-cygwin"; 24 push @{$config{shared_ldflag}}, "-mno-cygwin";
25 } 25 }
26 26
diff --git a/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch b/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch
index bafdbaa46f..687d682976 100644
--- a/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch
+++ b/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch
@@ -30,23 +30,26 @@ Update to fix buildpaths qa issue for '-ffile-prefix-map'.
30Signed-off-by: Khem Raj <raj.khem@gmail.com> 30Signed-off-by: Khem Raj <raj.khem@gmail.com>
31 31
32--- 32---
33 Configurations/unix-Makefile.tmpl | 12 +++++++++++- 33 Configurations/unix-Makefile.tmpl | 16 +++++++++++++++-
34 crypto/build.info | 2 +- 34 crypto/build.info | 2 +-
35 2 files changed, 12 insertions(+), 2 deletions(-) 35 2 files changed, 16 insertions(+), 2 deletions(-)
36 36
37Index: openssl-3.0.4/Configurations/unix-Makefile.tmpl 37diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
38=================================================================== 38index 09303c4..011bda1 100644
39--- openssl-3.0.4.orig/Configurations/unix-Makefile.tmpl 39--- a/Configurations/unix-Makefile.tmpl
40+++ openssl-3.0.4/Configurations/unix-Makefile.tmpl 40+++ b/Configurations/unix-Makefile.tmpl
41@@ -472,13 +472,23 @@ BIN_LDFLAGS={- join(' ', $target{bin_lfl 41@@ -502,13 +502,27 @@ BIN_LDFLAGS={- join(' ', $target{bin_lflags} || (),
42 '$(CNF_LDFLAGS)', '$(LDFLAGS)') -} 42 '$(CNF_LDFLAGS)', '$(LDFLAGS)') -}
43 BIN_EX_LIBS=$(CNF_EX_LIBS) $(EX_LIBS) 43 BIN_EX_LIBS=$(CNF_EX_LIBS) $(EX_LIBS)
44 44
45-# CPPFLAGS_Q is used for one thing only: to build up buildinf.h 45-# CPPFLAGS_Q is used for one thing only: to build up buildinf.h
46+# *_Q variables are used for one thing only: to build up buildinf.h 46+# *_Q variables are used for one thing only: to build up buildinf.h
47 CPPFLAGS_Q={- $cppflags1 =~ s|([\\"])|\\$1|g; 47 CPPFLAGS_Q={- $cppflags1 =~ s|([\\"])|\\$1|g;
48+ $cppflags1 =~ s|-isystem/[^ ]+/usr/include||g;
48 $cppflags2 =~ s|([\\"])|\\$1|g; 49 $cppflags2 =~ s|([\\"])|\\$1|g;
50+ $cppflags2 =~ s|-isystem/[^ ]+/usr/include||g;
49 $lib_cppflags =~ s|([\\"])|\\$1|g; 51 $lib_cppflags =~ s|([\\"])|\\$1|g;
52+ $lib_cppflags =~ s|-isystem/[^ ]+/usr/include||g;
50 join(' ', $lib_cppflags || (), $cppflags2 || (), 53 join(' ', $lib_cppflags || (), $cppflags2 || (),
51 $cppflags1 || ()) -} 54 $cppflags1 || ()) -}
52 55
@@ -54,6 +57,7 @@ Index: openssl-3.0.4/Configurations/unix-Makefile.tmpl
54+ s|-fdebug-prefix-map=[^ ]+|-fdebug-prefix-map=|g; 57+ s|-fdebug-prefix-map=[^ ]+|-fdebug-prefix-map=|g;
55+ s|-fmacro-prefix-map=[^ ]+|-fmacro-prefix-map=|g; 58+ s|-fmacro-prefix-map=[^ ]+|-fmacro-prefix-map=|g;
56+ s|-ffile-prefix-map=[^ ]+|-ffile-prefix-map=|g; 59+ s|-ffile-prefix-map=[^ ]+|-ffile-prefix-map=|g;
60+ s|-isystem/[^ ]+/usr/include ||g;
57+ } 61+ }
58+ join(' ', @{$config{CFLAGS}}) -} 62+ join(' ', @{$config{CFLAGS}}) -}
59+ 63+
@@ -63,11 +67,11 @@ Index: openssl-3.0.4/Configurations/unix-Makefile.tmpl
63 PERLASM_SCHEME= {- $target{perlasm_scheme} -} 67 PERLASM_SCHEME= {- $target{perlasm_scheme} -}
64 68
65 # For x86 assembler: Set PROCESSOR to 386 if you want to support 69 # For x86 assembler: Set PROCESSOR to 386 if you want to support
66Index: openssl-3.0.4/crypto/build.info 70diff --git a/crypto/build.info b/crypto/build.info
67=================================================================== 71index aee5c46..95c9577 100644
68--- openssl-3.0.4.orig/crypto/build.info 72--- a/crypto/build.info
69+++ openssl-3.0.4/crypto/build.info 73+++ b/crypto/build.info
70@@ -109,7 +109,7 @@ DEFINE[../libcrypto]=$UPLINKDEF 74@@ -115,7 +115,7 @@ DEFINE[../libcrypto]=$UPLINKDEF
71 75
72 DEPEND[info.o]=buildinf.h 76 DEPEND[info.o]=buildinf.h
73 DEPEND[cversion.o]=buildinf.h 77 DEPEND[cversion.o]=buildinf.h
diff --git a/meta/recipes-connectivity/openssl/openssl/CVE-2024-2511.patch b/meta/recipes-connectivity/openssl/openssl/CVE-2024-2511.patch
deleted file mode 100644
index 8772f716d5..0000000000
--- a/meta/recipes-connectivity/openssl/openssl/CVE-2024-2511.patch
+++ /dev/null
@@ -1,120 +0,0 @@
1From e9d7083e241670332e0443da0f0d4ffb52829f08 Mon Sep 17 00:00:00 2001
2From: Matt Caswell <matt@openssl.org>
3Date: Tue, 5 Mar 2024 15:43:53 +0000
4Subject: [PATCH] Fix unconstrained session cache growth in TLSv1.3
5
6In TLSv1.3 we create a new session object for each ticket that we send.
7We do this by duplicating the original session. If SSL_OP_NO_TICKET is in
8use then the new session will be added to the session cache. However, if
9early data is not in use (and therefore anti-replay protection is being
10used), then multiple threads could be resuming from the same session
11simultaneously. If this happens and a problem occurs on one of the threads,
12then the original session object could be marked as not_resumable. When we
13duplicate the session object this not_resumable status gets copied into the
14new session object. The new session object is then added to the session
15cache even though it is not_resumable.
16
17Subsequently, another bug means that the session_id_length is set to 0 for
18sessions that are marked as not_resumable - even though that session is
19still in the cache. Once this happens the session can never be removed from
20the cache. When that object gets to be the session cache tail object the
21cache never shrinks again and grows indefinitely.
22
23CVE-2024-2511
24
25Reviewed-by: Neil Horman <nhorman@openssl.org>
26Reviewed-by: Tomas Mraz <tomas@openssl.org>
27(Merged from https://github.com/openssl/openssl/pull/24043)
28
29CVE: CVE-2024-2511
30Upstream-Status: Backport [https://github.com/openssl/openssl/commit/e9d7083e241670332e0443da0f0d4ffb52829f08]
31Signed-off-by: Peter Marko <peter.marko@siemens.com>
32---
33 ssl/ssl_lib.c | 5 +++--
34 ssl/ssl_sess.c | 28 ++++++++++++++++++++++------
35 ssl/statem/statem_srvr.c | 5 ++---
36 3 files changed, 27 insertions(+), 11 deletions(-)
37
38diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c
39index 4afb43bc86e54..c51529ddab5bb 100644
40--- a/ssl/ssl_lib.c
41+++ b/ssl/ssl_lib.c
42@@ -4457,9 +4457,10 @@ void ssl_update_cache(SSL_CONNECTION *s, int mode)
43
44 /*
45 * If the session_id_length is 0, we are not supposed to cache it, and it
46- * would be rather hard to do anyway :-)
47+ * would be rather hard to do anyway :-). Also if the session has already
48+ * been marked as not_resumable we should not cache it for later reuse.
49 */
50- if (s->session->session_id_length == 0)
51+ if (s->session->session_id_length == 0 || s->session->not_resumable)
52 return;
53
54 /*
55diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c
56index 3dcc4d81e5bc6..1fa6d17c46863 100644
57--- a/ssl/ssl_sess.c
58+++ b/ssl/ssl_sess.c
59@@ -127,16 +127,11 @@ SSL_SESSION *SSL_SESSION_new(void)
60 return ss;
61 }
62
63-SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src)
64-{
65- return ssl_session_dup(src, 1);
66-}
67-
68 /*
69 * Create a new SSL_SESSION and duplicate the contents of |src| into it. If
70 * ticket == 0 then no ticket information is duplicated, otherwise it is.
71 */
72-SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
73+static SSL_SESSION *ssl_session_dup_intern(const SSL_SESSION *src, int ticket)
74 {
75 SSL_SESSION *dest;
76
77@@ -265,6 +260,27 @@ SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
78 return NULL;
79 }
80
81+SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src)
82+{
83+ return ssl_session_dup_intern(src, 1);
84+}
85+
86+/*
87+ * Used internally when duplicating a session which might be already shared.
88+ * We will have resumed the original session. Subsequently we might have marked
89+ * it as non-resumable (e.g. in another thread) - but this copy should be ok to
90+ * resume from.
91+ */
92+SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
93+{
94+ SSL_SESSION *sess = ssl_session_dup_intern(src, ticket);
95+
96+ if (sess != NULL)
97+ sess->not_resumable = 0;
98+
99+ return sess;
100+}
101+
102 const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, unsigned int *len)
103 {
104 if (len)
105diff --git a/ssl/statem/statem_srvr.c b/ssl/statem/statem_srvr.c
106index 853af8c0aa9f9..d5f0ab091dacc 100644
107--- a/ssl/statem/statem_srvr.c
108+++ b/ssl/statem/statem_srvr.c
109@@ -2445,9 +2445,8 @@ CON_FUNC_RETURN tls_construct_server_hello(SSL_CONNECTION *s, WPACKET *pkt)
110 * so the following won't overwrite an ID that we're supposed
111 * to send back.
112 */
113- if (s->session->not_resumable ||
114- (!(SSL_CONNECTION_GET_CTX(s)->session_cache_mode & SSL_SESS_CACHE_SERVER)
115- && !s->hit))
116+ if (!(SSL_CONNECTION_GET_CTX(s)->session_cache_mode & SSL_SESS_CACHE_SERVER)
117+ && !s->hit)
118 s->session->session_id_length = 0;
119
120 if (usetls13) {
diff --git a/meta/recipes-connectivity/openssl/openssl/bti.patch b/meta/recipes-connectivity/openssl/openssl/bti.patch
deleted file mode 100644
index 748576c30c..0000000000
--- a/meta/recipes-connectivity/openssl/openssl/bti.patch
+++ /dev/null
@@ -1,58 +0,0 @@
1From ba8a599395f8b770c76316b5f5b0f3838567014f Mon Sep 17 00:00:00 2001
2From: Tom Cosgrove <tom.cosgrove@arm.com>
3Date: Tue, 26 Mar 2024 13:18:00 +0000
4Subject: [PATCH] aarch64: fix BTI in bsaes assembly code
5
6In Arm systems where BTI is enabled but the Crypto extensions are not (more
7likely in FVPs than in real hardware), the bit-sliced assembler code will
8be used. However, this wasn't annotated with BTI instructions when BTI was
9enabled, so the moment libssl jumps into this code it (correctly) aborts.
10
11Solve this by adding the missing BTI landing pads.
12
13Upstream-Status: Submitted [https://github.com/openssl/openssl/pull/23982]
14Signed-off-by: Ross Burton <ross.burton@arm.com>
15---
16 crypto/aes/asm/bsaes-armv8.pl | 5 ++++-
17 1 file changed, 4 insertions(+), 1 deletion(-)
18
19diff --git a/crypto/aes/asm/bsaes-armv8.pl b/crypto/aes/asm/bsaes-armv8.pl
20index b3c97e439f..c3c5ff3e05 100644
21--- a/crypto/aes/asm/bsaes-armv8.pl
22+++ b/crypto/aes/asm/bsaes-armv8.pl
23@@ -1018,6 +1018,7 @@ _bsaes_key_convert:
24 // Initialisation vector overwritten with last quadword of ciphertext
25 // No output registers, usual AAPCS64 register preservation
26 ossl_bsaes_cbc_encrypt:
27+ AARCH64_VALID_CALL_TARGET
28 cmp x2, #128
29 bhs .Lcbc_do_bsaes
30 b AES_cbc_encrypt
31@@ -1270,7 +1271,7 @@ ossl_bsaes_cbc_encrypt:
32 // Output text filled in
33 // No output registers, usual AAPCS64 register preservation
34 ossl_bsaes_ctr32_encrypt_blocks:
35-
36+ AARCH64_VALID_CALL_TARGET
37 cmp x2, #8 // use plain AES for
38 blo .Lctr_enc_short // small sizes
39
40@@ -1476,6 +1477,7 @@ ossl_bsaes_ctr32_encrypt_blocks:
41 // Output ciphertext filled in
42 // No output registers, usual AAPCS64 register preservation
43 ossl_bsaes_xts_encrypt:
44+ AARCH64_VALID_CALL_TARGET
45 // Stack layout:
46 // sp ->
47 // nrounds*128-96 bytes: key schedule
48@@ -1921,6 +1923,7 @@ ossl_bsaes_xts_encrypt:
49 // Output plaintext filled in
50 // No output registers, usual AAPCS64 register preservation
51 ossl_bsaes_xts_decrypt:
52+ AARCH64_VALID_CALL_TARGET
53 // Stack layout:
54 // sp ->
55 // nrounds*128-96 bytes: key schedule
56--
572.34.1
58
diff --git a/meta/recipes-connectivity/openssl/openssl/run-ptest b/meta/recipes-connectivity/openssl/openssl/run-ptest
index c89ec5afa1..cd29bb1446 100644
--- a/meta/recipes-connectivity/openssl/openssl/run-ptest
+++ b/meta/recipes-connectivity/openssl/openssl/run-ptest
@@ -1,12 +1,19 @@
1#!/bin/sh 1#!/bin/sh
2 2
3set -e 3set -eu
4 4
5# Optional arguments are 'list' to lists all tests, or the test name (base name 5# Optional arguments are 'list' to lists the tests, or the test name (base name
6# ie test_evp, not 03_test_evp.t). 6# ie test_evp, not 03_test_evp.t). Without any arguments we run all tests.
7
8if test $# -gt 0; then
9 TESTS=$*
10else
11 # Skip test_symbol_presence as this is for developers
12 TESTS="alltests -test_symbol_presence"
13fi
7 14
8export TOP=. 15export TOP=.
9# OPENSSL_ENGINES is relative from the test binaries 16# Run four jobs in parallel
10export OPENSSL_ENGINES=../engines 17export HARNESS_JOBS=4
11 18
12{ HARNESS_JOBS=4 perl ./test/run_tests.pl $* || echo "FAIL: openssl" ; } | sed -u -r -e '/(.*) \.*.ok/ s/^/PASS: /g' -r -e '/Dubious(.*)/ s/^/FAIL: /g' -e '/(.*) \.*.skipped: (.*)/ s/^/SKIP: /g' 19{ perl ./test/run_tests.pl $TESTS || echo "FAIL: openssl" ; } | sed -u -r -e '/(.*) \.*.ok/ s/^/PASS: /g' -r -e '/Dubious(.*)/ s/^/FAIL: /g' -e '/(.*) \.*.skipped: (.*)/ s/^/SKIP: /g'
diff --git a/meta/recipes-connectivity/openssl/openssl_3.2.1.bb b/meta/recipes-connectivity/openssl/openssl_3.5.0.bb
index d37b68abbb..0f5c28dafa 100644
--- a/meta/recipes-connectivity/openssl/openssl_3.2.1.bb
+++ b/meta/recipes-connectivity/openssl/openssl_3.5.0.bb
@@ -12,15 +12,13 @@ SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
12 file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \ 12 file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
13 file://0001-Configure-do-not-tweak-mips-cflags.patch \ 13 file://0001-Configure-do-not-tweak-mips-cflags.patch \
14 file://0001-Added-handshake-history-reporting-when-test-fails.patch \ 14 file://0001-Added-handshake-history-reporting-when-test-fails.patch \
15 file://bti.patch \
16 file://CVE-2024-2511.patch \
17 " 15 "
18 16
19SRC_URI:append:class-nativesdk = " \ 17SRC_URI:append:class-nativesdk = " \
20 file://environment.d-openssl.sh \ 18 file://environment.d-openssl.sh \
21 " 19 "
22 20
23SRC_URI[sha256sum] = "83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39" 21SRC_URI[sha256sum] = "344d0a79f1a9b08029b0744e2cc401a43f9c90acd1044d09a530b4885a8e9fc0"
24 22
25inherit lib_package multilib_header multilib_script ptest perlnative manpages 23inherit lib_package multilib_header multilib_script ptest perlnative manpages
26MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash" 24MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash"
@@ -33,10 +31,13 @@ PACKAGECONFIG[cryptodev-linux] = "enable-devcryptoeng,disable-devcryptoeng,crypt
33PACKAGECONFIG[no-tls1] = "no-tls1" 31PACKAGECONFIG[no-tls1] = "no-tls1"
34PACKAGECONFIG[no-tls1_1] = "no-tls1_1" 32PACKAGECONFIG[no-tls1_1] = "no-tls1_1"
35PACKAGECONFIG[manpages] = "" 33PACKAGECONFIG[manpages] = ""
34PACKAGECONFIG[fips] = "enable-fips"
36 35
37B = "${WORKDIR}/build" 36B = "${WORKDIR}/build"
38do_configure[cleandirs] = "${B}" 37do_configure[cleandirs] = "${B}"
39 38
39EXTRA_OECONF = "${@bb.utils.contains('PTEST_ENABLED', '1', '', 'no-tests', d)}"
40
40#| ./libcrypto.so: undefined reference to `getcontext' 41#| ./libcrypto.so: undefined reference to `getcontext'
41#| ./libcrypto.so: undefined reference to `setcontext' 42#| ./libcrypto.so: undefined reference to `setcontext'
42#| ./libcrypto.so: undefined reference to `makecontext' 43#| ./libcrypto.so: undefined reference to `makecontext'
@@ -45,12 +46,15 @@ EXTRA_OECONF:append:libc-musl:powerpc64 = " no-asm"
45 46
46# adding devrandom prevents openssl from using getrandom() which is not available on older glibc versions 47# adding devrandom prevents openssl from using getrandom() which is not available on older glibc versions
47# (native versions can be built with newer glibc, but then relocated onto a system with older glibc) 48# (native versions can be built with newer glibc, but then relocated onto a system with older glibc)
48EXTRA_OECONF:class-native = "--with-rand-seed=os,devrandom" 49EXTRA_OECONF:append:class-native = " --with-rand-seed=os,devrandom"
49EXTRA_OECONF:class-nativesdk = "--with-rand-seed=os,devrandom" 50EXTRA_OECONF:append:class-nativesdk = " --with-rand-seed=os,devrandom"
50 51
51# Relying on hardcoded built-in paths causes openssl-native to not be relocateable from sstate. 52# Relying on hardcoded built-in paths causes openssl-native to not be relocateable from sstate.
52CFLAGS:append:class-native = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin" 53EXTRA_OEMAKE:append:task-compile:class-native = ' OPENSSLDIR="/not/builtin" ENGINESDIR="/not/builtin" MODULESDIR="/not/builtin"'
53CFLAGS:append:class-nativesdk = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin" 54EXTRA_OEMAKE:append:task-compile:class-nativesdk = ' OPENSSLDIR="/not/builtin" ENGINESDIR="/not/builtin" MODULESDIR="/not/builtin"'
55
56#| threads_pthread.c:(.text+0x372): undefined reference to `__atomic_is_lock_free'
57EXTRA_OECONF:append:toolchain-clang:x86 = " -latomic"
54 58
55# This allows disabling deprecated or undesirable crypto algorithms. 59# This allows disabling deprecated or undesirable crypto algorithms.
56# The default is to trust upstream choices. 60# The default is to trust upstream choices.
@@ -137,21 +141,26 @@ do_configure () {
137 ;; 141 ;;
138 esac 142 esac
139 143
140 useprefix=${prefix}
141 if [ "x$useprefix" = "x" ]; then
142 useprefix=/
143 fi
144 # WARNING: do not set compiler/linker flags (-I/-D etc.) in EXTRA_OECONF, as they will fully replace the 144 # WARNING: do not set compiler/linker flags (-I/-D etc.) in EXTRA_OECONF, as they will fully replace the
145 # environment variables set by bitbake. Adjust the environment variables instead. 145 # environment variables set by bitbake. Adjust the environment variables instead.
146 PERLEXTERNAL="$(realpath ${S}/external/perl/Text-Template-*/lib)" 146 PERLEXTERNAL="$(realpath ${S}/external/perl/Text-Template-*/lib)"
147 test -d "$PERLEXTERNAL" || bberror "PERLEXTERNAL '$PERLEXTERNAL' not found!" 147 test -d "$PERLEXTERNAL" || bberror "PERLEXTERNAL '$PERLEXTERNAL' not found!"
148 HASHBANGPERL="/usr/bin/env perl" PERL=perl PERL5LIB="$PERLEXTERNAL" \ 148 HASHBANGPERL="/usr/bin/env perl" PERL=perl PERL5LIB="$PERLEXTERNAL" \
149 perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} ${DEPRECATED_CRYPTO_FLAGS} --prefix=$useprefix --openssldir=${libdir}/ssl-3 --libdir=${libdir} $target 149 perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} ${DEPRECATED_CRYPTO_FLAGS} --prefix=${prefix} --openssldir=${libdir}/ssl-3 --libdir=${baselib} $target
150 perl ${B}/configdata.pm --dump 150 perl ${B}/configdata.pm --dump
151} 151}
152 152
153do_compile:append () {
154 # The test suite binaries are large and we don't need the debugging in them
155 if test -d ${B}/test; then
156 find ${B}/test -type f -executable -exec ${STRIP} {} \;
157 fi
158}
159
153do_install () { 160do_install () {
154 oe_runmake DESTDIR="${D}" MANDIR="${mandir}" MANSUFFIX=ssl install_sw install_ssldirs ${@bb.utils.contains('PACKAGECONFIG', 'manpages', 'install_docs', '', d)} 161 oe_runmake DESTDIR="${D}" MANDIR="${mandir}" MANSUFFIX=ssl install_sw install_ssldirs \
162 ${@bb.utils.contains('PACKAGECONFIG', 'manpages', 'install_docs', '', d)} \
163 ${@bb.utils.contains('PACKAGECONFIG', 'fips', 'install_fips', '', d)}
155 164
156 oe_multilib_header openssl/opensslconf.h 165 oe_multilib_header openssl/opensslconf.h
157 oe_multilib_header openssl/configuration.h 166 oe_multilib_header openssl/configuration.h
@@ -169,63 +178,72 @@ do_install () {
169 ln -sf ${@oe.path.relative('${libdir}/ssl-3', '${sysconfdir}/ssl/certs')} ${D}${libdir}/ssl-3/certs 178 ln -sf ${@oe.path.relative('${libdir}/ssl-3', '${sysconfdir}/ssl/certs')} ${D}${libdir}/ssl-3/certs
170 ln -sf ${@oe.path.relative('${libdir}/ssl-3', '${sysconfdir}/ssl/private')} ${D}${libdir}/ssl-3/private 179 ln -sf ${@oe.path.relative('${libdir}/ssl-3', '${sysconfdir}/ssl/private')} ${D}${libdir}/ssl-3/private
171 ln -sf ${@oe.path.relative('${libdir}/ssl-3', '${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl-3/openssl.cnf 180 ln -sf ${@oe.path.relative('${libdir}/ssl-3', '${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl-3/openssl.cnf
181
182 # Generate fipsmodule.cnf in pkg_postinst_ontarget
183 if ${@bb.utils.contains('PACKAGECONFIG', 'fips', 'true', 'false', d)}; then
184 rm -f ${D}${libdir}/ssl-3/fipsmodule.cnf
185 fi
172} 186}
173 187
174do_install:append:class-native () { 188do_install:append:class-native () {
175 create_wrapper ${D}${bindir}/openssl \ 189 create_wrapper ${D}${bindir}/openssl \
176 OPENSSL_CONF=${libdir}/ssl-3/openssl.cnf \ 190 OPENSSL_CONF=\${OPENSSL_CONF:-${libdir}/ssl-3/openssl.cnf} \
177 SSL_CERT_DIR=${libdir}/ssl-3/certs \ 191 SSL_CERT_DIR=\${SSL_CERT_DIR:-${libdir}/ssl-3/certs} \
178 SSL_CERT_FILE=${libdir}/ssl-3/cert.pem \ 192 SSL_CERT_FILE=\${SSL_CERT_FILE:-${libdir}/ssl-3/cert.pem} \
179 OPENSSL_ENGINES=${libdir}/engines-3 \ 193 OPENSSL_ENGINES=\${OPENSSL_ENGINES:-${libdir}/engines-3} \
180 OPENSSL_MODULES=${libdir}/ossl-modules 194 OPENSSL_MODULES=\${OPENSSL_MODULES:-${libdir}/ossl-modules}
181} 195}
182 196
183do_install:append:class-nativesdk () { 197do_install:append:class-nativesdk () {
184 mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d 198 mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
185 install -m 644 ${WORKDIR}/environment.d-openssl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh 199 install -m 644 ${UNPACKDIR}/environment.d-openssl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
186 sed 's|/usr/lib/ssl/|/usr/lib/ssl-3/|g' -i ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
187} 200}
188 201
189PTEST_BUILD_HOST_FILES += "configdata.pm" 202PTEST_BUILD_HOST_FILES += "configdata.pm"
190PTEST_BUILD_HOST_PATTERN = "perl_version =" 203PTEST_BUILD_HOST_PATTERN = "perl_version ="
191do_install_ptest () { 204do_install_ptest() {
192 install -d ${D}${PTEST_PATH}/test 205 install -m644 ${S}/Configure ${B}/configdata.pm ${D}${PTEST_PATH}
193 install -m755 ${B}/test/p_test.so ${D}${PTEST_PATH}/test 206 cp -rf ${S}/Configurations ${S}/external ${D}${PTEST_PATH}/
194 install -m755 ${B}/test/p_minimal.so ${D}${PTEST_PATH}/test
195 install -m755 ${B}/test/provider_internal_test.cnf ${D}${PTEST_PATH}/test
196
197 # Prune the build tree
198 rm -f ${B}/fuzz/*.* ${B}/test/*.*
199
200 cp ${S}/Configure ${B}/configdata.pm ${D}${PTEST_PATH}
201 sed 's|${S}|${PTEST_PATH}|g' -i ${D}${PTEST_PATH}/configdata.pm
202 cp -r ${S}/external ${B}/test ${S}/test ${B}/fuzz ${S}/util ${B}/util ${D}${PTEST_PATH}
203
204 # For test_shlibload
205 ln -s ${libdir}/libcrypto.so.1.1 ${D}${PTEST_PATH}/
206 ln -s ${libdir}/libssl.so.1.1 ${D}${PTEST_PATH}/
207 207
208 install -d ${D}${PTEST_PATH}/apps 208 install -d ${D}${PTEST_PATH}/apps
209 ln -s ${bindir}/openssl ${D}${PTEST_PATH}/apps 209 ln -s ${bindir}/openssl ${D}${PTEST_PATH}/apps
210 install -m644 ${S}/apps/*.pem ${S}/apps/*.srl ${S}/apps/openssl.cnf ${D}${PTEST_PATH}/apps
211 install -m755 ${B}/apps/CA.pl ${D}${PTEST_PATH}/apps
212
213 install -d ${D}${PTEST_PATH}/engines
214 install -m755 ${B}/engines/dasync.so ${D}${PTEST_PATH}/engines
215 install -m755 ${B}/engines/loader_attic.so ${D}${PTEST_PATH}/engines
216 install -m755 ${B}/engines/ossltest.so ${D}${PTEST_PATH}/engines
217 210
218 install -d ${D}${PTEST_PATH}/providers 211 cd ${S}
219 install -m755 ${B}/providers/legacy.so ${D}${PTEST_PATH}/providers 212 find test/certs test/ct test/d2i-tests test/recipes test/ocsp-tests test/ssl-tests test/smime-certs -type f -exec install -m644 -D {} ${D}${PTEST_PATH}/{} \;
213 find apps test -name \*.cnf -exec install -m644 -D {} ${D}${PTEST_PATH}/{} \;
214 find apps test -name \*.der -exec install -m644 -D {} ${D}${PTEST_PATH}/{} \;
215 find apps test -name \*.pem -exec install -m644 -D {} ${D}${PTEST_PATH}/{} \;
216 find util -name \*.p[lm] -exec install -m644 -D {} ${D}${PTEST_PATH}/{} \;
217
218 cd ${B}
219 # Everything but .? (.o and .d)
220 find test -type f -name \*[^.]? -exec install -m755 -D {} ${D}${PTEST_PATH}/{} \;
221 find apps test -name \*.cnf -exec install -m644 -D {} ${D}${PTEST_PATH}/{} \;
222 find apps test -name \*.pem -exec install -m644 -D {} ${D}${PTEST_PATH}/{} \;
223 find apps test -name \*.srl -exec install -m644 -D {} ${D}${PTEST_PATH}/{} \;
224 install -m755 ${B}/util/*wrap.* ${D}${PTEST_PATH}/util/
225
226 install -m755 ${B}/apps/CA.pl ${D}${PTEST_PATH}/apps/
227 install -m755 ${S}/test/*.pl ${D}${PTEST_PATH}/test/
228 install -m755 ${S}/test/shibboleth.pfx ${D}${PTEST_PATH}/test/
229 install -m755 ${S}/test/*.bin ${D}${PTEST_PATH}/test/
230 install -m755 ${S}/test/dane*.in ${D}${PTEST_PATH}/test/
231 install -m755 ${S}/test/smcont*.txt ${D}${PTEST_PATH}/test/
232 install -m755 ${S}/test/ssl_test.tmpl ${D}${PTEST_PATH}/test/
233
234 sed 's|${S}|${PTEST_PATH}|g' -i ${D}${PTEST_PATH}/configdata.pm ${D}${PTEST_PATH}/util/wrap.pl
220 235
221 install -d ${D}${PTEST_PATH}/Configurations 236 install -d ${D}${PTEST_PATH}/engines
222 cp -rf ${S}/Configurations/* ${D}${PTEST_PATH}/Configurations/ 237 install -m755 ${B}/engines/dasync.so ${D}${PTEST_PATH}/engines/
223 238 install -m755 ${B}/engines/ossltest.so ${D}${PTEST_PATH}/engines/
224 # seems to be needed with perl 5.32.1 239 ln -s ${libdir}/engines-3/loader_attic.so ${D}${PTEST_PATH}/engines/
225 install -d ${D}${PTEST_PATH}/util/perl/recipes 240 ln -s ${libdir}/ossl-modules/ ${D}${PTEST_PATH}/providers
226 cp ${D}${PTEST_PATH}/test/recipes/tconversion.pl ${D}${PTEST_PATH}/util/perl/recipes/ 241}
227 242
228 sed 's|${S}|${PTEST_PATH}|g' -i ${D}${PTEST_PATH}/util/wrap.pl 243pkg_postinst_ontarget:${PN}-ossl-module-fips () {
244 if test -f ${libdir}/ossl-modules/fips.so; then
245 ${bindir}/openssl fipsinstall -out ${libdir}/ssl-3/fipsmodule.cnf -module ${libdir}/ossl-modules/fips.so
246 fi
229} 247}
230 248
231# Add the openssl.cnf file to the openssl-conf package. Make the libcrypto 249# Add the openssl.cnf file to the openssl-conf package. Make the libcrypto
@@ -233,7 +251,7 @@ do_install_ptest () {
233# file to be installed for both the openssl-bin package and the libcrypto 251# file to be installed for both the openssl-bin package and the libcrypto
234# package since the openssl-bin package depends on the libcrypto package. 252# package since the openssl-bin package depends on the libcrypto package.
235 253
236PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc ${PN}-ossl-module-legacy" 254PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc ${PN}-ossl-module-legacy ${PN}-ossl-module-fips"
237 255
238FILES:libcrypto = "${libdir}/libcrypto${SOLIBS}" 256FILES:libcrypto = "${libdir}/libcrypto${SOLIBS}"
239FILES:libssl = "${libdir}/libssl${SOLIBS}" 257FILES:libssl = "${libdir}/libssl${SOLIBS}"
@@ -245,6 +263,7 @@ FILES:${PN}-engines = "${libdir}/engines-3"
245FILES:${PN}-engines:append:mingw32:class-nativesdk = " ${prefix}${libdir}/engines-3" 263FILES:${PN}-engines:append:mingw32:class-nativesdk = " ${prefix}${libdir}/engines-3"
246FILES:${PN}-misc = "${libdir}/ssl-3/misc ${bindir}/c_rehash" 264FILES:${PN}-misc = "${libdir}/ssl-3/misc ${bindir}/c_rehash"
247FILES:${PN}-ossl-module-legacy = "${libdir}/ossl-modules/legacy.so" 265FILES:${PN}-ossl-module-legacy = "${libdir}/ossl-modules/legacy.so"
266FILES:${PN}-ossl-module-fips = "${libdir}/ossl-modules/fips.so"
248FILES:${PN} =+ "${libdir}/ssl-3/* ${libdir}/ossl-modules/" 267FILES:${PN} =+ "${libdir}/ssl-3/* ${libdir}/ossl-modules/"
249FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh" 268FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
250 269
@@ -252,13 +271,13 @@ CONFFILES:openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
252 271
253RRECOMMENDS:libcrypto += "openssl-conf ${PN}-ossl-module-legacy" 272RRECOMMENDS:libcrypto += "openssl-conf ${PN}-ossl-module-legacy"
254RDEPENDS:${PN}-misc = "perl" 273RDEPENDS:${PN}-misc = "perl"
255RDEPENDS:${PN}-ptest += "openssl-bin perl perl-modules bash sed" 274RDEPENDS:${PN}-ptest += "openssl-bin perl perl-modules bash sed openssl-engines openssl-ossl-module-legacy"
256 275
257RDEPENDS:${PN}-bin += "openssl-conf" 276RDEPENDS:${PN}-bin += "openssl-conf"
258 277
278# The test suite is installed stripped
279INSANE_SKIP:${PN} = "already-stripped"
280
259BBCLASSEXTEND = "native nativesdk" 281BBCLASSEXTEND = "native nativesdk"
260 282
261CVE_PRODUCT = "openssl:openssl" 283CVE_PRODUCT = "openssl:openssl"
262
263CVE_VERSION_SUFFIX = "alphabetical"
264
diff --git a/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb b/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb
index 099c58bfc7..5c9c8219d7 100644
--- a/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb
+++ b/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb
@@ -11,14 +11,14 @@ SRC_URI = "file://host-peer \
11 11
12inherit allarch useradd 12inherit allarch useradd
13 13
14S = "${WORKDIR}" 14S = "${UNPACKDIR}"
15 15
16do_install() { 16do_install() {
17 install -d ${D}${sysconfdir}/ppp/peers 17 install -d ${D}${sysconfdir}/ppp/peers
18 install -m 0644 ${WORKDIR}/host-peer ${D}${sysconfdir}/ppp/peers/host 18 install -m 0644 ${S}/host-peer ${D}${sysconfdir}/ppp/peers/host
19 19
20 install -d ${D}${sbindir} 20 install -d ${D}${sbindir}
21 install -m 0755 ${WORKDIR}/ppp-dialin ${D}${sbindir} 21 install -m 0755 ${S}/ppp-dialin ${D}${sbindir}
22} 22}
23 23
24USERADD_PACKAGES = "${PN}" 24USERADD_PACKAGES = "${PN}"
diff --git a/meta/recipes-connectivity/ppp/ppp/0001-pppd-pppdconf.h-remove-erroneous-generated-header.patch b/meta/recipes-connectivity/ppp/ppp/0001-pppd-pppdconf.h-remove-erroneous-generated-header.patch
new file mode 100644
index 0000000000..a00706c184
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/0001-pppd-pppdconf.h-remove-erroneous-generated-header.patch
@@ -0,0 +1,98 @@
1From a6eb65162db5bcc5ec26cff7361885c0a44cbbfa Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Mon, 17 Mar 2025 11:12:07 +0100
4Subject: [PATCH] pppd/pppdconf.h: remove erroneous generated header
5
6Upstream-Status: Inappropriate [tarball generation issue tracked at https://github.com/ppp-project/ppp/issues/541]
7Signed-off-by: Alexander Kanavin <alex@linutronix.de>
8---
9 pppd/pppdconf.h | 80 -------------------------------------------------
10 1 file changed, 80 deletions(-)
11 delete mode 100644 pppd/pppdconf.h
12
13diff --git a/pppd/pppdconf.h b/pppd/pppdconf.h
14deleted file mode 100644
15index 51a8f02..0000000
16--- a/pppd/pppdconf.h
17+++ /dev/null
18@@ -1,80 +0,0 @@
19-/* pppd/pppdconf.h. Generated from pppdconf.h.in by configure. */
20-/*
21- * Copyright (c) 2022 Eivind Næss. All rights reserved.
22- *
23- * Redistribution and use in source and binary forms, with or without
24- * modification, are permitted provided that the following conditions
25- * are met:
26- *
27- * 1. Redistributions of source code must retain the above copyright
28- * notice, this list of conditions and the following disclaimer.
29- *
30- * 2. Redistributions in binary form must reproduce the above copyright
31- * notice, this list of conditions and the following disclaimer in
32- * the documentation and/or other materials provided with the
33- * distribution.
34- *
35- * 3. The name(s) of the authors of this software must not be used to
36- * endorse or promote products derived from this software without
37- * prior written permission.
38- *
39- * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO
40- * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
41- * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
42- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
43- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
44- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
45- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
46- */
47-
48-/*
49- * This file is generated by configure and sets the features enabled
50- * in pppd when configured.
51- */
52-
53-#ifndef PPP_PPPDCONF_H
54-#define PPP_PPPDCONF_H
55-
56-/* Have Microsoft CHAP support */
57-#define PPP_WITH_CHAPMS 1
58-
59-/* Have Microsoft LAN Manager support */
60-/* #undef PPP_WITH_MSLANMAN */
61-
62-/* Have Microsoft MPPE support */
63-#define PPP_WITH_MPPE 1
64-
65-/* Have multilink support */
66-#define PPP_WITH_MULTILINK 1
67-
68-/* Have packet activity filter support */
69-#define PPP_WITH_FILTER 1
70-
71-/* Have support for loadable plugins */
72-#define PPP_WITH_PLUGINS 1
73-
74-/* Have Callback Protocol support */
75-/* #undef PPP_WITH_CBCP */
76-
77-/* Include TDB support */
78-#define PPP_WITH_TDB 1
79-
80-/* Have IPv6 Control Protocol */
81-#define PPP_WITH_IPV6CP 1
82-
83-/* Support for Pluggable Authentication Modules */
84-/* #undef PPP_WITH_PAM */
85-
86-/* Have EAP-SRP authentication support */
87-/* #undef PPP_WITH_SRP */
88-
89-/* Have EAP-TLS authentication support */
90-#define PPP_WITH_EAPTLS 1
91-
92-/* Have PEAP authentication support */
93-#define PPP_WITH_PEAP 1
94-
95-/* The pppd version */
96-#define PPPD_VERSION "2.5.2"
97-
98-#endif
diff --git a/meta/recipes-connectivity/ppp/ppp/0001-pppd-session-Fixed-building-with-GCC-15.patch b/meta/recipes-connectivity/ppp/ppp/0001-pppd-session-Fixed-building-with-GCC-15.patch
new file mode 100644
index 0000000000..d95c72e96b
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/0001-pppd-session-Fixed-building-with-GCC-15.patch
@@ -0,0 +1,33 @@
1From 5edcb01f1d8d521c819d45df1f1bb87697252130 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 17 Mar 2025 14:38:26 -0700
4Subject: [PATCH] pppd/session: Fixed building with GCC 15
5
6Fixed building with GCC 15 which defaults to C23
7and find conflicting declration of getspnam() here
8with the one provided by shadow.h (extern struct spwd *getspnam (const char *__name);)
9
10Fixes
11../../ppp-2.5.2/pppd/session.c: In function 'session_start':
12../../ppp-2.5.2/pppd/session.c:185:18: error: conflicting types for 'getspnam'; have 'struct spwd *(void)'
13 185 | struct spwd *getspnam();
14 | ^~~~~~~~
15
16Upstream-Status: Submitted [https://github.com/ppp-project/ppp/pull/553]
17Signed-off-by: Khem Raj <raj.khem@gmail.com>
18---
19 pppd/session.c | 1 -
20 1 file changed, 1 deletion(-)
21
22diff --git a/pppd/session.c b/pppd/session.c
23index f08d8e1..9cc7538 100644
24--- a/pppd/session.c
25+++ b/pppd/session.c
26@@ -182,7 +182,6 @@ session_start(const int flags, const char *user, const char *passwd, const char
27 char *cbuf;
28 #ifdef HAVE_SHADOW_H
29 struct spwd *spwd;
30- struct spwd *getspnam();
31 long now = 0;
32 #endif /* #ifdef HAVE_SHADOW_H */
33 #endif /* #ifdef PPP_WITH_PAM */
diff --git a/meta/recipes-connectivity/ppp/ppp/0001-pppdump-Fixed-building-with-GCC-15-548.patch b/meta/recipes-connectivity/ppp/ppp/0001-pppdump-Fixed-building-with-GCC-15-548.patch
new file mode 100644
index 0000000000..2a3b3cc84a
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/0001-pppdump-Fixed-building-with-GCC-15-548.patch
@@ -0,0 +1,75 @@
1From 44a766a3d086f10cb584a0c423e5bed6af2e3615 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= <jskarvad@redhat.com>
3Date: Thu, 27 Feb 2025 23:00:16 +0100
4Subject: [PATCH] pppdump: Fixed building with GCC 15 (#548)
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9GCC 15 defaults to C23 which does not allow K&R declarations.
10
11Credit Yaakov Selkowitz in:
12https://src.fedoraproject.org/rpms/ppp/pull-request/12
13
14Upstream-Status: Backport [https://github.com/ppp-project/ppp/pull/548]
15
16Signed-off-by: Jaroslav Å karvada <jskarvad@redhat.com>
17Signed-off-by: Khem Raj <raj.khem@gmail.com>
18---
19 pppdump/pppdump.c | 20 +++++++-------------
20 1 file changed, 7 insertions(+), 13 deletions(-)
21
22diff --git a/pppdump/pppdump.c b/pppdump/pppdump.c
23index c24208a..1534036 100644
24--- a/pppdump/pppdump.c
25+++ b/pppdump/pppdump.c
26@@ -42,14 +42,12 @@ int tot_sent, tot_rcvd;
27 extern int optind;
28 extern char *optarg;
29
30-void dumplog();
31-void dumpppp();
32-void show_time();
33+void dumplog(FILE *);
34+void dumpppp(FILE *);
35+void show_time(FILE *, int);
36
37 int
38-main(ac, av)
39- int ac;
40- char **av;
41+main(int ac, char **av)
42 {
43 int i;
44 char *p;
45@@ -97,8 +95,7 @@ main(ac, av)
46 }
47
48 void
49-dumplog(f)
50- FILE *f;
51+dumplog(FILE *f)
52 {
53 int c, n, k, col;
54 int nb, c2;
55@@ -241,8 +238,7 @@ struct pkt {
56 unsigned char dbuf[8192];
57
58 void
59-dumpppp(f)
60- FILE *f;
61+dumpppp(FILE *f)
62 {
63 int c, n, k;
64 int nb, nl, dn, proto, rv;
65@@ -375,9 +371,7 @@ dumpppp(f)
66 }
67
68 void
69-show_time(f, c)
70- FILE *f;
71- int c;
72+show_time(FILE *f, int c)
73 {
74 time_t t;
75 int n;
diff --git a/meta/recipes-connectivity/ppp/ppp_2.5.0.bb b/meta/recipes-connectivity/ppp/ppp_2.5.2.bb
index 4b052f8ed9..607678db8b 100644
--- a/meta/recipes-connectivity/ppp/ppp_2.5.0.bb
+++ b/meta/recipes-connectivity/ppp/ppp_2.5.2.bb
@@ -4,12 +4,12 @@ the Point-to-Point Protocol (PPP) on Linux and Solaris systems."
4SECTION = "console/network" 4SECTION = "console/network"
5HOMEPAGE = "http://samba.org/ppp/" 5HOMEPAGE = "http://samba.org/ppp/"
6BUGTRACKER = "http://ppp.samba.org/cgi-bin/ppp-bugs" 6BUGTRACKER = "http://ppp.samba.org/cgi-bin/ppp-bugs"
7DEPENDS = "libpcap openssl virtual/crypt" 7DEPENDS = "libpcap virtual/crypt"
8LICENSE = "BSD-3-Clause & BSD-3-Clause-Attribution & GPL-2.0-or-later & LGPL-2.0-or-later & PD" 8LICENSE = "BSD-2-Clause & GPL-2.0-or-later & LGPL-2.0-or-later & PD & RSA-MD & MIT"
9LIC_FILES_CHKSUM = "file://pppd/ccp.c;beginline=1;endline=29;md5=e2c43fe6e81ff77d87dc9c290a424dea \ 9LIC_FILES_CHKSUM = "file://pppd/ccp.c;beginline=1;endline=25;md5=f0463bd67ae70535c709fca554089bd8 \
10 file://pppd/plugins/passprompt.c;beginline=1;endline=10;md5=3bcbcdbf0e369c9a3e0b8c8275b065d8 \
11 file://pppd/tdb.c;beginline=1;endline=27;md5=4ca3a9991b011038d085d6675ae7c4e6 \ 10 file://pppd/tdb.c;beginline=1;endline=27;md5=4ca3a9991b011038d085d6675ae7c4e6 \
12 file://chat/chat.c;beginline=1;endline=15;md5=0d374b8545ee5c62d7aff1acbd38add2" 11 file://chat/chat.c;beginline=1;endline=1;md5=234d7d4edd08962c0144e4604050e0b6 \
12 "
13 13
14SRC_URI = "https://download.samba.org/pub/${BPN}/${BP}.tar.gz \ 14SRC_URI = "https://download.samba.org/pub/${BPN}/${BP}.tar.gz \
15 file://pon \ 15 file://pon \
@@ -23,32 +23,38 @@ SRC_URI = "https://download.samba.org/pub/${BPN}/${BP}.tar.gz \
23 file://ppp_on_boot \ 23 file://ppp_on_boot \
24 file://provider \ 24 file://provider \
25 file://ppp@.service \ 25 file://ppp@.service \
26 file://0001-pppdump-Fixed-building-with-GCC-15-548.patch \
27 file://0001-pppd-pppdconf.h-remove-erroneous-generated-header.patch \
28 file://0001-pppd-session-Fixed-building-with-GCC-15.patch \
26 " 29 "
27 30
28SRC_URI[sha256sum] = "5cae0e8075f8a1755f16ca290eb44e6b3545d3f292af4da65ecffe897de636ff" 31SRC_URI[sha256sum] = "47da358de54a10cb10bf6ff2cf9b1c03c0d3555518f6182e8f701b8e55733cb2"
29 32
30inherit autotools systemd 33inherit autotools pkgconfig systemd
31 34
32EXTRA_OECONF += "--with-openssl=${STAGING_EXECPREFIXDIR}" 35PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} openssl"
36PACKAGECONFIG[pam] = "--with-pam=yes,--with-pam=no,libpam"
37PACKAGECONFIG[openssl] = "--with-openssl=yes,--with-openssl=no,openssl"
38PACKAGECONFIG[multilink] = "--enable-multilink,--disable-multilink"
33 39
34do_install:append () { 40do_install:append () {
35 mkdir -p ${D}${bindir}/ ${D}${sysconfdir}/init.d 41 mkdir -p ${D}${bindir}/ ${D}${sysconfdir}/init.d
36 mkdir -p ${D}${sysconfdir}/ppp/ip-up.d/ 42 mkdir -p ${D}${sysconfdir}/ppp/ip-up.d/
37 mkdir -p ${D}${sysconfdir}/ppp/ip-down.d/ 43 mkdir -p ${D}${sysconfdir}/ppp/ip-down.d/
38 install -m 0755 ${WORKDIR}/pon ${D}${bindir}/pon 44 install -m 0755 ${UNPACKDIR}/pon ${D}${bindir}/pon
39 install -m 0755 ${WORKDIR}/poff ${D}${bindir}/poff 45 install -m 0755 ${UNPACKDIR}/poff ${D}${bindir}/poff
40 install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/ppp 46 install -m 0755 ${UNPACKDIR}/init ${D}${sysconfdir}/init.d/ppp
41 install -m 0755 ${WORKDIR}/ip-up ${D}${sysconfdir}/ppp/ 47 install -m 0755 ${UNPACKDIR}/ip-up ${D}${sysconfdir}/ppp/
42 install -m 0755 ${WORKDIR}/ip-down ${D}${sysconfdir}/ppp/ 48 install -m 0755 ${UNPACKDIR}/ip-down ${D}${sysconfdir}/ppp/
43 install -m 0755 ${WORKDIR}/08setupdns ${D}${sysconfdir}/ppp/ip-up.d/ 49 install -m 0755 ${UNPACKDIR}/08setupdns ${D}${sysconfdir}/ppp/ip-up.d/
44 install -m 0755 ${WORKDIR}/92removedns ${D}${sysconfdir}/ppp/ip-down.d/ 50 install -m 0755 ${UNPACKDIR}/92removedns ${D}${sysconfdir}/ppp/ip-down.d/
45 mkdir -p ${D}${sysconfdir}/chatscripts 51 mkdir -p ${D}${sysconfdir}/chatscripts
46 mkdir -p ${D}${sysconfdir}/ppp/peers 52 mkdir -p ${D}${sysconfdir}/ppp/peers
47 install -m 0755 ${WORKDIR}/pap ${D}${sysconfdir}/chatscripts 53 install -m 0755 ${UNPACKDIR}/pap ${D}${sysconfdir}/chatscripts
48 install -m 0755 ${WORKDIR}/ppp_on_boot ${D}${sysconfdir}/ppp/ppp_on_boot 54 install -m 0755 ${UNPACKDIR}/ppp_on_boot ${D}${sysconfdir}/ppp/ppp_on_boot
49 install -m 0755 ${WORKDIR}/provider ${D}${sysconfdir}/ppp/peers/provider 55 install -m 0755 ${UNPACKDIR}/provider ${D}${sysconfdir}/ppp/peers/provider
50 install -d ${D}${systemd_system_unitdir} 56 install -d ${D}${systemd_system_unitdir}
51 install -m 0644 ${WORKDIR}/ppp@.service ${D}${systemd_system_unitdir} 57 install -m 0644 ${UNPACKDIR}/ppp@.service ${D}${systemd_system_unitdir}
52 sed -i -e 's,@SBINDIR@,${sbindir},g' \ 58 sed -i -e 's,@SBINDIR@,${sbindir},g' \
53 ${D}${systemd_system_unitdir}/ppp@.service 59 ${D}${systemd_system_unitdir}/ppp@.service
54} 60}
diff --git a/meta/recipes-connectivity/resolvconf/resolvconf_1.92.bb b/meta/recipes-connectivity/resolvconf/resolvconf_1.93.bb
index 226cb7ee77..c10c57267a 100644
--- a/meta/recipes-connectivity/resolvconf/resolvconf_1.92.bb
+++ b/meta/recipes-connectivity/resolvconf/resolvconf_1.93.bb
@@ -15,9 +15,7 @@ SRC_URI = "git://salsa.debian.org/debian/resolvconf.git;protocol=https;branch=un
15 file://0001-avoid-using-m-option-for-readlink.patch \ 15 file://0001-avoid-using-m-option-for-readlink.patch \
16 " 16 "
17 17
18SRCREV = "86047276c80705c51859a19f0c472102e0822f34" 18SRCREV = "ab766fa31f7939f6d879123236b4275320b7ff64"
19
20S = "${WORKDIR}/git"
21 19
22# the package is taken from snapshots.debian.org; that source is static and goes stale 20# the package is taken from snapshots.debian.org; that source is static and goes stale
23# so we check the latest upstream from a directory that does get updated 21# so we check the latest upstream from a directory that does get updated
@@ -29,7 +27,7 @@ do_compile () {
29 27
30do_install () { 28do_install () {
31 install -d ${D}${sysconfdir}/default/volatiles 29 install -d ${D}${sysconfdir}/default/volatiles
32 install -m 0644 ${WORKDIR}/99_resolvconf ${D}${sysconfdir}/default/volatiles 30 install -m 0644 ${UNPACKDIR}/99_resolvconf ${D}${sysconfdir}/default/volatiles
33 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then 31 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
34 install -d ${D}${sysconfdir}/tmpfiles.d 32 install -d ${D}${sysconfdir}/tmpfiles.d
35 echo "d /run/${BPN}/interface - - - -" \ 33 echo "d /run/${BPN}/interface - - - -" \
diff --git a/meta/recipes-connectivity/slirp/libslirp_git.bb b/meta/recipes-connectivity/slirp/libslirp_4.9.1.bb
index 334b786b9b..9f7005d709 100644
--- a/meta/recipes-connectivity/slirp/libslirp_git.bb
+++ b/meta/recipes-connectivity/slirp/libslirp_4.9.1.bb
@@ -5,13 +5,9 @@ LICENSE = "BSD-3-Clause & MIT"
5LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=bca0186b14e6b05e338e729f106db727" 5LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=bca0186b14e6b05e338e729f106db727"
6 6
7SRC_URI = "git://gitlab.freedesktop.org/slirp/libslirp.git;protocol=https;branch=master" 7SRC_URI = "git://gitlab.freedesktop.org/slirp/libslirp.git;protocol=https;branch=master"
8SRCREV = "3ad1710a96678fe79066b1469cead4058713a1d9" 8SRCREV = "9c744e1e52aa0d9646ed91d789d588696292c21e"
9PV = "4.7.0"
10S = "${WORKDIR}/git"
11 9
12DEPENDS = " \ 10DEPENDS = "glib-2.0"
13 glib-2.0 \
14"
15 11
16inherit meson pkgconfig 12inherit meson pkgconfig
17 13
diff --git a/meta/recipes-connectivity/socat/files/0001-fix-compile-procan.c-failed.patch b/meta/recipes-connectivity/socat/files/0001-fix-compile-procan.c-failed.patch
index 9051ae1abe..ea00dfa0a9 100644
--- a/meta/recipes-connectivity/socat/files/0001-fix-compile-procan.c-failed.patch
+++ b/meta/recipes-connectivity/socat/files/0001-fix-compile-procan.c-failed.patch
@@ -1,7 +1,7 @@
1From 4f887cc665c9a48b83e20ef4abe57afa7e365e0e Mon Sep 17 00:00:00 2001 1From c4c3d5f2d4dfe8167205e8d20b4cb7a197706c16 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@eng.windriver.com> 2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Tue, 5 Dec 2023 23:02:22 -0800 3Date: Wed, 27 Nov 2024 04:09:59 -0800
4Subject: [PATCH v2] fix compile procan.c failed 4Subject: [PATCH] fix compile procan.c failed
5 5
61. Compile socat failed if out of tree build (build dir != source dir) 61. Compile socat failed if out of tree build (build dir != source dir)
7... 7...
@@ -24,23 +24,23 @@ C source compile. Use first word of $(CC) to defeine marco CC
24[1] https://repo.or.cz/socat.git/commit/cd5673dbd0786c94e0b3ace7e35fab14c01e3185 24[1] https://repo.or.cz/socat.git/commit/cd5673dbd0786c94e0b3ace7e35fab14c01e3185
25 25
26Upstream-Status: Submitted [socat@dest-unreach.org] 26Upstream-Status: Submitted [socat@dest-unreach.org]
27Signed-off-by: Hongxu Jia <hongxu.jia@eng.windriver.com> 27
28Rebase to 1.8.0.1
29Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
28--- 30---
29 Makefile.in | 10 +++++----- 31 Makefile.in | 8 ++++----
30 1 file changed, 5 insertions(+), 5 deletions(-) 32 1 file changed, 4 insertions(+), 4 deletions(-)
31 33
32diff --git a/Makefile.in b/Makefile.in 34diff --git a/Makefile.in b/Makefile.in
33index c01b1a4..48dad69 100644 35index 631d31d..103d4d1 100644
34--- a/Makefile.in 36--- a/Makefile.in
35+++ b/Makefile.in 37+++ b/Makefile.in
36@@ -109,8 +109,8 @@ depend: $(CFILES) $(HFILES) 38@@ -110,7 +110,7 @@ socat: socat.o libxio.a
37 socat: socat.o libxio.a
38 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ socat.o libxio.a $(CLIBS) 39 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ socat.o libxio.a $(CLIBS)
39 40
40-procan.o: procan.c 41 procan.o: $(srcdir)/procan.c
41- $(CC) $(CFLAGS) -c -D CC=\"$(CC)\" -o $@ procan.c 42- $(CC) $(CFLAGS) -c -D CC="\"$(CC)\"" -o $@ $(srcdir)/procan.c
42+procan.o: $(srcdir)/procan.c 43+ $(CC) $(CFLAGS) -c -D CC="\"$(firstword $(CC))\"" -o $@ $(srcdir)/procan.c
43+ $(CC) $(CFLAGS) -c -D CC=\"$(firstword $(CC))\" -o $@ $(srcdir)/procan.c
44 44
45 PROCAN_OBJS=procan_main.o procan.o procan-cdefs.o hostan.o error.o sycls.o sysutils.o utils.o vsnprintf_r.o snprinterr.o 45 PROCAN_OBJS=procan_main.o procan.o procan-cdefs.o hostan.o error.o sycls.o sysutils.o utils.o vsnprintf_r.o snprinterr.o
46 procan: $(PROCAN_OBJS) 46 procan: $(PROCAN_OBJS)
@@ -58,5 +58,5 @@ index c01b1a4..48dad69 100644
58 $(INSTALL) -m 755 filan $(DESTDIR)$(BINDEST) 58 $(INSTALL) -m 755 filan $(DESTDIR)$(BINDEST)
59 mkdir -p $(DESTDIR)$(MANDEST)/man1 59 mkdir -p $(DESTDIR)$(MANDEST)/man1
60-- 60--
612.42.0 612.25.1
62 62
diff --git a/meta/recipes-connectivity/socat/socat_1.8.0.0.bb b/meta/recipes-connectivity/socat/socat_1.8.0.3.bb
index 912605c95c..ee6ca1fe44 100644
--- a/meta/recipes-connectivity/socat/socat_1.8.0.0.bb
+++ b/meta/recipes-connectivity/socat/socat_1.8.0.3.bb
@@ -7,13 +7,13 @@ SECTION = "console/network"
7 7
8LICENSE = "GPL-2.0-with-OpenSSL-exception" 8LICENSE = "GPL-2.0-with-OpenSSL-exception"
9LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ 9LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
10 file://README;beginline=241;endline=271;md5=338c05eadd013872abb1d6e198e10a3f" 10 file://README;beginline=248;endline=278;md5=338c05eadd013872abb1d6e198e10a3f"
11 11
12SRC_URI = "http://www.dest-unreach.org/socat/download/socat-${PV}.tar.bz2 \ 12SRC_URI = "http://www.dest-unreach.org/socat/download/socat-${PV}.tar.bz2 \
13 file://0001-fix-compile-procan.c-failed.patch \ 13 file://0001-fix-compile-procan.c-failed.patch \
14" 14"
15 15
16SRC_URI[sha256sum] = "e1de683dd22ee0e3a6c6bbff269abe18ab0c9d7eb650204f125155b9005faca7" 16SRC_URI[sha256sum] = "01eb017361d95bb3a6941e840b59e4463a3fabf92df4154ed02b16a2ed6a0095"
17 17
18inherit autotools 18inherit autotools
19 19
diff --git a/meta/recipes-connectivity/ssh-pregen-hostkeys/ssh-pregen-hostkeys_1.0.bb b/meta/recipes-connectivity/ssh-pregen-hostkeys/ssh-pregen-hostkeys_1.0.bb
index ddd10e6eeb..57b0534929 100644
--- a/meta/recipes-connectivity/ssh-pregen-hostkeys/ssh-pregen-hostkeys_1.0.bb
+++ b/meta/recipes-connectivity/ssh-pregen-hostkeys/ssh-pregen-hostkeys_1.0.bb
@@ -6,14 +6,18 @@ SRC_URI = "file://dropbear_rsa_host_key \
6LICENSE = "MIT" 6LICENSE = "MIT"
7LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" 7LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
8 8
9S = "${UNPACKDIR}"
10
9INHIBIT_DEFAULT_DEPS = "1" 11INHIBIT_DEFAULT_DEPS = "1"
10 12
13COMPATIBLE_MACHINE = "^qemu.*$"
14
11do_install () { 15do_install () {
12 install -d ${D}${sysconfdir}/dropbear 16 install -d ${D}${sysconfdir}/dropbear
13 install ${WORKDIR}/dropbear_rsa_host_key -m 0600 ${D}${sysconfdir}/dropbear/ 17 install ${UNPACKDIR}/dropbear_rsa_host_key -m 0600 ${D}${sysconfdir}/dropbear/
14 18
15 install -d ${D}${sysconfdir}/ssh 19 install -d ${D}${sysconfdir}/ssh
16 install ${WORKDIR}/openssh/* ${D}${sysconfdir}/ssh/ 20 install ${UNPACKDIR}/openssh/* ${D}${sysconfdir}/ssh/
17 chmod 0600 ${D}${sysconfdir}/ssh/* 21 chmod 0600 ${D}${sysconfdir}/ssh/*
18 chmod 0644 ${D}${sysconfdir}/ssh/*.pub 22 chmod 0644 ${D}${sysconfdir}/ssh/*.pub
19} \ No newline at end of file 23}
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-Install-wpa_passphrase-when-not-disabled.patch b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-Install-wpa_passphrase-when-not-disabled.patch
deleted file mode 100644
index c04c608bde..0000000000
--- a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-Install-wpa_passphrase-when-not-disabled.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From 57b12a1e43605f71239a21488cb9b541f0751dda Mon Sep 17 00:00:00 2001
2From: Alex Kiernan <alexk@zuma.ai>
3Date: Thu, 21 Apr 2022 10:15:29 +0100
4Subject: [PATCH] Install wpa_passphrase when not disabled
5
6As part of fixing CONFIG_NO_WPA_PASSPHRASE, whilst wpa_passphrase gets
7built, its not installed during `make install`.
8
9Fixes: cb41c214b78d ("build: Re-enable options for libwpa_client.so and wpa_passphrase")
10Signed-off-by: Alex Kiernan <alexk@zuma.ai>
11Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
12Upstream-Status: Submitted [http://lists.infradead.org/pipermail/hostap/2022-April/040448.html]
13---
14 wpa_supplicant/Makefile | 3 +++
15 1 file changed, 3 insertions(+)
16
17diff --git a/wpa_supplicant/Makefile b/wpa_supplicant/Makefile
18index 0bab313f2355..12787c0c7d0f 100644
19--- a/wpa_supplicant/Makefile
20+++ b/wpa_supplicant/Makefile
21@@ -73,6 +73,9 @@ $(DESTDIR)$(BINDIR)/%: %
22
23 install: $(addprefix $(DESTDIR)$(BINDIR)/,$(BINALL))
24 $(MAKE) -C ../src install
25+ifndef CONFIG_NO_WPA_PASSPHRASE
26+ install -D wpa_passphrase $(DESTDIR)/$(BINDIR)/wpa_passphrase
27+endif
28 ifdef CONFIG_BUILD_WPA_CLIENT_SO
29 install -m 0644 -D libwpa_client.so $(DESTDIR)/$(LIBDIR)/libwpa_client.so
30 install -m 0644 -D ../src/common/wpa_ctrl.h $(DESTDIR)/$(INCDIR)/wpa_ctrl.h
31--
322.35.1
33
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-PEAP-client-Update-Phase-2-authentication-requiremen.patch b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-PEAP-client-Update-Phase-2-authentication-requiremen.patch
deleted file mode 100644
index 620560d3c7..0000000000
--- a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-PEAP-client-Update-Phase-2-authentication-requiremen.patch
+++ /dev/null
@@ -1,213 +0,0 @@
1From f6f7cead3661ceeef54b21f7e799c0afc98537ec Mon Sep 17 00:00:00 2001
2From: Jouni Malinen <j@w1.fi>
3Date: Sat, 8 Jul 2023 19:55:32 +0300
4Subject: [PATCH] PEAP client: Update Phase 2 authentication requirements
5
6The previous PEAP client behavior allowed the server to skip Phase 2
7authentication with the expectation that the server was authenticated
8during Phase 1 through TLS server certificate validation. Various PEAP
9specifications are not exactly clear on what the behavior on this front
10is supposed to be and as such, this ended up being more flexible than
11the TTLS/FAST/TEAP cases. However, this is not really ideal when
12unfortunately common misconfiguration of PEAP is used in deployed
13devices where the server trust root (ca_cert) is not configured or the
14user has an easy option for allowing this validation step to be skipped.
15
16Change the default PEAP client behavior to be to require Phase 2
17authentication to be successfully completed for cases where TLS session
18resumption is not used and the client certificate has not been
19configured. Those two exceptions are the main cases where a deployed
20authentication server might skip Phase 2 and as such, where a more
21strict default behavior could result in undesired interoperability
22issues. Requiring Phase 2 authentication will end up disabling TLS
23session resumption automatically to avoid interoperability issues.
24
25Allow Phase 2 authentication behavior to be configured with a new phase1
26configuration parameter option:
27'phase2_auth' option can be used to control Phase 2 (i.e., within TLS
28tunnel) behavior for PEAP:
29 * 0 = do not require Phase 2 authentication
30 * 1 = require Phase 2 authentication when client certificate
31 (private_key/client_cert) is no used and TLS session resumption was
32 not used (default)
33 * 2 = require Phase 2 authentication in all cases
34
35Signed-off-by: Jouni Malinen <j@w1.fi>
36
37CVE: CVE-2023-52160
38Upstream-Status: Backport [https://w1.fi/cgit/hostap/commit/?id=8e6485a1bcb0baffdea9e55255a81270b768439c]
39
40Signed-off-by: Claus Stovgaard <claus.stovgaard@gmail.com>
41
42---
43 src/eap_peer/eap_config.h | 8 ++++++
44 src/eap_peer/eap_peap.c | 40 +++++++++++++++++++++++++++---
45 src/eap_peer/eap_tls_common.c | 6 +++++
46 src/eap_peer/eap_tls_common.h | 5 ++++
47 wpa_supplicant/wpa_supplicant.conf | 7 ++++++
48 5 files changed, 63 insertions(+), 3 deletions(-)
49
50diff --git a/src/eap_peer/eap_config.h b/src/eap_peer/eap_config.h
51index 3238f74..047eec2 100644
52--- a/src/eap_peer/eap_config.h
53+++ b/src/eap_peer/eap_config.h
54@@ -469,6 +469,14 @@ struct eap_peer_config {
55 * 1 = use cryptobinding if server supports it
56 * 2 = require cryptobinding
57 *
58+ * phase2_auth option can be used to control Phase 2 (i.e., within TLS
59+ * tunnel) behavior for PEAP:
60+ * 0 = do not require Phase 2 authentication
61+ * 1 = require Phase 2 authentication when client certificate
62+ * (private_key/client_cert) is no used and TLS session resumption was
63+ * not used (default)
64+ * 2 = require Phase 2 authentication in all cases
65+ *
66 * EAP-WSC (WPS) uses following options: pin=Device_Password and
67 * uuid=Device_UUID
68 *
69diff --git a/src/eap_peer/eap_peap.c b/src/eap_peer/eap_peap.c
70index 12e30df..6080697 100644
71--- a/src/eap_peer/eap_peap.c
72+++ b/src/eap_peer/eap_peap.c
73@@ -67,6 +67,7 @@ struct eap_peap_data {
74 u8 cmk[20];
75 int soh; /* Whether IF-TNCCS-SOH (Statement of Health; Microsoft NAP)
76 * is enabled. */
77+ enum { NO_AUTH, FOR_INITIAL, ALWAYS } phase2_auth;
78 };
79
80
81@@ -114,6 +115,19 @@ static void eap_peap_parse_phase1(struct eap_peap_data *data,
82 wpa_printf(MSG_DEBUG, "EAP-PEAP: Require cryptobinding");
83 }
84
85+ if (os_strstr(phase1, "phase2_auth=0")) {
86+ data->phase2_auth = NO_AUTH;
87+ wpa_printf(MSG_DEBUG,
88+ "EAP-PEAP: Do not require Phase 2 authentication");
89+ } else if (os_strstr(phase1, "phase2_auth=1")) {
90+ data->phase2_auth = FOR_INITIAL;
91+ wpa_printf(MSG_DEBUG,
92+ "EAP-PEAP: Require Phase 2 authentication for initial connection");
93+ } else if (os_strstr(phase1, "phase2_auth=2")) {
94+ data->phase2_auth = ALWAYS;
95+ wpa_printf(MSG_DEBUG,
96+ "EAP-PEAP: Require Phase 2 authentication for all cases");
97+ }
98 #ifdef EAP_TNC
99 if (os_strstr(phase1, "tnc=soh2")) {
100 data->soh = 2;
101@@ -142,6 +156,7 @@ static void * eap_peap_init(struct eap_sm *sm)
102 data->force_peap_version = -1;
103 data->peap_outer_success = 2;
104 data->crypto_binding = OPTIONAL_BINDING;
105+ data->phase2_auth = FOR_INITIAL;
106
107 if (config && config->phase1)
108 eap_peap_parse_phase1(data, config->phase1);
109@@ -454,6 +469,20 @@ static int eap_tlv_validate_cryptobinding(struct eap_sm *sm,
110 }
111
112
113+static bool peap_phase2_sufficient(struct eap_sm *sm,
114+ struct eap_peap_data *data)
115+{
116+ if ((data->phase2_auth == ALWAYS ||
117+ (data->phase2_auth == FOR_INITIAL &&
118+ !tls_connection_resumed(sm->ssl_ctx, data->ssl.conn) &&
119+ !data->ssl.client_cert_conf) ||
120+ data->phase2_eap_started) &&
121+ !data->phase2_eap_success)
122+ return false;
123+ return true;
124+}
125+
126+
127 /**
128 * eap_tlv_process - Process a received EAP-TLV message and generate a response
129 * @sm: Pointer to EAP state machine allocated with eap_peer_sm_init()
130@@ -568,6 +597,11 @@ static int eap_tlv_process(struct eap_sm *sm, struct eap_peap_data *data,
131 " - force failed Phase 2");
132 resp_status = EAP_TLV_RESULT_FAILURE;
133 ret->decision = DECISION_FAIL;
134+ } else if (!peap_phase2_sufficient(sm, data)) {
135+ wpa_printf(MSG_INFO,
136+ "EAP-PEAP: Server indicated Phase 2 success, but sufficient Phase 2 authentication has not been completed");
137+ resp_status = EAP_TLV_RESULT_FAILURE;
138+ ret->decision = DECISION_FAIL;
139 } else {
140 resp_status = EAP_TLV_RESULT_SUCCESS;
141 ret->decision = DECISION_UNCOND_SUCC;
142@@ -887,8 +921,7 @@ continue_req:
143 /* EAP-Success within TLS tunnel is used to indicate
144 * shutdown of the TLS channel. The authentication has
145 * been completed. */
146- if (data->phase2_eap_started &&
147- !data->phase2_eap_success) {
148+ if (!peap_phase2_sufficient(sm, data)) {
149 wpa_printf(MSG_DEBUG, "EAP-PEAP: Phase 2 "
150 "Success used to indicate success, "
151 "but Phase 2 EAP was not yet "
152@@ -1199,8 +1232,9 @@ static struct wpabuf * eap_peap_process(struct eap_sm *sm, void *priv,
153 static bool eap_peap_has_reauth_data(struct eap_sm *sm, void *priv)
154 {
155 struct eap_peap_data *data = priv;
156+
157 return tls_connection_established(sm->ssl_ctx, data->ssl.conn) &&
158- data->phase2_success;
159+ data->phase2_success && data->phase2_auth != ALWAYS;
160 }
161
162
163diff --git a/src/eap_peer/eap_tls_common.c b/src/eap_peer/eap_tls_common.c
164index c1837db..a53eeb1 100644
165--- a/src/eap_peer/eap_tls_common.c
166+++ b/src/eap_peer/eap_tls_common.c
167@@ -239,6 +239,12 @@ static int eap_tls_params_from_conf(struct eap_sm *sm,
168
169 sm->ext_cert_check = !!(params->flags & TLS_CONN_EXT_CERT_CHECK);
170
171+ if (!phase2)
172+ data->client_cert_conf = params->client_cert ||
173+ params->client_cert_blob ||
174+ params->private_key ||
175+ params->private_key_blob;
176+
177 return 0;
178 }
179
180diff --git a/src/eap_peer/eap_tls_common.h b/src/eap_peer/eap_tls_common.h
181index 9ac0012..3348634 100644
182--- a/src/eap_peer/eap_tls_common.h
183+++ b/src/eap_peer/eap_tls_common.h
184@@ -79,6 +79,11 @@ struct eap_ssl_data {
185 * tls_v13 - Whether TLS v1.3 or newer is used
186 */
187 int tls_v13;
188+
189+ /**
190+ * client_cert_conf: Whether client certificate has been configured
191+ */
192+ bool client_cert_conf;
193 };
194
195
196diff --git a/wpa_supplicant/wpa_supplicant.conf b/wpa_supplicant/wpa_supplicant.conf
197index 6619d6b..d63f73c 100644
198--- a/wpa_supplicant/wpa_supplicant.conf
199+++ b/wpa_supplicant/wpa_supplicant.conf
200@@ -1321,6 +1321,13 @@ fast_reauth=1
201 # * 0 = do not use cryptobinding (default)
202 # * 1 = use cryptobinding if server supports it
203 # * 2 = require cryptobinding
204+# 'phase2_auth' option can be used to control Phase 2 (i.e., within TLS
205+# tunnel) behavior for PEAP:
206+# * 0 = do not require Phase 2 authentication
207+# * 1 = require Phase 2 authentication when client certificate
208+# (private_key/client_cert) is no used and TLS session resumption was
209+# not used (default)
210+# * 2 = require Phase 2 authentication in all cases
211 # EAP-WSC (WPS) uses following options: pin=<Device Password> or
212 # pbc=1.
213 #
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-build-Re-enable-options-for-libwpa_client.so-and-wpa.patch b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-build-Re-enable-options-for-libwpa_client.so-and-wpa.patch
deleted file mode 100644
index 6e930fc98d..0000000000
--- a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-build-Re-enable-options-for-libwpa_client.so-and-wpa.patch
+++ /dev/null
@@ -1,73 +0,0 @@
1From cb41c214b78d6df187a31950342e48a403dbd769 Mon Sep 17 00:00:00 2001
2From: Sergey Matyukevich <geomatsi@gmail.com>
3Date: Tue, 22 Feb 2022 11:52:19 +0300
4Subject: [PATCH 1/2] build: Re-enable options for libwpa_client.so and
5 wpa_passphrase
6
7Commit a41a29192e5d ("build: Pull common fragments into a build.rules
8file") introduced a regression into wpa_supplicant build process. The
9build target libwpa_client.so is not built regardless of whether the
10option CONFIG_BUILD_WPA_CLIENT_SO is set or not. This happens because
11this config option is used before it is imported from the configuration
12file. Moving its use after including build.rules does not help: the
13variable ALL is processed by build.rules and further changes are not
14applied. Similarly, option CONFIG_NO_WPA_PASSPHRASE also does not work
15as expected: wpa_passphrase is always built regardless of whether the
16option is set or not.
17
18Re-enable these options by adding both build targets to _all
19dependencies.
20
21Fixes: a41a29192e5d ("build: Pull common fragments into a build.rules file")
22Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
23Upstream-Status: Backport
24Signed-off-by: Alex Kiernan <alexk@zuma.ai>
25Signed-off-by: Alex Kiernan <alexk@gmail.com>
26---
27 wpa_supplicant/Makefile | 19 ++++++++++++-------
28 1 file changed, 12 insertions(+), 7 deletions(-)
29
30diff --git a/wpa_supplicant/Makefile b/wpa_supplicant/Makefile
31index cb66defac7c8..c456825ae75f 100644
32--- a/wpa_supplicant/Makefile
33+++ b/wpa_supplicant/Makefile
34@@ -1,24 +1,29 @@
35 BINALL=wpa_supplicant wpa_cli
36
37-ifndef CONFIG_NO_WPA_PASSPHRASE
38-BINALL += wpa_passphrase
39-endif
40-
41 ALL = $(BINALL)
42 ALL += systemd/wpa_supplicant.service
43 ALL += systemd/wpa_supplicant@.service
44 ALL += systemd/wpa_supplicant-nl80211@.service
45 ALL += systemd/wpa_supplicant-wired@.service
46 ALL += dbus/fi.w1.wpa_supplicant1.service
47-ifdef CONFIG_BUILD_WPA_CLIENT_SO
48-ALL += libwpa_client.so
49-endif
50
51 EXTRA_TARGETS=dynamic_eap_methods
52
53 CONFIG_FILE=.config
54 include ../src/build.rules
55
56+ifdef CONFIG_BUILD_WPA_CLIENT_SO
57+# add the dependency this way to allow CONFIG_BUILD_WPA_CLIENT_SO
58+# being set in the config which is read by build.rules
59+_all: libwpa_client.so
60+endif
61+
62+ifndef CONFIG_NO_WPA_PASSPHRASE
63+# add the dependency this way to allow CONFIG_NO_WPA_PASSPHRASE
64+# being set in the config which is read by build.rules
65+_all: wpa_passphrase
66+endif
67+
68 ifdef LIBS
69 # If LIBS is set with some global build system defaults, clone those for
70 # LIBS_c and LIBS_p to cover wpa_passphrase and wpa_cli as well.
71--
722.35.1
73
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-macsec_linux-Hardware-offload-requires-Linux-headers.patch b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-macsec_linux-Hardware-offload-requires-Linux-headers.patch
new file mode 100644
index 0000000000..f9634e47c9
--- /dev/null
+++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-macsec_linux-Hardware-offload-requires-Linux-headers.patch
@@ -0,0 +1,53 @@
1From 809d9d8172db8e2a08ff639875f838b5b86d2641 Mon Sep 17 00:00:00 2001
2From: Sergey Matyukevich <geomatsi@gmail.com>
3Date: Thu, 22 Aug 2024 00:03:41 +0300
4Subject: [PATCH] macsec_linux: Hardware offload requires Linux headers >= v5.7
5
6Hardware offload in Linux macsec driver is enabled in compile time if
7libnl version is >= v3.6. This is not sufficient for successful build
8since enum 'macsec_offload' has been added to Linux header if_link.h
9in kernels v5.6 and v5.7, see commits:
10- https://github.com/torvalds/linux/commit/21114b7feec29e4425a3ac48a037569c016a46c8
11- https://github.com/torvalds/linux/commit/76564261a7db80c5f5c624e0122a28787f266bdf
12
13New libnl with older Linux headers is a valid combination. This is how
14hostapd build failure has been detected by Buildroot autobuilder, see:
15- http://autobuild.buildroot.net/results/b59d5bc5bd17683a3a1e3577c40c802e81911f84/
16
17Extend compile time condition for the enablement of the macsec hardware
18offload adding Linux headers version check.
19
20Fixes: 40c139664439 ("macsec_linux: Add support for MACsec hardware offload")
21Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
22
23Upstream-Status: Backport [https://w1.fi/cgit/hostap/patch/?id=809d9d8172db8e2a08ff639875f838b5b86d2641]
24Signed-off-by: Jon Mason <jdmason@kudzu.us>
25---
26 src/drivers/driver_macsec_linux.c | 4 +++-
27 1 file changed, 3 insertions(+), 1 deletion(-)
28
29diff --git a/src/drivers/driver_macsec_linux.c b/src/drivers/driver_macsec_linux.c
30index c867154981e9..fad47a292f9f 100644
31--- a/src/drivers/driver_macsec_linux.c
32+++ b/src/drivers/driver_macsec_linux.c
33@@ -19,6 +19,7 @@
34 #include <netlink/route/link.h>
35 #include <netlink/route/link/macsec.h>
36 #include <linux/if_macsec.h>
37+#include <linux/version.h>
38 #include <inttypes.h>
39
40 #include "utils/common.h"
41@@ -32,7 +33,8 @@
42
43 #define UNUSED_SCI 0xffffffffffffffff
44
45-#if LIBNL_VER_NUM >= LIBNL_VER(3, 6)
46+#if (LIBNL_VER_NUM >= LIBNL_VER(3, 6) && \
47+ LINUX_VERSION_CODE >= KERNEL_VERSION(5, 7, 0))
48 #define LIBNL_HAS_OFFLOAD
49 #endif
50
51--
522.39.2
53
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0002-Fix-removal-of-wpa_passphrase-on-make-clean.patch b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0002-Fix-removal-of-wpa_passphrase-on-make-clean.patch
deleted file mode 100644
index 53b0fcdf53..0000000000
--- a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0002-Fix-removal-of-wpa_passphrase-on-make-clean.patch
+++ /dev/null
@@ -1,26 +0,0 @@
1From d001b301ba7987f4b39453a211631b85c48f2ff8 Mon Sep 17 00:00:00 2001
2From: Jouni Malinen <quic_jouni@quicinc.com>
3Date: Thu, 3 Mar 2022 13:26:42 +0200
4Subject: [PATCH 2/2] Fix removal of wpa_passphrase on 'make clean'
5
6Fixes: 0430bc8267b4 ("build: Add a common-clean target")
7Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
8Upstream-Status: Backport
9Signed-off-by: Alex Kiernan <alexk@zuma.ai>
10Signed-off-by: Alex Kiernan <alexk@gmail.com>
11---
12 wpa_supplicant/Makefile | 1 +
13 1 file changed, 1 insertion(+)
14
15diff --git a/wpa_supplicant/Makefile b/wpa_supplicant/Makefile
16index c456825ae75f..4b4688931b1d 100644
17--- a/wpa_supplicant/Makefile
18+++ b/wpa_supplicant/Makefile
19@@ -2077,3 +2077,4 @@ clean: common-clean
20 rm -f libwpa_client.a
21 rm -f libwpa_client.so
22 rm -f libwpa_test1 libwpa_test2
23+ rm -f wpa_passphrase
24--
252.35.1
26
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.10.bb b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.11.bb
index 22028ce957..6dc76494f7 100644
--- a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.10.bb
+++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.11.bb
@@ -5,8 +5,8 @@ BUGTRACKER = "http://w1.fi/security/"
5SECTION = "network" 5SECTION = "network"
6LICENSE = "BSD-3-Clause" 6LICENSE = "BSD-3-Clause"
7LIC_FILES_CHKSUM = "file://COPYING;md5=5ebcb90236d1ad640558c3d3cd3035df \ 7LIC_FILES_CHKSUM = "file://COPYING;md5=5ebcb90236d1ad640558c3d3cd3035df \
8 file://README;beginline=1;endline=56;md5=e3d2f6c2948991e37c1ca4960de84747 \ 8 file://README;beginline=1;endline=56;md5=6e4b25e7d74bfc44a32ba37bdf5210a6 \
9 file://wpa_supplicant/wpa_supplicant.c;beginline=1;endline=12;md5=76306a95306fee9a976b0ac1be70f705" 9 file://wpa_supplicant/wpa_supplicant.c;beginline=1;endline=12;md5=f5ccd57ea91e04800edb88267bf8eae4"
10 10
11DEPENDS = "dbus libnl" 11DEPENDS = "dbus libnl"
12 12
@@ -15,14 +15,11 @@ SRC_URI = "http://w1.fi/releases/wpa_supplicant-${PV}.tar.gz \
15 file://wpa_supplicant.conf \ 15 file://wpa_supplicant.conf \
16 file://wpa_supplicant.conf-sane \ 16 file://wpa_supplicant.conf-sane \
17 file://99_wpa_supplicant \ 17 file://99_wpa_supplicant \
18 file://0001-build-Re-enable-options-for-libwpa_client.so-and-wpa.patch \ 18 file://0001-macsec_linux-Hardware-offload-requires-Linux-headers.patch \
19 file://0002-Fix-removal-of-wpa_passphrase-on-make-clean.patch \
20 file://0001-Install-wpa_passphrase-when-not-disabled.patch \
21 file://0001-PEAP-client-Update-Phase-2-authentication-requiremen.patch \
22 " 19 "
23SRC_URI[sha256sum] = "20df7ae5154b3830355f8ab4269123a87affdea59fe74fe9292a91d0d7e17b2f" 20SRC_URI[sha256sum] = "912ea06f74e30a8e36fbb68064d6cdff218d8d591db0fc5d75dee6c81ac7fc0a"
24 21
25S = "${WORKDIR}/wpa_supplicant-${PV}" 22S = "${UNPACKDIR}/wpa_supplicant-${PV}"
26 23
27inherit pkgconfig systemd 24inherit pkgconfig systemd
28 25
@@ -32,6 +29,8 @@ PACKAGECONFIG[openssl] = ",,openssl"
32 29
33CVE_PRODUCT = "wpa_supplicant" 30CVE_PRODUCT = "wpa_supplicant"
34 31
32CVE_STATUS[CVE-2024-5290] = "not-applicable-platform: this only affects Ubuntu and other platforms patching wpa-supplicant"
33
35EXTRA_OEMAKE = "'LIBDIR=${libdir}' 'INCDIR=${includedir}' 'BINDIR=${sbindir}'" 34EXTRA_OEMAKE = "'LIBDIR=${libdir}' 'INCDIR=${includedir}' 'BINDIR=${sbindir}'"
36 35
37do_configure () { 36do_configure () {
@@ -62,15 +61,15 @@ do_install () {
62 oe_runmake -C wpa_supplicant DESTDIR="${D}" install 61 oe_runmake -C wpa_supplicant DESTDIR="${D}" install
63 62
64 install -d ${D}${docdir}/wpa_supplicant 63 install -d ${D}${docdir}/wpa_supplicant
65 install -m 644 wpa_supplicant/README ${WORKDIR}/wpa_supplicant.conf ${D}${docdir}/wpa_supplicant 64 install -m 644 wpa_supplicant/README ${UNPACKDIR}/wpa_supplicant.conf ${D}${docdir}/wpa_supplicant
66 65
67 install -d ${D}${sysconfdir} 66 install -d ${D}${sysconfdir}
68 install -m 600 ${WORKDIR}/wpa_supplicant.conf-sane ${D}${sysconfdir}/wpa_supplicant.conf 67 install -m 600 ${UNPACKDIR}/wpa_supplicant.conf-sane ${D}${sysconfdir}/wpa_supplicant.conf
69 68
70 install -d ${D}${sysconfdir}/network/if-pre-up.d/ 69 install -d ${D}${sysconfdir}/network/if-pre-up.d/
71 install -d ${D}${sysconfdir}/network/if-post-down.d/ 70 install -d ${D}${sysconfdir}/network/if-post-down.d/
72 install -d ${D}${sysconfdir}/network/if-down.d/ 71 install -d ${D}${sysconfdir}/network/if-down.d/
73 install -m 755 ${WORKDIR}/wpa-supplicant.sh ${D}${sysconfdir}/network/if-pre-up.d/wpa-supplicant 72 install -m 755 ${UNPACKDIR}/wpa-supplicant.sh ${D}${sysconfdir}/network/if-pre-up.d/wpa-supplicant
74 ln -sf ../if-pre-up.d/wpa-supplicant ${D}${sysconfdir}/network/if-post-down.d/wpa-supplicant 73 ln -sf ../if-pre-up.d/wpa-supplicant ${D}${sysconfdir}/network/if-post-down.d/wpa-supplicant
75 74
76 install -d ${D}/${sysconfdir}/dbus-1/system.d 75 install -d ${D}/${sysconfdir}/dbus-1/system.d
@@ -84,7 +83,7 @@ do_install () {
84 fi 83 fi
85 84
86 install -d ${D}/etc/default/volatiles 85 install -d ${D}/etc/default/volatiles
87 install -m 0644 ${WORKDIR}/99_wpa_supplicant ${D}/etc/default/volatiles 86 install -m 0644 ${UNPACKDIR}/99_wpa_supplicant ${D}/etc/default/volatiles
88 87
89 install -d ${D}${includedir} 88 install -d ${D}${includedir}
90 install -m 0644 ${S}/src/common/wpa_ctrl.h ${D}${includedir} 89 install -m 0644 ${S}/src/common/wpa_ctrl.h ${D}${includedir}