Commit graph

802 commits

Author SHA1 Message Date
Richard Hansen
bdf8835904 Don't skip updates to remaining hosts if one host fails 2020-07-07 00:08:56 -04:00
Richard Hansen
ee8e1e8844 Don't abort if unable to write the cache file 2020-07-07 00:04:33 -04:00
Richard Hansen
6ae5fe62d7 Create /var/cache/ddclient if it doesn't exist
Fixes #76
2020-07-07 00:04:33 -04:00
Richard Hansen
df3c777e11 Delete out-of-place debug messages
Neither `opt('fw')` nor `$globals{'fw'}` are used in `geturl` so
delete the debug messages showing their values.
2020-07-07 00:03:56 -04:00
John Crisp
e2c3f9dd04 Add support for dinahosting
Fixes #203
2020-07-07 00:00:45 -04:00
Richard Hansen
231306395a Test for definedness or emptiness, not truthiness
Use `//` or `eq ''` for tests to avoid treating the string `'0'` as
false.
2020-07-06 23:58:51 -04:00
Richard Hansen
4670955cb6
Merge pull request #241 from rhansen/get_ip-ssl
Fix detection of `get_ip` caller
2020-07-06 23:56:47 -04:00
Richard Hansen
03dffae74e Honor the ssl option for the web URL 2020-07-06 20:20:01 -04:00
Richard Hansen
7921c53605 Explicitly tell geturl to ignore the global ssl option
Changing behavior based on the identity of the caller is fragile and
makes the code difficult to understand.
2020-07-06 20:19:27 -04:00
Richard Hansen
2e5db5af44 Fix detection of get_ip caller
This was broken in f6f920eb39.
2020-07-06 17:14:08 -04:00
Richard Hansen
4eae0d39a9
Merge pull request #239 from rhansen/perl-core
CentOS/RHEL/Fedora CI improvements
2020-07-06 16:44:28 -04:00
Richard Hansen
f11fef5c50 Install modules for testing on CentOS/RHEL/Fedora 2020-07-06 16:33:26 -04:00
Richard Hansen
1b63ae50c9 Colorize test results 2020-07-06 15:59:30 -04:00
Richard Hansen
5aa4fe71da Pass --refresh to dnf
Hopefully this will stop the "Downloading successful, but checksum
doesn't match" errors we occasionally see for Fedora.
2020-07-06 15:42:41 -04:00
Richard Hansen
34e5cbd97f Rename test-redhat to test-redhat-ubi7 2020-07-06 15:40:42 -04:00
Richard Hansen
ad95fd46c2 Install all core modules on CentOS/RHEL/Fedora
CentOS and RHEL have a `perl-core` metapackage that depends on all
packages providing core modules.

Fedora's `perl` package is equivalent to the CentOS/RHEL `perl-core`
package, and its `perl-interpreter` package is equivalent to the
CentOS/RHEL `perl` package.
2020-07-06 15:24:40 -04:00
Richard Hansen
e621afe375
Merge pull request #231 from ddclient/dead-provider
Remove dead provider
2020-07-06 12:47:55 -04:00
Sandro Jäckel
c8e2adf81a
Add changelog 2020-07-06 15:59:56 +02:00
Sandro Jäckel
b7e7d27a24
Remove dtdns 2020-07-06 15:59:55 +02:00
Sandro Jäckel
12a4a10c9c
Remove hammernode1 2020-07-06 15:57:52 +02:00
Sandro
0600f31d55
Merge pull request #235 from rhansen/geturl-unit-tests
Add `geturl` connectivity unit tests
2020-07-06 00:44:45 +02:00
Richard Hansen
323208e9cc Add geturl connectivity unit tests
Addresses #232
2020-07-05 18:36:46 -04:00
Sandro
b6770a4d9f
Merge pull request #234 from rhansen/url-parsing
Fix URL parsing for IPv6 URLs and pathless URLs
2020-07-06 00:33:22 +02:00
Sandro
cf34c21135
Merge pull request #236 from rhansen/caller-undef-warning
Silence warning when calling `geturl` from an anonymous sub
2020-07-06 00:25:18 +02:00
Richard Hansen
06503a483b Fix URL parsing for IPv6 URLs and pathless URLs
Now the following valid URLs are parsed correctly:
  * http://[::1]:123/foo
  * http://localhost?foo=bar

