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