[ipset] tests/check_klog.sh: Try dmesg too, don't let shell terminate script

Message ID f7bcd843750c04b6a741967caa471b2891003a78.1525794126.git.sbrivio@redhat.com
State Accepted
Delegated to: Jozsef Kadlecsik
Headers show
Series
  • [ipset] tests/check_klog.sh: Try dmesg too, don't let shell terminate script
Related show

Commit Message

Stefano Brivio May 8, 2018, 3:43 p.m.
Some hosts might not use /var/log/kern.log for kernel messages,
so if we can't find a match there, try dmesg next.

If no matches are found, don't let the shell terminate the
script, so that we have a chance to try dmesg and actually echo
"no match!" if no matches are found: set +e before the setname
loop.

Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
---
 tests/check_klog.sh | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Jozsef Kadlecsik May 30, 2018, 8:14 a.m. | #1
On Tue, 8 May 2018, Stefano Brivio wrote:

> Some hosts might not use /var/log/kern.log for kernel messages,
> so if we can't find a match there, try dmesg next.
> 
> If no matches are found, don't let the shell terminate the
> script, so that we have a chance to try dmesg and actually echo
> "no match!" if no matches are found: set +e before the setname
> loop.

Patch is applied in the ipset git tree, thanks!

Best regards,
Jozsef
-
E-mail  : kadlec@blackhole.kfki.hu, kadlecsik.jozsef@wigner.mta.hu
PGP key : http://www.kfki.hu/~kadlec/pgp_public_key.txt
Address : Wigner Research Centre for Physics, Hungarian Academy of Sciences
          H-1525 Budapest 114, POB. 49, Hungary
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/tests/check_klog.sh b/tests/check_klog.sh
index 146e492b2770..9af5f66f28eb 100755
--- a/tests/check_klog.sh
+++ b/tests/check_klog.sh
@@ -42,8 +42,12 @@  ipaddr=`expand_ipv6 $1`; shift
 proto=`echo $1 | tr a-z A-Z`; shift
 port=$1; shift
 
+set +e
 for setname in $@; do
 	match=`tail -n +$loglines /var/log/kern.log | grep -e "in set $setname: .* SRC=$ipaddr .* PROTO=$proto SPT=$port .*"`
+	if [ -z "$match" ]; then
+		match=`dmesg | tail -n +$loglines | grep -e "in set $setname: .* SRC=$ipaddr .* PROTO=$proto SPT=$port .*"`
+	fi
 	if [ -z "$match" ]; then
 		echo "no match!"
 		exit 1