diff options
author | Marius Halden <marius.h@lden.org> | 2014-03-17 19:10:00 +0100 |
---|---|---|
committer | Marius Halden <marius.h@lden.org> | 2014-03-17 19:10:00 +0100 |
commit | d398793a759acc1d8bf2484f3533d0e9744bd429 (patch) | |
tree | ce453af337ad0fb94aacb6b445ce01cd7e1f717d /ddns/backend/dnsupdate.py | |
parent | 144427894721bb54baa08a7584e850277681c71b (diff) | |
download | DDNS.py-d398793a759acc1d8bf2484f3533d0e9744bd429.tar.gz DDNS.py-d398793a759acc1d8bf2484f3533d0e9744bd429.tar.bz2 DDNS.py-d398793a759acc1d8bf2484f3533d0e9744bd429.tar.xz |
Chaged where the configfile is defined and how the config is used
Diffstat (limited to 'ddns/backend/dnsupdate.py')
-rw-r--r-- | ddns/backend/dnsupdate.py | 11 |
1 files changed, 5 insertions, 6 deletions
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']) - |