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
Richard Hansen
78be40fe2c
update_nics: Remove unnecessary assertions
...
These just add cold code paths and impair readability and
maintainability.
2024-09-01 20:06:45 -04:00
Richard Hansen
499318fbe0
update_nics: Always overwrite status-ipv*
with value from status
2024-09-01 20:06:28 -04:00
Richard Hansen
94ce6367ec
write_recap: Also clear out non-recap and stale values
...
Before, if a non-`undef` value was in `%recap` and the corresponding
value in `%config` became `undef`, the `%recap` value would remain
untouched. Now it is deleted to match `%config`.
Also, any `%recap` values without a corresponding recap variable
declaration are deleted.
2024-09-01 20:06:11 -04:00