summaryrefslogtreecommitdiff
path: root/net/arpwatch-devel/files/patch-an
diff options
context:
space:
mode:
Diffstat (limited to 'net/arpwatch-devel/files/patch-an')
-rw-r--r--net/arpwatch-devel/files/patch-an126
1 files changed, 0 insertions, 126 deletions
diff --git a/net/arpwatch-devel/files/patch-an b/net/arpwatch-devel/files/patch-an
deleted file mode 100644
index b994a7fee532..000000000000
--- a/net/arpwatch-devel/files/patch-an
+++ /dev/null
@@ -1,126 +0,0 @@
---- ../arpwatch.orig/report.c Sat Sep 30 19:41:10 2000
-+++ ./report.c Fri Sep 12 18:57:04 2003
-@@ -45,6 +45,8 @@
-
- #include <ctype.h>
- #include <errno.h>
-+#include <fcntl.h>
-+#include <paths.h>
- #include <signal.h>
- #include <stdio.h>
- #include <stdlib.h>
-@@ -70,6 +72,8 @@
-
- #define PLURAL(n) ((n) == 1 || (n) == -1 ? "" : "s")
-
-+extern char *Watcher;
-+
- static int cdepth; /* number of outstanding children */
-
- static char *fmtdate(time_t);
-@@ -232,15 +236,16 @@
- }
-
- void
--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)
-+report(evt_type event, register u_int32_t a, register u_char *e1,
-+ register u_char *e2, register time_t *t1p, register time_t *t2p,
-+ register char *interface, register char *old_interface)
- {
- register char *cp, *hn;
- register int fd, pid;
- register FILE *f;
- char tempfile[64], cpu[64], os[64];
- char *fmt = "%20s: %s\n";
-- char *watcher = WATCHER;
-+ char *watcher = Watcher ? Watcher : WATCHER;
- char *watchee = WATCHEE;
- char *sendmail = PATH_SENDMAIL;
- char *unknown = "<unknown>";
-@@ -251,9 +256,15 @@
- if (initializing)
- return;
-
-+ /* these types are sent to syslog instead of reported on.
-+ * only continue if there are other events as well
-+ */
-+ if (event == NULL || (event & ~(IP_ETHER_REUSE | FLIPFLOP_DECNET) == 0))
-+ return;
-+
- if (debug) {
- if (debug > 1) {
-- dosyslog(LOG_NOTICE, title, a, e1, e2);
-+ dosyslog(LOG_NOTICE, "event", a, e1, e2);
- return;
- }
- f = stdout;
-@@ -270,7 +281,7 @@
- }
-
- /* Syslog this event too */
-- dosyslog(LOG_NOTICE, title, a, e1, e2);
-+ dosyslog(LOG_NOTICE, "event", a, e1, e2);
-
- /* Update child depth */
- ++cdepth;
-@@ -304,12 +315,31 @@
- (void)fprintf(f, "To: %s\n", watcher);
- hn = gethname(a);
- if (!isdigit(*hn))
-- (void)fprintf(f, "Subject: %s (%s)\n", title, hn);
-+ (void)fprintf(f, "Subject: Arpwatch Event (%s)\n", hn);
- else {
-- (void)fprintf(f, "Subject: %s\n", title);
-+ (void)fprintf(f, "Subject: Arpwatch Event\n");
- hn = unknown;
- }
- (void)putc('\n', f);
-+
-+ if (event & ETHER_NEW)
-+ (void)fprintf(f, fmt, "event", "new ethernet device");
-+ if (event & ETHER_IFCHG)
-+ (void)fprintf(f, fmt, "event", "ethernet device changed interfaces");
-+ if (event & ACTIVITY_NEW)
-+ (void)fprintf(f, fmt, "event", "new activity");
-+ if (event & IP_NEW)
-+ (void)fprintf(f, fmt, "event", "new active IP address");
-+ if (event & IP_ETHERCHG)
-+ (void)fprintf(f, fmt, "event", "IP changed ethernet address");
-+ if (event & FLIPFLOP)
-+ (void)fprintf(f, fmt, "event", "flip flop");
-+
-+ (void)fprintf(f, fmt, "interface", interface);
-+
-+ if (old_interface != NULL)
-+ (void)fprintf(f, fmt, "old interface", old_interface);
-+
- (void)fprintf(f, fmt, "hostname", hn);
- (void)fprintf(f, fmt, "ip address", intoa(a));
- (void)fprintf(f, fmt, "ethernet address", e2str(e1));
-@@ -344,6 +374,25 @@
- exit(1);
- }
- /* XXX Need to freopen()? */
-+
-+ /*
-+ * Open /dev/null as stdout and stderr so that sendmail 8.12.1 (and
-+ * above ?) won't complain about missing file descriptors.
-+ */
-+ if ((fd = open(_PATH_DEVNULL, O_RDWR)) == -1) {
-+ syslog(LOG_ERR, "Cannot open %s: %m", _PATH_DEVNULL);
-+ exit(1);
-+ }
-+ if (dup2(fd, STDOUT_FILENO) == -1) {
-+ syslog(LOG_ERR, "Cannot dup2 %s to stdout: %m", _PATH_DEVNULL);
-+ exit(1);
-+ }
-+ if (dup2(fd, STDERR_FILENO) == -1) {
-+ syslog(LOG_ERR, "Cannot dup2 %s to stderr: %m", _PATH_DEVNULL);
-+ exit(1);
-+ }
-+ close(fd);
-+
- /* Always Deliver interactively (pause when child depth gets large) */
- execl(sendmail, "sendmail", "-odi", watcher, NULL);
- syslog(LOG_ERR, "execl: %s: %m", sendmail);