This patch from debian adds possibility to specify sendmail program. diff -Naru arpwatch-2.1a15.orig/arpsnmp.8 arpwatch-2.1a15/arpsnmp.8 --- arpwatch-2.1a15.orig/arpsnmp.8 2006-09-22 19:26:53.000000000 +0400 +++ arpwatch-2.1a15/arpsnmp.8 2006-09-22 19:31:59.000000000 +0400 @@ -36,6 +36,12 @@ ] .br .ti +8 +[ +.B -s +.I sendmail_path +] +.br +.ti +8 .I file [ .I ... @@ -60,6 +66,13 @@ 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. (This feature +comes from Debian). +.LP Note that an empty .I arp.dat file must be created before the first time you run diff -Naru arpwatch-2.1a15.orig/arpsnmp.c arpwatch-2.1a15/arpsnmp.c --- arpwatch-2.1a15.orig/arpsnmp.c 2006-09-22 19:26:53.000000000 +0400 +++ arpwatch-2.1a15/arpsnmp.c 2006-09-22 19:26:23.000000000 +0400 @@ -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(); } @@ -189,6 +195,7 @@ char usage[] = "[-d] " "[-f datafile] " + "[-s sendmail_path] " "file [...]\n" ; diff -Naru arpwatch-2.1a15.orig/arpwatch.8 arpwatch-2.1a15/arpwatch.8 --- arpwatch-2.1a15.orig/arpwatch.8 2006-09-22 19:26:53.000000000 +0400 +++ arpwatch-2.1a15/arpwatch.8 2006-09-22 19:28:02.000000000 +0400 @@ -53,6 +53,12 @@ .B -r .I file ] +.br +.ti +8 +[ +.B -s +.I sendmail_path +] .ad .SH DESCRIPTION .B Arpwatch @@ -103,6 +109,13 @@ .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. (This feature +comes from Debian). +.LP Note that an empty .I arp.dat file must be created before the first time you run diff -Naru arpwatch-2.1a15.orig/arpwatch.c arpwatch-2.1a15/arpwatch.c --- arpwatch-2.1a15.orig/arpwatch.c 2006-09-22 19:26:53.000000000 +0400 +++ arpwatch-2.1a15/arpwatch.c 2006-09-22 19:26:23.000000000 +0400 @@ -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) @@ -209,6 +211,11 @@ case 'r': rfilename = optarg; break; + + case 's': + path_sendmail = optarg; + break; + default: usage(); } @@ -761,6 +768,7 @@ "[-i interface] " "[-n net[/width]] " "[-r file] " + "[-s sendmail_path] " "\n" ; diff -Naru arpwatch-2.1a15.orig/report.c arpwatch-2.1a15/report.c --- arpwatch-2.1a15.orig/report.c 2000-10-01 03:41:10.000000000 +0400 +++ arpwatch-2.1a15/report.c 2006-09-22 19:26:23.000000000 +0400 @@ -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 = ""; char buf[132]; static int init = 0;