Jan Synacek 60c046
%global _vararpwatch %{_localstatedir}/lib/arpwatch
Miroslav Lichvar 6ced79
Miroslav Lichvar 6ced79
Name: arpwatch
Miroslav Lichvar 6ced79
Epoch: 14
Miroslav Lichvar 6ced79
Version: 2.1a15
Ales Ledvinka fab89b
Release: 26%{?dist}
Miroslav Lichvar 6ced79
Summary: Network monitoring tools for tracking IP addresses on a network
Miroslav Lichvar 6ced79
Group: Applications/System
Miroslav Lichvar d9debb
License: BSD with advertising
Miroslav Lichvar 6ced79
URL: http://ee.lbl.gov/
Miroslav Lichvar 6ced79
Requires(pre): shadow-utils 
Miroslav Lichvar 88ad45
Requires(post): systemd-units
Miroslav Lichvar 88ad45
Requires(preun): systemd-units
Miroslav Lichvar 88ad45
Requires(postun): systemd-units
Miroslav Lichvar 6ced79
Requires: /usr/sbin/sendmail
Miroslav Lichvar 6ced79
BuildRequires: /usr/sbin/sendmail libpcap-devel
Miroslav Lichvar 6ced79
Miroslav Lichvar 6ced79
Source0: ftp://ftp.ee.lbl.gov/arpwatch-%{version}.tar.gz
Miroslav Lichvar 88ad45
Source1: arpwatch.service
Miroslav Lichvar 6ced79
Source2: arpwatch.sysconfig
Miroslav Lichvar 46681e
# created by:
Miroslav Lichvar 46681e
# wget -O- http://standards.ieee.org/regauth/oui/oui.txt | \
Miroslav Lichvar 46681e
# iconv -f iso8859-1 -t utf8 | massagevendor | bzip2
Miroslav Lichvar c46110
Source3: ethercodes-20110707.dat.bz2
Miroslav Lichvar 6ced79
Patch1: arpwatch-2.1a4-fhs.patch
Miroslav Lichvar 6ced79
Patch2: arpwatch-2.1a10-man.patch
Miroslav Lichvar 6ced79
Patch3: arpwatch-drop.patch
Miroslav Lichvar 6ced79
Patch4: arpwatch-drop-man.patch
Miroslav Lichvar 6ced79
Patch5: arpwatch-addr.patch
Miroslav Lichvar 6ced79
Patch6: arpwatch-dir-man.patch
Miroslav Lichvar 6ced79
Patch7: arpwatch-scripts.patch
Miroslav Lichvar 6ced79
Patch8: arpwatch-2.1a15-nolocalpcap.patch
Miroslav Lichvar d9debb
Patch9: arpwatch-2.1a15-bogon.patch
Miroslav Lichvar cb3314
Patch10: arpwatch-2.1a15-extraman.patch
Miroslav Lichvar 18732d
Patch11: arpwatch-exitcode.patch
Ales Ledvinka 77ee46
Patch12: arpwatch-2.1a15-dropgroup.patch
Jan Synacek 517beb
Patch13: arpwatch-2.1a15-devlookup.patch
Ales Ledvinka befc39
Patch14: arpwatch-2.1a15-lookupiselect.patch
Ales Ledvinka 12acff
Patch15: arpwatch-2.1a15-lookupiinvalid.patch
Ales Ledvinka fab89b
Patch16: arpwatch-201301-ethcodes.patch
Miroslav Lichvar 6ced79
Miroslav Lichvar 6ced79
%description
Miroslav Lichvar 6ced79
The arpwatch package contains arpwatch and arpsnmp.  Arpwatch and
Miroslav Lichvar 6ced79
arpsnmp are both network monitoring tools.  Both utilities monitor
Miroslav Lichvar 6ced79
Ethernet or FDDI network traffic and build databases of Ethernet/IP
Miroslav Lichvar 6ced79
address pairs, and can report certain changes via email.
Miroslav Lichvar 6ced79
Miroslav Lichvar 6ced79
Install the arpwatch package if you need networking monitoring devices
Miroslav Lichvar 6ced79
which will automatically keep track of the IP addresses on your
Miroslav Lichvar 6ced79
network.
Miroslav Lichvar 6ced79
Miroslav Lichvar 6ced79
%prep
Miroslav Lichvar 6ced79
%setup -q
Miroslav Lichvar 6ced79
Miroslav Lichvar 6ced79
%patch1 -p1 -b .fhs
Miroslav Lichvar 6ced79
%patch2 -p1 -b .arpsnmpman
Miroslav Lichvar 6ced79
%patch3 -p1 -b .droproot
Miroslav Lichvar 6ced79
%patch4 -p0 -b .droprootman
Miroslav Lichvar 6ced79
%patch5 -p1 -b .mailuser
Miroslav Lichvar 6ced79
%patch6 -p1 -b .dirman
Miroslav Lichvar 6ced79
%patch7 -p1 -b .scripts
Miroslav Lichvar 6ced79
%patch8 -p1 -b .nolocalpcap
Miroslav Lichvar d9debb
%patch9 -p1 -b .bogon
Miroslav Lichvar cb3314
%patch10 -p1 -b .extraman
Miroslav Lichvar 18732d
%patch11 -p1 -b .exitcode
Ales Ledvinka 77ee46
%patch12 -p1 -b .dropgroup
Jan Synacek 517beb
%patch13 -p1 -b .devlookup
Ales Ledvinka befc39
%patch14 -p1 -b .iselect
Ales Ledvinka 12acff
%patch15 -p1 -b .iinval
Ales Ledvinka fab89b
%patch16 -p1 -b .ethcode
Miroslav Lichvar 6ced79
Miroslav Lichvar 6ced79
%build
Miroslav Lichvar 6ced79
%configure
Miroslav Lichvar 6ced79
make ARPDIR=%{_vararpwatch}
Miroslav Lichvar 6ced79
Miroslav Lichvar 6ced79
%install
Miroslav Lichvar 6ced79
Miroslav Lichvar 6ced79
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man8
Miroslav Lichvar 6ced79
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
Miroslav Lichvar 6ced79
mkdir -p $RPM_BUILD_ROOT%{_vararpwatch}
Jan Synacek 60c046
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
Miroslav Lichvar 6ced79
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
Ales Ledvinka fab89b
touch $RPM_BUILD_ROOT%{_vararpwatch}/arp.dat-
Miroslav Lichvar 6ced79
make DESTDIR=$RPM_BUILD_ROOT install install-man
Miroslav Lichvar 6ced79
Miroslav Lichvar 6ced79
# prepare awk scripts
Miroslav Lichvar 6ced79
perl -pi -e "s/\'/\'\\\'\'/g" *.awk
Miroslav Lichvar 6ced79
Miroslav Lichvar 6ced79
# and embed them
Miroslav Lichvar 6ced79
for i in arp2ethers massagevendor massagevendor-old; do
Miroslav Lichvar 6ced79
	cp -f $i $RPM_BUILD_ROOT%{_sbindir}
