Commit Graph

29 Commits

Author SHA1 Message Date
Christian Schoenebeck 6d8f45f759 ddns-scripts: fixes "sed: no previous regexp"
Rewritten Pull for #5885

When ran from the command line, the script prints
error messages like below. They are caused by supplying
empty "$password" and "$URL_PASS" for some log messages
like "130822       : Detect local IP on 'interface'".
The fix is to check if the values are not empty before running
through sed.

/etc/init.d/ddns start
sed: no previous regexp

Reported by Marc Benoit <marcb62185@gmail.com>

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2018-04-21 12:11:46 +02:00
Christian Schoenebeck 74eac1f595 ddns-scripts: fix incompatibility with luci-app-ddns <= V.2.4.8-2
fix incompatibility with luci-app-ddns versions <= 2.4.8-2 (#5430)

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2018-01-14 20:27:59 +01:00
Christian Schoenebeck 8cb6b1dc4d ddns-scripts: multiple fixes
Write *.ip file with current registered IP, whenever "get_registered_IP" is called (used by next luci-app-ddns version)
Changed detection of cURL proxy support #3876
Reread data from ubus if "get_local_ip" from "ip_network" #5004 #3338
Fix godaddy_com_v1 #5285
Implement "param_opt" for "cloudflare_com_v4" #5097
Inside logfile "*password*" printed in stead of real password #5281 and others
Add ipv4 service "dnsever.com" #5178
Add ipv4 service "myip.co.ua" #5199

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2018-01-13 11:58:17 +01:00
Christian Schoenebeck 1ed6afb980 ddns-scripts: New update url for service duiadns.net
- new update url for service "duiadns.net"
- updated public_suffix_list.dat

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2017-02-09 21:41:40 +01:00
Christian Schoenebeck 04d808ec43 ddns-scripts: 2nd fix detecting local ip from ip command
Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2017-01-16 21:08:33 +01:00
Christian Schoenebeck d093904bc1 ddns-scripts: fix detecting local ip from ip command
fix detecting local ip from ip command #3834

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2017-01-15 10:30:38 +01:00
Christian Schoenebeck 71b50a7acc ddns-scripts: fixes for nslookup and khost
- fix ip extraction if knot host is used together with glue records
- fix ip extraction from nslookup if reverse dns record has ip with dot reported at http://forum.lede-project.org/t/ddns-scripts-error/909

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2017-01-11 22:08:42 +01:00
Christian Schoenebeck 2c7d476cd9 ddns-scripts: make cloudflare v1 same "domain" parameter syntax
- cloudflare v1 change syntax of option domain to "host.sub@example.com" like already cloudflare v4 and godaddy to prepare logterm remove of public_suffix_list.dat from package
- change Makefile to be backportable to CC15.05 and working on DD
- change ddns.defaults to prepare future releases of ddns-scripts
- minor fixes

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2017-01-09 21:30:55 +01:00
Christian Schoenebeck b6377ba8db ddns-scripts: fixes for cloudflare v4
- update_cloudflare_com_v4.sh: enclose urls in single quotes
- dynamic_dns_functions.sh: force to return only one ip, if using nslookup to get registered ip

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2016-12-18 20:35:39 +01:00
Christian Schoenebeck 13d1169d5e ddns-scripts: set default verbose=0 so scripts run in background
fix #3645 and https://github.com/lede-project/source/pull/596#issuecomment-266395456

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2016-12-12 21:07:20 +01:00
Christian Schoenebeck 4ae1484a19 ddns-scripts: various fixes
fixes reported in #3621 #3617 #3616

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2016-12-05 20:40:09 +01:00
Christian Schoenebeck 1c20dcb71a ddns-scripts: update to 2.7.6-1
- tld_names.dat.gz
  - rename to public_suffix_list.dat.gz
  - (re)created during build
  - new location /usr/share
- move services files to /etc/ddns
- new services
  - CloudFlare.com-v4 using API-Version 4 without using public_suffix_list.dat
  - GoDaddy.com
  - both depending on cURL package
  - both with modified syntax for option domain ( NEW: [host[.subdom]@]domain.tld )
- new service
  - Now-DNS.com formerly Now-IP.com
- service afraid.org now supports key-auth and basic-auth
- new command line options for dynamic_dns_updater.sh and dynamic_dns_updater.sh
- adapted ddns.init and ddns.hotplug to new command line options
- renaming config options inside section global

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2016-12-04 16:47:09 +01:00
Christian Schoenebeck fbc27e89f3 ddns-scripts: fix reporting wrong version
Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2016-09-28 18:48:44 +02:00
Christian Schoenebeck f0b96d9109 ddns-scripts: no longer break using nslookup and option force_ipversion=1
Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2016-09-26 21:24:35 +02:00
Christian Schoenebeck 01a42ec110 ddns-scripts: Update to 2.7.4
- if local ip cannot be detected or is invalid then do not exit ddns-scripts #2950,
    using multiple url's to detect local ip not jet implemented
- change spdns.de update url and add sydyn.de inside services file #2991
- move transfer- and lookup-program detection to dynamic_dns_functions.sh
    so run once at startup in stead of at every transfer/lookup
- add khost, drill and hostip to verify_host_port() function
- updated tld_names.dat

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2016-09-04 13:30:09 +02:00
Christian Schoenebeck d779a1f76f ddns-scripts: fix parameter handling "is_glue" and "dns_server" (lucihelper)
- fix handling of parameter "is_glue" and "dns_server" to work with luci-app-ddns
- update TLD_names.dat

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2016-06-18 21:53:05 +02:00
Mathias Kresin ed11871c56 ddns-scripts: initialise the is_glue variable
Improve the code as suggested by Christian Schoenebeck.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-06-12 12:42:44 +02:00
Mathias Kresin 1416770e3b ddns-scripts: add support for glue records
Assuming the following dns zone configuration for kresin.me:

.                   1800  IN  NS  ns.inwx.de.
home.kresin.me.     1800  IN  NS  gw.home.kresin.me.
gw.home.kresin.me.  60    IN  A   198.51.100.1

Using the example, gw.home.kresin.me is a glue record and used as DDNS
record as well. gw.home.kresin.me points to the OpenWrt installation
where the ddns-scripts are running.

Since ns.inwx.de isn't the authoritative server for home.kresin.me,
a query for the the A record of gw.home.kresin.me will be "forwarded"
to and replied by the authoritative server 198.51.100.1. If the
authoritative server can't be reached, the query times out without any
address returned.

The only way to get the A record of the glue record is to use bind
host in verbose output mode, query ns.inwx.de for gw.home.kresin.me and
evaluate the additional section of the response.

To my knowledge, only bind host in verbose output mode shows the
additional section of the response. Therefore, this features depends on
bind host.

It is not possible to use the bind host verbose mode for all queries.
In verbose mode the "has address" line isn't returned. Grepping for the
hostname might fail if the hostname is CNAME. Grepping for the first
occurrence of an ip-address is way to error prone, since it could
return the ip address of a different record type.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-06-01 20:59:47 +02:00
Christian Schoenebeck 1bf23bd632 dns-scripts: add DNS lookup support for "drill" and "khost" (Knot DNS)
- add DNS lookup support for "drill" and "khost" (Knot DNS) #2637
- new service nsupdate.info (IPv4 and IPv6) #2433
- new services dyndnss.net, dyns.net (IPv4 only)
- new services dnshome.de, goip.de, myonlineportal.net (IPv4 and IPv6)

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2016-05-08 13:14:45 +02:00
Christian Schoenebeck 32c9818b14 ddns-scripts: fix comparing IPv6 addresses
fix comparing IPv6 addresses

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2016-03-07 12:04:50 +01:00
Christian Schoenebeck 38866917d8 ddns-scripts: correct freedns.afraid.org update url and new provider
- roll back to "old" update_url of freedns.afraid.org fix for #2445 and openwrt/luci#661
- add provider nubem.com (IPv4 only)
- add provider nettica.com (IPv4 only)
- add provider zerigo.com (IPv4 and IPv6)
- add provider regfish.de (IPv4 and IPv6)

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2016-03-05 21:44:19 +01:00
Stijn Tintel 2789e6b3f3 ddns-scripts: uclient-fetch supports -4/-6
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2016-02-29 11:38:23 +01:00
Christian Schoenebeck 5bd03b4e9a ddns-scripts: update to 2.6.1-1 with several fixes
- new function expand_ipv6()
- expand IPv6 before compare https://dev.openwrt.org/ticket/21725
- Fix split_FQDN() to return host.subdomain correctly  #2334
- modified check for musl library used by nslookup #2341 #2346 thanks to Arjen de Korte

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2016-02-06 15:48:39 +01:00
Christian Schoenebeck 3008cee722 ddns-scripts: Ver.2.6.0 - support hostip and uclient-fetch
- add support for "hostip" to get_registered_ip() as alternative to "Bind host" package https://dev.openwrt.org/ticket/20893#comment:5
- allow to send updates using compiled-in certificate file/path of curl/wget #2242 #2243 #2245
- add support for uclient-fetch / libustream-ssl.so
- remove /128 prefix-filter in get_local_ip() via interface #2268
- add dyndns.org to services_ipv6 https://forum.openwrt.org/viewtopic.php?id=62103
- readd duckdns.org to services #2251 (lost somewhere in data heaven)
- add zzzz.io service #2302
- updated tld_names.dat

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2016-01-24 20:04:26 +01:00
Christian Schoenebeck 7ea8be0b0d ddns-scripts: rollup to version 2.5.0-1
- add -V / --version parameter to show version information
- new option lookup_host as host to use by nslookup/host to validate IP address changes, to be separate from [DOMAIN] parameter which produces a lot of questions in the forum and on multi-host updates
- new option param_enc for optional usage inside update_url [PARAMENC] (will be send urlencoded)
- new option param_opt for optional usage inside update_url [PARAMOPT]
- new service strato.de (IPv4 only) requested by ludwig.jaffe@
- new service variomedia.de (IPv4 & IPv6) requested by Wolfgang Oertl #1884
- rewritten function get_service_data to read services/service_ipv6 file
- allow 3rd parameter inside services/service_ipv6 file - here should be the answer of the ddns provider on success. If parameter is set, it's checked by ddns-scripts and report errors to logfile/syslog if failed and retry
- updated tld_names.dat

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2015-11-04 21:29:22 +01:00
Christian Schoenebeck 3788dd697b ddns-scripts: fix/update to version 2.4.3-1
fixed sed when filtering IP address from nslookup output
because "Server:" block might have multiple address lines.
Thanks to Arjen de Korte

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2015-06-24 18:46:52 +02:00
Christian Schoenebeck f5334528a7 ddns-scripts: bugfixes/update to version 2.4.1-1
* fix problem with lucihelper script reported in OpenWrt Ticket 19419
* rewritten split_FQDN fixing detection errors and using zcat
* updated tld_names.dat and .gz compressed to save space
* add LoopiaDNS (loopia.se) to services_ipv6

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2015-04-12 10:47:38 +02:00
Christian Schoenebeck 5731d0e52d ddns-scripts: update to version 2.3.0-1
new option "use_curl" to force the use of curl if GNU Wget and curl are installed
fix initscript reload(): reload and not restart if killall -1 fails
BusyBox nc not support -v in every compiled version

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2015-02-10 22:06:02 +01:00
Christian Schoenebeck 5b26382273 ddns-scripts: Update to version 2.2.0-1
modified source directory structure
  - files for production files
  - samples for sample files (not installed in final build)
modified Makefile
  - separate options for additional provider scripts
  - remove comments and empty lines from final build
add IPv4 100.64/10 (RFC 6598) and 169.254/16 (RFC 5735) to the range of default blocked IP's.
new option "bind_network" to force GNU Wget or cURL to use specific network/interface for communication
new "domains.google.com" as IPv4 DDNS provider #822

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2015-02-05 21:33:02 +01:00