summaryrefslogtreecommitdiff
path: root/src/conf_mode/dynamic_dns.py
AgeCommit message (Collapse)Author
2023-06-04dns: T5144: Relocate ddclient template path for consistency with config pathIndrajit Raychaudhuri
2023-06-04dns: T5144: Restrict dualstack for dyndns2 protocol to dyn.comIndrajit Raychaudhuri
ddclient implementation of dualstack for dyndns2 protocol is targeted for dyn.com (dyndns.org) only. Dualstack won't work for other servers supporting dyndns2 protocol (for example, dyn.dns.he.net).
2023-06-03dns: T5144: Modernize dynamic dns operationIndrajit Raychaudhuri
Apply next round of configuration tree updates to 'service dns dynamic' with the following changes: - Migrate `service dns dynamic interface <interface> [use-web]` to `service dns dynamic address <interface>` or `service dns dynamic address web [web-options]` This communicates the intent that dynamic dns IP address is detected in only one way - using the `<interface>` or using an external web request, not both. - When using external web request, (`service dns dynamic address web`), external url is optional (`web-options url`). Ddclient defaults are used when unspecified, - Rename all config `login` to `username` for consistency and also to align better with alternative ddclient backends in consideration. - Apply global 'ipv6-enable' to per service 'ip-version: ipv6'. Selecting usage of IPv4 or IPv6 (or both simultaneously) is now at per service (protocol) level instead of global level. This allows more control on the ability to select IPv4 in some cases and IPv6 in some other cases wherever supported by the underlying ddclient protocol. - While the IP address (and by extension, the detection mechanism) is global, the way it is applied to a particular ddclient protocol depends on whether it supports IPv4 or IPv6 or both. - Related to the above, this also prevents generating incorrect config file (`ddclient.conf`) with multiple global sections leading to an unpredictable behavior of ddclient. - Implement provider (protocol) specific custom tweaks whenever possible (e.g., `zone`, `username`, `server` are not necessary in all cases). - Move service name from a combination of 'protocol' (with protocol config autodetected) and custom (with protocol config specified) to a single 'service' key. This allows for consisent setup of multiple config for the same ddclient protocol (with different options and credentials). This also avoid ambiguity with usual networking term 'protocol' and ddclient specific term 'protocol' (and can change with a move to a different backend). - Apply upfront XML constraints and validations consistently wherever applicable. - RFC2136 specific change: Rename rfc2136 config `record` to `host-name` for consistency. - Cloudflare specific change: While ddclient still supports authenticating with email and global auth key, skipping `username` in config will indicate the intent to use API token authentication (with special 'token' literal as `username`).
2023-05-12T5219: ddclient: Cloudflare doesn't require loginZen3515
2022-04-16dns: T4353: fix Jinja2 linting errorsChristian Poessinger
2021-10-21ddclient: T3897: bugfix smoketestChristian Poessinger
2021-10-18ddclient: T3897: Add option for IPv6 Dynamic DNSViacheslav
2021-03-24ddclient: T3422: Allow zone property with cloudflare protocolJustin
Allows Dynamic DNS services with custom names to use the zone field if the protocol is set to cloudflare (cherry picked from commit 5ab6c20f8acd4dda1870b9a71fe73129d2f78b24)
2020-11-27vyos.template: T2720: always enable Jinja2 trim_blocks featureChristian Poessinger
2020-09-13ddclient: T2858: migrate to get_config_dict()Christian Poessinger
2020-08-31configd: T2582: add scripts to include list for daemonJohn Estabrook
2020-05-29airbag: T2088: explicit enabling of the featureThomas Mangin
airbag must now be explicitly installed. the patch also allow to fully disables the installation of the logging code at setup (and not just installing and doing nothing)
2020-04-27template: T2388: move mkdir/chmod/chown within render()Thomas Mangin
2020-04-13ddclient: T2185: migrate from SysVinit to systemdChristian Poessinger
2020-04-12template: T2230: use render to generate templatesThomas Mangin
convert all call to jinja to use template.render
2020-04-09util: T2226: os.system was wrongly converted to runThomas Mangin
os.system does print the ouput of the command, run() does not. A new function called call() does the printing and return the error code.
2020-04-06util: T2226: covert most calls from os.system to utilThomas Mangin
As little change a possible but the function call The behaviour should be totally unchanged.
2020-04-05dynamic-dns: T2230: move inlined templates to dedicated filesChristian Poessinger
2020-03-23T2152 fix to allow external IP usage to workkroy-the-rabbit
Conf got set to inappropriate level to make the web-url option work
2020-02-16ddclient: proper use conf.set_level() to reduce boiler plate codeChristian Poessinger
2020-02-16ddclient: change file permission on generated configChristian Poessinger
ddclient complains when the file permission is not user = rw.
2020-02-13ddclient: T1908: CloudFlares zone option can now also be specified manuallyChristian Poessinger
If there is no zone option given it will be "guessed" as in the past. This means (hostname -> resulting zone entry) domain.com -> com foo.domain.com -> domain.com bar.foo.domain.com -> foo.domain.com I have zero experience in the CloudFlare zone option what it is and what it does. SO maybe we still have a chance to auto render this setting.
2019-12-06ddclient: T1853: bugfix TypeError exceptionChristian Poessinger
When service was deleted we tried accessing a key in the dictionary. But there was no dictionary at all as get_config() returned 'None' instead of 'dyndns'.
2019-11-08ddclient: T1789: fix RFC2136 generated configChristian Poessinger
Commit 967067970494c1800f ("ddclient: T1030: adjust to latest syntax") was under the impression that ddclient 3.9.0 now handles every config item with a comma in the end. This is unfortunately not true on RFC2136 dynamic DNS entries. Remove commas on config template.
2019-10-23ddclient: T1030: add cloudflare zone config entryChristian Poessinger
2019-10-23ddclient: T1030: adjust to latest syntaxChristian Poessinger
2019-10-23ddclient: T1030: auto create runtime directoriesChristian Poessinger
2019-10-23ddclient: T1030: use new default configuration file pathChristian Poessinger
2019-02-10T1213: ddclient: proper enquote web-skip parameterChristian Poessinger
2019-02-05T1231: Remove cache file of 'service dns dynamic'Christian Poessinger
When deleting or changing "service dns dynamic" the cache file of ddclient is not removed, leading to abandoned host names which might be already gone.
2019-01-30T1213: fix ddclient when no server is givenChristian Poessinger
2018-11-11T998: "service dns dynamic" does now honor the "use-web" statementChristian Poessinger
This bug was present since the old Vyatta days as the use-web statement was only put into action when also "use-web skip" was defined. The service https://ipinfo.io/ip does not place any crap in front of the IP address so the skip statement was not used and made no sense.
2018-10-14T896: Fix dynamic DNS for CUSTOM providerChristian Poessinger
JINJA2 templated missed the 'server=' statement when generating custom dynamic DNS entries in the resulting ddclient.conf.
2018-07-29T758: refactor ddclient configuration file amd startupChristian Poessinger
Since version 3.8.0 ddclient support the update of multiple ip's. The need for running multiple ddclient instances with different configuration files is thus no longer necessary. More information can be found on the ddclient forum: https://sourceforge.net/p/ddclient/mailman/message/20383414/
2018-07-29T758: add configuration validatorChristian Poessinger
2018-07-29T758: XML/Python implementation for 'service dns dynamic'Christian Poessinger