Miroslav Lichvar 6ced79
	for j in *.awk; do
Miroslav Lichvar 6ced79
		sed "s/-f\ *\(\<$j\>\)/\'\1\n\' /g" \
Miroslav Lichvar 6ced79
			< $RPM_BUILD_ROOT%{_sbindir}/$i \
Miroslav Lichvar 6ced79
			| sed "s/$j\$//;tx;b;:x;r$j" \
Miroslav Lichvar 6ced79
			> $RPM_BUILD_ROOT%{_sbindir}/$i.x
Miroslav Lichvar 6ced79
		mv -f $RPM_BUILD_ROOT%{_sbindir}/$i{.x,}
Miroslav Lichvar 6ced79
	done
Miroslav Lichvar 6ced79
	chmod 755 $RPM_BUILD_ROOT%{_sbindir}/$i
Miroslav Lichvar 6ced79
done
Miroslav Lichvar 6ced79
Miroslav Lichvar a80d80
install -p -m644 *.dat $RPM_BUILD_ROOT%{_vararpwatch}
Jan Synacek 60c046
install -p -m644 %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}/arpwatch.service
Miroslav Lichvar a80d80
install -p -m644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/arpwatch
Miroslav Lichvar 3bd0e9
install -p -m644 %{SOURCE3} $RPM_BUILD_ROOT%{_vararpwatch}/ethercodes.dat.bz2
Miroslav Lichvar 3bd0e9
bzip2 -df $RPM_BUILD_ROOT%{_vararpwatch}/ethercodes.dat.bz2
Miroslav Lichvar 6ced79
Miroslav Lichvar cb3314
rm -f $RPM_BUILD_ROOT%{_sbindir}/massagevendor-old
Miroslav Lichvar cb3314
Miroslav Lichvar 6ced79
%post
Jan Synacek 66d462
%systemd_post arpwatch.service
Miroslav Lichvar 6ced79
Miroslav Lichvar 6ced79
%pre
Miroslav Lichvar f1b7b5
if ! getent group arpwatch &> /dev/null; then
Miroslav Lichvar f1b7b5
	getent group pcap 2> /dev/null | grep -q 77 &&
Miroslav Lichvar f1b7b5
		/usr/sbin/groupmod -n arpwatch pcap 2> /dev/null ||
