Merge pull request #37 from beamerblvd/add-nsupdate-tcp-support
Add support for telling `nsupdate` to use TCP instead of UDP By default, `nsupdate` uses UDP unless the update size is too large to fit in a UDP datagram, in which case it automatically switches to TCP. This change adds a `tcp` configuration option to the `nsupdate` protocol so that the user can force `nsupdate` to use TCP.
This commit is contained in:
commit
1ec1b291ba
1 changed files with 6 additions and 0 deletions
6
ddclient
6
ddclient
|
@ -437,6 +437,7 @@ my %variables = (
|
||||||
'nsupdate-common-defaults' => {
|
'nsupdate-common-defaults' => {
|
||||||
'ttl' => setv(T_NUMBER, 0, 1, 0, 600, undef),
|
'ttl' => setv(T_NUMBER, 0, 1, 0, 600, undef),
|
||||||
'zone' => setv(T_STRING, 1, 1, 1, '', undef),
|
'zone' => setv(T_STRING, 1, 1, 1, '', undef),
|
||||||
|
'tcp' => setv(T_BOOL, 0, 1, 1, 0, undef),
|
||||||
},
|
},
|
||||||
'cloudflare-common-defaults' => {
|
'cloudflare-common-defaults' => {
|
||||||
'server' => setv(T_FQDNP, 1, 0, 1, 'www.cloudflare.com', undef),
|
'server' => setv(T_FQDNP, 1, 0, 1, 'www.cloudflare.com', undef),
|
||||||
|
@ -4091,6 +4092,10 @@ Configuration variables applicable to the 'nsupdate' protocol are:
|
||||||
zone=dyn.example.com ## forward zone that is to be updated
|
zone=dyn.example.com ## forward zone that is to be updated
|
||||||
ttl=600 ## time to live of the record;
|
ttl=600 ## time to live of the record;
|
||||||
## defaults to 600 seconds
|
## defaults to 600 seconds
|
||||||
|
tcp=off|on ## nsupdate uses UDP by default, and switches to
|
||||||
|
## TCP if the update is too large to fit in a
|
||||||
|
## UDP datagram; this setting forces TCP;
|
||||||
|
## defaults to off
|
||||||
login=/usr/bin/nsupdate ## path and name of nsupdate binary;
|
login=/usr/bin/nsupdate ## path and name of nsupdate binary;
|
||||||
## defaults to '/usr/bin/nsupdate'
|
## defaults to '/usr/bin/nsupdate'
|
||||||
<hostname> ## fully qualified hostname to update
|
<hostname> ## fully qualified hostname to update
|
||||||
|
@ -4147,6 +4152,7 @@ EoINSTR2
|
||||||
send
|
send
|
||||||
EoINSTR3
|
EoINSTR3
|
||||||
my $command = "$binary -k $keyfile";
|
my $command = "$binary -k $keyfile";
|
||||||
|
$command .= " -v" if ynu($config{$h}{'tcp'}, 1, 0, 0);
|
||||||
$command .= " -d" if (opt('debug'));
|
$command .= " -d" if (opt('debug'));
|
||||||
verbose("UPDATE:", "nsupdate command is: %s", $command);
|
verbose("UPDATE:", "nsupdate command is: %s", $command);
|
||||||
verbose("UPDATE:", "nsupdate instructions are:\n%s", $instructions);
|
verbose("UPDATE:", "nsupdate instructions are:\n%s", $instructions);
|
||||||
|
|
Loading…
Reference in a new issue