Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package ifupdown A bug (#852976) was introduced recently that caused the return value of "ifquery --state" to be inverted. This is problematic for scripts that depend on it. unblock ifupdown/0.8.19 -- System Information: Debian Release: 9.0 APT prefers unstable APT policy: (1001, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.8.0-2-amd64 (SMP w/12 CPU cores) Locale: LANG=nl_NL.utf8, LC_CTYPE=nl_NL.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)
diff -Nru ifupdown-0.8.18/debian/changelog ifupdown-0.8.19/debian/changelog --- ifupdown-0.8.18/debian/changelog 2017-01-11 20:43:06.000000000 +0100 +++ ifupdown-0.8.19/debian/changelog 2017-01-30 14:32:18.000000000 +0100 @@ -1,3 +1,9 @@ +ifupdown (0.8.19) unstable; urgency=medium + + * Fix exit code of ifquery --state. Closes: #852976 + + -- Guus Sliepen <g...@debian.org> Mon, 30 Jan 2017 14:32:18 +0100 + ifupdown (0.8.18) unstable; urgency=medium [ Svante Signell ] diff -Nru ifupdown-0.8.18/main.c ifupdown-0.8.19/main.c --- ifupdown-0.8.18/main.c 2017-01-11 20:13:27.000000000 +0100 +++ ifupdown-0.8.19/main.c 2017-01-30 14:03:39.000000000 +0100 @@ -587,13 +587,13 @@ *argv += optind; } -/* Report the state of interfaces. Return 0 (success) if all reported interfaces are up, 1 (failure) otherwise */ -static int do_state(int n_target_ifaces, char *target_iface[]) { +/* Report the state of interfaces. Return true if all reported interfaces are up, false otherwise */ +static bool do_state(int n_target_ifaces, char *target_iface[]) { char **up_ifaces; int n_up_ifaces; read_all_state(&up_ifaces, &n_up_ifaces); - int ret = 0; + bool all_up = true; if (n_target_ifaces == 0) { for (int i = 0; i < n_up_ifaces; i++) @@ -614,11 +614,11 @@ } if (!found) - ret = 1; + all_up = false; } } - return ret; + return all_up; } /* Check non-option arguments and build a list of interfaces to act upon */