Commit graph

677 commits

Author SHA1 Message Date
Richard Hansen
50e8d2ed00 Post-release version bump 2025-01-19 14:46:10 -05:00
Richard Hansen
d6da6b878d Release v4.0.0 2025-01-19 14:29:22 -05:00
Richard Hansen
803f77404d Post-release version bump 2025-01-11 03:30:56 -05:00
Richard Hansen
63bf3512a4 dnsexit2: Update multiple hosts at a time when possible 2025-01-10 19:20:25 -05:00
Richard Hansen
d18b1cdb27 logging: Move filtering and reactions to Logger class
This increases overhead when the verbose or debug option is disabled,
but makes it possible for tests to intercept debug, info, and fatal
messages.
2025-01-10 19:20:25 -05:00
steven
ae01ba26c1 Do not use quotemeta on cmdv4 and cmdv6 arguments
`quotemeta` prevents executing commands with arguments.  With this
change, it is now possible to get an IP address with:

    usev4=cmdv4
    cmdv4="dig +short myip.opendns.com @resolver1.opendns.com"
2025-01-09 19:29:00 -05:00
Indrajit Raychaudhuri
8dcea0d779 Make 'cmd-skip' warning message consistent for IPv4 and IPv6 2025-01-08 19:09:29 -05:00
Bodo Eggert
8883641d97 fix ddclient --verbose calling 'p' instead of using $p{foo} 2025-01-08 19:08:19 -05:00
Richard Hansen
8decfc4b77 Post-release version bump
We'll probably just release `v4.0.0` without an `-rc.3`, but I'm
setting it to `-rc.3` just in case (decreasing the version number can
break automatically built daily Git snapshots).
2025-01-07 14:37:32 -05:00
Richard Hansen
7248341ad6 Change default location of ddclient.conf to ${sysconfdir}/ddclient 2025-01-07 04:33:54 -05:00
Richard Hansen
d2b1a4dfa6 fixup! add mail-from option
move variable declaration closer to usage
2025-01-06 20:20:26 -06:00
Richard Hansen
d1f81dc9e4 fixup! add mail-from option
factor out duplicate code
2025-01-06 20:20:26 -06:00
Richard Hansen
2de77f17f7 fixup! add mail-from option
default to undef
2025-01-06 20:20:26 -06:00
Richard Hansen
a2e818d6d3 fixup! add mail-from option
refine usage wording
2025-01-06 20:20:26 -06:00
Joel Beckmeyer
8030a46ca3 add mail-from option 2025-01-06 20:20:26 -06:00
Richard Hansen
59f6c2959a Prepare for v4.0.0-rc.2 2025-01-06 21:03:47 -05:00
Indrajit Raychaudhuri
3da4259a41 Fix small typo in 'nochg' message grammar 2024-12-26 18:26:26 -06:00
Richard Hansen
87a919a715 Release v4.0.0-rc.1 2024-12-25 02:22:24 -05:00
Richard Hansen
54b6d0cb0d Use semver 2.0.0 as the human-readable version string format
This avoids the need to escape tilde in tag names.
2024-12-23 21:40:07 -05:00
Joel Beckmeyer
eb48bb55ae make porkbun endpoint configurable 2024-12-19 03:50:03 -05:00
Cristian Aldea
d9365359bd update porkbun api endpoint domain 2024-12-19 03:50:03 -05:00
Richard Hansen
ad3cd11446 Improve deduplication of redundant use* queries 2024-09-06 18:53:14 -04:00
Richard Hansen
c71f6f6eae Prefetch the data relevant to the use* strategies
This is a preparatory step to improving the deduplication of queries.
It also makes possible future improvements to config validation and
help usage output.
2024-09-06 18:53:14 -04:00
Richard Hansen
f3678ce119 Don't get host-specific values of global options 2024-09-06 18:53:14 -04:00
Richard Hansen
5d545aae5c Simplify arg assignment for readability 2024-09-06 18:53:14 -04:00
Richard Hansen
5ed43a2e4c tests: Factor out duplicate HTTP server code 2024-09-06 18:44:19 -04:00
Richard Hansen
695c3c4be8 Separate recap variables from configuration variables 2024-09-02 03:55:09 -04:00
Richard Hansen
76afbb6673 _read_config: Add infrastructure for host-dependent validation
This is a preparatory step for separating recap variables from config
variables.
2024-09-02 03:55:09 -04:00
Richard Hansen
0f1ea65fd7 _read_config: Minor refactor for readability and maintainability 2024-09-02 03:55:09 -04:00
Richard Hansen
ac67c04f13 _read_config: Check host definedness, not existence 2024-09-02 03:55:09 -04:00
Richard Hansen
a18efcbe32 Force an update if a host's protocol changes 2024-09-02 03:55:09 -04:00
Richard Hansen
1e3bebc60d Object-oriented protocol definitions
This improves readability and will make it easier to refactor to fix
issues or add features.
2024-09-02 03:55:09 -04:00
Richard Hansen
2da08cceb9 Convert static list of config change detection vars to per-protocol 2024-09-02 03:55:09 -04:00
Richard Hansen
273af1c821 nic_updateable: Ignore non-recap vars when detecting config change 2024-09-02 03:55:09 -04:00
Richard Hansen
803621a9ee Switch "magic constant" list of change detection vars to a var 2024-09-02 03:55:09 -04:00
Richard Hansen
268369a05e Write update status to %recap, not %config
Status is not configuration so it doesn't belong in `%config`.

