Your message dated Sun, 20 Feb 2011 14:57:35 +0000
with message-id <[email protected]>
and subject line Bug#614056: fixed in ifupdown-extra 0.16
has caused the Debian Bug report #614056,
regarding ifupdown-extra: can't imagine check-duplicate-ip ever worked
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
614056: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=614056
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: ifupdown-extra
Version: 0.15
Severity: important
Tags: patch

Motivation:
* wrong application paths for arping (from arping package) and ethtool
* ARP_TIMEOUT: anything less than 1500 microseconds is unreliable
* inaccurate arping options
* (not sure) but seems the logic around "ERROR: Duplicate address..." is
  broken
* to always return exit status 0 seems also broken

Bonus:
* useless quoting cleaned up
* reduced number of forks (sed is sufficient; grep and awk not needed in
  ip address extraction)
* executes ethtool only once


-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash


Cheers,

-- 
Cristian
--- if-up-scripts/check-duplicate-ip.orig	2009-08-01 01:28:10.000000000 +0200
+++ if-up-scripts/check-duplicate-ip	2011-02-19 12:10:13.000000000 +0100
@@ -36,21 +36,24 @@
 [ -r /etc/default/network-test ] && . /etc/default/network-test
 
 # Defaults
-ARPING=/usr/bin/arping
-ETHTOOL=/usr/sbin/ethtool
+ARPING=/usr/sbin/arping
+ETHTOOL=/sbin/ethtool
 ARP_COUNT=${ARP_COUNT:-2}
-ARP_TIMEOUT=${ARP_TIMEOUT:-3}
+# Time to wait between pings, in microseconds (man arping);
+# experiments show anything less than 1500 is unreliable.
+ARP_TIMEOUT=${ARP_TIMEOUT:-1500}
 DO_SYSLOG=${DO_SYSLOG:-yes}
 VERBOSITY=${VERBOSITY:-0}
 
 # Do not continue if ETHTOOL is not available
-[ ! -x "$ARPING" ] && exit 0
+[ ! -x $ARPING ] && exit 0
 # or if the user has told us to not do arpings
-[ "$DO_ARPING" = "no" ]  && exit 0
+[ "$DO_ARPING" = no ]  && exit 0
 
 # Try to obtain our IP address (DHCP case)
 if [ -z "$IF_ADDRESS" ] ; then
-        IF_ADDRESS=`ip addr show $IFACE | grep "inet " | awk '{print $2}' | sed -e 's/\/.*//'`
+	IF_ADDRESS=$(ip addr show $IFACE |
+		sed -rne 's|^[[:blank:]]*inet[[:blank:]]+([^/]+)/.*|\1|p')
 fi
 # Still no IP? Bail out
 [ -z "$IF_ADDRESS" ] && exit 0
@@ -60,10 +63,10 @@ fi
 LC_ALL=C
 export LC_ALL
 
-if [ "$DO_SYSLOG" = "yes" ] ; then
+if [ "$DO_SYSLOG" = yes ] ; then
 	OUTPUT="logger -i -p daemon.err -s"
 else
-	OUTPUT="echo"
+	OUTPUT=echo
 fi
 
 do_arping() {
@@ -75,24 +78,22 @@ do_arping() {
 # Do not do the check if ethtool (if installed) tells us the interface
 # does not have link, notice that ARPING will try to send the ARP requests
 # even if there is no link so we use this to speed things up
-	if [ -x "$ETHTOOL" ] ; then
-	        LINK=`$ETHTOOL $IFACE 2>&1| grep "Link detected"`
-	        if ! $ETHTOOL $IFACE | grep -q "Link detected: yes" ; then
-			return
-		fi
+	if [ -x $ETHTOOL ] ; then
+		LINK=$($ETHTOOL $IFACE 2>&1 | grep "Link[[:blank:]]\+detected:")
+		echo $LINK | grep -q "yes$" || return
 	fi
 
 	for ADDR in $IF_ADDRESS; do
 		[ "$VERBOSITY" -eq 1 ] && $OUTPUT "DEBUG: Sending arp pings through $IFACE to detect other systems using $ADDR"
-		if ! $ARPING -q -c $ARP_COUNT -w $ARP_TIMEOUT -D -I $IFACE $ADDR ; then
+		if $ARPING -q -c $ARP_COUNT -w $ARP_TIMEOUT -D -i $IFACE $ADDR >/dev/null ; then
 			$OUTPUT "ERROR: Duplicate address $ADDR assigned in the network where $IFACE is connected to"
+			return 1
 		fi
 	done
 }
 
 # Check our IFACE name, if it does not start with eth, bail out
-case "$IFACE" in 
+case $IFACE in
 	eth*) do_arping ;;
 	*) ;;
 esac
