Files
arpwatch/arp2ethers.patch
Johannes Segitz 3ef94ebe8f Accepting request 916671 from home:jsegitz:branches:security
- Update to version 3.1 (bsc#1185939) 
  * Dropped 
    + arpwatch-2.1a11-emailaddr.dif, this is now supported upstream.
      Incompatible change: Flags change from -e and -s to -w and -W
    + arpwatch-2.1a11-hname-overflow.dif: included upstream
    + arpwatch-2.1a11-tokenring.diff: Dropped token ring support
    + arpwatch-2.1a15-massagevendor.patch: new python version
      is available
    + arpwatch-MAC.patch: Fix is upstream
    + getnameinfo.patch
  * Refreshed
    + 0001-Ignore-802.1Q-frames.patch
    + arp2ethers.patch
  * Notable upstream changes:
    + Add python 2 compatibility to massagevendor (for pfsense <= 2.4.4).
    + 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.
    + arpsnmp errors now go to stderr instead of syslog.
    + Add arpwatch directory flag (-D)
    + Added the -x flag which is like -n but excludes cidrs

OBS-URL: https://build.opensuse.org/request/show/916671
OBS-URL: https://build.opensuse.org/package/show/security/arpwatch?expand=0&rev=44
2021-09-03 12:15:51 +00:00

63 lines
1.0 KiB
Diff

Index: arpwatch-3.1/arp2ethers
===================================================================
--- arpwatch-3.1.orig/arp2ethers
+++ arpwatch-3.1/arp2ethers
@@ -13,11 +13,50 @@
# - sort
#
-sort +2rn arp.dat |
+sort -k 2 -rn arp.dat | \
awk 'NF == 4 { print }' |
- awk -f p.awk |
- egrep -v '\.[0-9][0-9]*$' |
- sed -e 's/ .* / /' |
- awk -f d.awk |
- awk -f e.awk |
- sort
+ awk '
+{
+ e = $1
+ if (seen[e])
+ next
+ seen[e] = 1
+ print
+}' | egrep -v '\.[0-9][0-9]*$' | \
+ sed -e 's/ .* / /' | \
+ awk '
+BEGIN {
+ n = 0
+ sdecnet = "aa:0:4:"
+ ldecnet = length(sdecnet)
+}
+
+{
+ ++n
+ e[n] = $1
+ h[n] = $2
+ if (sdecnet == substr($1, 1, ldecnet))
+ decnet[$2] = 1
+}
+
+END {
+ for (i = 1; i <= n; ++i) {
+ if (decnet[h[i]] && sdecnet != substr(e[i], 1, ldecnet))
+ h[i] = h[i] "-ip"
+ print e[i] "\t" h[i]
+ }
+}' | awk '
+{
+ if (!seen[$2]) {
+ seen[$2] = 1
+ print
+ next
+ }
+ h = $2 "-old"
+ s = h
+ for (n = 1; seen[h]; ++n)
+ h = s n
+ seen[h] = 1
+ print $1 "\t" h
+ next
+}' | sort