diff options
Diffstat (limited to 'network/arpwatch/patches/arpwatch-addr.patch')
-rw-r--r-- | network/arpwatch/patches/arpwatch-addr.patch | 232 |
1 files changed, 232 insertions, 0 deletions
diff --git a/network/arpwatch/patches/arpwatch-addr.patch b/network/arpwatch/patches/arpwatch-addr.patch new file mode 100644 index 0000000000..5647ff811f --- /dev/null +++ b/network/arpwatch/patches/arpwatch-addr.patch @@ -0,0 +1,232 @@ +--- arpwatch-2.1a11/addresses.h.in.addr Wed Jun 5 00:40:29 1996 ++++ arpwatch-2.1a11/addresses.h.in Wed Jul 31 17:39:38 2002 +@@ -1,2 +1,4 @@ + #define WATCHER "root" +-#define WATCHEE "arpwatch (Arpwatch)" ++#define WATCHEE "root (Arpwatch)" ++extern char *watcher; ++extern char *watchee; +--- arpwatch-2.1a11/arpsnmp.8.addr Sun Sep 17 15:34:48 2000 ++++ arpwatch-2.1a11/arpsnmp.8 Fri Aug 2 15:15:31 2002 +@@ -30,6 +30,12 @@ + ] [ + .B -f + .I datafile ++] [ ++.B -e ++.I username ++] [ ++.B -s ++.I username + ] + .I file + [ +@@ -59,6 +65,27 @@ + .I arp.dat + file must be created before the first time you run + .BR arpsnmp . ++.LP ++If the ++.B -e ++flag is used, ++.B arpsnmp ++sends e-mail messages to ++.I username ++rather than the default (root). ++If a single `-' character is given for the username, ++sending of e-mail is suppressed, ++but logging via syslog is still done as usual. ++(This can be useful during initial runs, to collect data ++without being flooded with messages about new stations.) ++.LP ++If the ++.B -s ++flag is used, ++.B arpsnmp ++sends e-mail messages with ++.I username ++as the return address, rather than the default (root). + .LP + .SH "REPORT MESSAGES" + (See the +--- arpwatch-2.1a11/arpsnmp.c.addr Sun Jan 17 19:47:40 1999 ++++ arpwatch-2.1a11/arpsnmp.c Fri Aug 2 15:17:16 2002 +@@ -59,6 +59,7 @@ + #include "file.h" + #include "machdep.h" + #include "util.h" ++#include "addresses.h" + + /* Forwards */ + int main(int, char **); +@@ -90,7 +91,7 @@ + } + + opterr = 0; +- while ((op = getopt(argc, argv, "df:")) != EOF) ++ while ((op = getopt(argc, argv, "df:e:s:")) != EOF) + switch (op) { + + case 'd': +@@ -105,6 +106,24 @@ + arpfile = optarg; + break; + ++ case 'e': ++ if ( optarg ) { ++ watcher = strdup(optarg); ++ } else { ++ (void)fprintf(stderr, "%s: Need recipient username/e-mail address after -e\n", prog); ++ usage(); ++ } ++ break; ++ ++ case 's': ++ if ( optarg ) { ++ watchee = strdup(optarg); ++ } else { ++ (void)fprintf(stderr, "%s: Need sender username/e-mail address after -s\n", prog); ++ usage(); ++ } ++ break; ++ + default: + usage(); + } +@@ -184,6 +203,6 @@ + + (void)fprintf(stderr, "Version %s\n", version); + (void)fprintf(stderr, +- "usage: %s [-d] [-f datafile] file [...]\n", prog); ++ "usage: %s [-d] [-f datafile] [-e username] [-s username] file [...]\n", prog); + exit(1); + } +--- arpwatch-2.1a11/arpwatch.8.addr Thu Aug 1 13:45:36 2002 ++++ arpwatch-2.1a11/arpwatch.8 Thu Aug 1 14:08:05 2002 +@@ -46,6 +46,12 @@ + ] [ + .B -u + .I username ++] [ ++.B -e ++.I username ++] [ ++.B -s ++.I username + ] + .ad + .SH DESCRIPTION +@@ -106,6 +112,27 @@ + and group ID to that of the primary group of + .IR username . + This is recommended for security reasons. ++.LP ++If the ++.B -e ++flag is used, ++.B arpwatch ++sends e-mail messages to ++.I username ++rather than the default (root). ++If a single `-' character is given for the username, ++sending of e-mail is suppressed, ++but logging via syslog is still done as usual. ++(This can be useful during initial runs, to collect data ++without being flooded with messages about new stations.) ++.LP ++If the ++.B -s ++flag is used, ++.B arpwatch ++sends e-mail messages with ++.I username ++as the return address, rather than the default (root). + .LP + Note that an empty + .I arp.dat +--- arpwatch-2.1a11/arpwatch.c.addr Thu Aug 1 13:45:36 2002 ++++ arpwatch-2.1a11/arpwatch.c Thu Aug 1 13:47:35 2002 +@@ -78,6 +78,7 @@ + #include "machdep.h" + #include "setsignal.h" + #include "util.h" ++#include "addresses.h" + + /* Some systems don't define these */ + #ifndef ETHERTYPE_REVARP +@@ -190,7 +191,7 @@ + interface = NULL; + rfilename = NULL; + pd = NULL; +- while ((op = getopt(argc, argv, "df:i:n:Nr:u:")) != EOF) ++ while ((op = getopt(argc, argv, "df:i:n:Nr:u:e:s:")) != EOF) + switch (op) { + + case 'd': +@@ -232,6 +233,26 @@ + } + break; + ++ case 'e': ++ if ( optarg ) { ++ watcher = strdup(optarg); ++ } ++ else { ++ fprintf(stderr, "%s: Need recipient username/e-mail address after -e\n", prog); ++ usage(); ++ } ++ break; ++ ++ case 's': ++ if ( optarg ) { ++ watchee = strdup(optarg); ++ } ++ else { ++ fprintf(stderr, "%s: Need sender username/e-mail address after -s\n", prog); ++ usage(); ++ } ++ break; ++ + default: + usage(); + } +@@ -784,6 +805,7 @@ + + (void)fprintf(stderr, "Version %s\n", version); + (void)fprintf(stderr, "usage: %s [-dN] [-f datafile] [-i interface]" +- " [-n net[/width]] [-r file] [-u username]\n", prog); ++ " [-n net[/width]] [-r file] [-u username]" ++ " [-e username] [-s username]\n", prog); + exit(1); + } +--- arpwatch-2.1a11/report.c.addr Sat Sep 30 18:41:10 2000 ++++ arpwatch-2.1a11/report.c Thu Aug 1 14:16:43 2002 +@@ -70,6 +70,9 @@ + + #define PLURAL(n) ((n) == 1 || (n) == -1 ? "" : "s") + ++char *watcher = WATCHER; ++char *watchee = WATCHEE; ++ + static int cdepth; /* number of outstanding children */ + + static char *fmtdate(time_t); +@@ -240,8 +243,6 @@ + register FILE *f; + char tempfile[64], cpu[64], os[64]; + char *fmt = "%20s: %s\n"; +- char *watcher = WATCHER; +- char *watchee = WATCHEE; + char *sendmail = PATH_SENDMAIL; + char *unknown = "<unknown>"; + char buf[132]; +@@ -258,6 +259,9 @@ + } + f = stdout; + (void)putc('\n', f); ++ } else if (watcher == NULL || *watcher == NULL || *watcher == '-') { ++ dosyslog(LOG_NOTICE, title, a, e1, e2); ++ return; + } else { + /* Setup child reaper if we haven't already */ + if (!init) { |