Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package arpwatch for openSUSE:Factory checked in at 2024-01-09 20:51:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/arpwatch (Old) and /work/SRC/openSUSE:Factory/.arpwatch.new.21961 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "arpwatch" Tue Jan 9 20:51:33 2024 rev:42 rq:1137743 version:3.5 Changes: -------- --- /work/SRC/openSUSE:Factory/arpwatch/arpwatch.changes 2023-10-17 20:25:00.371298491 +0200 +++ /work/SRC/openSUSE:Factory/.arpwatch.new.21961/arpwatch.changes 2024-01-09 20:51:43.300732057 +0100 @@ -1,0 +2,8 @@ +Sat Jan 6 11:38:48 UTC 2024 - Andreas Stieger <andreas.stie...@gmx.de> + +- update to 3.5: + * Make SIGHUP checkpoint arp.dat + * Fix bug that prevented checkpoint() from being called until + after receiving a new arp/rarp packet + +------------------------------------------------------------------- Old: ---- arpwatch-3.4.tar.gz New: ---- arpwatch-3.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ arpwatch.spec ++++++ --- /var/tmp/diff_new_pack.tTDCTO/_old 2024-01-09 20:51:44.420772779 +0100 +++ /var/tmp/diff_new_pack.tTDCTO/_new 2024-01-09 20:51:44.420772779 +0100 @@ -1,7 +1,7 @@ # # spec file for package arpwatch # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,7 +21,7 @@ %define _fillupdir %{_localstatedir}/adm/fillup-templates %endif Name: arpwatch -Version: 3.4 +Version: 3.5 Release: 0 Summary: Tool to keep track of Ethernet<->IP address pairings License: BSD-3-Clause @@ -70,7 +70,7 @@ %make_build \ ARPDIR=%{_localstatedir}/lib/arpwatch \ ETHERCODES=%{_datadir}/arpwatch/ethercodes.dat \ - %nil + %{nil} %install mkdir -p \ @@ -93,8 +93,8 @@ # own the database files cat > %{buildroot}%{_tmpfilesdir}/arpwatch.conf <<EOF # See tmpfiles.d(5) for details -d /var/lib/arpwatch - - - - -f /var/lib/arpwatch/arp.dat - - - - +d %{_localstatedir}/lib/arpwatch - - - - +f %{_localstatedir}/lib/arpwatch/arp.dat - - - - EOF mkdir %{buildroot}%{_bindir} install -m 0755 arp2ethers %{buildroot}%{_bindir} ++++++ arpwatch-3.4.tar.gz -> arpwatch-3.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpwatch-3.4/CHANGES new/arpwatch-3.5/CHANGES --- old/arpwatch-3.4/CHANGES 2023-09-05 19:50:56.000000000 +0200 +++ new/arpwatch-3.5/CHANGES 2023-12-03 19:10:05.000000000 +0100 @@ -1,217 +1,225 @@ -@(#) $Id: CHANGES 1537 2023-09-05 17:50:56Z leres $ (LBL) +@(#) $Id: CHANGES 1540 2023-12-03 18:09:52Z leres $ (LBL) + +v3.5 Sun Dec 3 10:04:34 PST 2023 + + - Make SIGHUP checkpoint arp.dat; suggested by Gerd v. Egidy + (gerd.von.eg...@intra2net.com) + + - Fix bug that prevented checkpoint() from being called until after + receiving a new arp/rarp packet. v3.4 Tue Sep 5 09:41:59 PDT 2023 -- Switch from http to https for standards-oui.ieee.org/oui/oui.csv + - Switch from http to https for standards-oui.ieee.org/oui/oui.csv -- Upgrade to autoconf 2.71 + - Upgrade to autoconf 2.71 v3.3 Sat Mar 26 13:23:28 PDT 2022 -- Fix direction of memmove() in sanity_fddi(). + - Fix direction of memmove() in sanity_fddi(). v3.2 Wed Dec 15 14:08:29 PST 2021 -- Change update-ethercodes to not clobber ethercodes.dat on failure. + - Change update-ethercodes to not clobber ethercodes.dat on failure. -- Add a configure option to specify the path to sendmail + - Add a configure option to specify the path to sendmail v3.1 Sun Apr 5 16:57:02 PDT 2020 -- Fix the FreeBSD rc.d script to handle interface names with . in - them. Reported by Daniel Duerr. + - Fix the FreeBSD rc.d script to handle interface names with . in + them. Reported by Daniel Duerr. -- Add python 2 compatibility to massagevendor (for pfsense <= 2.4.4). + - Add python 2 compatibility to massagevendor (for pfsense <= 2.4.4). -- Stop distributing ethercodes.dat and add update-ethercodes.sh to - download and generate it. + - Stop distributing ethercodes.dat and add update-ethercodes.sh + to download and generate it. v3.0 Sat Nov 30 10:27:56 PST 2019 -- Add -Z (zero pad) and -C (compact) flags to arpwatch and arpsnmp - to allow run time selection of zero padded or compact ethernet - addresses in arp.dat. + - Add -Z (zero pad) and -C (compact) flags to arpwatch and arpsnmp + to allow run time selection of zero padded or compact ethernet + addresses in arp.dat. -- Rewrite massagevendor in python to be more portable and handle - new oui file format. Add flags to control ethernet address zero - fill which matches the --enable-zeropad configure option. + - Rewrite massagevendor in python to be more portable and handle + new oui file format. Add flags to control ethernet address zero + fill which matches the --enable-zeropad configure option. -- Fix Makefile.in to honor the CFLAGS environment variable when - configure is run. + - Fix Makefile.in to honor the CFLAGS environment variable when + configure is run. -- Added configure option to enable zero padding of displayed ethernet - addresses (--enable-zeropad). + - Added configure option to enable zero padding of displayed + ethernet addresses (--enable-zeropad). -- Check for I/O errors when writing new arp.dat file. + - Check for I/O errors when writing new arp.dat file. -- arpsnmp errors now go to stderr instead of syslog. + - arpsnmp errors now go to stderr instead of syslog. -- Add a FreeBSD rc.d startup script. + - Add a FreeBSD rc.d startup script. -- Add arpwatch directory flag (-D) + - Add arpwatch directory flag (-D) -- Escape unprintable hostnames in arp.dat to avoid corruption. + - Escape unprintable hostnames in arp.dat to avoid corruption. -- Fix some buffer overflows. + - Fix some buffer overflows. -- Update copyright notices with the July 22, 1999 BSD-new version. + - Update copyright notices with the July 22, 1999 BSD-new version. -- Add LDFLAGS expansion to Makefile.in. + - Add LDFLAGS expansion to Makefile.in. -- Added the -x flag which is like -n but excludes cidrs. Code - contributed by Roman Ivanov (awan...@gmail.com). + - Added the -x flag which is like -n but excludes cidrs. Code + contributed by Roman Ivanov (awan...@gmail.com). -- Incorporated other fixes and patches with a lot of help from Kurt - Jaeger (p...@freebsd.org). + - Incorporated other fixes and patches with a lot of help from + Kurt Jaeger (p...@freebsd.org). -- Deal with libpcap's pcap_lookupdev() deprecation. + - Deal with libpcap's pcap_lookupdev() deprecation. -- Speed up arp.dat parsing by increasing the size of the hash table. + - Speed up arp.dat parsing by increasing the size of the hash table. v2.1 Wed Jun 21 13:34:42 PDT 2006 -- Add FDDI support. Based on code contributed by Flemming Johansen - (f...@csd.cri.dk) + - Add FDDI support. Based on code contributed by Flemming Johansen + (f...@csd.cri.dk) -- New -f flag overrides the default database filename. + - New -f flag overrides the default database filename. -- New -r flag allows tcpdump save files to be read. + - New -r flag allows tcpdump save files to be read. -- memcpy() doesn't handle overlapping buffers so use bcopy() instead. - Reported by Attila Bruncsak (attila.brunc...@itu.int) + - memcpy() doesn't handle overlapping buffers so use bcopy() + instead. Reported by Attila Bruncsak (attila.brunc...@itu.int) -- Have configure determine the sendmail path. + - Have configure determine the sendmail path. -- Don't bother updating hostnames when reading arp.dat since this can - be expensive in the number of dns requests generated. + - Don't bother updating hostnames when reading arp.dat since this + can be expensive in the number of dns requests generated. -- Improve robostness of the aprfetch script. + - Improve robostness of the aprfetch script. -- Update massagevendor to convert the IEEE public Organizationally - Unique Identifier (OUI) file format. + - Update massagevendor to convert the IEEE public Organizationally + Unique Identifier (OUI) file format. -- Don't use -e with awk, not all versions support it. Suggested by - Stephen Thompson (thomp...@pobox.upenn.edu) + - Don't use -e with awk, not all versions support it. Suggested + by Stephen Thompson (thomp...@pobox.upenn.edu) -- Convert usage of mktemp() to mkstemp(). + - Convert usage of mktemp() to mkstemp(). -- Add -n flag (alternate networks) and -N flag (don't report bogons). + - Add -n flag (alternate networks) and -N flag (don't report bogons). -- Improve ethernet address parser error checking. + - Improve ethernet address parser error checking. -- More concessions to linux. + - More concessions to linux. -- Special case dn_skipname() check for bind 8. + - Special case dn_skipname() check for bind 8. -- Convert arp2ethers from csh to sh. + - Convert arp2ethers from csh to sh. v2.0.2 Sat Jun 7 03:15:03 PDT 1997 -- Look for "_res" in -lresolv since Solaris doesn't have it in libc. - Problem first reported by Blair Zajac (bl...@gps.caltech.edu) + - Look for "_res" in -lresolv since Solaris doesn't have it in + libc. Problem first reported by Blair Zajac (bl...@gps.caltech.edu) v2.0.1 Wed Jan 1 20:43:12 PST 1997 -- Rework signal setup to accommodate Linux. + - Rework signal setup to accommodate Linux. -- Autoconf -lstr for DLPI under HPUX. + - Autoconf -lstr for DLPI under HPUX. v2.0 Sat Oct 5 22:14:05 PDT 1996 -- Add arpsnmp. + - Add arpsnmp. -- Updated ethercodes.dat from http://www.cavebear.com/CaveBear/Ethernet/ + - Updated ethercodes.dat from http://www.cavebear.com/CaveBear/Ethernet/ -- Ethernet vendor codes table now dynamic. + - Ethernet vendor codes table now dynamic. -- Linux support added. + - Linux support added. v1.11 Sat Sep 14 14:24:26 PDT 1996 -- Rewrite gmt2local() to avoid problematic os dependencies. + - Rewrite gmt2local() to avoid problematic os dependencies. -- Fixed the autoconf "wait status" detection for OSF. Resulted from a - bug report from Guy Loucks (ukl...@engsyd.bhp.com.au) + - Fixed the autoconf "wait status" detection for OSF. Resulted + from a bug report from Guy Loucks (ukl...@engsyd.bhp.com.au) -- Autoconf ARPDIR as suggested by Davin Milun (mi...@cs.buffalo.edu) + - Autoconf ARPDIR as suggested by Davin Milun (mi...@cs.buffalo.edu) -- Use autoconf to make ether_header and ether_arp struct accesses work - on more systems. + - Use autoconf to make ether_header and ether_arp struct accesses + work on more systems. v1.10 Mon Jul 29 19:03:24 PDT 1996 -- Disable hinfo lookups when dn_skipname() isn't available. + - Disable hinfo lookups when dn_skipname() isn't available. v1.9 Sun Fri Jul 5 23:12:20 PDT 1996 -- Added getopt() externs for systems that don't define them. Thanks to - Jun Shoji (jsh...@jsnext.linc.or.jp) + - Added getopt() externs for systems that don't define them. Thanks + to Jun Shoji (jsh...@jsnext.linc.or.jp) -- Fixed swapped arguments to MEMCPY(). Thanks to Jun Shoji. + - Fixed swapped arguments to MEMCPY(). Thanks to Jun Shoji. -- On systems that have it, use sigset() instead of signal() since - signal() has different semantics on these systems. Resulted from a - bug report by Michael Neef (n...@neuroinformatik.ruhr-uni-bochum.de) + - On systems that have it, use sigset() instead of signal() since + signal() has different semantics on these systems. Resulted from + a bug report by Michael Neef (n...@neuroinformatik.ruhr-uni-bochum.de) -- Modified to handle timezones more generically. + - Modified to handle timezones more generically. v1.8 Fri Jun 7 19:45:09 PDT 1996 -- Convert to autoconf. + - Convert to autoconf. v1.7 Mon Jun 12 03:25:50 PDT 1995 -- Fixed bug that was causing endless nameserver lookups. + - Fixed bug that was causing endless nameserver lookups. -- Fixed the makefile to use -I. to pick up the files in lbl directory. + - Fixed the makefile to use -I. to pick up the files in lbl directory. v1.6 Tue Apr 4 13:35:10 PDT 1995 -- Fix a typo in configure regarding libresolv logic. Thanks to Mark - Andrews (mandr...@alias.com). + - Fix a typo in configure regarding libresolv logic. Thanks to + Mark Andrews (mandr...@alias.com). -- Added os prototype support. + - Added os prototype support. v1.5 Sun Apr 2 19:40:16 PDT 1995 -- Forgot to include addresses.h.in. Thanks to Tamas Pinter - (pin...@donio.bgytf.hu). + - Forgot to include addresses.h.in. Thanks to Tamas Pinter + (pin...@donio.bgytf.hu). v1.4 Wed Mar 15 20:26:31 PST 1995 -- Updated ethercodes.dat from ftp://ftp.lcs.mit.edu/pub/map/EtherNet-codes + - Updated ethercodes.dat from ftp://ftp.lcs.mit.edu/pub/map/EtherNet-codes -- Changed to use -lresolv under SunOS 4 since the stock libc doesn't - have dns routines). + - Changed to use -lresolv under SunOS 4 since the stock libc doesn't + have dns routines). -- Change configure to create addresses.h from addresses.h.in when it - doesn't already exist. + - Change configure to create addresses.h from addresses.h.in when + it doesn't already exist. v1.3 Tue Oct 4 12:55:53 PDT 1994 -- Port to Solaris. New configuration script. + - Port to Solaris. New configuration script. -- dns.c: Define BUFSIZ if it's not defined by stdio.h. + - dns.c: Define BUFSIZ if it's not defined by stdio.h. -- Lowered the snaplen to what we really need. + - Lowered the snaplen to what we really need. v1.2 Tue Oct 12 00:34:47 PDT 1993 -- arpwatch.c: Modified to use libpcap. + - arpwatch.c: Modified to use libpcap. -- db.c: Rewrote data structures to handle an arbitrary number of -ethernet addresses per ip address. + - db.c: Rewrote data structures to handle an arbitrary number of + ethernet addresses per ip address. -- report.c: Simplified child process management. Queue mail messages if - we get too many at once. + - report.c: Simplified child process management. Queue mail messages + if we get too many at once. v1.1 Sat Aug 14 20:42:46 PDT 1993 -- arpwatch.c: Fixed byte ordering problems. Thanks to Yoshitaka - Tokugawa (t...@dit.co.jp). + - arpwatch.c: Fixed byte ordering problems. Thanks to Yoshitaka + Tokugawa (t...@dit.co.jp). -- inet.c: Modified to work with 4.4 BSD. + - inet.c: Modified to work with 4.4 BSD. v1.0 Tue Jun 16 3:05:31 PDT 1992 -- Initial release. + - Initial release. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpwatch-3.4/Makefile.in new/arpwatch-3.5/Makefile.in --- old/arpwatch-3.4/Makefile.in 2020-04-06 02:35:37.000000000 +0200 +++ new/arpwatch-3.5/Makefile.in 2023-12-03 01:48:53.000000000 +0100 @@ -24,7 +24,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# @(#) $Id: Makefile.in 1526 2020-04-06 00:35:37Z leres $ (LBL) +# @(#) $Id: Makefile.in 1539 2023-12-03 00:48:53Z leres $ (LBL) # # Various configurable paths (remember to edit Makefile.in, not Makefile) @@ -147,10 +147,10 @@ ./arp2ethers > ethers.new man man1: - man ./arpwatch.8 + ./config.status && man ./arpwatch.8 man2: - man ./arpsnmp.8 + ./config.status && man ./arpsnmp.8 dist tar: force @cwd=`pwd` ; name=$(PROG)-`cat VERSION` ; \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpwatch-3.4/VERSION new/arpwatch-3.5/VERSION --- old/arpwatch-3.4/VERSION 2023-09-05 18:51:15.000000000 +0200 +++ new/arpwatch-3.5/VERSION 2023-12-03 01:06:36.000000000 +0100 @@ -1 +1 @@ -3.4 +3.5 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpwatch-3.4/arpwatch.8.in new/arpwatch-3.5/arpwatch.8.in --- old/arpwatch-3.4/arpwatch.8.in 2021-12-15 01:47:54.000000000 +0100 +++ new/arpwatch-3.5/arpwatch.8.in 2023-12-03 01:48:53.000000000 +0100 @@ -1,6 +1,6 @@ -.\" @(#) $Id: arpwatch.8.in 1529 2021-12-15 00:47:54Z leres $ (LBL) +.\" @(#) $Id: arpwatch.8.in 1539 2023-12-03 00:48:53Z leres $ (LBL) .\" -.\" Copyright (c) 1992, 1994, 1996, 1997, 2000, 2009, 2012, 2013, 2016, 2019, 2020 +.\" Copyright (c) 1992, 1994, 1996, 1997, 2000, 2009, 2012, 2013, 2016, 2019, 2020, 2021, 2023 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -26,7 +26,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd 26 October 2021 +.Dd 2 December 2023 .Dt ARPWATCH 8 .Sh NAME .Nm arpwatch @@ -56,7 +56,7 @@ contains three or four fields. First is the ethernet mac address, second is the IPv4 address, and third is the time expressed in seconds since midnight, January 1, 1970. The optional forth field -is the short hostname derrived from PTR record of the ip address +is the short hostname derived from PTR record of the ip address when a mac/ip pair is first seen; it is never updated and was intended to be a breadcrumb to determine the origin of a mac/ip pair. @@ -194,7 +194,7 @@ The host switched to a new ethernet address. .Sh "SYSLOG MESSAGES" Here are some of the syslog messages; -note that messages that are reported are also sysloged. +note that messages that are reported are also syslog'ed. .Bl -tag -width xxx .It Ic "ethernet broadcast" The mac ethernet address of the host is a broadcast address. @@ -214,6 +214,13 @@ .It Ic "suppressed DECnet flip flop" A "flip flop" report was suppressed because one of the two addresses was a DECnet address. +.Sh SIGNALS +Normally +.Nm +updates +.Ar arp.dat +once every 15 minutes. +The SIGHUP signal causes it to update immediately. .Sh FILES .Bl -tag -width ".Pa /usr/local/arpwatch" -compact .It Pa /usr/local/arpwatch diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpwatch-3.4/arpwatch.c new/arpwatch-3.5/arpwatch.c --- old/arpwatch-3.4/arpwatch.c 2023-09-05 19:50:56.000000000 +0200 +++ new/arpwatch-3.5/arpwatch.c 2023-12-03 19:10:05.000000000 +0100 @@ -30,7 +30,7 @@ "Copyright (c) 1990, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2009, 2010, 2011, 2012, 2013, 2016, 2019, 2022, 2023\n\ The Regents of the University of California. All rights reserved.\n"; static const char rcsid[] __attribute__((unused)) = - "@(#) $Id: arpwatch.c 1537 2023-09-05 17:50:56Z leres $ (LBL)"; + "@(#) $Id: arpwatch.c 1540 2023-12-03 18:09:52Z leres $ (LBL)"; #endif /* @@ -123,11 +123,12 @@ const char *watchee = WATCHEE; /* Locals */ -int can_checkpoint; -int swapped; +int can_checkpoint = 1; +int docheckpoint; +int foreground; int nobogons; int promisc = 1; -int foreground; +int swapped; static u_int32_t net; static u_int32_t netmask; @@ -159,6 +160,7 @@ int addnet(enum action action, const char *); void checkpoint(int); void die(int); +void hup(int); int isbogon(u_int32_t); int main(int, char **); void process_ether(u_char *, const struct pcap_pkthdr *, const u_char *); @@ -421,7 +423,7 @@ (void)setsignal(SIGINT, die); (void)setsignal(SIGTERM, die); - (void)setsignal(SIGHUP, die); + (void)setsignal(SIGHUP, hup); if (rfilename == NULL) { (void)setsignal(SIGQUIT, checkpoint); (void)setsignal(SIGALRM, checkpoint); @@ -514,6 +516,11 @@ lg(LOG_ERR, "ent_add(%s, %s, %ld) failed", intoa(sia), e2str(sea), (u_long)t); can_checkpoint = 1; + + if (docheckpoint) { + checkpoint(0); + docheckpoint = 0; + } } /* Perform sanity checks on an ethernet arp/rarp packet, return true if ok */ @@ -669,6 +676,11 @@ lg(LOG_ERR, "ent_add(%s, %s, %ld) failed", intoa(sia), e2str(sea), (u_long)t); can_checkpoint = 1; + + if (docheckpoint) { + checkpoint(0); + docheckpoint = 0; + } } /* Perform sanity checks on arp/rarp packet, return true if ok */ @@ -887,18 +899,8 @@ } void -die(int signo) -{ - - lg(LOG_DEBUG, "exiting"); - checkpoint(0); - exit(1); -} - -void checkpoint(int signo) { - if (!can_checkpoint) (void)alarm(1); else { @@ -909,6 +911,23 @@ } void +die(int signo) +{ + lg(LOG_DEBUG, "exiting"); + checkpoint(0); + exit(1); +} + +void +hup(int signo) +{ + if (can_checkpoint) + checkpoint(0); + else + docheckpoint = 1; +} + +void lg(int pri, const char *fmt, ...) { va_list ap; @@ -920,7 +939,6 @@ void usage(void) { - (void)fprintf(stderr, "Version %s\n", version); (void)fprintf(stderr, "usage: %s [-CdFNpqsvzZ] [-D arpdir] [-f datafile]" ++++++ arpwatch-exit.patch ++++++ --- /var/tmp/diff_new_pack.tTDCTO/_old 2024-01-09 20:51:44.528776706 +0100 +++ /var/tmp/diff_new_pack.tTDCTO/_new 2024-01-09 20:51:44.528776706 +0100 @@ -1,9 +1,9 @@ -Index: arpwatch-3.4/arpwatch.c +Index: arpwatch-3.5/arpwatch.c =================================================================== ---- arpwatch-3.4.orig/arpwatch.c -+++ arpwatch-3.4/arpwatch.c -@@ -989,7 +989,7 @@ die(int signo) - +--- arpwatch-3.5.orig/arpwatch.c ++++ arpwatch-3.5/arpwatch.c +@@ -1012,7 +1012,7 @@ die(int signo) + { lg(LOG_DEBUG, "exiting"); checkpoint(0); - exit(1);