Commit graph

1483 commits

Author SHA1 Message Date
Richard Hansen
07289d5c48 New GitHub workflow to enforce linear pull requests
When combined with GitHub's "Require branches to be up to date before
merging" setting, this forces semi-linear merging.  This check can be
disabled by adding the "pr-permit-nonlinear" label to the PR.
2024-12-25 02:09:00 -05:00
Richard Hansen
4d7d6ae48e
Merge pull request #777 from rhansen/semver
Use semver 2.0.0 as the human-readable version string format
2024-12-24 19:45:34 -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
Richard Hansen
9f2d6279d2 Rename master branch to main 2024-12-21 22:00:56 -05:00
Richard Hansen
af4ea14fda
Merge pull request #771 from rhansen/build
Build system improvements
2024-12-19 05:08:06 -05:00
Richard Hansen
a12398c315 Makefile.am: Fix Automake portability warning
This silences:

    Makefile.am:20: warning: escaping \# comment markers is not portable
2024-12-19 05:00:56 -05:00
Richard Hansen
6dfcede81a Ignore build-aux/config.guess, build-aux/config.sub
These currently aren't installed by `autoreconf --install`, but ignore
them anyway as a defensive measure.
2024-12-19 04:49:57 -05:00
Richard Hansen
ceced7e094 Delete checked-in copy of tap-driver.sh
It is not needed now that RHEL 6 and CentOS 6 have reached EOL.
2024-12-19 04:49:57 -05:00
Richard Hansen
8fbf9ed4c8 autogen: Force regeneration of --install files 2024-12-19 04:49:29 -05:00
Richard Hansen
8aedcf47db autogen: Add a comment explaining the mkdir 2024-12-19 04:41:53 -05:00
Richard Hansen
d3e793bf21 Move m4 to build-aux/m4 to reduce clutter 2024-12-19 04:21:25 -05:00
Richard Hansen
b200e0c4e3 Mention #752 in ChangeLog.md 2024-12-19 03:59:25 -05:00
Richard Hansen
aba1df3e6b
Merge pull request #752 from cristian-aldea/master
update porkbun api endpoint domain
2024-12-19 03:51:43 -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
1c0ba9a126
Merge pull request #742 from rhansen/strategy-dedup
Improve deduplication of redundant `use*` queries
2024-09-06 18:58:09 -04: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
490dc16d33
Merge pull request #741 from rhansen/tests
Unit test improvements
2024-09-06 18:51:44 -04:00
Richard Hansen
5ed43a2e4c tests: Factor out duplicate HTTP server code 2024-09-06 18:44:19 -04:00
Richard Hansen
62f3759c54 tests: Factor out duplicate IPv6 support detection code 2024-09-06 18:41:37 -04:00
Richard Hansen
9c7c0e55c1 tests: Refine module loads
* Wrap all conditional loads in `BEGIN {}` to be closer to the
    behavior of `use`.
  * Add missing `Test::Warnings`, `HTTP::Request` loads.
  * Sort by module name, except load `Test::More` first and
    `Test::Warnings` immediately after to maximize checking
    effectiveness.
  * Return truthy from `eval` block to prevent the `or` case from
    executing if the loaded module does not have a final truthy
    statement.  (Except for `ddclient` because we want to test that it
    does have a final truthy statement.)
2024-09-06 18:41:33 -04:00
Richard Hansen
dd7ad1ccf4 tests: dnsexit2: Use reserved IP addresses and domain names 2024-09-06 15:47:05 -04:00
Richard Hansen
d38fcbddb8 tests: dnsexit2: Rename variables to follow got, want pattern 2024-09-06 15:47:05 -04:00
Richard Hansen
d0eb899fc8 tests: dnsexit2: Localize changes to %config 2024-09-06 15:47:05 -04:00
Richard Hansen
e8d79d842c tests: dnsexit2: Inline unnecessary helper function
for readability
2024-09-06 15:47:05 -04:00
Richard Hansen
7653f60058 tests: dnsexit2: Move request to a variable
for readability
2024-09-06 15:46:59 -04:00
Richard Hansen
c768f1350b tests: dnsexit2: Check number of requests 2024-09-06 15:24:16 -04:00
Richard Hansen
e9029b85d5 tests: dnsexit2: Simplify request check 2024-09-06 15:22:55 -04:00
Richard Hansen
bd1e42ac6c tests: dnsexit2: Declare @requests where used
for readability
2024-09-06 15:22:55 -04:00
Richard Hansen
d7861b6d61 tests: Do use parent -norequire instead of modifying ISA 2024-09-06 15:22:55 -04:00
Richard Hansen
6c33ccaa25 tests: Always have a truthy final expression in modules
This ensures that `eval { require Module; } or ...` doesn't execute
the `or` case when loading is successful.
2024-09-06 15:22:55 -04:00
Richard Hansen
2ccdd3b19e tests: Delete obsolete debugging comments
All log output goes to stderr, so turning on `debug` or `verbose` will
not interfere with TAP.  A better way to debug is to add the following
to whatever scope you think is appropriate:

    local $ddclient::globals{debug} = 1;
    local $ddclient::globals{verbose} = 1;
2024-09-06 15:22:55 -04:00
Richard Hansen
8b7581287c tests: update_nics: Test number of web* queries
This will be used in a future commit to test deduplication of of
`use*` strategies.
2024-09-06 15:22:46 -04:00
Richard Hansen
b6ac0e6d05 tests: update_nics: Support multiple hosts
This will be used in a future commit to test deduplication of `use*`
strategies.
2024-09-06 15:22:37 -04:00
Richard Hansen
f32f7fc29a tests: update_nics: Fix tracking of update calls
The tests weren't failing because there was only one host being
updated at a time, but this will change in a future commit.
2024-09-06 15:22:18 -04:00
Richard Hansen
a7abfcb715
Merge pull request #740 from rhansen/recap
Overhaul recap handling
2024-09-02 03:59:15 -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