http://nthill.free.fr/openwrt/sources/$(PKG_NAME)/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_CAT:=zcat
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_NAME)-$(PKG_VERSION)
+include $(TOPDIR)/package/rules.mk
-IPKG_ARPWATCH:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
-IDIR_ARPWATCH:=$(PKG_BUILD_DIR)/ipkg/$(PKG_NAME)
-INFO_ARPWATCH:=$(IPKG_STATE_DIR)/info/$(PKG_NAME).list
+$(eval $(call PKG_template,ARPWATCH,arpwatch,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
-$(DL_DIR)/$(PKG_SOURCE):
- $(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE) $(PKG_MD5SUM) $(PKG_SOURCE_URL)
-
-$(PKG_BUILD_DIR)/.prepared: $(DL_DIR)/$(PKG_SOURCE)
- mkdir -p $(BUILD_DIR)/$(PKG_NAME)
- $(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR)/$(PKG_NAME) $(TAR_OPTIONS) -
- touch $(PKG_BUILD_DIR)/.prepared
-
-$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared
+$(PKG_BUILD_DIR)/.configured:
(cd $(PKG_BUILD_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
$(DISABLE_NLS) \
$(DISABLE_LARGEFILE) \
);
- touch $(PKG_BUILD_DIR)/.configured
+ touch $@
-$(PKG_BUILD_DIR)/$(PKG_NAME): $(PKG_BUILD_DIR)/.configured
+$(PKG_BUILD_DIR)/.built:
$(MAKE) -C $(PKG_BUILD_DIR) \
ARPDIR=/etc/arpwatch \
CCOPT="$(TARGET_CFLAGS)" \
INCLS="-I. -I$(STAGING_DIR)/usr/include" \
LIBS="-L$(STAGING_DIR)/usr/lib -lpcap" \
-
-$(IPKG_ARPWATCH): $(PKG_BUILD_DIR)/$(PKG_NAME)
- $(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_ARPWATCH) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
- cp arpwatch.conffiles $(IDIR_ARPWATCH)/CONTROL/conffiles
+$(IPKG_ARPWATCH):
mkdir -p $(IDIR_ARPWATCH)/usr/sbin
cp $(PKG_BUILD_DIR)/arpwatch $(IDIR_ARPWATCH)/usr/sbin/
cp $(PKG_BUILD_DIR)/arpsnmp $(IDIR_ARPWATCH)/usr/sbin/
$(STRIP) $(IDIR_ARPWATCH)/usr/sbin/*
mkdir -p $(IDIR_ARPWATCH)/etc/arpwatch
cp $(PKG_BUILD_DIR)/arp.dat $(IDIR_ARPWATCH)/etc/arpwatch/
- mkdir -p $(PACKAGE_DIR)
$(IPKG_BUILD) $(IDIR_ARPWATCH) $(PACKAGE_DIR)
-
-$(INFO_ARPWATCH): $(IPKG_ARPWATCH)
- $(IPKG) install $(IPKG_ARPWATCH)
-
-source: $(DL_DIR)/$(PKG_SOURCE)
-prepare: $(PKG_BUILD_DIR)/.prepared
-compile: $(IPKG_ARPWATCH)
-install: $(INFO_ARPWATCH)
-
-clean:
- rm -rf $(PKG_BUILD_DIR) $(IPKG_ARPWATCH)
+++ /dev/null
-/etc/arpwatch/arp.dat
+++ /dev/null
-Package: arpwatch
-Priority: optional
-Section: net
-Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
-Source: buildroot internal
-Description: Ethernet monitor program for keeping track of ethernet/ip address pairings
-Depends: libpcap
--- /dev/null
+/etc/arpwatch/arp.dat
--- /dev/null
+Package: arpwatch
+Priority: optional
+Section: net
+Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
+Source: buildroot internal
+Description: Ethernet monitor program for keeping track of ethernet/ip address pairings
+Depends: libpcap
+++ /dev/null
-Index: arpwatch/Makefile.in
-diff -u arpwatch/Makefile.in:1.1.1.1 arpwatch/Makefile.in:1.1.1.1.10.1
---- arpwatch/Makefile.in:1.1.1.1 Tue Apr 17 13:31:36 2001
-+++ arpwatch/Makefile.in Tue Apr 17 13:53:29 2001
-@@ -31,7 +31,8 @@
- # Pathname of directory to install the man page
- MANDEST = @mandir@
- # Pathname of directory to install database file
--ARPDIR = $(prefix)/arpwatch
-+ARPDIR = /var/lib/arpwatch
-+ETHERCODES = /usr/share/arpwatch/ethercodes.dat
-
- # VPATH
- srcdir = @srcdir@
-@@ -45,7 +46,8 @@
- PROG = arpwatch
- CCOPT = @V_CCOPT@
- INCLS = -I. @V_INCLS@
--DEFS = -DDEBUG @DEFS@ -DARPDIR=\"$(ARPDIR)\" -DPATH_SENDMAIL=\"$(SENDMAIL)\"
-+DEFS = -DDEBUG @DEFS@ -DARPDIR=\"$(ARPDIR)\" -DPATH_SENDMAIL=\"$(SENDMAIL)\" \
-+ -DETHERCODES=\"$(ETHERCODES)\"
-
- # Standard CFLAGS
- CFLAGS = $(CCOPT) $(DEFS) $(INCLS)
-Index: arpwatch/arpsnmp.8
-diff -u arpwatch/arpsnmp.8:1.1.1.1 arpwatch/arpsnmp.8:1.1.1.1.10.1
---- arpwatch/arpsnmp.8:1.1.1.1 Tue Apr 17 13:31:36 2001
-+++ arpwatch/arpsnmp.8 Tue Apr 17 13:53:29 2001
-@@ -1,4 +1,4 @@
--.\" @(#) $Id$ (LBL)
-+.\" @(#) $Id$ (LBL)
- .\"
- .\" Copyright (c) 1996, 1997, 1999, 2000
- .\" The Regents of the University of California. All rights reserved.
-@@ -69,9 +69,9 @@
- .na
- .nh
- .nf
--/usr/operator/arpwatch - default directory
-+/var/lib/arpwatch - default directory
- arp.dat - ethernet/ip address database
--ethercodes.dat - vendor ethernet block list
-+/usr/share/arpwatch/ethercodes.dat - vendor ethernet block list
- .ad
- .hy
- .fi
-Index: arpwatch/arpwatch.8
-diff -u arpwatch/arpwatch.8:1.1.1.1 arpwatch/arpwatch.8:1.1.1.1.10.1
---- arpwatch/arpwatch.8:1.1.1.1 Tue Apr 17 13:31:36 2001
-+++ arpwatch/arpwatch.8 Tue Apr 17 13:53:29 2001
-@@ -1,4 +1,4 @@
--.\" @(#) $Id$ (LBL)
-+.\" @(#) $Id$ (LBL)
- .\"
- .\" Copyright (c) 1992, 1994, 1996, 1997, 2000
- .\" The Regents of the University of California. All rights reserved.
-@@ -152,9 +152,9 @@
- .na
- .nh
- .nf
--/usr/operator/arpwatch - default directory
-+/var/lib/arpwatch - default directory
- arp.dat - ethernet/ip address database
--ethercodes.dat - vendor ethernet block list
-+/usr/share/arpwatch/ethercodes.dat - vendor ethernet block list
- .ad
- .hy
- .fi
-Index: arpwatch/arpwatch.h
-diff -u arpwatch/arpwatch.h:1.1.1.1 arpwatch/arpwatch.h:1.1.1.1.10.1
---- arpwatch/arpwatch.h:1.1.1.1 Tue Apr 17 13:31:36 2001
-+++ arpwatch/arpwatch.h Tue Apr 17 13:53:29 2001
-@@ -1,7 +1,7 @@
- /* @(#) $Id$ (LBL) */
-
- #define ARPFILE "arp.dat"
--#define ETHERCODES "ethercodes.dat"
-+/* #define ETHERCODES "ethercodes.dat" */
- #define CHECKPOINT (15*60) /* Checkpoint time in seconds */
-
- #define MEMCMP(a, b, n) memcmp((char *)a, (char *)b, n)
-Index: arpwatch/bihourly
-diff -u arpwatch/bihourly:1.1.1.1 arpwatch/bihourly:1.1.1.1.10.1
---- arpwatch/bihourly:1.1.1.1 Tue Apr 17 13:31:36 2001
-+++ arpwatch/bihourly Tue Apr 17 13:53:29 2001
-@@ -6,7 +6,7 @@
- PATH=$PATH:/usr/local/sbin
- export PATH
- #
--cd /usr/operator/arpwatch
-+cd /var/lib/arpwatch
- #
- list=`cat list`
- cname=`cat cname`
-@@ -14,7 +14,7 @@
- #
- alist=""
- for r in $list; do \
-- ./arpfetch $r $cname > $r 2> $errs
-+ arpfetch $r $cname > $r 2> $errs
- if test -s $errs; then
- echo "arpfetch $r failed:"
- sed -e 's/^/ /' $errs
+++ /dev/null
-Index: arpwatch/arpsnmp.c
-diff -u arpwatch/arpsnmp.c:1.1.1.1 arpwatch/arpsnmp.c:1.1.1.1.2.1
---- arpwatch/arpsnmp.c:1.1.1.1 Tue Apr 17 13:31:36 2001
-+++ arpwatch/arpsnmp.c Tue Apr 17 13:47:57 2001
-@@ -78,6 +78,10 @@
- register char *cp;
- register int op, i;
- char errbuf[256];
-+ char options[] =
-+ "d"
-+ "f:"
-+ ;
-
- if ((cp = strrchr(argv[0], '/')) != NULL)
- prog = cp + 1;
-@@ -90,7 +94,7 @@
- }
-
- opterr = 0;
-- while ((op = getopt(argc, argv, "df:")) != EOF)
-+ while ((op = getopt(argc, argv, options)) != EOF)
- switch (op) {
-
- case 'd':
-@@ -181,9 +185,14 @@
- usage(void)
- {
- extern char version[];
-+ char usage[] =
-+ "[-d] "
-+ "[-f datafile] "
-+ "file [...]\n"
-+ ;
-
- (void)fprintf(stderr, "Version %s\n", version);
- (void)fprintf(stderr,
-- "usage: %s [-d] [-f datafile] file [...]\n", prog);
-+ "usage: %s %s", prog, usage);
- exit(1);
- }
-Index: arpwatch/arpwatch.c
-diff -u arpwatch/arpwatch.c:1.1.1.1 arpwatch/arpwatch.c:1.1.1.1.2.1
---- arpwatch/arpwatch.c:1.1.1.1 Tue Apr 17 13:31:36 2001
-+++ arpwatch/arpwatch.c Tue Apr 17 13:47:57 2001
-@@ -153,6 +153,14 @@
- register char *interface, *rfilename;
- struct bpf_program code;
- char errbuf[PCAP_ERRBUF_SIZE];
-+ char options[] =
-+ "d"
-+ "f:"
-+ "i:"
-+ "n:"
-+ "N"
-+ "r:"
-+ ;
-
- if (argv[0] == NULL)
- prog = "arpwatch";
-@@ -170,7 +178,7 @@
- interface = NULL;
- rfilename = NULL;
- pd = NULL;
-- while ((op = getopt(argc, argv, "df:i:n:Nr:")) != EOF)
-+ while ((op = getopt(argc, argv, options)) != EOF)
- switch (op) {
-
- case 'd':
-@@ -748,9 +756,16 @@
- usage(void)
- {
- extern char version[];
-+ char usage[] =
-+ "[-dN] "
-+ "[-f datafile] "
-+ "[-i interface] "
-+ "[-n net[/width]] "
-+ "[-r file] "
-+ "\n"
-+ ;
-
- (void)fprintf(stderr, "Version %s\n", version);
-- (void)fprintf(stderr, "usage: %s [-dN] [-f datafile] [-i interface]"
-- " [-n net[/width]] [-r file]\n", prog);
-+ (void)fprintf(stderr, "usage: %s %s", prog, usage);
- exit(1);
- }
+++ /dev/null
-Index: arpwatch/arpsnmp.8
-diff -u arpwatch/arpsnmp.8:1.1.1.1 arpwatch/arpsnmp.8:1.1.1.1.4.1
---- arpwatch/arpsnmp.8:1.1.1.1 Tue Apr 17 13:31:36 2001
-+++ arpwatch/arpsnmp.8 Tue Apr 17 13:49:16 2001
-@@ -30,7 +30,12 @@
- ] [
- .B -f
- .I datafile
-+] [
-+.B -s
-+.I sendmail_path
- ]
-+.br
-+.ti +8
- .I file
- [
- .I ...
-@@ -54,6 +59,13 @@
- flag is used to set the ethernet/ip address database filename.
- The default is
- .IR arp.dat .
-+.LP
-+The
-+.B -s
-+flag is used to specify the path to the sendmail program.
-+Any program that takes the option -odi and then text from stdin
-+can be substituted. This is useful for redirecting reports
-+to log files instead of mail. (Debian specific)
- .LP
- Note that an empty
- .I arp.dat
-Index: arpwatch/arpsnmp.c
-diff -u arpwatch/arpsnmp.c:1.1.1.1.2.1 arpwatch/arpsnmp.c:1.1.1.1.2.1.2.1
---- arpwatch/arpsnmp.c:1.1.1.1.2.1 Tue Apr 17 13:47:57 2001
-+++ arpwatch/arpsnmp.c Tue Apr 17 13:49:16 2001
-@@ -67,6 +67,7 @@
- __dead void usage(void) __attribute__((volatile));
-
- char *prog;
-+char *path_sendmail = PATH_SENDMAIL;
-
- extern int optind;
- extern int opterr;
-@@ -81,6 +82,7 @@
- char options[] =
- "d"
- "f:"
-+ "s:"
- ;
-
- if ((cp = strrchr(argv[0], '/')) != NULL)
-@@ -109,6 +111,10 @@
- arpfile = optarg;
- break;
-
-+ case 's':
-+ path_sendmail = optarg;
-+ break;
-+
- default:
- usage();
- }
-@@ -188,6 +194,7 @@
- char usage[] =
- "[-d] "
- "[-f datafile] "
-+ "[-s sendmail_path] "
- "file [...]\n"
- ;
-
-Index: arpwatch/arpwatch.8
-diff -u arpwatch/arpwatch.8:1.1.1.1 arpwatch/arpwatch.8:1.1.1.1.4.1
---- arpwatch/arpwatch.8:1.1.1.1 Tue Apr 17 13:31:36 2001
-+++ arpwatch/arpwatch.8 Tue Apr 17 13:49:16 2001
-@@ -44,6 +44,12 @@
- .B -r
- .I file
- ]
-+.br
-+.ti +8
-+[
-+.B -s
-+.I sendmail_path
-+]
- .ad
- .SH DESCRIPTION
- .B Arpwatch
-@@ -93,6 +99,13 @@
- of reading from the network. In this case,
- .B arpwatch
- does not fork.
-+.LP
-+The
-+.B -s
-+flag is used to specify the path to the sendmail program.
-+Any program that takes the option -odi and then text from stdin
-+can be substituted. This is useful for redirecting reports
-+to log files instead of mail. (Debian specific)
- .LP
- Note that an empty
- .I arp.dat
-Index: arpwatch/arpwatch.c
-diff -u arpwatch/arpwatch.c:1.1.1.1.2.1 arpwatch/arpwatch.c:1.1.1.1.2.1.2.1
---- arpwatch/arpwatch.c:1.1.1.1.2.1 Tue Apr 17 13:47:57 2001
-+++ arpwatch/arpwatch.c Tue Apr 17 13:49:16 2001
-@@ -106,6 +106,7 @@
- #endif
-
- char *prog;
-+char *path_sendmail = PATH_SENDMAIL;
-
- int can_checkpoint;
- int swapped;
-@@ -160,6 +161,7 @@
- "n:"
- "N"
- "r:"
-+ "s:"
- ;
-
- if (argv[0] == NULL)
-@@ -210,6 +212,10 @@
- rfilename = optarg;
- break;
-
-+ case 's':
-+ path_sendmail = optarg;
-+ break;
-+
- default:
- usage();
- }
-@@ -761,7 +767,8 @@
- "[-f datafile] "
- "[-i interface] "
- "[-n net[/width]] "
-- "[-r file] "
-+ "[-r file]\n\t"
-+ "[-s sendmail_path] "
- "\n"
- ;
-
-Index: arpwatch/report.c
-diff -u arpwatch/report.c:1.1.1.1 arpwatch/report.c:1.1.1.1.4.1
---- arpwatch/report.c:1.1.1.1 Tue Apr 17 13:31:37 2001
-+++ arpwatch/report.c Tue Apr 17 13:49:16 2001
-@@ -235,6 +235,7 @@
- report(register char *title, register u_int32_t a, register u_char *e1,
- register u_char *e2, register time_t *t1p, register time_t *t2p)
- {
-+ extern char *path_sendmail;
- register char *cp, *hn;
- register int fd, pid;
- register FILE *f;
-@@ -242,7 +243,7 @@
- char *fmt = "%20s: %s\n";
- char *watcher = WATCHER;
- char *watchee = WATCHEE;
-- char *sendmail = PATH_SENDMAIL;
-+ char *sendmail = path_sendmail;
- char *unknown = "<unknown>";
- char buf[132];
- static int init = 0;
+++ /dev/null
-Index: arpwatch/arpwatch.8
-diff -u arpwatch/arpwatch.8:1.1.1.1 arpwatch/arpwatch.8:1.1.1.1.6.1
---- arpwatch/arpwatch.8:1.1.1.1 Tue Apr 17 13:31:36 2001
-+++ arpwatch/arpwatch.8 Tue Apr 17 13:50:23 2001
-@@ -29,6 +29,8 @@
- [
- .B -dN
- ] [
-+.B -p
-+] [
- .B -f
- .I datafile
- ] [
-@@ -81,6 +83,15 @@
- The
- .B -N
- flag disables reporting any bogons.
-+.LP
-+The
-+.B -p
-+flag disables promiscuous operation. ARP broadcasts get through hubs without
-+having the interface in promiscuous mode, while saving considerable resources
-+that would be wasted on processing gigabytes of non-broadcast traffic. OTOH,
-+setting promiscuous mode does not mean getting 100% traffic that would concern
-+.B arpwatch .
-+YMMV. (Debian specific)
- .LP
- The
- .B -r
-Index: arpwatch/arpwatch.c
-diff -u arpwatch/arpwatch.c:1.1.1.1.2.1 arpwatch/arpwatch.c:1.1.1.1.2.1.4.1
---- arpwatch/arpwatch.c:1.1.1.1.2.1 Tue Apr 17 13:47:57 2001
-+++ arpwatch/arpwatch.c Tue Apr 17 13:50:23 2001
-@@ -159,6 +159,7 @@
- "i:"
- "n:"
- "N"
-+ "p"
- "r:"
- ;
-
-@@ -206,6 +207,10 @@
- ++nobogons;
- break;
-
-+ case 'p':
-+ ++nopromisc;
-+ break;
-+
- case 'r':
- rfilename = optarg;
- break;
-@@ -277,7 +282,7 @@
- snaplen = max(sizeof(struct ether_header),
- sizeof(struct fddi_header)) + sizeof(struct ether_arp);
- timeout = 1000;
-- pd = pcap_open_live(interface, snaplen, 1, timeout, errbuf);
-+ pd = pcap_open_live(interface, snaplen, !nopromisc, timeout, errbuf);
- if (pd == NULL) {
- syslog(LOG_ERR, "pcap open %s: %s", interface, errbuf);
- exit(1);
-@@ -758,6 +763,7 @@
- extern char version[];
- char usage[] =
- "[-dN] "
-+ "[-p] "
- "[-f datafile] "
- "[-i interface] "
- "[-n net[/width]] "
-Index: arpwatch/util.c
-diff -u arpwatch/util.c:1.1.1.1 arpwatch/util.c:1.1.1.1.6.1
---- arpwatch/util.c:1.1.1.1 Tue Apr 17 13:31:37 2001
-+++ arpwatch/util.c Tue Apr 17 13:50:23 2001
-@@ -61,6 +61,7 @@
-
- int debug = 0;
- int initializing = 1; /* true if initializing */
-+int nopromisc = 0; /* don't activate promisc mode */
-
- /* syslog() helper routine */
- void
-Index: arpwatch/util.h
-diff -u arpwatch/util.h:1.1.1.1 arpwatch/util.h:1.1.1.1.6.1
---- arpwatch/util.h:1.1.1.1 Tue Apr 17 13:31:37 2001
-+++ arpwatch/util.h Tue Apr 17 13:50:23 2001
-@@ -17,3 +17,4 @@
-
- extern int debug;
- extern int initializing;
-+extern int nopromisc;
+++ /dev/null
-Index: arpwatch/arpwatch.8
-diff -u arpwatch/arpwatch.8:1.1.1.1 arpwatch/arpwatch.8:1.1.1.1.8.1
---- arpwatch/arpwatch.8:1.1.1.1 Tue Apr 17 13:31:36 2001
-+++ arpwatch/arpwatch.8 Tue Apr 17 13:51:23 2001
-@@ -27,6 +27,8 @@
- .na
- .B arpwatch
- [
-+.B -a
-+] [
- .B -dN
- ] [
- .B -f
-@@ -53,6 +55,17 @@
- uses
- .BR pcap (3)
- to listen for arp packets on a local ethernet interface.
-+.LP
-+.B -a
-+By default,
-+.B arpwatch
-+reports bogons (unless
-+.B -N
-+is given) for IP addresses that are in the same subnet than the
-+first IP address of the default interface. If this option is
-+specified,
-+.B arpwatch
-+will report bogons about every IP addresses. (Debian specific)
- .LP
- The
- .B -d
-Index: arpwatch/arpwatch.c
-diff -u arpwatch/arpwatch.c:1.1.1.1.2.1 arpwatch/arpwatch.c:1.1.1.1.2.1.6.1
---- arpwatch/arpwatch.c:1.1.1.1.2.1 Tue Apr 17 13:47:57 2001
-+++ arpwatch/arpwatch.c Tue Apr 17 13:51:23 2001
-@@ -154,6 +154,7 @@
- struct bpf_program code;
- char errbuf[PCAP_ERRBUF_SIZE];
- char options[] =
-+ "a"
- "d"
- "f:"
- "i:"
-@@ -181,6 +182,10 @@
- while ((op = getopt(argc, argv, options)) != EOF)
- switch (op) {
-
-+ case 'a':
-+ ++allsubnets;
-+ break;
-+
- case 'd':
- ++debug;
- #ifndef DEBUG
-@@ -389,7 +394,7 @@
- /* Watch for bogons */
- if (isbogon(sia)) {
- dosyslog(LOG_INFO, "bogon", sia, sea, sha);
-- return;
-+ if (!allsubnets) return;
- }
-
- /* Watch for ethernet broadcast */
-@@ -538,7 +543,7 @@
- /* Watch for bogons */
- if (isbogon(sia)) {
- dosyslog(LOG_INFO, "bogon", sia, sea, sha);
-- return;
-+ if (!allsubnets) return;
- }
-
- /* Watch for ethernet broadcast */
-@@ -757,6 +762,7 @@
- {
- extern char version[];
- char usage[] =
-+ "[-a] "
- "[-dN] "
- "[-f datafile] "
- "[-i interface] "
-Index: arpwatch/util.c
-diff -u arpwatch/util.c:1.1.1.1 arpwatch/util.c:1.1.1.1.8.1
---- arpwatch/util.c:1.1.1.1 Tue Apr 17 13:31:37 2001
-+++ arpwatch/util.c Tue Apr 17 13:51:24 2001
-@@ -59,6 +59,7 @@
- u_char zero[6] = { 0, 0, 0, 0, 0, 0 };
- u_char allones[6] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
-
-+int allsubnets = 0; /* watch all attached subnets */
- int debug = 0;
- int initializing = 1; /* true if initializing */
-
-Index: arpwatch/util.h
-diff -u arpwatch/util.h:1.1.1.1 arpwatch/util.h:1.1.1.1.8.1
---- arpwatch/util.h:1.1.1.1 Tue Apr 17 13:31:37 2001
-+++ arpwatch/util.h Tue Apr 17 13:51:24 2001
-@@ -15,5 +15,6 @@
- extern u_char zero[6];
- extern u_char allones[6];
-
-+extern int allsubnets;
- extern int debug;
- extern int initializing;
+++ /dev/null
-Index: arpwatch/arpsnmp.8
-diff -u arpwatch/arpsnmp.8:1.1.1.1 arpwatch/arpsnmp.8:1.1.1.1.12.1
---- arpwatch/arpsnmp.8:1.1.1.1 Tue Apr 17 13:31:36 2001
-+++ arpwatch/arpsnmp.8 Tue Apr 17 13:54:38 2001
-@@ -28,6 +28,9 @@
- [
- .B -d
- ] [
-+.B -m
-+.I addr
-+] [
- .B -f
- .I datafile
- ]
-@@ -48,6 +51,13 @@
- flag is used enable debugging. This also inhibits mailing the reports.
- Instead, they are sent to
- .IR stderr .
-+.LP
-+The
-+.B -m
-+option is used to specify the e-mail address to which reports will be
-+sent. By default, reports are sent to
-+.I root
-+on the local machine. (Debian specific)
- .LP
- The
- .B -f
-Index: arpwatch/arpsnmp.c
-diff -u arpwatch/arpsnmp.c:1.1.1.1.2.1 arpwatch/arpsnmp.c:1.1.1.1.2.1.8.1
---- arpwatch/arpsnmp.c:1.1.1.1.2.1 Tue Apr 17 13:47:57 2001
-+++ arpwatch/arpsnmp.c Tue Apr 17 13:54:38 2001
-@@ -80,6 +80,7 @@
- char errbuf[256];
- char options[] =
- "d"
-+ "m:"
- "f:"
- ;
-
-@@ -105,6 +106,10 @@
- #endif
- break;
-
-+ case 'm':
-+ mailaddress = optarg;
-+ break;
-+
- case 'f':
- arpfile = optarg;
- break;
-@@ -187,6 +192,7 @@
- extern char version[];
- char usage[] =
- "[-d] "
-+ "[-m addr ] "
- "[-f datafile] "
- "file [...]\n"
- ;
-Index: arpwatch/arpwatch.8
-diff -u arpwatch/arpwatch.8:1.1.1.1 arpwatch/arpwatch.8:1.1.1.1.12.1
---- arpwatch/arpwatch.8:1.1.1.1 Tue Apr 17 13:31:36 2001
-+++ arpwatch/arpwatch.8 Tue Apr 17 13:54:38 2001
-@@ -38,6 +38,10 @@
- .br
- .ti +8
- [
-+.B -m
-+.I addr
-+]
-+[
- .B -n
- .IR net [/ width
- ]] [
-@@ -69,6 +73,13 @@
- The
- .B -i
- flag is used to override the default interface.
-+.LP
-+The
-+.B -m
-+option is used to specify the e-mail address to which reports will be
-+sent. By default, reports are sent to
-+.I root
-+on the local machine. (Debian specific)
- .LP
- The
- .B -n
-Index: arpwatch/arpwatch.c
-diff -u arpwatch/arpwatch.c:1.1.1.1.2.1 arpwatch/arpwatch.c:1.1.1.1.2.1.8.1
---- arpwatch/arpwatch.c:1.1.1.1.2.1 Tue Apr 17 13:47:57 2001
-+++ arpwatch/arpwatch.c Tue Apr 17 13:54:38 2001
-@@ -157,6 +157,7 @@
- "d"
- "f:"
- "i:"
-+ "m:"
- "n:"
- "N"
- "r:"
-@@ -197,6 +198,10 @@
- interface = optarg;
- break;
-
-+ case 'm':
-+ mailaddress = optarg;
-+ break;
-+
- case 'n':
- if (!addnet(optarg))
- usage();
-@@ -760,6 +765,7 @@
- "[-dN] "
- "[-f datafile] "
- "[-i interface] "
-+ "[-m addr] "
- "[-n net[/width]] "
- "[-r file] "
- "\n"
-Index: arpwatch/report.c
-diff -u arpwatch/report.c:1.1.1.1 arpwatch/report.c:1.1.1.1.12.1
---- arpwatch/report.c:1.1.1.1 Tue Apr 17 13:31:37 2001
-+++ arpwatch/report.c Tue Apr 17 13:54:38 2001
-@@ -240,7 +240,7 @@
- register FILE *f;
- char tempfile[64], cpu[64], os[64];
- char *fmt = "%20s: %s\n";
-- char *watcher = WATCHER;
-+ char *watcher = mailaddress;
- char *watchee = WATCHEE;
- char *sendmail = PATH_SENDMAIL;
- char *unknown = "<unknown>";
-Index: arpwatch/util.c
-diff -u arpwatch/util.c:1.1.1.1 arpwatch/util.c:1.1.1.1.12.1
---- arpwatch/util.c:1.1.1.1 Tue Apr 17 13:31:37 2001
-+++ arpwatch/util.c Tue Apr 17 13:54:38 2001
-@@ -50,10 +50,12 @@
- #include "ec.h"
- #include "file.h"
- #include "util.h"
-+#include "addresses.h"
-
- char *arpdir = ARPDIR;
- char *arpfile = ARPFILE;
- char *ethercodes = ETHERCODES;
-+char *mailaddress = WATCHER;
-
- /* Broadcast ethernet addresses */
- u_char zero[6] = { 0, 0, 0, 0, 0, 0 };
-Index: arpwatch/util.h
-diff -u arpwatch/util.h:1.1.1.1 arpwatch/util.h:1.1.1.1.12.1
---- arpwatch/util.h:1.1.1.1 Tue Apr 17 13:31:37 2001
-+++ arpwatch/util.h Tue Apr 17 13:54:38 2001
-@@ -11,6 +11,7 @@
- extern char *arpfile;
- extern char *oldarpfile;
- extern char *ethercodes;
-+extern char *mailaddress;
-
- extern u_char zero[6];
- extern u_char allones[6];
+++ /dev/null
-Index: arpwatch/arp2ethers
-diff -u arpwatch/arp2ethers:1.1.1.1 arpwatch/arp2ethers:1.1.1.1.14.1
---- arpwatch/arp2ethers:1.1.1.1 Tue Apr 17 13:31:36 2001
-+++ arpwatch/arp2ethers Tue Apr 17 13:56:38 2001
-@@ -1,5 +1,5 @@
--#!/bin/csh -f
--# @(#) $Id$ (LBL)
-+#!/bin/sh
-+# @(#) $Header$ (LBL)
- #
- # Convert arp.dat to ethers format
- #
-@@ -12,12 +12,74 @@
- # - append "-old", "-old1", etc. as necessary
- # - sort
- #
-+# 1999-04-12 KELEMEN Peter <fuji@debian.org>
-+# Use sh(1) instead of csh(1).
-+#
-+# 2000-03-21 Erik Warmelink <erik@selwerd.nl>
-+# Use next instead of continue in included p.awk.
-
- sort +2rn arp.dat | \
- awk 'NF == 4 { print }' | \
-- awk -f p.awk | \
-+# 1999-04-12 KELEMEN Peter <fuji@debian.org>
-+# awk -f p.awk | \
-+ awk '
-+# Only print the first ethernet address seen
-+
-+{
-+ e = $1
-+ if (seen[e])
-+ next
-+ seen[e] = 1
-+ print $0
-+}
-+ ' | \
- egrep -v '\.[0-9][0-9]*$' | \
- sed -e 's/ .* / /' | \
-- awk -f d.awk | \
-- awk -f e.awk | \
-+# 1999-04-12 KELEMEN Peter <fuji@debian.org>
-+# awk -f d.awk | \
-+ awk '
-+# DECnet hacking
-+
-+BEGIN {
-+ n = 0
-+ sdecnet = "aa:0:4:"
-+ ldecnet = length(sdecnet)
-+}
-+
-+{
-+ ++n
-+ e[n] = $1
-+ h[n] = $2
-+ if (sdecnet == substr($1, 1, ldecnet))
-+ decnet[$2] = 1
-+}
-+
-+END {
-+ for (i = 1; i <= n; ++i) {
-+ if (decnet[h[i]] && sdecnet != substr(e[i], 1, ldecnet))
-+ h[i] = h[i] "-ip"
-+ print e[i] "\t" h[i]
-+ }
-+}
-+ ' | \
-+# 1999-04-12 KELEMEN Peter <fuji@debian.org>
-+# awk -f e.awk | \
-+ awk '
-+# Add -old suffix to ethers file, as required. Assumed sorted input
-+
-+{
-+ if (!seen[$2]) {
-+ seen[$2] = 1
-+ print
-+ next
-+ }
-+ h = $2 "-old"
-+ s = h
-+ for (n = 1; seen[h]; ++n)
-+ h = s n
-+ seen[h] = 1
-+ print $1 "\t" h
-+ next
-+}
-+ ' | \
- sort