Hi,
Please find the debdiff attached.
On Tue, Jan 06, 2026 at 12:48:03PM +0100, Daniel Gröber wrote:
> Package: release.debian.org
> Severity: normal
> Tags: trixie
> X-Debbugs-Cc: [email protected], [email protected], Mark
> Kamichoff
> Control: affects -1 + src:ifupdown
> User: [email protected]
> Usertags: pu
>
> [ Reason ]
> ifupdown in stable introduced a regression causing none of the important
> internal scripts getting executed.
>
> [ Impact ]
> Boot failures, service failures, IPv6 network unreachability.
>
> Problems I've found so far: Not waiting for IPv6 DAD to complete can cause
> persistent downstream service failures (#1122511) and not waiting for IPv6
> link-locals causes DHCP configuration to fail (#1088852).
>
> [ Tests ]
> I'm asking an affected user to confirm #1122511 is fixed before uploading
> to unstable since I don't have time to do a deep dive to confirm it
> manually myself right now.
>
> Since the underlying breakage is the same for these bugs that should give
> us sufficient test coverage for both bugs.
I've manually validated the fix in unstable (0.8.45) in a debvm using
strace and ifup -v inspection (can see settle-dad.sh for `inet6 static` and
wait-for-ll6.sh for `inet6 dhcp` when isc-dhcp-client is installed).
Internal scripts where execable() previously returned false are now
executed properly and system binaries (tested with `inet dhcp` and
isc-dhcp-client) are still executed as expected - meaning execable() is
still returning true for them as well.
> [ Risks ]
> The actual bug is trivial once you see it.
>
> Worst case if I fuxed up the fix doesn't fix it, but since execable() is
> already as broken as it can be it wont break any further ;-).
>
[ Checklist (Updated) ]
[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 ]
>
> - Fix execable() returning false for scripts in lib(exec)
>
>Commit 1eee7a30 ("Use relative names when executing programs") released
>in 0.8.42 failed to take into account that PATH is only set locally when
>executing commands, not globally and so getenv("PATH") returns the
>system default nor our extended PATH.
>
> [ Other info ]
> I'll send the final debdiff as soon as I get confirmation for the fix in
> experimental.
--Daniel
diff -Nru ifupdown-0.8.44/archcommon.c ifupdown-0.8.44+deb13u1/archcommon.c
--- ifupdown-0.8.44/archcommon.c2024-08-20 04:02:23.0 +0200
+++ ifupdown-0.8.44+deb13u1/archcommon.c2026-01-08 14:16:10.0
+0100
@@ -35,17 +35,13 @@
bool execable(const char *program) {
char *filename = NULL;
- const char *path_list;
+ const char *path_list = EXECUTE_LOCAL_PATHLIST;
const char *path, *path_end;
size_t path_len;
if (program[0] == '/')
return file_is_exec(program);
- path_list = getenv("PATH");
- if (!path_list)
- return false;
-
/*
* We allocate based on the length of PATH and the program name we
* are looking for (plus one byte for the terminating NUL, and a
diff -Nru ifupdown-0.8.44/debian/changelog
ifupdown-0.8.44+deb13u1/debian/changelog
--- ifupdown-0.8.44/debian/changelog2024-09-17 14:08:12.0 +0200
+++ ifupdown-0.8.44+deb13u1/debian/changelog2026-01-08 14:17:04.0
+0100
@@ -1,3 +1,18 @@
+ifupdown (0.8.44+deb13u1) trixie; urgency=medium
+
+ * Fix ifup regression where it would return before IPv6 DAD had
+completed allowing boot to proceed and causing subsequent service
+start failures with "Cannot assign requested" or "Address not available".
+(Closes: #1122511)
+ * Fix ifup regression calling dhclient before IPv6 link-locals are
+available on interface.
+(Closes: #1088852)
+ * Fix execable() returning false for scripts in lib(exec) causing the
+above regressions. This underlying bug was introduced in 0.8.42.
+ * Add myself to Uploaders.
+
+ -- Daniel Gröber Thu, 08 Jan 2026 14:17:04 +0100
+
ifupdown (0.8.44) unstable; urgency=low
[ Debian Janitor ]
diff -Nru ifupdown-0.8.44/debian/control ifupdown-0.8.44+deb13u1/debian/control
--- ifupdown-0.8.44/debian/control 2024-09-17 14:07:12.0 +0200
+++ ifupdown-0.8.44+deb13u1/debian/control 2026-01-08 14:16:10.0
+0100
@@ -2,7 +2,10 @@
Section: admin
Priority: important
Maintainer: Debian Networking Team
-Uploaders: Josué Ortega , Santiago Ruano Rincón
+Uploaders:
+ Daniel Gröber ,
+ Josué Ortega ,
+ Santiago Ruano Rincón ,
Standards-Version: 4.6.1
Build-Depends: debhelper-compat (= 13)
Vcs-Git: https://salsa.debian.org/debian/ifupdown.git
diff -Nru ifupdown-0.8.44/execute.c ifupdown-0.8.44+deb13u1/execute.c
--- ifupdown-0.8.44/execute.c 2024-08-20 04:02:23.0 +0200
+++ ifupdown-0.8.44+deb13u1/execute.c