arpwatch/arpwatch.patch

Mon, 28 Jan 2013 17:37:18 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 28 Jan 2013 17:37:18 +0100
changeset 758
a2c6460cfb16
permissions
-rw-r--r--

Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.

     1 Index: configure
     2 --- configure.orig	2006-06-21 22:32:38.000000000 +0200
     3 +++ configure	2006-10-20 15:30:45.862899000 +0200
     4 @@ -5259,11 +5259,7 @@
     5      echo "$as_me:$LINENO: result: $ac_cv_lbl_have_" >&5
     6  echo "${ECHO_T}$ac_cv_lbl_have_" >&6
     7      if test $ac_cv_lbl_have_ = no ; then
     8 -
     9 -cat >>confdefs.h <<\_ACEOF
    10 -#define
    11 -_ACEOF
    12 -
    13 +        :
    14      fi
    16  rm -f os-proto.h
    17 Index: Makefile.in
    18 --- Makefile.in.orig	2000-06-15 02:39:55.000000000 +0200
    19 +++ Makefile.in	2006-10-20 17:41:03.246914000 +0200
    20 @@ -31,7 +31,7 @@
    21  # Pathname of directory to install the man page
    22  MANDEST = @mandir@
    23  # Pathname of directory to install database file
    24 -ARPDIR = $(prefix)/arpwatch
    25 +ARPDIR = @localstatedir@
    27  # VPATH
    28  srcdir = @srcdir@
    29 @@ -42,16 +42,17 @@
    30  #
    32  CC = @CC@
    33 +CFLAGS = @CFLAGS@
    34 +CPPFLAGS = @CPPFLAGS@
    35 +
    36  PROG = arpwatch
    37  CCOPT = @V_CCOPT@
    38  INCLS = -I. @V_INCLS@
    39  DEFS = -DDEBUG @DEFS@ -DARPDIR=\"$(ARPDIR)\" -DPATH_SENDMAIL=\"$(SENDMAIL)\"
    41 -# Standard CFLAGS
    42 -CFLAGS = $(CCOPT) $(DEFS) $(INCLS)
    43 -
    44  # Standard LIBS
    45  LIBS = @LIBS@
    46 +LDFLAGS = @LDFLAGS@
    47  # Standard LIBS without libpcap.a
    48  SLIBS = @LBL_LIBS@
    50 @@ -63,7 +64,7 @@
    51  # problem if you don't own the file but can write to the directory.
    52  .c.o:
    53  	@rm -f $@
    54 -	$(CC) $(CFLAGS) -c $(srcdir)/$*.c
    55 +	$(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c $(srcdir)/$*.c
    57  CSRC =	db.c dns.c ec.c file.c intoa.c machdep.c util.c report.c setsignal.c
    58  WSRC =	arpwatch.c
    59 @@ -95,11 +96,11 @@
    61  arpwatch: $(WOBJ) @V_PCAPDEP@
    62  	@rm -f $@
    63 -	$(CC) $(CFLAGS) -o $@ $(WOBJ) $(LIBS)
    64 +	$(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -o $@ $(WOBJ) $(LDFLAGS) $(LIBS)
    66  arpsnmp: $(SOBJ)
    67  	@rm -f $@
    68 -	$(CC) $(CFLAGS) -o $@ $(SOBJ) $(SLIBS)
    69 +	$(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -o $@ $(SOBJ) $(LDFLAGS) $(SLIBS)
    71  version.o: version.c
    72  version.c: $(srcdir)/VERSION
    73 @@ -107,18 +108,22 @@
    74  	sed -e 's/.*/char version[] = "&";/' $(srcdir)/VERSION > $@
    76  zap: zap.o intoa.o
    77 -	$(CC) $(CFLAGS) -o $@ zap.o intoa.o -lutil
    78 +	$(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -o $@ zap.o intoa.o $(LDFLAGS) -lutil
    80  install: force
    81 -	$(INSTALL) -m 555 -o bin -g bin arpwatch $(DESTDIR)$(BINDEST)
    82 -	$(INSTALL) -m 555 -o bin -g bin arpsnmp $(DESTDIR)$(BINDEST)
    83 +	$(INSTALL) -s -m 555 arpwatch $(DESTDIR)$(BINDEST)
    84 +	$(INSTALL) -s -m 555 arpsnmp $(DESTDIR)$(BINDEST)
    86  install-man: force
    87 -	$(INSTALL) -m 444 -o bin -g bin $(srcdir)/arpwatch.8 \
    88 +	$(INSTALL) -m 644 $(srcdir)/arpwatch.8 \
    89  	    $(DESTDIR)$(MANDEST)/man8
    90 -	$(INSTALL) -m 444 -o bin -g bin $(srcdir)/arpsnmp.8 \
    91 +	$(INSTALL) -m 644 $(srcdir)/arpsnmp.8 \
    92  	    $(DESTDIR)$(MANDEST)/man8
    94 +install-data: force
    95 +	$(INSTALL) -m 444 $(srcdir)/ethercodes.dat \
    96 +	    $(DESTDIR)$(ARPDIR)
    97 +
    98  lint:	$(GENSRC) force
    99  	lint -hbxn $(SRC) | \
   100  	    grep -v 'struct/union .* never defined' | \
   101 Index: arpwatch.8
   102 --- arpwatch.8.orig	2006-10-20 16:13:53.268590000 +0200
   103 +++ arpwatch.8	2006-10-20 16:15:01.537612000 +0200
   104 @@ -152,9 +152,8 @@
   105  .na
   106  .nh
   107  .nf
   108 -/usr/operator/arpwatch - default directory
   109 -arp.dat - ethernet/ip address database
   110 -ethercodes.dat - vendor ethernet block list
   111 +@l_prefix@/var/arpwatch/arp.dat - ethernet/ip address database
   112 +@l_prefix@/var/arpwatch/ethercodes.dat - vendor ethernet block list
   113  .ad
   114  .hy
   115  .fi
   116 Index: arpsnmp.8
   117 --- arpsnmp.8.orig	2006-10-20 16:14:50.412624000 +0200
   118 +++ arpsnmp.8	2006-10-20 16:14:59.301665000 +0200
   119 @@ -69,9 +69,8 @@
   120  .na
   121  .nh
   122  .nf
   123 -/usr/operator/arpwatch - default directory
   124 -arp.dat - ethernet/ip address database
   125 -ethercodes.dat - vendor ethernet block list
   126 +@l_prefix@/var/arpwatch/arp.dat - ethernet/ip address database
   127 +@l_prefix@/var/arpwatch/ethercodes.dat - vendor ethernet block list
   128  .ad
   129  .hy
   130  .fi
   131 Index: arpwatch.h
   132 --- arpwatch.h.orig	2000-10-01 01:40:55.000000000 +0200
   133 +++ arpwatch.h	2006-10-21 07:41:55.629111000 +0200
   134 @@ -8,6 +8,20 @@
   135  #define BCOPY(a, b, n) memmove((char *)b, (char *)a, n)
   136  #define MEMSET(s, c, n) memset((char *)s, c, n)
   138 +/* Repair unportable usage of u_int*_t declarations */
   139 +#ifndef u_int64_t
   140 +#define u_int64_t unsigned long long
   141 +#endif
   142 +#ifndef u_int32_t
   143 +#define u_int32_t unsigned int
   144 +#endif
   145 +#ifndef u_int16_t
   146 +#define u_int16_t unsigned short
   147 +#endif
   148 +#ifndef u_int6_t
   149 +#define u_int8_t unsigned char
   150 +#endif
   151 +
   152  char	*intoa(u_int32_t);
   154  #ifndef HAVE_BCOPY
   155 Index: arpwatch.c
   156 --- arpwatch.c.orig	2004-01-22 23:18:20.000000000 +0100
   157 +++ arpwatch.c	2006-10-20 19:28:25.417689000 +0200
   158 @@ -234,8 +234,11 @@
   159  			if (pid < 0) {
   160  				syslog(LOG_ERR, "main fork(): %m");
   161  				exit(1);
   162 -			} else if (pid != 0)
   163 +			} else if (pid != 0) {
   164 +				printf("%d\n", pid);
   165 +				fflush(stdout);
   166  				exit(0);
   167 +			}
   168  			(void)close(fileno(stdin));
   169  			(void)close(fileno(stdout));
   170  			(void)close(fileno(stderr));
   171 @@ -321,7 +324,6 @@
   173  	(void)setsignal(SIGINT, die);
   174  	(void)setsignal(SIGTERM, die);
   175 -	(void)setsignal(SIGHUP, die);
   176  	if (rfilename == NULL) {
   177  		(void)setsignal(SIGQUIT, checkpoint);
   178  		(void)setsignal(SIGALRM, checkpoint);
   179 Index: dns.c
   180 --- dns.c.orig	2006-10-20 19:06:40.704886000 +0200
   181 +++ dns.c	2006-10-20 19:20:09.611322000 +0200
   182 @@ -137,7 +137,7 @@
   183  	return (0);
   184  }
   186 -/* Return the cannonical name of the host */
   187 +/* Return the canonical name of the host (NULL if not found) */
   188  char *
   189  gethname(u_int32_t a)
   190  {
   191 @@ -150,18 +150,18 @@
   192  	hp = gethostbyaddr((char *)&a, sizeof(a), AF_INET);
   193  	_res.options = options;
   194  	if (hp == NULL)
   195 -		return (intoa(a));
   196 +		return NULL;
   197  	return (hp->h_name);
   198  }
   200 -/* Return the simple name of the host */
   201 +/* Return the simple name of the host (NULL if not found) */
   202  char *
   203  getsname(register u_int32_t a)
   204  {
   205  	register char *s, *cp;
   207  	s = gethname(a);
   208 -	if (!isdigit((int)*s)) {
   209 +	if (s != NULL) {
   210  		cp = strchr(s, '.');
   211  		if (cp != NULL)
   212  			*cp = '\0';

mercurial