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
/arpwatch-3.1.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
instead of just trying the first one and giving up if it is not usable. See
RHBZ #842660.
Additionally, handle the case where a device provides both supported and
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);
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:06:32.694857659 -0500
@@ -163,6 +163,8 @@
void hup(int);
int isbogon(u_int32_t);
int main(int, char **);
+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_fddi(u_char *, const struct pcap_pkthdr *, const u_char *);
int readsnmp(char *);
@@ -177,7 +179,7 @@
@@ -179,7 +181,7 @@
int op, snaplen, timeout, linktype, status;
pcap_t *pd;
FILE *fp;
@ -26,7 +19,7 @@ diff -Naur arpwatch-3.1-original/arpwatch.c arpwatch-3.1/arpwatch.c
char *interface, *rfilename;
struct bpf_program code;
char errbuf[PCAP_ERRBUF_SIZE];
@@ -309,13 +311,18 @@
@@ -311,13 +313,18 @@
"%s: pcap_findalldevs: %s\n", prog, errbuf);
exit(1);
}
@ -48,7 +41,7 @@ diff -Naur arpwatch-3.1-original/arpwatch.c arpwatch-3.1/arpwatch.c
#else
if (interface = pcap_lookupdev(errbuf)) == NULL) {
(void)fprintf(stderr,
@@ -354,15 +361,12 @@
@@ -356,15 +363,12 @@
}
swapped = pcap_is_swapped(pd);
} else {
@ -68,7 +61,7 @@ diff -Naur arpwatch-3.1-original/arpwatch.c arpwatch-3.1/arpwatch.c
#ifdef WORDS_BIGENDIAN
swapped = 1;
#endif
@@ -452,6 +456,74 @@
@@ -454,6 +458,74 @@
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...
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
# 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
addFilter(r'zero-length /var/lib/arpwatch/arp.dat-?')
# Ghost file
addFilter(r'non-readable /var/lib/arpwatch/arp.dat.new 600')
addFilter(r' zero-length /var/lib/arpwatch/arp.dat-?')
# This is beyond what we want to rewrite downstream, and is not necessarily a
# serious problem.
addFilter(r' binary-or-shlib-calls-gethostbyname ')

View file

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

View file

@ -1,21 +1,41 @@
%bcond autoreconf 1
Name: arpwatch
Epoch: 14
Version: 3.2
Version: 3.9
Release: %autorelease
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/
Requires(pre): shadow-utils
Requires: /usr/sbin/sendmail
Requires: python3
BuildRequires: gcc
BuildRequires: make
%if %{with autoreconf}
BuildRequires: autoconf
%endif
BuildRequires: /usr/sbin/sendmail
BuildRequires: systemd-rpm-macros
%{?sysuser_requires_compat}
BuildRequires: python3-devel
BuildRequires: libpcap-devel
@ -23,59 +43,61 @@ BuildRequires: libpcap-devel
# directory listing at https://ee.lbl.gov/downloads/arpwatch/ shows all
# available versions.
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
# generate ethercodes.dat. Because it is unversioned (and frequently updated),
# we store the file directly in the repository with the spec file; see the
# update-oui-csv script.
# This file comes from https://standards-oui.ieee.org/oui/oui.csv; it is used
# to generate ethercodes.dat. Because it is unversioned (and frequently
# updated), we store the file directly in the repository with the spec file;
# 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
Source2: arpwatch.service
Source3: arpwatch.sysconfig
Source4: arp2ethers.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
# 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
# after establishing sockets. This combines and improves multiple previous
# 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.
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.
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
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
# parent of the build directory, or anywhere else random. This is not expected
# 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
# 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
# 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
# checking devices until a usable one is found, if any is available.
# Additionally, handle the case where a device provides both supported and
# 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 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
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)
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
%configure --with-sendmail=/usr/sbin/sendmail PYTHON=%{python3}
%make_build ARPDIR=%{pkgstatedir}
%install
install -p -D -m 0644 %{SOURCE6} '%{buildroot}%{_sysusersdir}/arpwatch.conf'
# 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
# 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 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}%{_sbindir} arp2ethers
install -p massagevendor.py %{buildroot}%{_sbindir}/massagevendor
@ -168,25 +214,6 @@ fi
%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
%systemd_postun_with_restart arpwatch.service
@ -196,13 +223,13 @@ exit 0
%files
%license LICENSE
%doc README
%doc CHANGES
%doc arpfetch
# make install uses mode 0555, which is unconventional
%attr(0755,-,-) %{_sbindir}/arpwatch
%attr(0755,-,-) %{_sbindir}/arpsnmp
%{_sbindir}/arpwatch
%{_sbindir}/arpsnmp
# manually-installed scripts
%{_sbindir}/arp2ethers
%{_sbindir}/massagevendor
@ -214,13 +241,14 @@ exit 0
%attr(0644,-,-) %{_mandir}/man8/*.8*
%{_unitdir}/arpwatch.service
%{_sysusersdir}/arpwatch.conf
%config(noreplace) %{_sysconfdir}/sysconfig/arpwatch
%attr(1775,-,%{service_group}) %dir %{pkgstatedir}
%attr(0644,%{service_user},%{service_group}) %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(0600,%{service_user},%{service_group}) %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(1775,-,arpwatch) %dir %{pkgstatedir}
%attr(0644,arpwatch,arpwatch) %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,arpwatch,arpwatch) %verify(not md5 size mtime) %ghost %{pkgstatedir}/arp.dat.new
%attr(0644,-,arpwatch) %verify(not md5 size mtime) %config(noreplace) %{pkgstatedir}/ethercodes.dat
%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
The ethernet vendor codes as assigned by the IEEE can be found at:
.Pp
.Dl Ar http://standards-oui.ieee.org/oui/oui.csv
.Dl Ar https://standards-oui.ieee.org/oui/oui.csv
.Sh AUTHORS
.An Craig Leres
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 nounset
URL='http://standards-oui.ieee.org/oui/oui.csv'
URL='https://standards-oui.ieee.org/oui/oui.csv'
DATA='oui.csv'
SPEC='arpwatch.spec'