diff --git a/html/cgi-bin/dns.cgi b/html/cgi-bin/dns.cgi index a66b1ed08..a878f1786 100755 --- a/html/cgi-bin/dns.cgi +++ b/html/cgi-bin/dns.cgi @@ -795,10 +795,6 @@ sub check_nameserver($$$$) { my $output = join("", @output); my $status = 0; - if ($output =~ m/WARNING: (.*)/) { - return $1; - - } if ($output =~ m/status: (\w+)/) { $status = ($1 eq "NOERROR"); @@ -806,6 +802,18 @@ sub check_nameserver($$$$) { if (!$status) { return -1; } + } else { + my $warning; + + while ($output =~ m/WARNING: (.*)/g) { + # Add the current grabbed warning to the warning string. + $warning .= "$1\; "; + } + + # Return the warning string, if we grabbed at least one. + if ($warning) { + return $warning; + } } my @flags = ();