From d398793a759acc1d8bf2484f3533d0e9744bd429 Mon Sep 17 00:00:00 2001 From: Marius Halden Date: Mon, 17 Mar 2014 19:10:00 +0100 Subject: Chaged where the configfile is defined and how the config is used --- ddns/backend/dnsupdate.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'ddns/backend/dnsupdate.py') diff --git a/ddns/backend/dnsupdate.py b/ddns/backend/dnsupdate.py index cd1dee2..650759f 100644 --- a/ddns/backend/dnsupdate.py +++ b/ddns/backend/dnsupdate.py @@ -5,7 +5,6 @@ import dns.update import dns.resolver import ddns.cfg_parser -zone_cfg = None keyring = None def resolve(domain, rtype='A'): @@ -23,7 +22,7 @@ def check_ip(domain, ip, rtype='A'): return False def get_zone(name): - for zone in zone_cfg: + for zone in ddns.cfg_parser.cfg.get('zones'): if zone['name'] == name: return zone return None @@ -53,6 +52,10 @@ def get_hash_method(hash_name): return dns.tsig.default_algorithm def update_dns(zone, hostname, ip, ttl=300): + global keyring + if not keyring: + keyring = gen_keyring(ddns.cfg_parser.cfg.get('dnskeys')) + zone = get_zone(zone) dns_srv = zone['ns'] @@ -68,7 +71,3 @@ def update_dns(zone, hostname, ip, ttl=300): # if not check_ip(hostname+'.'+zone['name'], ip, rtype): update.replace(hostname.encode('ascii'), ttl, rtype, ip.strNormal(0)) res = dns.query.tcp(update, dns_srv) - -zone_cfg = ddns.cfg_parser.cfg['zones'] -keyring = gen_keyring(ddns.cfg_parser.cfg['dnskeys']) - -- cgit v1.2.3