summaryrefslogtreecommitdiff
path: root/community/arpwatch
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-08-13 01:33:19 -0700
committerroot <root@rshg054.dnsready.net>2013-08-13 01:33:19 -0700
commit7a65a910b77ad191d69881098c47f9b0c852d92e (patch)
tree9564e611af1442f8952a8cbddb3b0ad25ed71aab /community/arpwatch
parent60da6abff6c9577a783d72865f11de7a585e912e (diff)
Tue Aug 13 01:31:08 PDT 2013
Diffstat (limited to 'community/arpwatch')
-rw-r--r--community/arpwatch/LICENSE18
-rw-r--r--community/arpwatch/PKGBUILD52
-rw-r--r--community/arpwatch/arpwatch.service11
-rw-r--r--community/arpwatch/ethercodes.dat.xzbin0 -> 166132 bytes
-rwxr-xr-xcommunity/arpwatch/gen_ethercode.sh32
5 files changed, 113 insertions, 0 deletions
diff --git a/community/arpwatch/LICENSE b/community/arpwatch/LICENSE
new file mode 100644
index 000000000..be49954d9
--- /dev/null
+++ b/community/arpwatch/LICENSE
@@ -0,0 +1,18 @@
+Copyright (c) 1992, 1993, 1994, 1995, 1996, 1998, 2000
+ The Regents of the University of California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that: (1) source code distributions
+retain the above copyright notice and this paragraph in its entirety, (2)
+distributions including binary code include the above copyright notice and
+this paragraph in its entirety in the documentation or other materials
+provided with the distribution, and (3) all advertising materials mentioning
+features or use of this software display the following acknowledgement:
+``This product includes software developed by the University of California,
+Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
+the University nor the names of its contributors may be used to endorse
+or promote products derived from this software without specific prior
+written permission.
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/community/arpwatch/PKGBUILD b/community/arpwatch/PKGBUILD
new file mode 100644
index 000000000..526fbc6f2
--- /dev/null
+++ b/community/arpwatch/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 94834 2013-07-31 01:12:04Z seblu $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sébastien Luttringer
+
+pkgname=arpwatch
+pkgver=2.1a15
+pkgrel=12
+pkgdesc='Ethernet/FDDI station activity monitor'
+arch=('i686' 'x86_64')
+url='ftp://ftp.ee.lbl.gov/'
+license=('BSD')
+depends=('libpcap' 'smtp-forwarder')
+source=("ftp://ftp.ee.lbl.gov/$pkgname-$pkgver.tar.gz"
+ 'ethercodes.dat.xz'
+ 'LICENSE'
+ "$pkgname.service")
+md5sums=('cebfeb99c4a7c2a6cee2564770415fe7'
+ '0a47a4e7a0f2ede5c8c7f22ec678fa72'
+ '9359518c500562281e76cdb0b2fa9062'
+ '43e2358ba0532da38e5296250a7fcfd8')
+
+prepare() {
+ cd $pkgname-$pkgver
+ # move arp database in /var/lib/arpwatch
+ # /var is used because arpwatch write its learned mac into this folder
+ sed -i 's|ARPDIR = $(prefix)/arpwatch|ARPDIR = /var/lib/arpwatch|' Makefile.in
+ # binary ownership to root
+ sed -i 's/-\(o\|g\) bin/-\1 root/g' Makefile.in
+ # Update ethercodes with recent OUI. See gen_ethercodes.sh
+ cp -f "$srcdir/ethercodes.dat" ethercodes.dat
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --mandir=/usr/share/man --sbindir=/usr/bin
+ make SENDMAIL=/usr/bin/sendmail
+}
+
+package() {
+ cd $pkgname-$pkgver
+ install -d -m 0755 "$pkgdir"/usr/{bin,share/man/man8}
+ make DESTDIR="$pkgdir" install install-man
+ # install ether prefix database
+ install -Dm644 ethercodes.dat "$pkgdir/var/lib/$pkgname/ethercodes.dat"
+ cd "$srcdir"
+ # license
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ # systemd
+ install -Dm644 $pkgname.service "$pkgdir/usr/lib/systemd/system/$pkgname@.service"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/arpwatch/arpwatch.service b/community/arpwatch/arpwatch.service
new file mode 100644
index 000000000..ede31f3f7
--- /dev/null
+++ b/community/arpwatch/arpwatch.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Watch ARP on interface %I
+After=network.target
+
+[Service]
+Type=forking
+ExecStartPre=/usr/bin/touch /var/lib/arpwatch/%I.dat
+ExecStart=/usr/bin/arpwatch -f /var/lib/arpwatch/%I.dat -i %I
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/arpwatch/ethercodes.dat.xz b/community/arpwatch/ethercodes.dat.xz
new file mode 100644
index 000000000..1838c8194
--- /dev/null
+++ b/community/arpwatch/ethercodes.dat.xz
Binary files differ
diff --git a/community/arpwatch/gen_ethercode.sh b/community/arpwatch/gen_ethercode.sh
new file mode 100755
index 000000000..a5cdeeebe
--- /dev/null
+++ b/community/arpwatch/gen_ethercode.sh
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+# Copyright © 2013 Sébastien Luttringer
+
+# This script is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This script is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this script. If not, see <http://www.gnu.org/licenses/>.
+
+# Get and format official OUI
+wget -O- 'http://standards.ieee.org/regauth/oui/oui.txt' | \
+sed -nr 's/[ \t]+(..)-(..)-(..)[ \t]+\(hex\)[ \t]+(.*)/\L\1:\2:\3\E\t\4/p' > ethercodes.dat
+
+# Add private OUI
+cat >> ethercodes.dat <<EOF
+52:54:00 QEMU Virtual NIC
+b0:c4:20 Bochs Virtual NIC
+de:ad:ca PearPC Virtual NIC
+00:ff:d1 Cooperative Linux virtual NIC
+EOF
+
+# Sort and compress
+sort ethercodes.dat | xz -9 > ethercodes.dat.xz
+rm ethercodes.dat