Package: ifupdown Version: 0.6.9 Severity: normal Tags: patch interfaces(5) manual states: IFACE OPTIONS The following "command" [...] If this command fails then ifup aborts, refraining from marking the interface as configured [...] a directory /etc/network/if-<option>.d/ [...] using run-parts(8)
It's untrue that ifup or ifdown abort on error. Additionally current parameters for run-parts cause it doesn't stop on the *first* error. -- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (600, 'testing'), (500, 'stable'), (50, 'unstable'), (1, 'experimental') Architecture: i386 (i686) Kernel: Linux 2.6.30-1-686 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages ifupdown depends on: ii libc6 2.9-25 GNU C Library: Shared libraries ii lsb-base 3.2-23 Linux Standard Base 3.2 init scrip ii net-tools 1.60-23 The NET-3 networking toolkit ifupdown recommends no packages. Versions of packages ifupdown suggests: ii dhcp3-client 3.1.2p1-1 DHCP client ii iproute 20090324-1 networking and traffic control too ii ppp 2.4.4rel-10.1 Point-to-Point Protocol (PPP) - da -- no debconf information
diff -ru ifupdown-0.6.9/ifupdown.nw ifupdown-0.6.9-patched/ifupdown.nw --- ifupdown-0.6.9/ifupdown.nw 2009-09-06 10:59:10.000000000 +0200 +++ ifupdown-0.6.9-patched/ifupdown.nw 2009-09-20 22:51:18.000000000 +0200 @@ -2416,12 +2416,11 @@ } } - snprintf(buf, sizeof(buf), "run-parts %s /etc/network/if-%s.d", + snprintf(buf, sizeof(buf), + "run-parts --exit-on-error %s /etc/network/if-%s.d", verbose ? "--verbose" : "", opt); - (*exec)(buf); - - return 1; + return (*exec)(buf); } @