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

Reply via email to