diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2010-03-29 16:08:11 +0200 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2010-03-29 18:05:29 +0200 |
commit | 4bbc3ff037026c72f3249f59c1b5af69a6ad6d69 (patch) | |
tree | 125857a1edbf3246579e51b10f6e62ec875062bc /lib/dnspython/examples/ddns.py | |
parent | 89aa3b766b926d19dac4805a7e72433e497ce872 (diff) | |
download | samba-4bbc3ff037026c72f3249f59c1b5af69a6ad6d69.tar.gz samba-4bbc3ff037026c72f3249f59c1b5af69a6ad6d69.tar.bz2 samba-4bbc3ff037026c72f3249f59c1b5af69a6ad6d69.zip |
s4-python: Move dnspython to lib/, like the other Python modules
This also avoids it from being installed if it's already present on the
system.
Diffstat (limited to 'lib/dnspython/examples/ddns.py')
-rwxr-xr-x | lib/dnspython/examples/ddns.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/lib/dnspython/examples/ddns.py b/lib/dnspython/examples/ddns.py new file mode 100755 index 0000000000..84814b73cf --- /dev/null +++ b/lib/dnspython/examples/ddns.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python + +# +# Use a TSIG-signed DDNS update to update our hostname-to-address +# mapping. +# +# usage: ddns.py <ip-address> +# +# On linux systems, you can automatically update your DNS any time an +# interface comes up by adding an ifup-local script that invokes this +# python code. +# +# E.g. on my systems I have this +# +# #!/bin/sh +# +# DEVICE=$1 +# +# if [ "X${DEVICE}" == "Xeth0" ]; then +# IPADDR=`LANG= LC_ALL= ifconfig ${DEVICE} | grep 'inet addr' | +# awk -F: '{ print $2 } ' | awk '{ print $1 }'` +# /usr/local/sbin/ddns.py $IPADDR +# fi +# +# in /etc/ifup-local. +# + +import sys + +import dns.update +import dns.query +import dns.tsigkeyring + +# +# Replace the keyname and secret with appropriate values for your +# configuration. +# +keyring = dns.tsigkeyring.from_text({ + 'keyname.' : 'NjHwPsMKjdN++dOfE5iAiQ==' + }) + +# +# Replace "example." with your domain, and "host" with your hostname. +# +update = dns.update.Update('example.', keyring=keyring) +update.replace('host', 300, 'A', sys.argv[1]) + +# +# Replace "10.0.0.1" with the IP address of your master server. +# +response = dns.query.tcp(update, '10.0.0.1', timeout=10) |