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
Richard Hansen
c64e432bf1
write_recap: Update all status recap vars when writing recap
2024-09-01 20:05:54 -04:00
Richard Hansen
f2c9ef6641
read_recap: Scrub recap values without var declarations
2024-09-01 20:05:40 -04:00