diff options
| author | Indrajit Raychaudhuri <irc@indrajit.com> | 2024-12-30 19:03:34 -0600 |
|---|---|---|
| committer | Indrajit Raychaudhuri <irc@indrajit.com> | 2026-07-24 12:17:23 -0500 |
| commit | 65c8d1538d0fa68d4e7306aa152cdc39ba082b6b (patch) | |
| tree | 4f7797b8c5ee5515cc45e20c2bbf696b8fcee92c /src | |
| parent | 282e1c4d27543bf7941b10685e633056dd04b2be (diff) | |
| download | vyos-1x-65c8d1538d0fa68d4e7306aa152cdc39ba082b6b.tar.gz vyos-1x-65c8d1538d0fa68d4e7306aa152cdc39ba082b6b.zip | |
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.
Diffstat (limited to 'src')
| -rwxr-xr-x | src/conf_mode/service_dns_dynamic.py | 7 |
1 files changed, 7 insertions, 0 deletions
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 |
