Commit graph

377 commits

Author SHA1 Message Date
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