Miroslav Lichvar f1b7b5
		/usr/sbin/groupadd -g 77 arpwatch 2> /dev/null
Miroslav Lichvar f1b7b5
fi
Miroslav Lichvar f1b7b5
if ! getent passwd arpwatch &> /dev/null; then
Miroslav Lichvar f1b7b5
	getent passwd pcap 2> /dev/null | grep -q 77 &&
Miroslav Lichvar f1b7b5
		/usr/sbin/usermod -l arpwatch -g 77 \
Miroslav Lichvar f1b7b5
			-d %{_vararpwatch} pcap 2> /dev/null ||
Miroslav Lichvar f1b7b5
		/usr/sbin/useradd -u 77 -g 77 -s /sbin/nologin \
Miroslav Lichvar f1b7b5
			-M -r -d %{_vararpwatch} arpwatch 2> /dev/null
Miroslav Lichvar f1b7b5
fi
Miroslav Lichvar 6ced79
:
Miroslav Lichvar 6ced79
Miroslav Lichvar 6ced79
%postun
Jan Synacek 66d462
%systemd_postun_with_restart arpwatch.service
Miroslav Lichvar 6ced79
Miroslav Lichvar 6ced79
%preun
Jan Synacek 66d462
%systemd_preun arpwatch.service
Miroslav Lichvar 6ced79
Miroslav Lichvar 6ced79
%files
Miroslav Lichvar 6ced79
%doc README CHANGES arpfetch
Miroslav Lichvar 6ced79
%{_sbindir}/arpwatch
Miroslav Lichvar 6ced79
%{_sbindir}/arpsnmp
Miroslav Lichvar 6ced79
%{_sbindir}/arp2ethers
Miroslav Lichvar 6ced79
%{_sbindir}/massagevendor
Miroslav Lichvar cb3314
%{_mandir}/man8/*.8*
Jan Synacek 60c046
%{_unitdir}/arpwatch.service
Miroslav Lichvar 6ced79
%config(noreplace) %{_sysconfdir}/sysconfig/arpwatch
Ales Ledvinka fab89b
%attr(1775,-,arpwatch) %dir %{_vararpwatch}
Ales Ledvinka fab89b
%attr(0644,arpwatch,arpwatch) %verify(not md5 size mtime) %config(noreplace) %{_vararpwatch}/arp.dat
Ales Ledvinka fab89b
%attr(0644,arpwatch,arpwatch) %verify(not md5 size mtime) %config(noreplace) %{_vararpwatch}/arp.dat-
Ales Ledvinka fab89b
%attr(0600,arpwatch,arpwatch) %verify(not md5 size mtime) %ghost %{_vararpwatch}/arp.dat.new
Ales Ledvinka fab89b
%attr(0644,-,arpwatch) %verify(not md5 size mtime) %config(noreplace) %{_vararpwatch}/ethercodes.dat
Miroslav Lichvar 6ced79
Miroslav Lichvar 6ced79
%changelog
Ales Ledvinka fab89b
* Thu Jan 18 2013 Ales Ledvinka <aledvink@redhat.com> - 14:2.1a15-26
Ales Ledvinka fab89b
- fix permissions related to collected database
Ales Ledvinka fab89b
- update ethcodes defaults to current public IEEE OUI-32
Ales Ledvinka fab89b
Ales Ledvinka 12acff
* Mon Oct 15 2012 Ales Ledvinka <aledvink@redhat.com> - 14:2.1a15-25
Ales Ledvinka 12acff
- fix -i with invalid interface specified (#842660)
Ales Ledvinka 12acff
Ales Ledvinka befc39
* Mon Oct 15 2012 Ales Ledvinka <aledvink@redhat.com> - 14:2.1a15-24
Ales Ledvinka befc39
- fix devlookup to start with -i interface specified (#842660)
Ales Ledvinka befc39
Jan Synacek 66d462
* Wed Aug 22 2012 Jan Synáček <jsynacek@redhat.com> - 14:2.1a15-23
Jan Synacek 66d462
- Add system-rpm macros (#850032)
Jan Synacek 66d462
Jan Synacek 517beb
* Tue Jul 24 2012 Jan Synáček <jsynacek@redhat.com> - 14:2.1a15-22
Jan Synacek 517beb
- add devlookup patch: search for suitable default interface, if -i is not
Jan Synacek 517beb
  specified (#842660)
Jan Synacek 517beb
Jan Synacek 60c046
* Thu Jul 19 2012 Jan Synáček <jsynacek@redhat.com> - 14:2.1a15-21
Jan Synacek 60c046
- make spec slightly more fedora-review-friendly
Jan Synacek 60c046
Dennis Gilmore 3c75f4
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14:2.1a15-21
Dennis Gilmore 3c75f4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
Dennis Gilmore 3c75f4
Ales Ledvinka 77ee46
* Thu May 31 2012 Aleš Ledvinka <aledvink@redhat.com> 14:2.1a15-20
Ales Ledvinka 77ee46
- fix supplementary group list (#825328) (CVE-2012-2653)
Ales Ledvinka 77ee46
Jan Synacek 8dfd3d
* Thu Jan 19 2012 Jan Synáček <jsynacek@redhat.com> 14:2.1a15-19
Jan Synacek 8dfd3d
- Turn on PrivateTmp=true in service file (#782477)
Jan Synacek 8dfd3d
Jan Synacek 928eac
* Thu Jan 05 2012 Jan Synáček <jsynacek@redhat.com> 14:2.1a15-18
Jan Synacek 928eac
- Rebuilt for GCC 4.7
Jan Synacek 928eac
Miroslav Lichvar 2544a6
* Fri Jul 08 2011 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-17
Miroslav Lichvar 2544a6
- exit with zero error code (#699285)
Miroslav Lichvar 2544a6
- change service type to forking (#699285)
Miroslav Lichvar 2544a6
Miroslav Lichvar 2544a6
* Thu Jul 07 2011 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-16
Miroslav Lichvar c9e1d8
- replace SysV init script with systemd service (#699285)
Miroslav Lichvar c9e1d8
- update ethercodes.dat
Miroslav Lichvar c9e1d8
Miroslav Lichvar c39bc0
* Mon Mar 28 2011 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-15
Miroslav Lichvar c39bc0
- update ethercodes.dat (#690948)
Miroslav Lichvar c39bc0
Dennis Gilmore 6770e6
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14:2.1a15-14
Dennis Gilmore 6770e6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
Dennis Gilmore 6770e6
Miroslav Lichvar cb3314
* Tue Mar 30 2010 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-13
Miroslav Lichvar cb3314
- update ethercodes.dat (#577552)
Miroslav Lichvar cb3314
- mark ethercodes.dat as noreplace
Miroslav Lichvar cb3314
- fix init script LSB compliance
Miroslav Lichvar cb3314
- include Debian arp2ethers and massagevendor man pages (#526160)
Miroslav Lichvar cb3314
- don't include massagevendor-old script anymore
Miroslav Lichvar cb3314
Miroslav Lichvar 46681e
* Wed Sep 02 2009 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-12
Miroslav Lichvar 46681e
- update ethercodes.dat
Miroslav Lichvar 46681e
Jesse Keating 83562c
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14:2.1a15-11
Jesse Keating 83562c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
Jesse Keating 83562c
Jesse Keating f2af1b
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14:2.1a15-10
Jesse Keating f2af1b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
Jesse Keating f2af1b
Miroslav Lichvar 3bd0e9
* Tue Sep 16 2008 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-9
Miroslav Lichvar 3bd0e9
- update ethercodes.dat (#462364)
Miroslav Lichvar 3bd0e9
Jesse Keating 49a22a
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 14:2.1a15-8
Jesse Keating 49a22a
- Autorebuild for GCC 4.3
Jesse Keating 49a22a
Miroslav Lichvar 62554f
* Wed Aug 22 2007 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-7
Miroslav Lichvar 62554f
- rebuild
Miroslav Lichvar 62554f
Miroslav Lichvar d9debb
* Thu Aug 09 2007 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-6
Miroslav Lichvar d9debb
- improve init script (#246869)
Miroslav Lichvar d9debb
- allow -n 0/32 to disable reporting bogons from 0.0.0.0 (#244606)
Miroslav Lichvar d9debb
- update license tag
Miroslav Lichvar d9debb
- update ethercodes.dat
Miroslav Lichvar d9debb
Miroslav Lichvar a80d80
* Wed Jun 13 2007 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-5
Miroslav Lichvar a80d80
- update ethercodes.dat
Miroslav Lichvar a80d80
Miroslav Lichvar b1329e
* Thu May 24 2007 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-4
Miroslav Lichvar b1329e
- fix return codes in init script (#237781)
Miroslav Lichvar b1329e
Miroslav Lichvar f1b7b5
* Mon Jan 15 2007 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-3
Miroslav Lichvar f1b7b5
- rename pcap user to arpwatch
Miroslav Lichvar f1b7b5
Miroslav Lichvar 6ced79
* Tue Nov 28 2006 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-2
Miroslav Lichvar 6ced79
- split from tcpdump package (#193657)
Miroslav Lichvar 6ced79
- update to 2.1a15
Miroslav Lichvar 6ced79
- clean up files in /var
Miroslav Lichvar 6ced79
- force linking with system libpcap