aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ddns/backend/dnsupdate.py8
-rw-r--r--ddns/frontend/dyn_com.py4
2 files changed, 7 insertions, 5 deletions
diff --git a/ddns/backend/dnsupdate.py b/ddns/backend/dnsupdate.py
index b64cefd..6554fbb 100644
--- a/ddns/backend/dnsupdate.py
+++ b/ddns/backend/dnsupdate.py
@@ -28,7 +28,7 @@ def get_zone(name):
return None
def get_key(name):
- for key in cfg['dnskeys']:
+ for key in ddns.cfg_parser.cfg['dnskeys']:
if key['name'] == name:
return key
return None
@@ -64,9 +64,11 @@ def update_dns(zone, hostname, ip, ttl=300):
zone = get_zone(zone)
dns_srv = zone['ns']
+ key = get_key(zone['key'])
+
update = dns.update.Update(zone['name'], keyring=keyring, \
- keyname=zone['key']['name'], \
- keyalgorithm=get_hash_method(zone['key']['algorithm']))
+ keyname=key['name'], \
+ keyalgorithm=get_hash_method(key['algorithm']))
if ip.version() == 6:
rtype = 'AAAA'
diff --git a/ddns/frontend/dyn_com.py b/ddns/frontend/dyn_com.py
index b8d71c9..1bef8cf 100644
--- a/ddns/frontend/dyn_com.py
+++ b/ddns/frontend/dyn_com.py
@@ -40,10 +40,10 @@ def dyn_com():
if zone_name == zone['name']:
for domain in zone['domains']:
if domain['domain'] == hostname:
- if request.authorization.username in users:
+ if request.authorization.username in domain['users']:
ddns.backend.dnsupdate.update_dns(zone_name, hostname, ip)
# We should probably check something here...
return "good"
- return auth.authenticate("!yours")
+ return ddns.auth.authenticate("!yours")
return "nohost"
return "nohost"