diff -u Makefile.orig Makefile --- Makefile.orig Tue Aug 19 02:54:00 1997 +++ Makefile Fri Jan 21 06:02:32 2000 @@ -1,4 +1,5 @@ -CFLAGS= -g +CC=gcc +CFLAGS= -g -Wall LDFLAGS= LIBS= -lpcap TARGET= aproxyd diff -u arpcatch.c.orig arpcatch.c --- arpcatch.c.orig Fri Aug 22 06:57:01 1997 +++ arpcatch.c Fri Jan 21 07:12:04 2000 @@ -37,6 +37,7 @@ } } + printf("Starting on %s interface\n",device); if(!(at = read_config(configfile))) { perror("config file read"); exit(errno); @@ -50,6 +51,7 @@ read_loop(fd, at); perror("read"); +return 1; } /* needs cleaning up */ @@ -63,7 +65,6 @@ struct ether_addr *ea; struct ether_arp *ah; - struct in_addr foo; for(;;) { struct in_addr ia; @@ -129,7 +130,7 @@ fd = bpf_open(device); if(fd < 0) { - perror("bpf open"); + fprintf(stderr,"Error initializing bpf filter\nExiting..\n"); exit(errno); } diff -u arpcatch.h.orig arpcatch.h --- arpcatch.h.orig Tue Aug 19 03:51:02 1997 +++ arpcatch.h Fri Jan 21 07:08:36 2000 @@ -5,6 +5,7 @@ #include #include +#include #include #include #include @@ -12,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -25,8 +27,6 @@ #include #include -#include -#include #include #include "list.h" @@ -76,5 +76,12 @@ int bpf_promisc(int, int); table_t *read_config(char *); +void chop(char *); +void *NEW(const int); +u_long resolve(char *); + +int arp_send(int, u_long *, u_long *, struct ether_addr *, struct ether_addr *); + + #endif diff -u bpf.c.orig bpf.c --- bpf.c.orig Tue Aug 19 03:38:20 1997 +++ bpf.c Fri Jan 21 06:53:13 2000 @@ -47,21 +47,26 @@ do { snprintf(file, PATH_MAX, "/dev/bpf%d", i++); - if((fd = open(file, O_RDWR)) < 0) - continue; - } while(errno == EBUSY && fd < 0); + fd = open(file, O_RDWR); + } while(fd < 0 && errno == EBUSY); - if(fd < 0) + if(fd < 0) { + perror("bpf open"); return(-1); + } memset(&ifr, 0, sizeof(ifr)); strncpy(ifr.ifr_name, device, 15); - if(bpf_setbuf(fd, DEFAULT_BUFLEN) < 0) + if(bpf_setbuf(fd, DEFAULT_BUFLEN) < 0) { + perror("bpf setbuf"); return(-2); + } - if(ioctl(fd, BIOCSETIF, (char *) &ifr) < 0) + if(ioctl(fd, BIOCSETIF, (char *) &ifr) < 0) { + perror("bpf ioctl"); return(-3); + } return(fd); } diff -u config.c.orig arpcatch/config.c --- config.c.orig Mon Nov 24 16:18:54 1997 +++ config.c Fri Jan 21 06:07:06 2000 @@ -1,7 +1,6 @@ #include "arpcatch.h" #include #include -#include static list_t *add_host(char *buffer, list_t *hosts); static int add_proxy(char *buffer, table_t *at); diff -u libtqbf.c.orig arpcatch/libtqbf.c --- libtqbf.c.orig Tue Aug 19 02:02:13 1997 +++ libtqbf.c Fri Jan 21 06:55:56 2000 @@ -349,8 +349,6 @@ int jday (int month, int day, int year) { int c, ya, jd; - int brit_jd = 2361222; - if (month > 2) month -= 3; else