Commit graph

1485 commits

Author SHA1 Message Date
Richard Hansen
87a919a715 Release v4.0.0-rc.1 2024-12-25 02:22:24 -05:00
Richard Hansen
59495e99d2
Merge pull request #779 from rhansen/linear-pr
New GitHub workflow to enforce linear pull requests
2024-12-25 02:11:28 -05:00
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