-exit 0

--- End Message ---
--- Begin Message ---
Source: ifupdown-extra
Source-Version: 0.16

We believe that the bug you reported is fixed in the latest version of
ifupdown-extra, which is due to be installed in the Debian FTP archive:

ifupdown-extra_0.16.dsc
  to main/i/ifupdown-extra/ifupdown-extra_0.16.dsc
ifupdown-extra_0.16.tar.gz
  to main/i/ifupdown-extra/ifupdown-extra_0.16.tar.gz
ifupdown-extra_0.16_all.deb
  to main/i/ifupdown-extra/ifupdown-extra_0.16_all.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Javier Fernandez-Sanguino Pen~a <[email protected]> (supplier of updated 
ifupdown-extra package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Sun, 20 Feb 2011 13:58:38 +0100
Source: ifupdown-extra
Binary: ifupdown-extra
Architecture: source all
Version: 0.16
Distribution: unstable
Urgency: low
Maintainer: Javier Fernandez-Sanguino Pen~a <[email protected]>
Changed-By: Javier Fernandez-Sanguino Pen~a <[email protected]>
Description: 
 ifupdown-extra - Network scripts for ifupdown
Closes: 614056
Changes: 
 ifupdown-extra (0.16) unstable; urgency=low
 .
   * if-up-scripts/check-duplicate-ip:
     - Location of ethtool has changed: adjust to the new location but fallback
       to the old one if it is still there.
     - Make it possible to use arping's arping which: is located in another
       directory, interprets parameters differently and does not support -q.
     Thanks to Cristian Ionescu-Idbohrn for bringing up this issue
     and providing a patch which I base the changes on (Closes: #614056)
     - Do not try to determine the ip address for interfaces we are not goint
       to arping to.
     - Add some warnings for unexpected events that prevent the script
       from working.
   * if-up-scripts/check-network-cable: Location of ethtool has changed,
     adjust to the new location but fallback to the old one if it is
     still there.
Checksums-Sha1: 
 690a212ad678a54079cb3ec04ed7bce49d40141b 731 ifupdown-extra_0.16.dsc
 2b5135d8d539bd736f9b405349107a9c4516cabd 18260 ifupdown-extra_0.16.tar.gz
 4681f6b4f6b173d0673b10836cf5bed00a984885 19906 ifupdown-extra_0.16_all.deb
Checksums-Sha256: 
 6007010335dfd11a44aa4975cf2b340362cfb089e91df448b48a3b00ba1b716a 731 
ifupdown-extra_0.16.dsc
 62f54ea583442f7e8804a505a56dbc847b075d3e15c72c9daac0d87868d985b5 18260 
ifupdown-extra_0.16.tar.gz
 e3286f1ec41c56e80b5376e5ba5e9967156c150abca9b2d8f3b4f7a204153243 19906 
ifupdown-extra_0.16_all.deb
Files: 
 6072a7519bb4a543d5100282ec4176ad 731 admin optional ifupdown-extra_0.16.dsc
 c9dac69545f9ddfa654bac44bf463ce3 18260 admin optional 
ifupdown-extra_0.16.tar.gz
 f428b97653c99e8e95b80b4d01e7a8ff 19906 admin optional 
ifupdown-extra_0.16_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iD8DBQFNYSfXsandgtyBSwkRAmBzAJ9EbpriQi7fAvede3K6UkO+SapHWQCfQ827
2uNexjE+ijHjBpuwrJZVbs8=
=B7Jq
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to