David Kerr
541e3563ca
Manual sync with master
2020-07-03 14:35:09 -04:00
David Kerr
115c858b2f
Resolve merge conflicts
2020-06-30 21:20:19 -04:00
David Kerr
aac0a11c73
remove T_IFV4 and T_IFV6 because can be the same as T_IF (+5 squashed commits)
...
Squashed commits:
[469890b] Spelling of deprecated
[a80f1fb] update to latest design spec
[e6193cb] Remove warning message from call to sprintf()
[8d0d168] Updates to new IPv6 settings
[76b75ce] Add all the settings proposed by the IPv6 design document
Updates to new IPv6 settings
Remove warning message from call to sprintf()
update to latest design spec
Spelling of deprecated
remove T_IFV4 and T_IFV6 because can be the same as T_IF
2020-06-30 21:20:19 -04:00
Sandro
ef566064d5
Merge pull request #215 from rhansen/verbose-tests
...
Recommend `VERBOSE=1` when running tests
2020-07-01 01:42:51 +02:00
Richard Hansen
c198e21c16
Recommend VERBOSE=1 when running tests
...
This causes Automake to output a failed test's log so that you don't
have to look at the `.log` file yourself.
2020-06-30 19:37:01 -04:00
Richard Hansen
296576d57f
Merge pull request #209 from ddclient/ci-centos
...
Add test for centos, use matrix for ubuntu
2020-06-30 18:57:39 -04:00
Sandro Jäckel
af718224b3
Add fedora to ci
2020-06-30 18:54:19 -04:00
Sandro Jäckel
ea840db62d
Add centos 6 to ci
2020-06-30 18:51:41 -04:00
Sandro Jäckel
c4fae81053
Add centos 8 to ci
2020-06-30 18:51:41 -04:00
Richard Hansen
38d71b2efa
Set VERBOSE=1 to show logs on failure
2020-06-30 18:47:22 -04:00
Sandro Jäckel
0ca6e62b67
Use matrix for ubuntu
2020-06-30 18:47:22 -04:00
Sandro
504e326274
Merge pull request #214 from rhansen/woima
...
Fix woima protocol implementation `for` loop
2020-07-01 00:45:31 +02:00
Richard Hansen
7a2d065a2d
Fix woima protocol implementation for loop
2020-06-30 18:41:40 -04:00
Sandro
43c0581334
Merge pull request #213 from rhansen/regex-flag-compat
...
Remove the `/a` regex flag
2020-07-01 00:37:13 +02:00
Richard Hansen
ccc876c160
Remove the /a regex flag
...
This flag was added in Perl 5.14 so we can't use it.
2020-06-30 18:34:41 -04:00
Sandro
05e5759aa1
Merge pull request #212 from rhansen/automake-parallel-tests
...
Enable Automake's parallel-tests feature
2020-07-01 00:27:17 +02:00
Richard Hansen
65bc4cd986
Enable Automake's parallel-tests feature
...
Apparently it's off by default in Automake 1.11.
2020-06-30 18:22:22 -04:00
Richard Hansen
034e6501ed
Merge pull request #196 from dkerr64/Cleanup-extract_ipv4-and-is_ipv6-and-usage
...
Cleanup extract ipv4 and is ipv6 and usage
2020-06-30 15:54:25 -04:00
David Kerr
36d8b511b3
Move un_zero_pad into extract_ipv4, extract_ipv6
...
This also causes `is_ipv4` to reject IPv4 addresses with leading
zeros.
2020-06-30 15:44:24 -04:00
David Kerr
0a999577c7
Simplify the IPv4 regular expression
2020-06-30 15:43:07 -04:00
David Kerr
5da22a8a69
Implement is_ipv6 in terms of extract_ivp6
2020-06-30 15:26:40 -04:00
David Kerr
ab0a4597ce
Validate the ip setting
2020-06-30 15:22:13 -04:00
David Kerr
fe513f733d
Use is_ipv6, not extract_ipv6, to validate IPv6 address
2020-06-30 15:19:38 -04:00
David Kerr
af1332264f
Delete unnecessary address check
...
`get_ip` is guaranteed to return a valid IP address or `undef`.
2020-06-30 15:16:55 -04:00
Sandro
7e0f696c87
Merge pull request #210 from rhansen/tap-driver.sh
...
Tell Git to ignore changes to build-aux/tap-driver.sh
2020-06-30 21:00:36 +02:00
Sandro
7c81627c92
Merge pull request #211 from rhansen/rename-template
...
Rename `*.template` to `*.in`
2020-06-30 20:51:32 +02:00
Richard Hansen
44eaf653f1
Rename *.template to *.in
...
Apparently the `.template` extension is commonly used in macOS for a
word processor template file.
See issue #206 .
2020-06-30 13:27:08 -04:00
Richard Hansen
38e44ef1fb
Tell Git to ignore changes to build-aux/tap-driver.sh
2020-06-30 12:27:11 -04:00
Richard Hansen
5e7683df85
Merge pull request #208 from ddclient/fix-shebang
...
Fix shebang
2020-06-30 11:59:27 -04:00
Sandro Jäckel
86a3294b0f
Fix shebang
...
cause perl needs a regular shebang even when evoking the script
directly with perl
2020-06-30 11:55:11 -04:00
Sandro
06851b770e
Merge pull request #207 from rhansen/test-improvements
2020-06-30 09:08:50 +02:00
Richard Hansen
a8212a397e
Add a test for unexpected warnings
2020-06-30 00:40:26 -04:00
Richard Hansen
0cc83cd5ec
Simplify runtime imports in test code
...
Also use `BAIL_OUT` instead of `die` if `require 'ddclient'` fails.
2020-06-29 17:26:46 -04:00
Richard Hansen
858fe53072
Merge pull request #163 from rhansen/ipv6-design-doc
...
Design doc for IPv6 support
2020-06-29 17:24:32 -04:00
Richard Hansen
d31d9f8bde
Design doc for IPv6 support
...
Add a document describing a design for comprehensive IPv6 support. The
ddclient maintainers agreed to this design, and it should be used to
guide the implementation of full IPv6 support.
2020-06-29 17:23:51 -04:00
Richard Hansen
58c6570dde
Merge pull request #184 from rhansen/freedns
...
Redo freedns.afraid.org protocol to fix several bugs
2020-06-29 17:22:56 -04:00
Richard Hansen
566c3c3d5e
Redo freedns.afraid.org protocol to fix several bugs
...
* Support IPv6 addresses.
* Support updating addresses that aren't the client's own addresses.
* Set status to 'failed' if the update fails for any reason.
* Don't skip hosts if a previous update failed.
* Check for a non-OK code from the update server.
* Strip headers before processing responses.
This still uses API v1 because API v2 currently has some limitations;
see #180 for details.
Fixes #180
2020-06-29 17:22:09 -04:00
Richard Hansen
d593892c6a
Set up GitHub CI
...
Teach GitHub to run tests for changes to `master` and for pull
requests targeting `master`.
2020-06-29 17:14:21 -04:00
Richard Hansen
c72d128a9e
Disable accidental interpolation in regular expression
...
Without this change, Perl prints the following warning:
> Possible unintended interpolation of `@$` in string at ddclient line 43.
2020-06-29 17:13:06 -04:00
Richard Hansen
dde91fd028
Typo fix (you -> your)
2020-06-29 17:12:01 -04:00
Richard Hansen
f360860378
Merge pull request #161 from rhansen/test-framework
...
Build system and unit test infrastructure
2020-06-29 11:09:12 -04:00
Richard Hansen
c390e75769
Add unit test infrastructure.
...
Now all that is needed to add a new unit test is to create a `t/*.pl`
file and list it in the `handwritten_tests` variable.
To run the test suite, run:
./autogen && ./configure && make check
Fixes #147
2020-06-29 11:08:32 -04:00
Richard Hansen
f6f920eb39
Use the "modulino" pattern to facilitate unit tests
...
Now the `ddclient` file can be used as a script or as a module. For
details, see: https://www.drdobbs.com/scripts-as-modules/184416165
Addresses #147
2020-06-29 11:08:28 -04:00
Richard Hansen
8cbcecba99
Add Autotools-based build infrastructure
...
This makes it easier to package ddclient, especially as enhancements
are made such as unit tests or a man page.
I chose GNU Autoconf and Automake mostly because I'm familiar with
them, but also because I know they are well supported. Unfortunately
they can be difficult to understand/maintain (especially Autoconf), so
we may want to convert to something else later.
Addresses #146 , #147
2020-06-29 11:06:34 -04:00
Sandro
bfdf9454f0
Merge pull request #201 from rhansen/group_hosts_by
...
`group_hosts_by` improvements
2020-06-29 09:40:11 +02:00
Sandro
4f08d77cae
Merge pull request #202 from rhansen/cloudns
...
Add ClouDNS support
2020-06-29 09:36:44 +02:00
Richard Hansen
0792f9b272
Add ClouDNS support
...
Fixes #190
2020-06-29 01:15:42 -04:00
Richard Hansen
8fcc9b0e2f
group_hosts_by improvements
...
* Don't modify `$config{$h}{$v}` if variable `$v` for host `$h` is
`undef`.
* Tolerate the user passing `wantip` or duplicate keys.
2020-06-29 01:15:28 -04:00
Richard Hansen
b1da99c361
Merge pull request #200 from rhansen/undo-revert
...
Add is_ipv4() and ipv4_match() functions
2020-06-29 01:13:43 -04:00
David Kerr
00ce8bdeb3
Add is_ipv4() and extract_ipv4() functions
2020-06-29 00:19:32 -04:00