Richard Hansen
12b2c0d03d
godaddy: Inline some unnecessary variables
2024-07-19 16:21:37 -04:00
Richard Hansen
bdc69d879f
geturl: Accept an arrayref for headers
2024-07-19 16:21:37 -04:00
Richard Hansen
b9144c01c2
godaddy: Use eq
for string equality
...
`==` is for numeric equality.
2024-07-19 16:21:37 -04:00
Richard Hansen
4b2155a43c
godaddy: Combine URL lines to improve readability
...
Also drop unnecessary curly braces for consistency.
2024-07-19 16:18:14 -04:00
Richard Hansen
6e98c0cdb2
godaddy: Invert conditional to improve readability
2024-07-19 16:17:50 -04:00
Richard Hansen
b1c0029604
godaddy: Simplify for
loop
2024-07-19 16:17:49 -04:00
Richard Hansen
3258ea34c0
godaddy: Shorten variables for brevity and consistency
2024-07-19 16:17:19 -04:00
Richard Hansen
56f4a2afe2
godaddy: Don't bother setting status on error
...
It's initialized to a non-'good' value before the function is called,
and ddclient doesn't distinguish between different non-good values, so
it is sufficient to leave it alone.
2024-07-19 16:16:44 -04:00
Richard Hansen
e01ed55a58
godaddy: Simplify and improve error messages
2024-07-19 16:16:21 -04:00
Richard Hansen
c63eb0f060
godaddy: Fix dubious response body check
...
It doesn't make sense to continue processing if the response body
can't be parsed. Maybe GoDaddy returned 200 and there's a bug in the
body parsing logic, in which case the `bad` result should actually be
`good`. But it's better to assume that the update wasn't saved, in
case the server returns 200 with a JSON object that semantically means
"failed to update".
2024-07-19 16:15:37 -04:00
Richard Hansen
f82d2af0f2
godaddy: Whitespace fixes
2024-07-19 16:15:30 -04:00
Richard Hansen
53b373fc9e
godaddy: Delete unnecessary comments
2024-07-19 16:08:41 -04:00
Starkstromkonsument
83ef1fa99a
Add new protocol inwx
...
Adoption of protocol dyndns2 to support their custom URL:
'https://dyndns.inwx.com/nic/update?myip= <ipaddr>&myipv6=<ip6addr>'
2024-07-19 02:26:25 -04:00
Richard Hansen
30a7c5ad78
dyndns2: Delete obsolete custom
and static
options
...
<https://help.dyn.com/remote-access-api/perform-update/ > says:
> We will accept these parameters without generating error messages:
>
> * `system`, previously used to identify update type
2024-07-19 02:12:53 -04:00
Richard Hansen
26f57bf36a
dyndns2: Delete obsolete(?) "wait" response handling
2024-07-19 01:33:02 -04:00
Richard Hansen
adfd68d5e0
dyndns2: Refine log messages
2024-07-18 05:42:49 -04:00
Richard Hansen
1e73f4a51a
dyndns2: Wrap long list of group by attributes
2024-07-18 05:42:49 -04:00
Richard Hansen
90de2f9606
dyndns2: Improve readability of status parsing
2024-07-18 05:42:49 -04:00
Richard Hansen
88f140d470
dyndns2: Invert condition to improve readability
2024-07-18 05:42:48 -04:00
Richard Hansen
8a667e3f57
dyndns2: Treat nochg
as good
to eliminate duplicate code
2024-07-18 05:42:30 -04:00
Richard Hansen
db3472a7ce
dyndns2: Simplify response parsing
2024-07-18 05:42:29 -04:00
Richard Hansen
0892655fd6
dyndns2: Add response handling TODO comments
2024-07-18 05:41:59 -04:00
Richard Hansen
d88e6438ef
Revert "Merge pull request #702 from rhansen/dyndns2"
...
I misread the original code and introduced a bug. This reverts the
entire PR so that I can redo it.
This reverts commit 9eff7404e3
, reversing
changes made to 60f931e7da
.
2024-07-18 03:30:34 -04:00
Richard Hansen
23dad564be
dyndns2: Expand rationale for not checking returned IP
2024-07-17 22:54:02 -04:00
woolflare
2f4b0859bd
Add DDNS.FM support
2024-07-15 03:50:07 -04:00
Richard Hansen
c6581b03f2
Bump version to v4.0.0~alpha
...
The list of breaking changes has become significant enough to warrant
bumping the major version number.
2024-07-14 19:07:55 -04:00
Richard Hansen
f0de73e8c4
Enable --ssl
by default
...
In this day and age there's no good reason to prefer plain HTTP over
HTTPS, and security is more important than potential compatibility
concerns.
2024-07-14 19:00:53 -04:00
Richard Hansen
13369804a0
Improve documentation for --ssl
option
...
Also move it to the top of the sample config file due to its
importance.
2024-07-14 19:00:24 -04:00
Richard Hansen
7754c65103
woima: Honor http:
or https:
scheme in server
variable
2024-07-13 18:38:53 -04:00
Richard Hansen
0ed2970852
keysystems: Honor http:
or https:
scheme in server
variable
...
or fall back to the value of the `ssl` variable if neither `http:` nor
`https:` is present.
2024-07-13 18:38:44 -04:00
Richard Hansen
469c5a072e
dnsmadeeasy: Honor http:
or https:
scheme in server
variable
2024-07-13 18:38:36 -04:00
Richard Hansen
6fbb7eb3dc
domeneshop: Honor http:
or https:
scheme in server
variable
2024-07-13 18:38:26 -04:00
Richard Hansen
c31668b413
dyndns2: Honor http:
or https:
scheme in server
variable
...
or fall back to the value of the `ssl` variable if no `http:` or
`https:` scheme is present.
2024-07-13 18:38:18 -04:00
Richard Hansen
4d5a416725
Omit deprecated services from --list-web-services
...
This also makes the handling of deprecated services a bit more
general.
2024-07-13 17:50:10 -04:00
Indrajit Raychaudhuri
0973e9d83c
Deprecate 'builtinweb' 'he' for 'he.net' for consistency with protocol
2024-07-13 17:31:52 -04:00
Indrajit Raychaudhuri
ecf935a4e2
he.net: Add support for Hurricane Electric provider
...
The implementation is based on the existing
dyndns2 protocol with a few differences:
- The IPv4 and IPv6 addresses must be updated in
separate calls. This is different from most of
the other providers where both IPv4 and IPv6
addresses can be updated in a single call. Thus
the existing dyndns2 protocol implementation
cannot be reused for dns.he.net.
- Multiple hosts are not supported by the provider.
See: https://dns.he.net/docs.html
2024-07-13 17:31:52 -04:00
Richard Hansen
d489cea344
dyndns2: Wrap long list of group by attributes
2024-07-13 04:52:05 -04:00
Richard Hansen
203bf12245
dyndns2: Improve readability of status parsing
2024-07-13 04:45:35 -04:00
Richard Hansen
ad4e3769eb
dyndns2: Invert condition to improve readability
2024-07-13 04:45:35 -04:00
Richard Hansen
0882712ec2
dyndns2: Treat nochg
as good
to eliminate duplicate code
2024-07-13 04:45:35 -04:00
Richard Hansen
45e3603918
dyndns2: Simplify response parsing
2024-07-13 04:45:35 -04:00
Richard Hansen
8a65264841
group_hosts_by: Return the common group configuration
...
This should make it easier to detect missing attribute names passed to
`group_hosts_by`.
2024-07-13 04:09:24 -04:00
Richard Hansen
b8df93febe
group_hosts_by: Return a list, not a hashref
...
The hash key value is an implementation detail that should not be
leaked to the caller.
2024-07-13 04:08:35 -04:00
Richard Hansen
08ccc41650
group_hosts_by: Use arg list instead of arrayref
...
This is more idiomatic.
2024-07-13 04:08:35 -04:00
Richard Hansen
64af205cfc
group_hosts_by: Readability improvements
2024-07-13 04:08:35 -04:00
Richard Hansen
5d2a1e864a
yandex: Remove unnecessary host groupings
...
Each host is already updated individually so there's no point in
grouping the hosts.
2024-07-13 04:08:35 -04:00
Richard Hansen
216c9c6010
hetzner: Remove unnecessary host groupings
...
Each host is already updated individually so there's no point in
grouping the hosts.
2024-07-13 04:08:35 -04:00
Richard Hansen
5ae0fd3024
hetzner: Delete unused login
variable
2024-07-13 04:08:35 -04:00
Richard Hansen
45677c0403
cloudflare: Remove unnecessary attributes from group_hosts_by
args
2024-07-13 04:08:35 -04:00
Richard Hansen
8e20185323
googledomains: Remove unnecessary host groupings
...
Each host is already updated individually so there's no point in
grouping the hosts.
2024-07-13 04:08:35 -04:00
Richard Hansen
40e4aee74f
nsupdate: Add missing tcp
to group_hosts_by
attributes
2024-07-13 04:08:35 -04:00
Richard Hansen
e8a6d1479f
godaddy: Remove unnecessary host groupings
...
Each host is already updated individually so there's no point in
grouping the hosts.
2024-07-13 04:08:35 -04:00
Richard Hansen
5db77f7c31
zoneedit1: Add TODO comments for problematic bits of code
2024-07-13 04:08:35 -04:00
Richard Hansen
217bc998fc
easydns: Remove unnecessary single host groupings
2024-07-13 04:08:35 -04:00
Richard Hansen
c8ee25ef82
noip: Remove unused attributes from group_hosts_by
arguments
2024-07-13 04:08:35 -04:00
Richard Hansen
1faa315794
noip: Delete unused variables
2024-07-13 04:08:35 -04:00
Richard Hansen
39e3322fc0
dyndns2: Add missing script
to group_hosts_by
attributes
2024-07-13 04:08:35 -04:00
Richard Hansen
161c623557
Whitespace fixes
2024-07-13 04:08:33 -04:00
Richard Hansen
b488cb2235
Unwrap error message
...
Normally I prefer lines to be less than 100 characters long, but error
messages are an exception because it makes it easier to search the
source code for the error message.
2024-07-12 18:00:38 -04:00
Richard Hansen
4d9d0646cf
Delete unnecessary comments
2024-07-12 18:00:38 -04:00
Richard Hansen
f5b369a7ef
Fix undef warning when encountering an unset but required var
...
This fixes a bug probably introduced in commit
b8a0a26441
2024-06-29 04:14:57 -04:00
Richard Hansen
89c84f9f07
Ignore (with warning) unknown vars in --options
2024-06-29 04:14:35 -04:00
Richard Hansen
1f31b0e570
Prevent autovivification of empty definitions for unknown variables
2024-06-29 04:14:35 -04:00
Richard Hansen
d8317a730d
Fix die
that should be return undef
...
I got ahead of myself -- I intend to replace `return undef` with `die`
in a future commit, and somehow this one jumped the gun.
This fixes a bug introduced in commit
eab72ef6d7
2024-06-29 04:14:31 -04:00
Richard Hansen
04bdd68415
Always set the host
variable
...
The `host` variable is required, so always set it to avoid error
messages when validating the host configuration.
2024-06-29 04:14:02 -04:00
Richard Hansen
be3c2060eb
Fix undefined hash reference warning
...
This fixes a bug introduced in commit
5e3e10d32e
For some reason Perl is OK with:
my $x = undef;
my @k = keys(%$x); # empty list, no warnings
but not:
my $x = undef;
my %h = %$x;
my @k = keys(%h);
2024-06-29 04:13:57 -04:00
Richard Hansen
de39ac7bcc
Fix undef warning when daemon
is unset
...
This fixes a bug introduced in commit
88eb2ed4fe
2024-06-29 03:10:51 -04:00
Richard Hansen
ae7a9dce2a
Fix variable name typo
...
This fixes a bug introduced in commit
b154d8ef98
2024-06-29 03:10:51 -04:00
Richard Hansen
49f5551764
Add variable default value tests
2024-06-28 15:53:40 -04:00
Richard Hansen
eab72ef6d7
Require a defined value if the variable is required
2024-06-28 15:53:40 -04:00
Richard Hansen
399f8a8b32
Adjust variable defaults to pass validity checks
...
Change the default of every variable whose default (non-`undef`)
doesn't pass through `check_value` unmodified.
2024-06-28 15:53:40 -04:00
Richard Hansen
88eb2ed4fe
Use undef
as the default of truly optional variables
2024-06-28 15:53:39 -04:00
Richard Hansen
ba6a279186
Convert unnecessarily required variables to optional
...
Users are not required to provide values for these variables; either
the default is reasonable or the variable can be left unset.
2024-06-28 15:53:06 -04:00
Richard Hansen
b8a0a26441
Remove defaults from required variables without sensible defaults
...
Required variables with defaults don't make sense; remove the default
values on variables that don't have sensible defaults, such as login
and password.
2024-06-28 15:50:35 -04:00
Richard Hansen
be9e305e73
Fix definition of wtime
variable
2024-06-28 15:28:44 -04:00
Richard Hansen
e32b9436fb
nfsn: Fix type of min-interval
variable
2024-06-28 15:28:44 -04:00
Richard Hansen
66bb07450f
nfsn: Fix spelling of min-interval
variable name
2024-06-28 15:28:44 -04:00
Richard Hansen
5757f7e07d
Restore accidentally deleted --fw
command-line argument
...
This was mistakenly deleted in commit
908b728503
.
2024-06-27 00:10:35 -04:00
Richard Hansen
948567c456
infomaniak: Unrequire server
setting
...
The `infomaniak` protocol doesn't use `server`.
2024-06-25 22:53:23 -04:00
Richard Hansen
9ba583175a
infomaniak: Fail if the HTTP status code is not 2xx
2024-06-25 22:53:23 -04:00
Richard Hansen
7d99da77cc
header_ok: Fail if the reply is falsy
2024-06-25 22:53:23 -04:00
Richard Hansen
8e24c92b1e
infomaniak: Fix response parsing
2024-06-25 22:53:23 -04:00
Richard Hansen
d2f0e042f4
infomaniak: Invert condition to improve readability
2024-06-25 22:47:26 -04:00
Richard Hansen
29e86d9a91
infomaniak: Rename variable for readability
2024-06-25 22:47:25 -04:00
Richard Hansen
a5dedeed3c
infomaniak: Fix geturl call
...
* Pass login and password via `login` and `password` options to
avoid issues with escaping special characters.
* Don't attempt twice -- if the first attempt fails, the second will
almost certainly fail as well. (The two attempted URLs were
equivalent, differing only in how the login and password were
passed.)
2024-06-25 22:47:25 -04:00
Richard Hansen
ac9f937c88
infomaniak: Delete unnecessary defined checks
...
`undef` is falsy so there's no need to check whether the value is
defined.
2024-06-25 22:46:00 -04:00
Richard Hansen
bab9d9483e
infomaniak: Move variable declaration to definition
2024-06-25 21:55:46 -04:00
Richard Hansen
134e47b61d
infomaniak: Delete unnecessary newlines
2024-06-25 21:50:51 -04:00
Richard Hansen
9d49a33ac6
regfishde: Fix IPv6 support
2024-06-25 02:58:09 -04:00
Richard Hansen
0cde2e3f96
infomaniak: Fix mtime
update
...
`mtime` should always be updated whenever the IP address is updated,
otherwise ddclient will keep force updating over and over.
2024-06-25 02:57:42 -04:00
Richard Hansen
61577d29ae
njalla: Fix configuration change during update
...
If the user enabled `quietreply`, it should not become false after the
first update.
Users might not notice a problem because I think ddclient re-reads the
config file before every check.
2024-06-25 02:52:22 -04:00
Richard Hansen
32bf975bfa
Fix call to wrong function name with bad --usev6
2024-06-25 02:52:22 -04:00
Richard Hansen
99dfd7f84d
Don't assume that --use
is defined
2024-06-25 02:51:58 -04:00
Richard Hansen
b154d8ef98
Fix missing v4, v6 variants in recap update
...
Fixes an oversight when IPv6 support was added.
2024-06-25 02:48:51 -04:00
Richard Hansen
dafde8becb
Fix erroneous backupmx
recap check for dyndns1
, dyndns2
2024-06-25 01:38:43 -04:00
Richard Hansen
7ac6eda7cc
Fix missing local use*
override in --query
2024-06-25 01:37:47 -04:00
Richard Hansen
c7c8c5f097
Fix usev4
, usev6
output for --query
2024-06-25 01:32:27 -04:00
Richard Hansen
27b50a3b93
Fix --usev4=cisco
, --usev4=cisco-asa
warning messages
2024-06-25 01:29:29 -04:00
Richard Hansen
e1e8d5711a
Fix get_ip
argument in --query
when testing --fw
2024-06-25 01:20:30 -04:00
Richard Hansen
b363fb48a5
Fix string equality check
...
The `$proto` interpolation wasn't quoted with `\Q` and `\E`, so
metacharacters in `$proto` could break the matching. Switch from a
regex to an expression to fix the equality check and improve
readability.
2024-06-25 00:50:22 -04:00