Bug#1116127: trixie-pu: package dhcpcd/1:10.1.0-11+deb13u1
Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: dhcpcd@packages.debian.org, martin-eric.racine@iki.fi
Control: affects -1 + src:dhcpcd
User: release.debian.org@packages.debian.org
Usertags: pu
[ Reasons ]
1) Prevent a segfault.
2) Ensure a succesful start even if a specific Recommends is not installed.
[ Impact ]
See above and below.
[ Tests ]
Bug reporters have confirmed that these two changes solved the issues for them. Additionally, the 2 changes have been in Forky a while already.
[ Risks ]
Minimal. Three-line change to the source code and removal of one item in the systemd unit's path.
[ Checklist ]
[x] *all* changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in (old)stable
[x] the issue is verified as fixed in unstable
[ Changes ]
This Trixe proposed update includes two fixes:
1) Upstream Git cherry-pick to prevent segfaults in specific circumstances. See #1114964.
2) Change to Debian-specific systemd service unit to ensure a succesfull launch if a specific Recommends is not installed. See #1111467.
diff -Nru dhcpcd-10.1.0/debian/changelog dhcpcd-10.1.0/debian/changelog
--- dhcpcd-10.1.0/debian/changelog 2025-05-08 21:47:28.000000000 +0300
+++ dhcpcd-10.1.0/debian/changelog 2025-09-24 07:36:32.000000000 +0300
@@ -1,3 +1,14 @@
+dhcpcd (1:10.1.0-11+deb13u1) trixie; urgency=medium
+
+ * [patches]
+ + DHCP: Fix crash when someone deletes our address (Closes: #1114964).
+ Cherry-pick from upstream Git (included in Forky since 10.2.0).
+ * [service]
+ - Remove /etc/wpa_supplicant from ReadWritePaths (Closes: #1111467).
+ Otherwise dhcpcd fails to launch if wpasupplicant is not installed.
+
+ -- Martin-Éric Racine <martin-eric.racine@iki.fi> Wed, 24 Sep 2025 07:36:32 +0300
+
dhcpcd (1:10.1.0-11) unstable; urgency=medium
* [patches]
diff -Nru dhcpcd-10.1.0/debian/dhcpcd.dhcpcd.service dhcpcd-10.1.0/debian/dhcpcd.dhcpcd.service
--- dhcpcd-10.1.0/debian/dhcpcd.dhcpcd.service 2025-05-04 22:16:36.000000000 +0300
+++ dhcpcd-10.1.0/debian/dhcpcd.dhcpcd.service 2025-09-24 07:28:25.000000000 +0300
@@ -15,7 +15,7 @@
# sandboxing
#
ProtectSystem=strict
-ReadWritePaths=/var/lib/dhcpcd /run/dhcpcd /etc/wpa_supplicant /etc/dhcpcd.conf /etc/resolv.conf
+ReadWritePaths=/var/lib/dhcpcd /run/dhcpcd /etc/dhcpcd.conf /etc/resolv.conf
ProtectHome=true
#PrivateTmp=true
PrivateDevices=true
diff -Nru dhcpcd-10.1.0/debian/dhcpcd.dirs dhcpcd-10.1.0/debian/dhcpcd.dirs
--- dhcpcd-10.1.0/debian/dhcpcd.dirs 2025-04-07 23:10:22.000000000 +0300
+++ dhcpcd-10.1.0/debian/dhcpcd.dirs 1970-01-01 02:00:00.000000000 +0200
@@ -1 +0,0 @@
-/etc/wpa_supplicant/
diff -Nru dhcpcd-10.1.0/debian/patches/eac7152ec04f5a330f01ab9504514a03f873b35c.patch dhcpcd-10.1.0/debian/patches/eac7152ec04f5a330f01ab9504514a03f873b35c.patch
--- dhcpcd-10.1.0/debian/patches/eac7152ec04f5a330f01ab9504514a03f873b35c.patch 1970-01-01 02:00:00.000000000 +0200
+++ dhcpcd-10.1.0/debian/patches/eac7152ec04f5a330f01ab9504514a03f873b35c.patch 2025-09-24 07:28:25.000000000 +0300
@@ -0,0 +1,33 @@
+From eac7152ec04f5a330f01ab9504514a03f873b35c Mon Sep 17 00:00:00 2001
+From: Roy Marples <roy@marples.name>
+Date: Wed, 5 Feb 2025 18:06:01 +0000
+Subject: [PATCH] DHCP: Fix crash when someone deletes our address
+
+Fixes #455
+---
+ src/ipv4.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/ipv4.c b/src/ipv4.c
+index a5fe4900..ce67bfec 100644
+--- a/src/ipv4.c
++++ b/src/ipv4.c
+@@ -524,6 +524,7 @@ ipv4_deladdr(struct ipv4_addr *addr, int keeparp)
+ struct ipv4_state *state;
+ struct ipv4_addr *ap;
+
++ assert(addr != NULL);
+ logdebugx("%s: deleting IP address %s",
+ addr->iface->name, addr->saddr);
+
+@@ -760,7 +761,9 @@ ipv4_applyaddr(void *arg)
+ (DHCPCD_EXITING | DHCPCD_PERSISTENT))
+ {
+ if (state->added) {
+- ipv4_deladdr(state->addr, 0);
++ /* Someone might have deleted our address */
++ if (state->addr != NULL)
++ ipv4_deladdr(state->addr, 0);
+ rt_build(ifp->ctx, AF_INET);
+ }
+ script_runreason(ifp, state->reason);
diff -Nru dhcpcd-10.1.0/debian/patches/series dhcpcd-10.1.0/debian/patches/series
--- dhcpcd-10.1.0/debian/patches/series 2025-05-08 21:47:28.000000000 +0300
+++ dhcpcd-10.1.0/debian/patches/series 2025-09-24 07:28:25.000000000 +0300
@@ -6,3 +6,4 @@
79c195b92f892c6f22fa07332c10fd9c2a8b679a.patch
6acf895a66b143c42308777e085c1511cdebe5e0.patch
5db90127b1c3128480a52559a9cdbd4949a0fed4.patch
+eac7152ec04f5a330f01ab9504514a03f873b35c.patch
Reply to: