Now the returncode of calls to nsupdate_dyndns is evaluated.
authorPhilipp Spitzer <philipp@spitzer.priv.at>
Tue, 8 Apr 2014 20:24:12 +0000 (22:24 +0200)
committerPhilipp Spitzer <philipp@spitzer.priv.at>
Tue, 8 Apr 2014 20:24:12 +0000 (22:24 +0200)
cgi-bin/dyndns.py

index cb48a18..285d0dc 100755 (executable)
@@ -71,6 +71,9 @@ class MyipInvalid(MyipError):
 class OfflineInvalid(DynDnsError):
        returncode = 'badparam' # not documented at dyn.com
 
+class NsupdateError(DynDnsError):
+       returncode = 'nohost'
+
 
 fields = cgi.FieldStorage()
 
@@ -165,7 +168,9 @@ try:
        if myip is not None:
                call_params.extend(['--ip', myip])
        call_params.append(hostname)
-       call(call_params)
+       retcode = call(call_params)
+       if retcode != 0:
+               raise NsupdateError()
 
        # return success
        print "Content-Type: text/html"