--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: unblock: ifupdown/0.7.3
- From: Andrew Shadura <bugzilla@tut.by>
- Date: Tue, 16 Oct 2012 08:42:12 +0200
- Message-id: <20121016064212.31303.82626.reportbug@localhost.localdomain>
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package ifupdown
This release fixes the erroneous behaviour of ifupdown when broadcast
address auto-calculation is enabled on /31 links; now ifupdown follows
RFC 3021 in this regard. Also, the same broadcast auto-calculation
didn't work properly at all if obsolete broadcast addressing scheme was
used, when the broadcast address is generated by setting host address
bits to zeroes, not ones. Some test cases for those bugs are added also.
For details regarding RFC 3021 issue see #690561.
The source package may be downloaded for the review from here:
http://alioth.debian.org/~andrewshadoura-guest/debian/unstable/ifupdown_0.7.3.dsc
Debdiff is also attached. Please also note that the package has not been
uploaded yet.
unblock ifupdown/0.7.3
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 3.5-trunk-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_GB.UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -Nru ifupdown-0.7.2/debian/changelog ifupdown-0.7.3/debian/changelog
--- ifupdown-0.7.2/debian/changelog 2012-08-16 23:23:03.000000000 +0200
+++ ifupdown-0.7.3/debian/changelog 2012-10-15 23:22:53.000000000 +0200
@@ -1,3 +1,12 @@
+ifupdown (0.7.3) unstable; urgency=low
+
+ * Fix the calculation of broadcast addresses of obsolete scheme;
+ previously, a network mask was mistakenly used instead of them.
+ * Follow RFC 3021 regarding broadcast addresses in /31 subnets:
+ they should use limited broadcast address (Closes: #690561).
+
+ -- Andrew O. Shadura <bugzilla@tut.by> Mon, 15 Oct 2012 23:19:58 +0200
+
ifupdown (0.7.2) unstable; urgency=low
* Don't install /etc/default/networking as executable (Closes: #679623).
diff -Nru ifupdown-0.7.2/debian/testbuild-linux ifupdown-0.7.3/debian/testbuild-linux
--- ifupdown-0.7.2/debian/testbuild-linux 2012-08-15 12:17:16.000000000 +0200
+++ ifupdown-0.7.3/debian/testbuild-linux 2012-10-15 23:18:30.000000000 +0200
@@ -4,7 +4,7 @@
mkdir tests
cat >tests/testcase.1 <<EOF
# RUN: -a
-auto eth0 eth1 eth2
+auto eth0 eth1 eth2 eth3
iface eth0 inet static
address 1.2.3.4
netmask 255.255.255.0
@@ -24,6 +24,25 @@
broadcast 1.2.3.127
up echo hi
post-up echo hello
+
+iface eth3 inet static
+ address 1.2.3.4/24
+ broadcast -
+ up true
+
+iface eth3 inet static
+ address 1.2.3.4/30
+ broadcast -
+ up true
+
+iface eth3 inet static
+ address 1.2.3.4/31
+ up true
+
+iface eth3 inet static
+ address 1.2.3.4/31
+ broadcast -
+ up true
EOF
cat >tests/up.1 <<EOF
====stdout====
@@ -53,6 +72,34 @@
echo hi
echo hello
run-parts --verbose /etc/network/if-up.d
+Configuring interface eth3=eth3 (inet)
+run-parts --verbose /etc/network/if-pre-up.d
+ip addr add 1.2.3.4/255.255.255.0 broadcast 1.2.3.0 dev eth3 label eth3
+ip link set dev eth3 up
+
+true
+run-parts --verbose /etc/network/if-up.d
+Configuring interface eth3=eth3 (inet)
+run-parts --verbose /etc/network/if-pre-up.d
+ip addr add 1.2.3.4/255.255.255.252 broadcast 1.2.3.4 dev eth3 label eth3
+ip link set dev eth3 up
+
+true
+run-parts --verbose /etc/network/if-up.d
+Configuring interface eth3=eth3 (inet)
+run-parts --verbose /etc/network/if-pre-up.d
+ip addr add 1.2.3.4/255.255.255.254 broadcast 255.255.255.255 dev eth3 label eth3
+ip link set dev eth3 up
+
+true
+run-parts --verbose /etc/network/if-up.d
+Configuring interface eth3=eth3 (inet)
+run-parts --verbose /etc/network/if-pre-up.d
+ip addr add 1.2.3.4/255.255.255.254 broadcast 0.0.0.0 dev eth3 label eth3
+ip link set dev eth3 up
+
+true
+run-parts --verbose /etc/network/if-up.d
run-parts --verbose /etc/network/if-up.d
EOF
diff -Nru ifupdown-0.7.2/ifupdown.nw ifupdown-0.7.3/ifupdown.nw
--- ifupdown-0.7.2/ifupdown.nw 2012-08-13 20:20:19.000000000 +0200
+++ ifupdown-0.7.3/ifupdown.nw 2012-10-15 23:17:24.000000000 +0200
@@ -4793,12 +4793,22 @@
free(s);
if (r != 1) return;
- if (!strcmp(*pparam, "+")) {
- addr.s_addr |= ~mask.s_addr;
- }
+ if (mask.s_addr != htonl(0xfffffffe)) {
+ if (!strcmp(*pparam, "+")) {
+ addr.s_addr |= ~mask.s_addr;
+ }
+
+ if (!strcmp(*pparam, "-")) {
+ addr.s_addr &= mask.s_addr;
+ }
+ } else {
+ if (!strcmp(*pparam, "+")) {
+ addr.s_addr = 0xffffffff;
+ }
- if (!strcmp(*pparam, "-")) {
- addr.s_addr |= mask.s_addr;
+ if (!strcmp(*pparam, "-")) {
+ addr.s_addr = 0;
+ }
}
char buffer[INET_ADDRSTRLEN + 1];
--- End Message ---
--- Begin Message ---
- To: Steve Langasek <vorlon@debian.org>, 690660-done@bugs.debian.org
- Cc: Andrew Shadura <bugzilla@tut.by>, Julien Cristau <jcristau@debian.org>
- Subject: Re: Bug#690660: unblock: ifupdown/0.7.3
- From: "Adam D. Barratt" <adam@adam-barratt.org.uk>
- Date: Mon, 12 Nov 2012 17:08:19 +0000
- Message-id: <1352740099.27968.56.camel@jacala.jungle.funky-badger.org>
- In-reply-to: <20121030133236.GB30900@virgil.dodds.net>
- References: <20121016064212.31303.82626.reportbug@localhost.localdomain> <20121016080701.GE17465@radis.cristau.org> <20121019104419.38927cd9@ileemo> <20121030133236.GB30900@virgil.dodds.net>
On Tue, 2012-10-30 at 14:32 +0100, Steve Langasek wrote:
> On Fri, Oct 19, 2012 at 10:44:19AM +0200, Andrew Shadura wrote:
> > Hello,
>
> > Anything on the bug? May we upload the package?
>
> The other change here looks like a reasonable, contained bugfix suitable for
> release. Yes, please upload.
The upload happened, and Steve unblocked it; closing.
Regards,
Adam
--- End Message ---