From 65c8d1538d0fa68d4e7306aa152cdc39ba082b6b Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 30 Dec 2024 19:03:34 -0600 Subject: ddclient: T6981: Move nsupdate key mapping to Python Relocate key mapping for 'nsupdate' (rfc2136) from Jinja template to Python. This keeps the template simpler and allows for more complex dict handling in Python. --- src/conf_mode/service_dns_dynamic.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/conf_mode/service_dns_dynamic.py b/src/conf_mode/service_dns_dynamic.py index 08ee80a6b..682daa8a2 100755 --- a/src/conf_mode/service_dns_dynamic.py +++ b/src/conf_mode/service_dns_dynamic.py @@ -156,6 +156,13 @@ def generate(dyndns): if not dyndns or 'name' not in dyndns: return None + # Adjust protocol specific keys + for name in dyndns['name']: + # nsupdate (RFC2136) uses: + # - 'password' in ddclient.conf instead of 'key' in vyos conf + if dyndns['name'][name]['protocol'] == 'nsupdate': + dyndns['name'][name]['password'] = dyndns['name'][name].pop('key') + render(config_file, 'dns-dynamic/ddclient.conf.j2', dyndns, permission=0o600) render(systemd_override, 'dns-dynamic/override.conf.j2', dyndns) return None -- cgit v1.2.3