Blame tests/check_klog.sh
|
Packit Bot |
e97e7f |
#!/bin/bash
|
|
Packit Bot |
e97e7f |
|
|
Packit Bot |
e97e7f |
# set -x
|
|
Packit Bot |
e97e7f |
set -e
|
|
Packit Bot |
e97e7f |
|
|
Packit Bot |
e97e7f |
# arguments: ipaddr proto port setname ...
|
|
Packit Bot |
e97e7f |
|
|
Packit Bot |
e97e7f |
test -f .loglines || exit 1
|
|
Packit Bot |
e97e7f |
loglines=$(<.loglines)
|
|
Packit Bot |
e97e7f |
if [ $loglines -ne 0 ]; then
|
|
Packit Bot |
e97e7f |
loglines=$((loglines - 1))
|
|
Packit Bot |
e97e7f |
fi
|
|
Packit Bot |
e97e7f |
|
|
Packit Bot |
e97e7f |
expand_ipv6() {
|
|
Packit Bot |
e97e7f |
# incomplete, but for our addresses it's OK
|
|
Packit Bot |
e97e7f |
addr=
|
|
Packit Bot |
e97e7f |
n=0
|
|
Packit Bot |
e97e7f |
while read a; do
|
|
Packit Bot |
e97e7f |
n=$((n+1))
|
|
Packit Bot |
e97e7f |
if [ -z "$a" ]; then
|
|
Packit Bot |
e97e7f |
addr="$addr::"
|
|
Packit Bot |
e97e7f |
else
|
|
Packit Bot |
e97e7f |
case `echo $a | wc -c` in
|
|
Packit Bot |
e97e7f |
4) a="0$a";;
|
|
Packit Bot |
e97e7f |
3) a="00$a";;
|
|
Packit Bot |
e97e7f |
2) a="000$a";;
|
|
Packit Bot |
e97e7f |
esac
|
|
Packit Bot |
e97e7f |
addr="$addr$a:"
|
|
Packit Bot |
e97e7f |
fi
|
|
Packit Bot |
e97e7f |
done < <(echo $1 | tr : '\n')
|
|
Packit Bot |
e97e7f |
addr=`echo $addr | sed -e 's/:$//'`
|
|
Packit Bot |
e97e7f |
null=
|
|
Packit Bot |
e97e7f |
while [ $n -le 8 ]; do
|
|
Packit Bot |
e97e7f |
null="$null:0000"
|
|
Packit Bot |
e97e7f |
n=$((n+1))
|
|
Packit Bot |
e97e7f |
done
|
|
Packit Bot |
e97e7f |
addr=`echo $addr | sed -e "s/::/$null/"`
|
|
Packit Bot |
e97e7f |
echo $addr
|
|
Packit Bot |
e97e7f |
}
|
|
Packit Bot |
e97e7f |
|
|
Packit Bot |
e97e7f |
ipaddr=`expand_ipv6 $1`; shift
|
|
Packit Bot |
e97e7f |
proto=`echo $1 | tr a-z A-Z`; shift
|
|
Packit Bot |
e97e7f |
port=$1; shift
|
|
Packit Bot |
e97e7f |
|
|
Packit Bot |
e97e7f |
set +e
|
|
Packit Bot |
e97e7f |
for setname in $@; do
|
|
Packit Bot |
e97e7f |
match=`tail -n +$loglines /var/log/kern.log | grep -e "in set $setname: .* SRC=$ipaddr .* PROTO=$proto SPT=$port .*"`
|
|
Packit Bot |
e97e7f |
if [ -z "$match" ]; then
|
|
Packit Bot |
e97e7f |
match=`dmesg | tail -n +$loglines | grep -e "in set $setname: .* SRC=$ipaddr .* PROTO=$proto SPT=$port .*"`
|
|
Packit Bot |
e97e7f |
fi
|
|
Packit Bot |
e97e7f |
if [ -z "$match" ]; then
|
|
Packit Bot |
e97e7f |
echo "no match!"
|
|
Packit Bot |
e97e7f |
exit 1
|
|
Packit Bot |
e97e7f |
fi
|
|
Packit Bot |
e97e7f |
done
|
|
Packit Bot |
e97e7f |
exit 0
|