Commit graph

48 commits

Author SHA1 Message Date
Lenard Hess
1715bd3a17 Fixed hosts trying to update if IP acquisition failed 2023-07-19 17:11:45 +03:00
Lenard Hess
d4db5cbc90 Updated changelog for v3.11.0_rc1
Note: I dropped the "DynDNS2 now uses the newer ipv4/ipv6 syntaxes", as
its not visible to users.
2023-07-19 17:11:45 +03:00
Reuben Thomas
b8bed7112f Remove defunct dnsexit protocol 2023-07-19 17:11:45 +03:00
Reuben Thomas
fbc64243f3 Note that we've added support for DNSExit API v2 2023-07-19 17:11:45 +03:00
Reuben Thomas
a9c1e545fb Require curl
Use command-line curl, and remove alternative Perl and Curl-via-Perl
implementations of network code.
2023-07-19 17:11:45 +03:00
Thomas du Boÿs
36de4e0b88
updating changelog 2023-02-21 21:00:41 +01:00
Sandro Jäckel
d3a353990b
Update the changelog, bump next version to 3.11.0 because of breaking changes 2023-02-08 14:02:33 +01:00
Sandro Jäckel
3e2cb0a0dc
Cut 3.10.0 release 2022-10-20 20:06:35 +02:00
pesenise
36b8db950f
Add support for domaindiscount24.com (#436)
* Update ddclient.in

add Row 526 - 529
add Row 869 - 877
add Row 6992 - 7066

* Update ChangeLog.md

* Update ChangeLog.md

* Update ddclient.in

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>

* Update ChangeLog.md

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>

* Update ChangeLog.md

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>

* Update ddclient.in

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>

* Update ddclient.in

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>

* Update ddclient.in

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>

* Update ddclient.in

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>

* Update ddclient.in

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-07-30 17:07:10 +02:00
Sandro Jäckel
0b8d391b26
Update changelog 2022-05-16 02:12:34 +02:00
Sandro Jäckel
6be775dc10
Bump version to 3.10.0rc1 2022-05-15 22:44:51 +02:00
Sandro Jäckel
3a7beb27bd
Prepare changelog for release 2022-05-15 22:30:16 +02:00
David Kerr
d24b75960d Add support for curl and option to not validate SSL certificates for getip from web or firewall
Check exists not just length
2020-08-07 11:17:44 -04:00
Richard Hansen
2de6a02f14 New %builtinweb entries for nsupdate.info 2020-08-04 13:58:51 -04:00
Richard Hansen
c9b6c8b3bf New %builtinweb entries for whatismyv6.com 2020-08-04 13:57:07 -04:00
Richard Hansen
ae89dbdfa3 New %builtinweb entry for Hurricane Electric 2020-08-04 13:54:49 -04:00
Richard Hansen
fb42a50318 New %builtinweb entry for ZoneEdit 2020-08-04 13:51:26 -04:00
Richard Hansen
1a8bfafb3d New %builtinweb entry for Google Domains 2020-08-04 13:51:26 -04:00
Richard Hansen
ad81aa43d2 New %builtinweb entries for noip.com 2020-08-04 13:51:26 -04:00
Richard Hansen
295ba387aa Rename ipifyipv{4,6} to ipify-ipv{4,6}
The added dash makes it easier to read.
2020-08-04 13:51:26 -04:00
Richard Hansen
52abb27604 Mention new %builtinweb services in ChangeLog.md 2020-08-04 13:51:20 -04:00
Richard Hansen
601460c0b3 Turn if-skip into a no-op and mark it as deprecated
There is no way the user can meaningfully set `if-skip` because the
user doesn't have control over how ddclient reads an interface's
settings (ddclient could theoretically run `ip addr show`, run
`ifconfig`, read a file in `/dev`, make a system call, use a Perl
library, etc.).
2020-08-03 12:55:38 -04:00
Richard Hansen
147ee33754 Update changelog to note change to dslreports1 default server
This should have been done in 25a636879f
but I forgot.
2020-08-01 18:05:27 -04:00
Richard Hansen
f8185182e9 Add new device built-ins (fw=<device>)
Thanks goes to Geoff Simmons, who provided the definitions in
https://bugs.debian.org/589980.
2020-07-27 12:23:35 -04:00
Richard Hansen
31173b3736 Use triple backticks to denote the code block
This keeps the line under 80 columns long, and avoids extra vertical
space between entries in the rendered output.
2020-07-27 12:20:17 -04:00
Jimmy Thrasibule
7f719dc305 Add support for Gandi LiveDNS
Allow update of a DNS record hosted by the Gandi LiveDNS service.

Signed-off-by: Jimmy Thrasibule <jimmy.thrasibule@orange.com>
Reviewed-by: Richard Hansen <rhansen@rhansen.org>
2020-07-18 15:01:52 -04:00
Sandro
ee4191f865
Merge pull request #225 from reetp/master
Add DinaHosting
2020-07-07 10:15:32 +02:00
Richard Hansen
bdf8835904 Don't skip updates to remaining hosts if one host fails 2020-07-07 00:08:56 -04:00
John Crisp
e2c3f9dd04 Add support for dinahosting
Fixes #203
2020-07-07 00:00:45 -04:00
Richard Hansen
03dffae74e Honor the ssl option for the web URL 2020-07-06 20:20:01 -04:00
Sandro Jäckel
c8e2adf81a
Add changelog 2020-07-06 15:59:56 +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
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
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
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
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
Richard Hansen
0792f9b272 Add ClouDNS support
Fixes #190
2020-06-29 01:15:42 -04:00
Richard Hansen
4edecf3dc1 Turn fw-banlocal into a no-op and mark it as deprecated
`fw-banlocal` is problematic:
  * There's not much point to it. Regardless of whether it is enabled,
    the end result is a DNS record that is not being updated to a
    useful value. It does cause a warning to be logged, but because it
    is not enabled by default it doesn't help the poor user who is
    trying to figure out why they can't reach their machine. By the
    time they realize that enabling this option would have saved them
    hours of troubleshooting, they no longer need to enable it because
    they already know what the problem is.
  * It's a misnomer: `fw-banlocal` doesn't just filter out local IP
    addresses from `use=fw`, it also filters them out of all other
    address sources except `use=ip`.
  * It doesn't filter out local IPv6 addresses.
  * The resulting warning ("unable to determine IP address") is
    misleading.

We might want to add a warning whenever a non-global address is
discovered (along with an option to silence the warning), but that
should be done in a future commit if at all.
2020-06-25 23:32:58 -04:00
Richard Hansen
99a60995c4 Fix use=ip when ip is set to an IPv4 address
Before, with `use=ip,ip=1.2.3.4`, `get_ip` would return `undef` and
print a warning:

  WARNING:  found neither ipv4 nor ipv6 address
2020-06-17 12:16:05 -04:00
Richard Hansen
40f355d05e Fix parsing of "true" as a boolean value
Before, "t" and "ttrue" were accepted as true, but not "true".

Also simplify the true and false regular expressions.
2020-06-16 23:23:02 -04:00
Richard Hansen
7cc36539e7 Move Data::Validate::IP removal note to dependency changes section 2020-06-16 14:23:02 -04:00
David Kerr
d4c55dd0f5 Remove dependency on Data::Validate::IP
This module is not available by default on many systems, and not
available at all on lightweight embedded systems.
2020-06-15 23:17:12 -04:00
Richard Hansen
e3a6cbf1b6 Prefer ip command from iproute2 over ifconfig
On Linux systems, `ifconfig` is long deprecated in favor of the `ip`
command from iproute2. Some systems don't have iproute2 (BSDs in
particular), so ddclient will still attempt `ifconfig` if `ip` is
missing.

Also: Don't hide STDERR because error messages are important for
troubleshooting problems. To avoid STDERR noise on systems without the
`ip` command, the command's existence is checked before it is run.

Notes:
  * The fetched addresses could be limited to IPv4 or IPv6 depending
    on `opt('ipv6')`, and non-global addresses could be filtered out,
    but any filtering risks breaking a nontrivial number of existing
    configurations.
  * This change runs the risk of breaking existing configs that set
    `if-skip`. Due to the deprecation of `ifconfig`, and the belief
    that only a negligible number of users set `if-skip`, the benefits
    of this change are believed to outweigh the config migration
    burden imposed on users.

Fixes #93.
2020-06-12 22:54:49 -04:00
Richard Hansen
e696d57ff2 Prefer ip over if over web when inferring use
If the user passed `-ip` they almost certainly want to use it, even if
they also passed `-if` and `-web`.

Similarly, if the user passed `-if` they almost certainly want to use
it even if they also passed `-web`.
2020-06-12 11:02:48 -04:00
Richard Hansen
9cd418f79c Bump minimum required Perl to v5.10.1
This allows us to use the `//` and `//=` operators.

v5.10.1 was chosen because that is the oldest version of Perl among
all currently supported releases of Ubuntu, CentOS, RHEL, Fedora, and
Debian.
2020-06-11 23:18:11 -04:00
Richard Hansen
33dc46d8f4 Update ChangeLog.md with recent changes affecting compatibility 2020-06-11 15:33:27 -04:00
Richard Hansen
17707b0cba Note when Data::Validate::IP dependency was added 2020-06-11 15:33:27 -04:00
Richard Hansen
a3c8d581fa Combine RELEASENOTE, ChangeLog, Changelog.old into ChangeLog.md
Create a document whose main purpose is to describe notable changes
between released versions. Populate it with the contents of
RELEASENOTE over time and the entries from ChangeLog and
Changelog.old.

For recent releases, the full announcement text can still be found at
https://github.com/ddclient/ddclient/releases
2020-06-11 15:33:27 -04:00