zonemaster-engine icon indicating copy to clipboard operation
zonemaster-engine copied to clipboard

Cryptic error message when logfilter is wrong

Open matsduf opened this issue 3 years ago • 0 comments

Log filer is a feature that lets a configuration set a different level on the message for e.g. selected name servers. Here the level has been increased to WARNING for one name server (ns.nic.se/2001:67c:124c:100a::45) when IPv6 has been disabled:

zonemaster-cli --test basic iis.se --level info --no-ipv6 --raw --profile profile-filter.json
Laddar profil från profile-filter.json.
   0.00 INFO      GLOBAL_VERSION   version=v4.2.1
   0.12 INFO      HAS_PARENT   pname=se; zone=iis.se
   0.80 WARNING   IPV6_DISABLED   ns=ns.nic.se/2001:67c:124c:100a::45; rrtype=SOA
   0.80 WARNING   IPV6_DISABLED   ns=ns.nic.se/2001:67c:124c:100a::45; rrtype=NS
   0.81 INFO      IPV6_DISABLED   ns=ns3.nic.se/2001:67c:124c:2007::45; rrtype=SOA
   0.81 INFO      IPV6_DISABLED   ns=ns3.nic.se/2001:67c:124c:2007::45; rrtype=NS
   0.83 WARNING   IPV6_DISABLED   ns=ns.nic.se/2001:67c:124c:100a::45; rrtype=NS
   0.83 INFO      HAS_NAMESERVERS   ns=ns.nic.se/91.226.36.45; nsnlist=ns.nic.se.,ns3.nic.se.
   0.83 INFO      IPV6_DISABLED   ns=ns3.nic.se/2001:67c:124c:2007::45; rrtype=NS
   0.83 INFO      HAS_NAMESERVERS   ns=ns3.nic.se/91.226.37.45; nsnlist=ns.nic.se.,ns3.nic.se.
   0.84 INFO      HAS_NAMESERVER_NO_WWW_A_TEST   zname="iis.se"

Here is the setting:

    "logfilter" : {
        "BASIC" : {
            "IPV6_DISABLED" : [
                {
                    "when" : {
                        "ns" : "ns.nic.se/2001:67c:124c:100a::45"
                    },
                    "set" : "WARNING"
                }
            ]
        }
    },

If the argument is incorrectly "server" instead "ns" in the setting, then a perl warning will be outputted without any information on what the problem is.

Use of uninitialized value in string eq at /usr/local/lib/perl5/site_perl/Zonemaster/Engine/Logger.pm line 70.
   0.79 INFO      IPV6_DISABLED   ns=ns.nic.se/2001:67c:124c:100a::45; rrtype=SOA
Use of uninitialized value in string eq at /usr/local/lib/perl5/site_perl/Zonemaster/Engine/Logger.pm line 70.
   0.79 INFO      IPV6_DISABLED   ns=ns.nic.se/2001:67c:124c:100a::45; rrtype=NS
Use of uninitialized value in string eq at /usr/local/lib/perl5/site_perl/Zonemaster/Engine/Logger.pm line 70.
   0.80 INFO      IPV6_DISABLED   ns=ns3.nic.se/2001:67c:124c:2007::45; rrtype=SOA
Use of uninitialized value in string eq at /usr/local/lib/perl5/site_perl/Zonemaster/Engine/Logger.pm line 70.
   0.81 INFO      IPV6_DISABLED   ns=ns3.nic.se/2001:67c:124c:2007::45; rrtype=NS
Use of uninitialized value in string eq at /usr/local/lib/perl5/site_perl/Zonemaster/Engine/Logger.pm line 70.
   0.82 INFO      IPV6_DISABLED   ns=ns.nic.se/2001:67c:124c:100a::45; rrtype=NS
   0.82 INFO      HAS_NAMESERVERS   ns=ns.nic.se/91.226.36.45; nsnlist=ns.nic.se.,ns3.nic.se.
Use of uninitialized value in string eq at /usr/local/lib/perl5/site_perl/Zonemaster/Engine/Logger.pm line 70.
   0.83 INFO      IPV6_DISABLED   ns=ns3.nic.se/2001:67c:124c:2007::45; rrtype=NS

This could happen if the argument name changes from on Zonemaster version to another. A better error message should be outputted. See issue #939.

matsduf avatar Jul 19 '21 12:07 matsduf