`wantip`, `wantipv4`, and `wantipv6` are still passed along in
`%config` because `group_hosts_by` needs access to them like other
settings.
2024-09-02 03:55:09 -04:00
Richard Hansen
0348ded46b write_recap: Move update-specific %recap sync to update_nics
This is a step toward separating `%recap` from `%config`.
2024-09-01 20:10:42 -04:00
Richard Hansen
e478117d4e write_recap: Move warned-min-* recap sync to where they are set
This is a step toward separating `%recap` from `%config`.
2024-09-01 20:10:26 -04:00
Richard Hansen
1a748e7a86 write_recap: Only update variables that could have changed
This is a step toward improving readability of `%config`/`%recap`
synchronization.
2024-09-01 20:10:09 -04:00
Richard Hansen
7660ca52bf write_recap: Remove unnecessary recap existence check 2024-09-01 20:09:52 -04:00
Richard Hansen
2927f205ea update_nics: Move non-config recap var reset to update call
for readability
2024-09-01 20:09:35 -04:00
Richard Hansen
974bba4d93 update_nics: Don't set wantip* if they're all undef
This helps keep `%config` "clean", which helps with testing and
debugging.
2024-09-01 20:09:18 -04:00
Richard Hansen
75552f80f7 nic_updateable: Don't mutate status-ipv* vars if not updating
This simplifies the logic a bit and improves readability.
2024-09-01 20:09:01 -04:00
Richard Hansen
25fac765a0 nic_updateable: Move clearing of update to write_recap
for readability (the logic that uses the `update` boolean should be
responsible for clearing it).
2024-09-01 20:08:44 -04:00
Richard Hansen
5256a1d02c update_nics: Move legacy protocol support to an adapter function 2024-09-01 20:08:27 -04:00
Richard Hansen
a178d40633 update_nics: Combine post-update host loops 2024-09-01 20:08:10 -04:00
Richard Hansen
bf83ba032c update_nics: Move legacy wantip assignment to update call
This consolidates the legacy support with other legacy support logic,
which will make it easier to refactor in a future commit.
2024-09-01 20:07:53 -04:00
Richard Hansen
c5df774b7e update_nics: Change || next to or next (for readability) 2024-09-01 20:07:36 -04:00
Richard Hansen
20439bc130 update_nics: Refine comment 2024-09-01 20:07:19 -04:00
Richard Hansen
cb66870019 update_nics: Refine debug message for consistency/readability 2024-09-01 20:07:02 -04:00