Commit graph

390 commits

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