patches/ddclient-noipv4.patch (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | diff --git a/ddclient.in b/ddclient.in
index 5e4759e..dd2fb58 100755
--- a/ddclient.in
+++ b/ddclient.in
@@ -431,7 +431,8 @@ my %variables = (
'proxy' => setv(T_FQDNP, 0, 0, undef, undef),
'protocol' => setv(T_PROTO, 0, 0, 'dyndns2', undef),
- 'use' => setv(T_USE, 0, 0, 'ip', undef),
+ 'use' => setv(T_USE, 0, 0, 'disabled', undef),
+
'usev4' => setv(T_USEV4, 0, 0, 'disabled', undef),
'usev6' => setv(T_USEV6, 0, 0, 'disabled', undef),
'ip' => setv(T_IP, 0, 0, undef, undef),
@@ -489,7 +490,7 @@ my %variables = (
'password' => setv(T_PASSWD,1, 0, '', undef),
'host' => setv(T_STRING,1, 1, '', undef),
- 'use' => setv(T_USE, 0, 0, 'ip', undef),
+ 'use' => setv(T_USE, 0, 0, 'disabled', undef),
'if' => setv(T_IF, 0, 0, 'ppp0', undef),
'web' => setv(T_STRING,0, 0, 'dyndns', undef),
'web-skip' => setv(T_STRING,0, 0, '', undef),
@@ -1075,6 +1076,8 @@ sub main {
read_cache(opt('cache'), \%cache);
print_info() if opt('debug') && opt('verbose');
+ fatal("invalid argument '-use %s'; possible values are:\n%s", $opt{'use'}, join("\n", ip_strategies_usage()))
+ unless exists $ip_strategies{lc opt('use')};
fatal("invalid argument '-use %s'; possible values are:\n%s", $opt{'use'}, join("\n", ip_strategies_usage()))
unless exists $ip_strategies{lc opt('use')};
if (defined($opt{'usev6'})) {
@@ -1154,11 +1157,9 @@ sub update_nics {
next if $config{$h}{'protocol'} ne lc($s);
$examined{$h} = 1;
# we only do this once per 'use' and argument combination
- my $use = opt('use', $h) // 'disabled';
- my $usev4 = opt('usev4', $h) // 'disabled';
+ my $use = 'disabled';
+ my $usev4 = 'disabled';
my $usev6 = opt('usev6', $h) // 'disabled';
- $use = 'disabled' if ($use eq 'no'); # backward compatibility
- $usev6 = 'disabled' if ($usev6 eq 'no'); # backward compatibility
my $arg_ip = opt('ip', $h) // '';
my $arg_ipv4 = opt('ipv4', $h) // '';
my $arg_ipv6 = opt('ipv6', $h) // '';
@@ -1592,18 +1593,6 @@ sub init_config {
##
$opt{'quiet'} = 0 if opt('verbose');
- ## infer the IP strategy if possible
- if (!$opt{'use'}) {
- $opt{'use'} = 'web' if ($opt{'web'});
- $opt{'use'} = 'if' if ($opt{'if'});
- $opt{'use'} = 'ip' if ($opt{'ip'});
- }
- ## infer the IPv4 strategy if possible
- if (!$opt{'usev4'}) {
- $opt{'usev4'} = 'webv4' if ($opt{'webv4'});
- $opt{'usev4'} = 'ifv4' if ($opt{'ifv4'});
- $opt{'usev4'} = 'ipv4' if ($opt{'ipv4'});
- }
## infer the IPv6 strategy if possible
if (!$opt{'usev6'}) {
$opt{'usev6'} = 'webv6' if ($opt{'webv6'});
@@ -5813,11 +5802,12 @@ sub nic_nsupdate_update {
## nsupdate requires a port number to be separated by whitepace, not colon
$server =~ s/:/ /;
my $zone = $config{$h}{'zone'};
- my $ip = $config{$h}{'wantip'};
+ my $ip = $config{$h}{'wantipv6'};
my $recordtype = '';
if (is_ipv6($ip)) {
$recordtype = 'AAAA';
} else {
+ next;
$recordtype = 'A';
}
delete $config{$_}{'wantip'} foreach @hosts;
|