diff options
Diffstat (limited to 'ddns')
-rw-r--r-- | ddns/backend/dnsupdate.py | 5 | ||||
-rw-r--r-- | ddns/frontend/dyn_com.py | 8 |
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" |