New patch, with a pair of improvements:
- Use timeout to abort if it gets stalled (seen this happen).
- Cope with undefined IP address (may happen with localhost).
--
Robert Millan
diff -Nur arping-2.05.old/debian/control arping-2.05/debian/control
--- arping-2.05.old/debian/control 2007-07-09 13:44:14.000000000 +0200
+++ arping-2.05/debian/control 2007-07-09 13:47:03.000000000 +0200
@@ -7,7 +7,7 @@
Package: arping
Architecture: any
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, lsb-base (>= 3.0-10), timeout
Conflicts: iputils-arping, iputils-ping (<< 20001110-6)
Description: sends IP and/or ARP pings (to the MAC address)
The arping utility sends ARP and/or ICMP requests to the specified host
diff -Nur arping-2.05.old/debian/if-up arping-2.05/debian/if-up
--- arping-2.05.old/debian/if-up 1970-01-01 01:00:00.000000000 +0100
+++ arping-2.05/debian/if-up 2007-07-09 13:46:56.000000000 +0200
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+if [ "${IF_ADDRESS}" = "" ] ; then
+ exit 0
+fi
+
+. /lib/lsb/init-functions
+
+log_action_begin_msg "Using arping to check duplicity of ${IF_ADDRESS}"
+
+if timeout 4 arping -c 1 -d -I ${IFACE} ${IF_ADDRESS} > /dev/null ; then
+ ifconfig ${IFACE} down
+ msg="Another computer is already using ${IF_ADDRESS}"
+ status=1
+else
+ msg="No duplicates found"
+ status=0
+fi
+
+log_action_end_msg ${status} "${msg}"
+
+[ ${status} = 0 ]
diff -Nur arping-2.05.old/debian/rules arping-2.05/debian/rules
--- arping-2.05.old/debian/rules 2007-07-09 13:44:14.000000000 +0200
+++ arping-2.05/debian/rules 2007-07-09 13:44:25.000000000 +0200
@@ -27,9 +27,11 @@
install -d debian/tmp/usr/sbin
install -d debian/tmp/usr/share/doc/$(pkg)/examples
install -d debian/tmp/usr/share/man/man8
+ install -d debian/tmp/etc/network/if-up.d
install -m 0644 debian/copyright debian/tmp/usr/share/doc/$(pkg)
install -sm 0755 $(pkg) debian/tmp/usr/sbin
install -m 0755 arping-scan-net.sh debian/tmp/usr/share/doc/$(pkg)/examples
+ install -m 0755 debian/if-up debian/tmp/etc/network/if-up.d/arping
gzip -9c README >debian/tmp/usr/share/doc/$(pkg)/README.gz
gzip -9c debian/changelog >debian/tmp/usr/share/doc/$(pkg)/changelog.Debian.gz
gzip -9c debian/README.Debian >debian/tmp/usr/share/doc/$(pkg)/README.Debian.gz