Blob Blame History Raw
#!/bin/sh
# Author: Christoph Galuschka <tigalch@tigalch.org>
#         Rene Diepstraten <rene@renediepstraten.nl>

if (t_GetPkgRel basesystem | grep -q el9)
then
  t_Log "This is a C9 system. Skipping."
  t_CheckExitStatus 0
  exit $PASS
fi

t_Log "Running $0 - arpwatch on interface with default gateway"

if [ "$CONTAINERTEST" -eq "1" ]; then
    t_Log "Running in container -> SKIP"
    exit 0
fi

# arpwatch is broken in el7
# See https://bugzilla.redhat.com/show_bug.cgi?id=1044062
[[ $centos_ver -eq 7 ]] && { 
  t_Log "arpwatch is broken on el7. Skipping test." 
  exit
}

# Kill arpwatch instance from previous test
# killall arpwatch

# getting IP-address of default gateway
defgw=$(ip route | awk '/^default via/ {print $3}')
if [ -z $defgw ]
  then
  t_Log "No default gateway, can't test arpwatch"
  exit
fi

# setting path to arp.dat
if (t_GetPkgRel basesystem | grep -q el5)
  then
  arpdat='/var/arpwatch/arp.dat'
else
  arpdat='/var/lib/arpwatch/arp.dat'
fi

# beginning and running test
arpwatch
sleep 4
arp -d $defgw
sleep 4
ping -q -i 1 -c 5 $defgw
killall arpwatch
sleep 2
grep -q $defgw $arpdat

t_CheckExitStatus $?

# cleaning up
cat /dev/null > $arpdat