Fixing warnings on FreeDNS update NOP
Fix based on pull request #31 on github commited by @hank. _original comments_ When FreeDNS was updating, I was noticing that it would send back an HTTP 200 with the text "Address [IP] has not changed", but ddclient was issuing a failed status for this and logging a ton of text to syslog. I changed the function a tiny bit to allow this to be a success status. I also reformatted the code to all spaces instead of mixed spaces and tabs, but you can take that or leave it - I don't really care, it was just a total whitespace disaster before.
This commit is contained in:
parent
4f7fb1b3aa
commit
5abb9fe1fe
1 changed files with 33 additions and 30 deletions
63
ddclient
63
ddclient
|
|
@ -3704,10 +3704,7 @@ EoEXAMPLE
|
||||||
##
|
##
|
||||||
######################################################################
|
######################################################################
|
||||||
sub nic_freedns_update {
|
sub nic_freedns_update {
|
||||||
|
|
||||||
|
|
||||||
debug("\nnic_freedns_update -------------------");
|
debug("\nnic_freedns_update -------------------");
|
||||||
|
|
||||||
## First get the list of updatable hosts
|
## First get the list of updatable hosts
|
||||||
my $url;
|
my $url;
|
||||||
$url = "http://$config{$_[0]}{'server'}/api/?action=getdyndns&sha=".&sha1_hex("$config{$_[0]}{'login'}|$config{$_[0]}{'password'}");
|
$url = "http://$config{$_[0]}{'server'}/api/?action=getdyndns&sha=".&sha1_hex("$config{$_[0]}{'login'}|$config{$_[0]}{'password'}");
|
||||||
|
|
@ -3733,34 +3730,40 @@ sub nic_freedns_update {
|
||||||
info("setting IP address to %s for %s", $ip, $h);
|
info("setting IP address to %s for %s", $ip, $h);
|
||||||
verbose("UPDATE:","updating %s", $h);
|
verbose("UPDATE:","updating %s", $h);
|
||||||
|
|
||||||
if($ip eq $freedns_hosts{$h}->[1]) {
|
if($ip eq $freedns_hosts{$h}->[1]) {
|
||||||
$config{$h}{'ip'} = $ip;
|
$config{$h}{'ip'} = $ip;
|
||||||
$config{$h}{'mtime'} = $now;
|
$config{$h}{'mtime'} = $now;
|
||||||
$config{$h}{'status'} = 'good';
|
$config{$h}{'status'} = 'good';
|
||||||
success("update not necessary %s: good: IP address already set to %s", $h, $ip);
|
success("update not necessary %s: good: IP address already set to %s", $h, $ip);
|
||||||
} else {
|
} else {
|
||||||
my $reply = geturl(opt('proxy'), $freedns_hosts{$h}->[2]);
|
my $reply = geturl(opt('proxy'), $freedns_hosts{$h}->[2]);
|
||||||
if (!defined($reply) || !$reply) {
|
if (!defined($reply) || !$reply) {
|
||||||
failed("updating %s: Could not connect to %s.", $h, $freedns_hosts{$h}->[2]);
|
failed("updating %s: Could not connect to %s.", $h, $freedns_hosts{$h}->[2]);
|
||||||
last;
|
last;
|
||||||
}
|
}
|
||||||
if(!header_ok($h, $reply)) {
|
if(!header_ok($h, $reply)) {
|
||||||
$config{$h}{'status'} = 'failed';
|
$config{$h}{'status'} = 'failed';
|
||||||
last;
|
last;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($reply =~ /Updated.*$h.*to.*$ip/) {
|
if ($reply =~ /Updated.*$h.*to.*$ip/) {
|
||||||
$config{$h}{'ip'} = $ip;
|
$config{$h}{'ip'} = $ip;
|
||||||
$config{$h}{'mtime'} = $now;
|
$config{$h}{'mtime'} = $now;
|
||||||
$config{$h}{'status'} = 'good';
|
$config{$h}{'status'} = 'good';
|
||||||
success("updating %s: good: IP address set to %s", $h, $ip);
|
success("updating %s: good: IP address set to %s", $h, $ip);
|
||||||
} else {
|
} elsif ($reply =~ /Address (\d+\.\d+\.\d+\.\d+) has not changed/) {
|
||||||
$config{$h}{'status'} = 'failed';
|
$ip = $1;
|
||||||
warning("SENT: %s", $freedns_hosts{$h}->[2]) unless opt('verbose');
|
$config{$h}{'mtime'} = $now;
|
||||||
warning("REPLIED: %s", $reply);
|
$config{$h}{'status'} = 'good';
|
||||||
failed("updating %s: Invalid reply.", $h);
|
$config{$h}{'ip'} = $ip;
|
||||||
}
|
success("updating %s: good: IP address %s has not changed", $h, $ip);
|
||||||
}
|
} else {
|
||||||
|
$config{$h}{'status'} = 'failed';
|
||||||
|
warning("SENT: %s", $freedns_hosts{$h}->[2]) unless opt('verbose');
|
||||||
|
warning("REPLIED: %s", $reply);
|
||||||
|
failed("updating %s: Invalid reply.", $h);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue