Commit graph

84 commits

Author SHA1 Message Date
David Mell
9631575ab4
Update easyDNS endpoint URL
Fixes #340
2021-06-29 12:49:12 -08:00
Reuben Thomas
f0270e4940
Add dnsexit support (based on #52) (#311)
* Patch in dnsexit support

Based on patch from here https://sourceforge.net/p/ddclient/discussion/399428/thread/04e23ee6/ hacked back in.

* dnsexit: check for valid responses that mean 'failure' (from @truesalo)

Co-authored-by: sreknob <sreknob@hotmail.com>
2021-05-12 14:45:28 -05:00
David Kerr
b84f2334e4
Redact login and password when printing out internal hash values (#274)
* Redact login and password when printing out internal hash values

* Remove from debug message in geturl()  parameters sent as part of a URL

* Update comment with password redaction

Making it clearer that all parameters are redacted, not just password related ones.

Co-authored-by: DaveSophoServices <dave@sophoservices.com>
2021-05-11 20:26:02 -05:00
David Kerr
24ba945949
IPv6 framework + Cloudflare + FreeDNS (#291)
* Add basic framework to support IPv6

* Update cloudflare to use new IPv6 framework

* Update FreeDNS to use new IPv6 framework
2021-05-11 20:16:19 -05:00
Mike Chester
9fb2aee4d0
Fix geturl function call for Gandi (#314)
* Fix geturl function call

The function should be called without the brackets

* Update ci.yml

Removed Cento6 & 8

Co-authored-by: DaveSophoServices <dave@sophoservices.com>
2021-05-11 10:48:44 -05:00
DaveSophoServices
29cfc55581
Merge pull request #324 from krerkkiat/doc-cloudflare-token
modify Cloudflare documentation
2021-05-11 10:01:36 -05:00
Sandro Jäckel
9a44eeb826
Use HTTP/1.0, fix #332 2021-05-11 11:47:10 +02:00
Krerkkiat Chusap
db8b6baca9 modify Cloudflare documentation
It seems that ddclient check if the login field is equal to "token" to
use the correct header for the API token.
2021-04-05 12:36:45 -04:00
David Kerr
4c76274ba6 Add missing comment block 2020-09-21 15:16:48 -04:00
David Kerr
1b2f45cc59 Add get_default_interface 2020-09-21 15:16:48 -04:00
David Kerr
213cf6ad09 Add get_ip_from_interface function 2020-09-21 15:16:11 -04:00
David Kerr
d1d7548e09 So the bug was actually in the escape_curl_param function, not that the data should not be escaped 2020-08-22 21:32:27 -04:00
David Kerr
6ae64e6cfb bug fix... segfault when using WWW::Curl::Easy->pushopt() replace with setopt() 2020-08-21 17:28:57 -04:00
David Kerr
4c79c6b607 must not escape the 'data' field sent to servers. 2020-08-21 17:01:13 -04:00
David Kerr
3a73e5e6b4 header_ok() function must accept HTTP versions other than just '1' 2020-08-21 16:59:07 -04:00
David Kerr
cde60432dd Remove from debug message in geturl() parameters sent as part of a URL 2020-08-12 12:53:59 -04:00
David Kerr
8106b3025f Add support to use WWW::Curl::Easy if it exists 2020-08-07 11:17:44 -04: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
460cf2f465 New %builtinweb entry for FreeDNS 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
f3a92fbe63 Delete trailing commas 2020-08-04 13:46:21 -04:00
Richard Hansen
deab8970a1 Whitespace fixes 2020-08-04 13:46:21 -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
686bf5a8c8 Improve -help text 2020-08-02 23:38:46 -04:00
Richard Hansen
4bf9d59722 Whitespace fixes 2020-08-02 21:52:11 -04:00
David Kerr
1ad4d6737a Add is_ipv6_global and extract_ipv6_global functions 2020-08-01 19:11:28 -04:00
Richard Hansen
25a636879f Change the default server for dslreports1 to www.dslreports.com
Before, it defaulted to `members.dyndns.org` which didn't make much
sense.
2020-08-01 16:22:38 -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
Sandro
2e1bb5165a
Merge pull request #254 from rhansen/geturl
Eliminate unnecessary hashref
2020-07-22 10:56:17 +02:00
Richard Hansen
ae7919fcc4 Mark gandi protocol's ttl var as optional
Gandi doesn't require a TTL in the update request. The protocol
implementation already does the right thing if the `ttl` var is
`undef`.
2020-07-18 15:05:53 -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
Jimmy Thrasibule
b6a7c44d39 Ensure header_ok accept any 2xx return code
Adapt `header_ok` to return success for any HTTP 2xx code.

Signed-off-by: Jimmy Thrasibule <jimmy.thrasibule@orange.com>
Reviewed-by: Richard Hansen <rhansen@rhansen.org>
2020-07-18 15:01:52 -04:00
Richard Hansen
286fe02478 Fix -daemon command-line argument parsing
It turns out the logic removed in
d10601de11 had a purpose after all.
2020-07-14 23:17:19 -04:00
Richard Hansen
7d58f2d749 Import IO::Socket::INET
We've always required IO::Socket::INET but never explicitly included
it. For some reason that hasn't been a problem until now.

Fixes #255
2020-07-12 18:58:31 -04:00
Richard Hansen
5f1dacc3bd Eliminate unnecessary hashref
Pass the key-value pairs directly instead of via a hashref.
2020-07-11 21:39:48 -04:00
David Kerr
29202f5bc1 New is_ipv6 and extract_ipv6 algorithms
Also add unit tests.
2020-07-11 11:04:47 -04:00
David Kerr
92c1294af9 Accept leading zeros in IPv4 addresses
Also add unit tests.
2020-07-11 11:04:33 -04:00
Richard Hansen
dd8e376784 Add geturl SSL tests
These don't test validation, only that IO::Socket::SSL is used.
2020-07-08 13:40:31 -04:00
Richard Hansen
6ff0362450 Get the AF_INET and friends constants from Socket
Apparently it is enough to simply import Socket or IO::Socket to use
AF_INET and friends, but all examples in official documentation show
them in the import list. Because I do not fully understand the
intricacies of Perl import logic, I do the same thing here, fully
aware that I might have joined a cargo cult. Regardless of its
correctness or necessity, listing the constants in the import list has
the advantage of making it clear why the `use` statement exists.

I chose to import the constants from Socket instead of IO::Socket
because that module's documentation explicitly documents the
constants.
2020-07-07 20:55:32 -04:00
Sandro
ee4191f865
Merge pull request #225 from reetp/master
Add DinaHosting
2020-07-07 10:15:32 +02:00
Sandro
f0c583890a
Merge pull request #246 from rhansen/unwrap
Unwrap unnecessarily wrapped lines
2020-07-07 10:11:37 +02:00
Sandro
b0b04aa278
Merge pull request #247 from rhansen/parse_assignments
Simplify `parse_assignments`
2020-07-07 10:11:21 +02:00
Sandro
eac5d25e47
Merge pull request #245 from rhansen/continue-on-failure
Don't skip updates to remaining hosts if one host fails
2020-07-07 10:10:42 +02:00
Sandro
9d7af91bf4
Merge pull request #242 from rhansen/mkdir-var-cache 2020-07-07 10:09:47 +02:00