There are still problems with the URL parsing logic but this is enough
to write some unit tests.
2020-07-05 18:21:35 -04:00
Richard Hansen
49c8717420 Silence warning when calling geturl from an anonymous sub 2020-07-05 18:16:08 -04:00
Sandro
91803cbb41
Merge pull request #237 from rhansen/stringify-ports
Stringify default port numbers
2020-07-05 23:42:26 +02:00
Richard Hansen
a15cec7cd9 Stringify default port numbers
The IO::Socket classes expect strings for the port number because you
can pass service names from `/etc/services`. Numbers work too, but
using strings everywhere makes it easier to write unit tests.
2020-07-05 16:32:41 -04:00
Sandro
d79519f59c
Merge pull request #230 from rhansen/autoconf-test-find
Require `find` to be installed
2020-07-03 23:46:49 +02:00
Richard Hansen
9b1fc13d40 Require find to be installed 2020-07-03 17:35:11 -04:00
Richard Hansen
f527b7487c
Merge pull request #228 from dkerr64/cleanup
Add missing semicolons and fix incorrect debug message
2020-07-03 17:34:30 -04:00
David Kerr
52fdb0bdeb add missing semicolons and fix incorrect debug message 2020-07-03 17:32:27 -04:00
Sandro
d844039e6c
Merge pull request #175 from rhansen/config-file-parse
Improve parsing of config file assignments
2020-07-03 23:24:55 +02:00
Sandro
55b3754838
Merge pull request #227 from rhansen/ca-certs
New options to specify CA certificate location
2020-07-03 23:20:35 +02:00
Richard Hansen
f7ff1f8259 New options to specify CA certificate location
This is a prerequisite to adding `geturl()` unit tests (we will need
to run a dummy https server).
2020-07-03 16:59:18 -04:00
Richard Hansen
6d7d248f79 Improve parsing of config file assignments
* Ignore empty `key=value` strings in variable assignments. Now the
    following lines are supported with the expected meaning:
      * `a=1 , b=2`
      * `a=1,,b=2`
  * Improve the warning message when there is an unterminated quote.
  * Add a warning if the line ends with a backslash.

Also add unit tests.
2020-07-03 16:56:01 -04:00
Sandro
391a513d5c
Merge pull request #223 from rhansen/dist-tarball 2020-07-03 20:51:09 +02:00
Richard Hansen
b9b594fcea Test that the distribution tarball is complete 2020-07-03 14:27:18 -04:00
Sandro
f0eb0850da
Merge pull request #224 from rhansen/fedora-find
Install findutils on Fedora
2020-07-03 08:35:08 +02:00
Sandro
8cff1a6da2
Merge pull request #222 from rhansen/ci-debian
Also run tests on Debian testing, stable, oldstable
2020-07-03 08:33:40 +02:00
Richard Hansen
451bdd1086 Also run tests on Debian testing, stable, oldstable 2020-07-02 14:05:18 -04:00
Richard Hansen
a00d2cc18e Install findutils on Fedora 2020-07-02 09:58:58 -04:00
Sandro
9c6c7a2b39
Merge pull request #219 from rhansen/editor-variables
Update Vim modeline and Emacs file-local variables
2020-07-02 09:46:09 +02:00
Richard Hansen
283f609b28 Update Vim modeline and Emacs file-local variables
Both:
  * Force the file type to Perl
  * Set the tab width to 8 so that people cringe in horror at the
    sight of a tab
  * Set the line with to 99

Emacs:
  * Disable indent-tabs-mode
  * Set the indentation level to 4

Vim:
  * Highlight column 100

Addresses #206
2020-07-01 22:52:29 -04:00
Richard Hansen
5507b76d83
Merge pull request #218 from ddclient/redhat
Add redhat to ci
2020-07-01 21:50:51 -04:00
Sandro Jäckel
a23b8d558b Add redhat to ci 2020-07-01 21:48:03 -04:00
Richard Hansen
1614e62f2d
Merge pull request #221 from thorsteneb/master
Add FreeBSD; change README to use json-pp for Ubuntu
2020-07-01 12:34:41 -04:00
Thorsten Behrens
2afdf5043c Add FreeBSD; change README to use json-pp for Ubuntu 2020-07-01 12:33:21 -04:00
Richard Hansen
22e9da2d79
Merge pull request #220 from rhansen/dco
Document that contributions are subject to the DCO
2020-07-01 11:47:43 -04:00
Richard Hansen
290077dc5e Document that contributions are subject to the DCO 2020-07-01 11:46:32 -04:00