Now the ip address is given to nsupdate_dyndns in case of offline (if given).
authorPhilipp Spitzer <philipp@spitzer.priv.at>
Tue, 8 Apr 2014 20:16:04 +0000 (22:16 +0200)
committerPhilipp Spitzer <philipp@spitzer.priv.at>
Tue, 8 Apr 2014 20:16:04 +0000 (22:16 +0200)
cgi-bin/dyndns.py

index c5f0e4f..cb48a18 100755 (executable)
@@ -152,16 +152,20 @@ try:
                                myip = os.environ.get('REMOTE_ADDR')
                                if not myip: # empty string if not present
                                        raise MyipMissing()
+       if not myip is None:
                try:
-                       ip = ipaddr.IPAddress(myip) # throws an exception if the IP address is not valid
+                       ipaddr.IPAddress(myip) # throws an exception if the IP address is not valid
                except ValueError:
                        raise MyipInvalid()
 
        # update bind
+       call_params = ['sudo', '/usr/local/bin/nsupdate_dyndns']
        if offline:
-               call(['sudo', '/usr/local/bin/nsupdate_dyndns', '--delete', hostname])
-       else:
-               call(['sudo', '/usr/local/bin/nsupdate_dyndns', '--ip', myip, hostname])
+               call_params.append('--delete')
+       if myip is not None:
+               call_params.extend(['--ip', myip])
+       call_params.append(hostname)
+       call(call_params)
 
        # return success
        print "Content-Type: text/html"