]> git.ralfj.de Git - dyn-nsupdate.git/blobdiff - server-scripts/update
port client script to python 3
[dyn-nsupdate.git] / server-scripts / update
diff --git a/server-scripts/update b/server-scripts/update
new file mode 100755 (executable)
index 0000000..d5fbca3
--- /dev/null
@@ -0,0 +1,29 @@
+#!/usr/bin/python
+import cgi, os, sys, subprocess
+form = cgi.FieldStorage()
+
+# print headers
+print "Content-Type: text/plain"
+print ""
+
+# get input
+if "password" not in form or "domain" not in form or "ip" not in form:
+    print "Mandatory argument missing: You must supply all of 'password', 'domain', 'ip'"
+    sys.exit()
+
+ip = form["ip"].value
+domain = form["domain"].value
+password = form["password"].value
+
+# run update program
+p = subprocess.Popen(["/var/lib/named/dyn-nsupdate", domain, password, ip], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+(stdout, stderr) = p.communicate()
+
+# check what it did
+if p.returncode or stderr or stdout:
+       # error :/
+       print "There was an error while updating the DNS: Return code %d" % p.returncode
+       if stdout: print stdout
+       if stderr: print stderr
+else:
+       print "good",ip