aboutsummaryrefslogtreecommitdiffstats
path: root/ddns
diff options
context:
space:
mode:
Diffstat (limited to 'ddns')
-rw-r--r--ddns/backend/dnsupdate.py5
-rw-r--r--ddns/frontend/dyn_com.py8
2 files changed, 8 insertions, 5 deletions
diff --git a/ddns/backend/dnsupdate.py b/ddns/backend/dnsupdate.py
index 650759f..8257540 100644
--- a/ddns/backend/dnsupdate.py
+++ b/ddns/backend/dnsupdate.py
@@ -52,9 +52,8 @@ 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'))
+ if not keyring or keyring == None:
+ gen_keyring(ddns.cfg_parser.cfg.get('dnskeys'))
zone = get_zone(zone)
dns_srv = zone['ns']
diff --git a/ddns/frontend/dyn_com.py b/ddns/frontend/dyn_com.py
index 5ef6e11..9b803ec 100644
--- a/ddns/frontend/dyn_com.py
+++ b/ddns/frontend/dyn_com.py
@@ -18,6 +18,9 @@ def dyn_com():
if not request.args.has_key('myip'):
return "nohost"
+ if len(request.args.getlist('myip')) != 1:
+ return "nohost"
+
hostname = request.args.get('hostname')
if not '.' in hostname:
return "notfqdn"
@@ -43,5 +46,6 @@ def dyn_com():
# We should probably check something here...
return "good"
return auth.authenticate("!yours")
- return "nohost"
- return "nohost"
+ return "nohost2"
+ raise RuntimeError("ooops")
+ return "nohost1"