Now the returncode of calls to nsupdate_dyndns is evaluated.
[toast/tdyndns.git] / cgi-bin / dyndns.py
index cb48a188c21d4b8d2c1a2b7a21bb50314c45e845..285d0dc8ab81537a77a6adf5de056889c309d3da 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"