diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2014-11-07 20:09:10 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2014-11-12 22:40:53 +0100 |
commit | fb39c6fb5edf70097ee31e1b8638838dfc081892 (patch) | |
tree | 670982bbd040b87c7acb3d91c0da1a05bfe65994 /third_party/dnspython/examples/ddns.py | |
parent | 776424e99113a3ffc6679c583093e2892304a7fd (diff) | |
download | samba-fb39c6fb5edf70097ee31e1b8638838dfc081892.tar.gz samba-fb39c6fb5edf70097ee31e1b8638838dfc081892.tar.xz samba-fb39c6fb5edf70097ee31e1b8638838dfc081892.zip |
Move dnspython to third_party.
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Wed Nov 12 22:40:53 CET 2014 on sn-devel-104
Diffstat (limited to 'third_party/dnspython/examples/ddns.py')
-rwxr-xr-x | third_party/dnspython/examples/ddns.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/third_party/dnspython/examples/ddns.py b/third_party/dnspython/examples/ddns.py new file mode 100755 index 0000000000..84814b73cf --- /dev/null +++ b/third_party/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) |