Compare commits

...
Sign in to create a new pull request.

71 commits

Author SHA1 Message Date
Fedora Release Engineering
6ed64346f0 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-16 03:56:08 +00:00
Benjamin A. Beasley
3541129118 Generate ethercodes.dat from latest oui.csv 2025-12-11 07:07:44 +00:00
Benjamin A. Beasley
6141d65df8 Update to 3.9 (close RHBZ#2406123) 2025-10-23 23:37:22 +01:00
Benjamin A. Beasley
db38436f1e Generate ethercodes.dat from latest oui.csv 2025-10-23 23:21:46 +01:00
Benjamin A. Beasley
b44e9a4c9f Generate ethercodes.dat from latest oui.csv 2025-10-11 07:04:34 +01:00
Benjamin A. Beasley
6b7db1bfcf Generate ethercodes.dat from latest oui.csv 2025-09-13 07:14:57 +01:00
Benjamin A. Beasley
f5306decab Generate ethercodes.dat from latest oui.csv 2025-08-16 06:22:17 -04:00
Fedora Release Engineering
5cfee9bb3c Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-23 17:15:06 +00:00
Benjamin A. Beasley
5ef30239ce Very minor spec-file reformatting
[skip changelog]
2025-06-13 06:24:20 -04:00
Benjamin A. Beasley
bf02e5c50e Generate ethercodes.dat from latest oui.csv 2025-06-02 20:42:09 -04:00
Benjamin A. Beasley
90b170a064 Generate ethercodes.dat from latest oui.csv 2025-04-24 16:19:29 -04:00
Benjamin A. Beasley
b77727ab51 Update .rpmlintrc file for a new rpmlint version 2025-04-24 16:17:54 -04:00
Benjamin A. Beasley
362e16b710 Update to 3.8 (close RHBZ#2349279) 2025-03-03 11:29:09 -05:00
Benjamin A. Beasley
a4e44e673f Generate ethercodes.dat from latest oui.csv 2025-03-03 11:25:55 -05:00
Zbigniew Jędrzejewski-Szmek
aa93d898b1 Drop call to %sysusers_create_compat
After https://fedoraproject.org/wiki/Changes/RPMSuportForSystemdSysusers,
rpm will handle account creation automatically.
2025-02-11 17:03:15 +01:00
Benjamin A. Beasley
9f602e31b6 Generate ethercodes.dat from latest oui.csv 2025-02-01 10:35:35 -05:00
Fedora Release Engineering
f42f360657 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-16 11:34:52 +00:00
Benjamin A. Beasley
fc583c9e0c Add a SourceLicense field 2024-12-11 14:42:00 -05:00
Benjamin A. Beasley
b040c3562d Generate ethercodes.dat from latest oui.csv 2024-12-11 14:42:00 -05:00
Benjamin A. Beasley
f74702c0e3 Generate ethercodes.dat from latest oui.csv 2024-11-26 01:45:19 -05:00
Benjamin A. Beasley
e0bcb1f8cd Invoke autoreconf and configure in %conf rather than in %build 2024-10-31 14:52:22 -04:00
Benjamin A. Beasley
872fd85ed5 By default, re-generate the configure script 2024-10-31 14:51:48 -04:00
Benjamin A. Beasley
768183ab7d Fix arpwatch/arpsnmp permissions in %install, not in %files
- Works around an issue extracting debuginfo
2024-10-31 14:50:13 -04:00
Benjamin A. Beasley
656c3cc8eb Fix a trivial typo in the spec file 2024-10-31 14:50:13 -04:00
Benjamin A. Beasley
ce3298b99b Generate ethercodes.dat from latest oui.csv 2024-10-31 14:34:08 -04:00
Benjamin A. Beasley
0676e59166 Update to 3.7 (close RHBZ#2316380) 2024-10-04 07:18:29 -04:00
Benjamin A. Beasley
2d5150f315 Generate ethercodes.dat from latest oui.csv 2024-10-04 07:15:41 -04:00
Benjamin A. Beasley
b62191f856 Generate ethercodes.dat from latest oui.csv 2024-09-14 12:33:12 -04:00
Fedora Release Engineering
14f68a1cd1 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-17 17:27:40 +00:00
Benjamin A. Beasley
5e5d4350d0 Generate ethercodes.dat from latest oui.csv 2024-07-02 14:34:54 -04:00
Benjamin A. Beasley
0d3389279c Generate ethercodes.dat from latest oui.csv 2024-05-17 13:17:26 -04:00
Benjamin A. Beasley
cec1869a02 Generate ethercodes.dat from latest oui.csv 2024-03-28 09:35:29 -04:00
Fedora Release Engineering
4f615d4bd1 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-22 23:28:27 +00:00
Benjamin A. Beasley
5ae4fb1bd1 Add missing source
[skip changelog]
2024-01-21 21:55:40 -05:00
Benjamin A. Beasley
f39649efa2 Update to 3.6 (close RHBZ#2259459) 2024-01-21 21:51:47 -05:00
Benjamin A. Beasley
e63c968357 Generate ethercodes.dat from latest oui.csv 2024-01-21 21:51:47 -05:00
Fedora Release Engineering
cd2dd6ef44 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 13:34:14 +00:00
Benjamin A. Beasley
240a5e21a5 Generate ethercodes.dat from latest oui.csv 2024-01-02 12:47:36 -05:00
Benjamin A. Beasley
c0a7e9de94 Switch to dynamically-allocated service user/group ID’s 2023-12-04 11:00:39 -05:00
Benjamin A. Beasley
695a404243 Update to 3.5 (close RHBZ#2252673) 2023-12-03 20:07:31 -05:00
Benjamin A. Beasley
8d4c9e8635 Generate ethercodes.dat from latest oui.csv 2023-12-03 20:01:55 -05:00
Benjamin A. Beasley
238a51ec94 Generate ethercodes.dat from latest oui.csv 2023-11-10 13:21:28 -05:00
Benjamin A. Beasley
46f4713ac2 Generate ethercodes.dat from latest oui.csv 2023-10-04 10:40:47 -04:00
Benjamin A. Beasley
6f71ee9010 Update to 3.4 (close RHBZ#2237532) 2023-09-06 10:15:47 -04:00
Benjamin A. Beasley
cd43df9085 Generate ethercodes.dat from latest oui.csv 2023-09-06 09:54:46 -04:00
Benjamin A. Beasley
6553581ef2 Generate ethercodes.dat from latest oui.csv 2023-09-06 09:54:46 -04:00
Fedora Release Engineering
3a59eeafe6 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 13:47:00 +00:00
Benjamin A. Beasley
5afd997524 Generate ethercodes.dat from latest oui.csv 2023-07-13 00:41:00 -04:00
Benjamin A. Beasley
b832247995 Generate ethercodes.dat from latest oui.csv 2023-05-24 17:54:49 -04:00
Benjamin A. Beasley
a54d9c2db8 Generate ethercodes.dat from latest oui.csv 2023-04-25 10:46:26 -04:00
Benjamin A. Beasley
0e9edf73cb Generate ethercodes.dat from latest oui.csv 2023-03-26 09:21:08 -04:00
Benjamin A. Beasley
fd86a91e44 Generate ethercodes.dat from latest oui.csv 2023-02-15 17:18:08 -05:00
Benjamin A. Beasley
2e89479fcc C99 compatibility patch (fix RHBZ#2166336) 2023-02-01 09:32:04 -05:00
Benjamin A. Beasley
a56fca0a8c Stop numbering patches 2023-02-01 09:29:04 -05:00
Fedora Release Engineering
31fc0fdb37 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-18 22:08:56 +00:00
Benjamin A. Beasley
64326d22c8 Generate ethercodes.dat from latest oui.csv 2023-01-17 20:27:50 -05:00
Benjamin A. Beasley
0c1aa8afd5 Generate ethercodes.dat from latest oui.csv 2022-12-19 00:25:33 -05:00
Benjamin A. Beasley
66352771d7 Leaf package: remove i686 support 2022-12-19 00:25:29 -05:00
Benjamin A. Beasley
abefd4571a Generate ethercodes.dat from latest oui.csv 2022-08-03 14:59:18 -04:00
Benjamin A. Beasley
ae1d7fe609 Update License field to SPDX
- Additionally, the license is corrected; it should have been “BSD”
  rather than “BSD with advertising” under the old system.
2022-08-01 08:12:17 -04:00
Benjamin A. Beasley
1ced6aa4a1 Generate ethercodes.dat from latest oui.csv 2022-07-30 21:40:51 -04:00
Benjamin A. Beasley
aba0dcc5ea Extract a LICENSE file from arpwatch.c’s comment header
We have emailed upstream requesting a proper license file.
2022-07-30 21:40:46 -04:00
Fedora Release Engineering
5f783a9efc Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-20 21:14:13 +00:00
Benjamin A. Beasley
8c0deee75e Generate ethercodes.dat from latest oui.csv 2022-05-06 14:19:39 -04:00
Benjamin A. Beasley
efa90ca41a Update to 3.3 (close RHBZ#2068925) 2022-03-28 12:49:40 -04:00
Benjamin A. Beasley
13c84c8c7f Generate ethercodes.dat from latest oui.csv 2022-03-28 12:49:05 -04:00
Benjamin A. Beasley
384e1238f3 Generate ethercodes.dat from latest oui.csv 2022-03-24 15:37:34 -04:00
Benjamin A. Beasley
734a1207b2 Switch OUI URL from HTTP to HTTPS 2022-03-24 15:37:28 -04:00
Benjamin A. Beasley
ab25714d78 Allow fsync in systemd sandbox (fix RHBZ#2051521)
Allow the @sync group to the SystemCallFilter in the systemd sandbox.
When arpwatch is configured to send notification emails via sendmail, at
least the fsync call is needed.
2022-02-07 08:16:04 -05:00
Benjamin A. Beasley
da7e07b1f3 Generate ethercodes.dat from latest oui.csv 2022-02-01 10:17:51 -05:00
Fedora Release Engineering
ed21210c4c - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-19 21:38:22 +00:00
15 changed files with 27559 additions and 20147 deletions

7
.gitignore vendored
View file

@ -2,3 +2,10 @@
/ethercodes-20110707.dat.bz2 /ethercodes-20110707.dat.bz2
/arpwatch-3.1.tar.gz /arpwatch-3.1.tar.gz
/arpwatch-3.2.tar.gz /arpwatch-3.2.tar.gz
/arpwatch-3.3.tar.gz
/arpwatch-3.4.tar.gz
/arpwatch-3.5.tar.gz
/arpwatch-3.6.tar.gz
/arpwatch-3.7.tar.gz
/arpwatch-3.8.tar.gz
/arpwatch-3.9.tar.gz

View file

@ -1,15 +0,0 @@
When arpwatch is terminated cleanly by a signal (INT/TERM/HUP) handler, the
exit code should be zero for success instead of nonzero for failure.
diff -Naur arpwatch-3.1-original/arpwatch.c arpwatch-3.1/arpwatch.c
--- arpwatch-3.1-original/arpwatch.c 2019-11-30 13:35:23.000000000 -0500
+++ arpwatch-3.1/arpwatch.c 2020-11-08 12:55:51.429575973 -0500
@@ -892,7 +892,7 @@
lg(LOG_DEBUG, "exiting");
checkpoint(0);
- exit(1);
+ exit(0);
}
RETSIGTYPE

View file

@ -1,40 +0,0 @@
Do not add /usr/local/bin or /usr/local/sbin to the PATH in any scripts.
diff -Naur arpwatch-3.2-original/arpfetch arpwatch-3.2/arpfetch
--- arpwatch-3.2-original/arpfetch 2013-02-16 03:10:28.000000000 -0500
+++ arpwatch-3.2/arpfetch 2021-12-16 08:26:26.931846139 -0500
@@ -4,8 +4,6 @@
# arpfetch - collect arp data from a cisco using net-snmp
#
-export PATH="/usr/local/bin:${PATH}"
-
prog=`basename $0`
if [ $# -ne 2 ]; then
diff -Naur arpwatch-3.2-original/bihourly.sh arpwatch-3.2/bihourly.sh
--- arpwatch-3.2-original/bihourly.sh 2016-09-16 22:40:54.000000000 -0400
+++ arpwatch-3.2/bihourly.sh 2021-12-16 08:26:35.671910709 -0500
@@ -3,9 +3,6 @@
#
# bihourly arpwatch job
#
-PATH=${PATH}:/usr/local/sbin
-export PATH
-#
cd /usr/local/arpwatch
#
list="`cat list`"
diff -Naur arpwatch-3.2-original/update-ethercodes.sh.in arpwatch-3.2/update-ethercodes.sh.in
--- arpwatch-3.2-original/update-ethercodes.sh.in 2021-12-14 19:47:54.000000000 -0500
+++ arpwatch-3.2/update-ethercodes.sh.in 2021-12-16 08:26:16.309767665 -0500
@@ -6,9 +6,6 @@
prog="`basename $0`"
-PATH=/usr/local/bin:${PATH}
-export PATH
-
t1=/tmp/${prog}.1.$$
trap 'rm -f ${t1}; exit 1' 1 2 3 15 EXIT

17
arpwatch-3.3-c99.patch Normal file
View file

@ -0,0 +1,17 @@
diff --git a/dns.c b/dns.c
index 82106e1244f94aec..75cc27b6775649f7 100644
--- a/dns.c
+++ b/dns.c
@@ -115,10 +115,10 @@ gethinfo(char *hostname, char *cpu, int cpulen, char *os, int oslen)
(u_char *)cp, (char *)bp, buflen)) < 0)
break;
cp += n;
- type = _getshort(cp);
+ type = ns_get16(cp);
cp += sizeof(u_short); /* class */
cp += sizeof(u_short) + sizeof(u_int32_t);
- n = _getshort(cp);
+ n = ns_get16(cp);
cp += sizeof(u_short);
if (type == T_HINFO) {
/* Unpack */

View file

@ -1,15 +1,8 @@
When -i is not given, iterate all available devices until a usable one is found diff -Naur arpwatch-3.5-original/arpwatch.c arpwatch-3.5/arpwatch.c
instead of just trying the first one and giving up if it is not usable. See --- arpwatch-3.5-original/arpwatch.c 2023-12-03 13:10:05.000000000 -0500
RHBZ #842660. +++ arpwatch-3.5/arpwatch.c 2023-12-03 20:06:32.694857659 -0500
@@ -163,6 +163,8 @@
Additionally, handle the case where a device provides both supported and void hup(int);
unsupported datalink types.
diff -Naur arpwatch-3.1-original/arpwatch.c arpwatch-3.1/arpwatch.c
--- arpwatch-3.1-original/arpwatch.c 2019-11-30 13:35:23.000000000 -0500
+++ arpwatch-3.1/arpwatch.c 2021-04-24 09:02:50.762535242 -0400
@@ -161,6 +161,8 @@
RETSIGTYPE die(int);
int isbogon(u_int32_t); int isbogon(u_int32_t);
int main(int, char **); int main(int, char **);
+int try_open_live(pcap_t ** pd_ptr, char const * interface_name, +int try_open_live(pcap_t ** pd_ptr, char const * interface_name,
@ -17,7 +10,7 @@ diff -Naur arpwatch-3.1-original/arpwatch.c arpwatch-3.1/arpwatch.c
void process_ether(u_char *, const struct pcap_pkthdr *, const u_char *); void process_ether(u_char *, const struct pcap_pkthdr *, const u_char *);
void process_fddi(u_char *, const struct pcap_pkthdr *, const u_char *); void process_fddi(u_char *, const struct pcap_pkthdr *, const u_char *);
int readsnmp(char *); int readsnmp(char *);
@@ -177,7 +179,7 @@ @@ -179,7 +181,7 @@
int op, snaplen, timeout, linktype, status; int op, snaplen, timeout, linktype, status;
pcap_t *pd; pcap_t *pd;
FILE *fp; FILE *fp;
@ -26,7 +19,7 @@ diff -Naur arpwatch-3.1-original/arpwatch.c arpwatch-3.1/arpwatch.c
char *interface, *rfilename; char *interface, *rfilename;
struct bpf_program code; struct bpf_program code;
char errbuf[PCAP_ERRBUF_SIZE]; char errbuf[PCAP_ERRBUF_SIZE];
@@ -309,13 +311,18 @@ @@ -311,13 +313,18 @@
"%s: pcap_findalldevs: %s\n", prog, errbuf); "%s: pcap_findalldevs: %s\n", prog, errbuf);
exit(1); exit(1);
} }
@ -48,7 +41,7 @@ diff -Naur arpwatch-3.1-original/arpwatch.c arpwatch-3.1/arpwatch.c
#else #else
if (interface = pcap_lookupdev(errbuf)) == NULL) { if (interface = pcap_lookupdev(errbuf)) == NULL) {
(void)fprintf(stderr, (void)fprintf(stderr,
@@ -354,15 +361,12 @@ @@ -356,15 +363,12 @@
} }
swapped = pcap_is_swapped(pd); swapped = pcap_is_swapped(pd);
} else { } else {
@ -68,7 +61,7 @@ diff -Naur arpwatch-3.1-original/arpwatch.c arpwatch-3.1/arpwatch.c
#ifdef WORDS_BIGENDIAN #ifdef WORDS_BIGENDIAN
swapped = 1; swapped = 1;
#endif #endif
@@ -452,6 +456,74 @@ @@ -454,6 +458,74 @@
exit(0); exit(0);
} }

View file

@ -0,0 +1,12 @@
diff -Naur arpwatch-3.5-original/arpwatch.c arpwatch-3.5/arpwatch.c
--- arpwatch-3.5-original/arpwatch.c 2023-12-03 13:10:05.000000000 -0500
+++ arpwatch-3.5/arpwatch.c 2023-12-03 20:04:01.834691097 -0500
@@ -915,7 +915,7 @@
{
lg(LOG_DEBUG, "exiting");
checkpoint(0);
- exit(1);
+ exit(0);
}
void

View file

@ -0,0 +1,40 @@
Do not add /usr/local/bin or /usr/local/sbin to the PATH in any scripts.
diff -Naur arpwatch-3.9-original/arpfetch arpwatch-3.9/arpfetch
--- arpwatch-3.9-original/arpfetch 2013-02-16 08:10:28.000000000 +0000
+++ arpwatch-3.9/arpfetch 2025-10-23 23:27:24.285711332 +0100
@@ -4,8 +4,6 @@
# arpfetch - collect arp data from a cisco using net-snmp
#
-export PATH="/usr/local/bin:${PATH}"
-
prog=`basename $0`
if [ $# -ne 2 ]; then
diff -Naur arpwatch-3.9-original/bihourly.sh arpwatch-3.9/bihourly.sh
--- arpwatch-3.9-original/bihourly.sh 2016-09-17 03:40:54.000000000 +0100
+++ arpwatch-3.9/bihourly.sh 2025-10-23 23:27:24.285849999 +0100
@@ -3,9 +3,6 @@
#
# bihourly arpwatch job
#
-PATH=${PATH}:/usr/local/sbin
-export PATH
-#
cd /usr/local/arpwatch
#
list="`cat list`"
diff -Naur arpwatch-3.9-original/update-ethercodes.sh.in arpwatch-3.9/update-ethercodes.sh.in
--- arpwatch-3.9-original/update-ethercodes.sh.in 2025-10-23 20:32:08.000000000 +0100
+++ arpwatch-3.9/update-ethercodes.sh.in 2025-10-23 23:27:50.579194300 +0100
@@ -6,9 +6,6 @@
prog="`basename $0`"
-PATH=/usr/local/bin:${PATH}
-export PATH
-
t1=`mktemp /tmp/${prog}.1.XXXXXX`
trap 'rm -f ${t1}; exit 1' 1 2 3 15 EXIT

View file

@ -1,9 +1,10 @@
# These are not real spelling errors... # These are not real spelling errors...
addFilter(r'spelling-error .* en_US (arpsnmp) ') addFilter(r' spelling-error .* en_US (arpsnmp) ')
# The sticky bit on this directory protects root-owned files from unlinking or # The sticky bit on this directory protects root-owned files from unlinking or
# renaming by members of the arpwatch group. # renaming by members of the arpwatch group.
addFilter(r'non-standard-dir-perm /var/lib/arpwatch 1775') addFilter(r' non-standard-dir-perm /var/lib/arpwatch 1775')
# Known zero-length files # Known zero-length files
addFilter(r'zero-length /var/lib/arpwatch/arp.dat-?') addFilter(r' zero-length /var/lib/arpwatch/arp.dat-?')
# Ghost file # This is beyond what we want to rewrite downstream, and is not necessarily a
addFilter(r'non-readable /var/lib/arpwatch/arp.dat.new 600') # serious problem.
addFilter(r' binary-or-shlib-calls-gethostbyname ')

View file

@ -21,7 +21,7 @@ ProtectKernelModules=true
ProtectControlGroups=true ProtectControlGroups=true
RestrictSUIDSGID=true RestrictSUIDSGID=true
SystemCallFilter=@system-service SystemCallFilter=@system-service
SystemCallFilter=~@aio @chown @clock @ipc @keyring @memlock @resources @sync SystemCallFilter=~@aio @chown @clock @ipc @keyring @memlock @resources
SystemCallArchitectures=native SystemCallArchitectures=native
[Install] [Install]

View file

@ -1,21 +1,41 @@
%bcond autoreconf 1
Name: arpwatch Name: arpwatch
Epoch: 14 Epoch: 14
Version: 3.2 Version: 3.9
Release: %autorelease Release: %autorelease
Summary: Network monitoring tools for tracking IP addresses on a network Summary: Network monitoring tools for tracking IP addresses on a network
License: BSD with advertising # SPDX matching with BSD-3-Clause confirmed at
# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/49
License: BSD-3-Clause
# Any files under different licenses are part of the build system and do not
# contribute to the license of the binary RPM:
# - config.guess and config.sub are GPL-3.0-or-later
# - configure is FSFUL
# - install-sh is X11
# - mkdep is BSD-4.3RENO
SourceLicense: %{shrink:
%{license} AND
BSD-4.3RENO AND
FSFUL AND
GPL-3.0-or-later AND
X11
}
URL: https://ee.lbl.gov/ URL: https://ee.lbl.gov/
Requires(pre): shadow-utils
Requires: /usr/sbin/sendmail Requires: /usr/sbin/sendmail
Requires: python3 Requires: python3
BuildRequires: gcc BuildRequires: gcc
BuildRequires: make BuildRequires: make
%if %{with autoreconf}
BuildRequires: autoconf
%endif
BuildRequires: /usr/sbin/sendmail BuildRequires: /usr/sbin/sendmail
BuildRequires: systemd-rpm-macros BuildRequires: systemd-rpm-macros
%{?sysuser_requires_compat}
BuildRequires: python3-devel BuildRequires: python3-devel
BuildRequires: libpcap-devel BuildRequires: libpcap-devel
@ -23,59 +43,61 @@ BuildRequires: libpcap-devel
# directory listing at https://ee.lbl.gov/downloads/arpwatch/ shows all # directory listing at https://ee.lbl.gov/downloads/arpwatch/ shows all
# available versions. # available versions.
Source0: https://ee.lbl.gov/downloads/arpwatch/arpwatch-%{version}.tar.gz Source0: https://ee.lbl.gov/downloads/arpwatch/arpwatch-%{version}.tar.gz
# This file comes from http://standards-oui.ieee.org/oui/oui.csv; it is used to # This file comes from https://standards-oui.ieee.org/oui/oui.csv; it is used
# generate ethercodes.dat. Because it is unversioned (and frequently updated), # to generate ethercodes.dat. Because it is unversioned (and frequently
# we store the file directly in the repository with the spec file; see the # updated), we store the file directly in the repository with the spec file;
# update-oui-csv script. # see the update-oui-csv script.
# #
# File oui.csv last fetched 2021-12-16T13:09:24+00:00. # File oui.csv last fetched 2025-12-11T07:07:44+00:00.
Source1: oui.csv Source1: oui.csv
Source2: arpwatch.service Source2: arpwatch.service
Source3: arpwatch.sysconfig Source3: arpwatch.sysconfig
Source4: arp2ethers.8 Source4: arp2ethers.8
Source5: massagevendor.8 Source5: massagevendor.8
Source6: arpwatch.sysusers
# Latest version of patches 19 sent upstream by email 2021-04-24. # The latest versions of all “arpwatch-3.1-*” patches were sent upstream by
# email 2021-04-24.
# Fix section numbers in man page cross-references. With minor changes, this # Fix section numbers in man page cross-references. With minor changes, this
# patch dates all the way back to arpwatch-2.1a4-man.patch, from RHBZ #15442. # patch dates all the way back to arpwatch-2.1a4-man.patch, from RHBZ #15442.
Patch1: arpwatch-3.1-man-references.patch Patch: arpwatch-3.1-man-references.patch
# Add, and document, a -u argument to change to a specified unprivileged user # Add, and document, a -u argument to change to a specified unprivileged user
# after establishing sockets. This combines and improves multiple previous # after establishing sockets. This combines and improves multiple previous
# patches; see patch header and changelog for notes. # patches; see patch header and changelog for notes.
Patch2: arpwatch-3.2-change-user.patch Patch: arpwatch-3.2-change-user.patch
# Fix nonstandard sort flags in arp2ethers script. # Fix nonstandard sort flags in arp2ethers script.
Patch3: arpwatch-3.1-arp2ethers-sort-invocation.patch Patch: arpwatch-3.1-arp2ethers-sort-invocation.patch
# Fix stray rm (of an undefined variable) in example arpfetch script. # Fix stray rm (of an undefined variable) in example arpfetch script.
Patch4: arpwatch-3.1-arpfetch-stray-rm.patch Patch: arpwatch-3.1-arpfetch-stray-rm.patch
# Do not add /usr/local/bin or /usr/local/sbin to the PATH in any scripts # Do not add /usr/local/bin or /usr/local/sbin to the PATH in any scripts
Patch5: arpwatch-3.2-no-usr-local-path.patch Patch: arpwatch-3.9-no-usr-local-path.patch
# Do not attempt to search for local libpcap libraries lying around in the # Do not attempt to search for local libpcap libraries lying around in the
# parent of the build directory, or anywhere else random. This is not expected # parent of the build directory, or anywhere else random. This is not expected
# to succeed anyway, but it is better to be sure. # to succeed anyway, but it is better to be sure.
Patch6: arpwatch-3.1-configure-no-local-pcap.patch Patch: arpwatch-3.1-configure-no-local-pcap.patch
# RHBZ #244606: Correctly handle -n 0/32 to allow the user to disable reporting # RHBZ #244606: Correctly handle -n 0/32 to allow the user to disable reporting
# bogons from 0.0.0.0. # bogons from 0.0.0.0.
Patch7: arpwatch-3.1-all-zero-bogon.patch Patch: arpwatch-3.1-all-zero-bogon.patch
# When arpwatch is terminated cleanly by a signal (INT/TERM/HUP) handler, the # When arpwatch is terminated cleanly by a signal (INT/TERM/HUP) handler, the
# exit code should be zero for success instead of nonzero for failure. # exit code should be zero for success instead of nonzero for failure.
Patch8: arpwatch-3.1-exitcode.patch Patch: arpwatch-3.5-exitcode.patch
# When -i is not given, do not just try the first device found, but keep # When -i is not given, do not just try the first device found, but keep
# checking devices until a usable one is found, if any is available. # checking devices until a usable one is found, if any is available.
# Additionally, handle the case where a device provides both supported and # Additionally, handle the case where a device provides both supported and
# unsupported datalink types. # unsupported datalink types.
Patch9: arpwatch-3.1-devlookup.patch Patch: arpwatch-3.5-devlookup.patch
# Replace _getshort(), “a glibc function that hasn't been declared in the
# installed headers for many, many years,” with ns_get16(). Fixes C99
# compatibility (https://bugzilla.redhat.com/show_bug.cgi?id=2166336). Sent
# upstream by email 2023-02-01.
Patch: arpwatch-3.3-c99.patch
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
%global pkgstatedir %{_sharedstatedir}/arpwatch %global pkgstatedir %{_sharedstatedir}/arpwatch
%global service_user arpwatch
%global service_group arpwatch
# Soft static UID and GID; see
# https://fedoraproject.org/wiki/Packaging:UsersAndGroups#Soft_static_allocation
# for information, and the uidgid file in the setup package
# (https://pagure.io/setup/blob/master/f/uidgid) for the list of allocations,
# including the one for arpwatch.
%global service_uid 77
%global service_gid 77
%description %description
The arpwatch package contains arpwatch and arpsnmp. Arpwatch and arpsnmp are The arpwatch package contains arpwatch and arpsnmp. Arpwatch and arpsnmp are
@ -102,13 +124,33 @@ sed -r -i 's|/usr/local/arpwatch|%{pkgstatedir}|g' *.8.in *.sh.in *.sh
# Fix Python interpreter path (but note that this script is not installed) # Fix Python interpreter path (but note that this script is not installed)
sed -r -i 's|/usr/local/bin/python|%{python3}|g' update-ethercodes.sh.in sed -r -i 's|/usr/local/bin/python|%{python3}|g' update-ethercodes.sh.in
# Emailed upstream requesting a separate LICENSE/COPYING file 2022-07-30.
# For now, we extract it from the main source files “header” comment.
awk '/^ \* / { print substr($0, 4); } /^ \*\// { exit }' arpwatch.c |
tee LICENSE
%conf
%if %{with autoreconf}
autoreconf --force --install --verbose
%endif
# Prior to version 3.4, this was handled by the configure script. If it is not
# defined, the build fails because time.h is not included in report.c. This
# regregression was reported upstream by email to arpwatch@ee.lbl.gov on
# 2023-09-06.
export CPPFLAGS="${CPPFLAGS-} -DTIME_WITH_SYS_TIME=1"
%configure --with-sendmail=/usr/sbin/sendmail PYTHON=%{python3}
%build %build
%configure --with-sendmail=/usr/sbin/sendmail PYTHON=%{python3}
%make_build ARPDIR=%{pkgstatedir} %make_build ARPDIR=%{pkgstatedir}
%install %install
install -p -D -m 0644 %{SOURCE6} '%{buildroot}%{_sysusersdir}/arpwatch.conf'
# The upstream Makefile does not create the directories it requires, so we must # The upstream Makefile does not create the directories it requires, so we must
# do it manually. Additionally, it attempts to comment out the installation of # do it manually. Additionally, it attempts to comment out the installation of
# the init script on non-FreeBSD platforms, but this does not quite work as # the init script on non-FreeBSD platforms, but this does not quite work as
@ -122,6 +164,10 @@ install -d %{buildroot}%{_mandir}/man8 \
%make_install %make_install
# Make install uses mode 0555, which is unconventional, and which can interfere
# with debuginfo generation since the file is not writable by its owner.
chmod -v 0755 %{buildroot}%{_sbindir}/arpwatch %{buildroot}%{_sbindir}/arpsnmp
install -p -t %{buildroot}%{_datadir}/arpwatch -m 0644 *.awk install -p -t %{buildroot}%{_datadir}/arpwatch -m 0644 *.awk
install -p -t %{buildroot}%{_sbindir} arp2ethers install -p -t %{buildroot}%{_sbindir} arp2ethers
install -p massagevendor.py %{buildroot}%{_sbindir}/massagevendor install -p massagevendor.py %{buildroot}%{_sbindir}/massagevendor
@ -168,25 +214,6 @@ fi
%systemd_post arpwatch.service %systemd_post arpwatch.service
%pre
getent group %{service_group} >/dev/null ||
groupadd -f -g %{service_gid} -r %{service_group}
if ! getent passwd %{service_user} >/dev/null
then
if ! getent passwd %{service_uid} >/dev/null
then
useradd -r -u %{service_uid} -g %{service_group} \
-d %{pkgstatedir} -s /sbin/nologin \
-c "Service user for arpwatch" %{service_user}
else
useradd -r -g %{service_group} \
-d %{pkgstatedir} -s /sbin/nologin \
-c "Service user for arpwatch" %{service_user}
fi
fi
exit 0
%postun %postun
%systemd_postun_with_restart arpwatch.service %systemd_postun_with_restart arpwatch.service
@ -196,13 +223,13 @@ exit 0
%files %files
%license LICENSE
%doc README %doc README
%doc CHANGES %doc CHANGES
%doc arpfetch %doc arpfetch
# make install uses mode 0555, which is unconventional %{_sbindir}/arpwatch
%attr(0755,-,-) %{_sbindir}/arpwatch %{_sbindir}/arpsnmp
%attr(0755,-,-) %{_sbindir}/arpsnmp
# manually-installed scripts # manually-installed scripts
%{_sbindir}/arp2ethers %{_sbindir}/arp2ethers
%{_sbindir}/massagevendor %{_sbindir}/massagevendor
@ -214,13 +241,14 @@ exit 0
%attr(0644,-,-) %{_mandir}/man8/*.8* %attr(0644,-,-) %{_mandir}/man8/*.8*
%{_unitdir}/arpwatch.service %{_unitdir}/arpwatch.service
%{_sysusersdir}/arpwatch.conf
%config(noreplace) %{_sysconfdir}/sysconfig/arpwatch %config(noreplace) %{_sysconfdir}/sysconfig/arpwatch
%attr(1775,-,%{service_group}) %dir %{pkgstatedir} %attr(1775,-,arpwatch) %dir %{pkgstatedir}
%attr(0644,%{service_user},%{service_group}) %verify(not md5 size mtime) %config(noreplace) %{pkgstatedir}/arp.dat %attr(0644,arpwatch,arpwatch) %verify(not md5 size mtime) %config(noreplace) %{pkgstatedir}/arp.dat
%attr(0644,%{service_user},%{service_group}) %verify(not md5 size mtime) %config(noreplace) %{pkgstatedir}/arp.dat- %attr(0644,arpwatch,arpwatch) %verify(not md5 size mtime) %config(noreplace) %{pkgstatedir}/arp.dat-
%attr(0600,%{service_user},%{service_group}) %verify(not md5 size mtime) %ghost %{pkgstatedir}/arp.dat.new %attr(0600,arpwatch,arpwatch) %verify(not md5 size mtime) %ghost %{pkgstatedir}/arp.dat.new
%attr(0644,-,%{service_group}) %verify(not md5 size mtime) %config(noreplace) %{pkgstatedir}/ethercodes.dat %attr(0644,-,arpwatch) %verify(not md5 size mtime) %config(noreplace) %{pkgstatedir}/ethercodes.dat
%changelog %changelog

2
arpwatch.sysusers Normal file
View file

@ -0,0 +1,2 @@
#Type Name ID GECOS Home directory Shell
u arpwatch - "Service user for arpwatch" /var/lib/arpwatch /sbin/nologin

View file

@ -77,7 +77,7 @@ file containing the list of ethernet vendor codes
.Sh NOTES .Sh NOTES
The ethernet vendor codes as assigned by the IEEE can be found at: The ethernet vendor codes as assigned by the IEEE can be found at:
.Pp .Pp
.Dl Ar http://standards-oui.ieee.org/oui/oui.csv .Dl Ar https://standards-oui.ieee.org/oui/oui.csv
.Sh AUTHORS .Sh AUTHORS
.An Craig Leres .An Craig Leres
of the Lawrence Berkeley National Laboratory Network Research Group, of the Lawrence Berkeley National Laboratory Network Research Group,

47389
oui.csv

File diff suppressed because it is too large Load diff

View file

@ -1 +1 @@
SHA512 (arpwatch-3.2.tar.gz) = 0a028e770e73f8ff2e926da5ab58e067c05908924a60cfc52c5fb7d57a0f36d3087f6cedb4a8b39b66ce85a4f6a12a594e7e74fd044331e5f346bcc9add99585 SHA512 (arpwatch-3.9.tar.gz) = b6fdda79caf6c79d78d629b28987d381981d8ac9150dd95c44ba0ed634d905446a8b64d73cdacca89d42a77965e0710d0a60184010440fed19168dae4e3dd4bd

View file

@ -2,7 +2,7 @@
set -o errexit set -o errexit
set -o nounset set -o nounset
URL='http://standards-oui.ieee.org/oui/oui.csv' URL='https://standards-oui.ieee.org/oui/oui.csv'
DATA='oui.csv' DATA='oui.csv'
SPEC='arpwatch.spec' SPEC='arpwatch.spec'