Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:paddg
dnswalk
dnswalk-unpingable.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File dnswalk-unpingable.patch of Package dnswalk
Description: Patch to allow unpingable nameserversto be ignored if queries to them time out. Author: Paul Wayper Origin: other, https://sourceforge.net/p/dnswalk/patches/4/ Bug: Last-Update: 2010-11-25 This patch gives dnswalk the -t option, which allows unpingable nameservers to be ignored if queries to them time out. Put another way: if a name server is returning 'query timed out', the -t option then allows you to ignore this nameserver if it is also unpingable. I coded this option when we had a data centre move and some of our nameservers were down. Since we run Nagios we already knew the servers were down... --- dnswalk-20101125-pjw 2010-11-25 11:20:50.000000000 +1100 +++ dnswalk 2010-11-25 11:36:17.000000000 +1100 @@ -17,12 +17,14 @@ # dnswalk has been run previously.) # -F Enable "facist" checking. (See man page) # -l Check lame delegations +# -t Ignore query timeouts on unpingable nameservers use Getopt::Std; use IO::Socket; use Net::DNS; +use Net::Ping; -getopts("D:rfiadmFl"); +getopts("D:rfiadmFlt"); $num_error{'FAIL'}=0; # failures to access data $num_error{'WARN'}=0; # questionable data @@ -403,10 +405,15 @@ } $soa_req = $res->send($packet); unless (defined($soa_req)) { - &printerr("FAIL", - "Cannot get SOA record for $zone from $nameserver (lame?): ". - $res->errorstring ."\n"); - return; + if ($res->errorstring eq 'query timed out' and $opt_t) { + # If we can't ping the machine, don't warn about the query timing out. + my $p = Net::Ping->new('icmp'); + return unless $p->ping($nameserver, 4); + } + &printerr("FAIL", + "Cannot get SOA record for $zone from $nameserver (lame?): ". + $res->errorstring ."\n"); + return; } &printerr("BAD", "$zone NS $nameserver: lame NS delegation\n") unless ($soa_req->header->aa);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor