From 86baf5455a424dab73b0e2268d71f704631a6718 Mon Sep 17 00:00:00 2001 From: Evan Broder Date: Thu, 6 Nov 2008 21:52:39 -0500 Subject: [PATCH] In the web interface, validate names by querying against the local nameserver This fixes the case where the default nameserver is caching an old value. svn path=/trunk/packages/invirt-web/; revision=1542 --- code/validation.py | 6 ++++-- debian/changelog | 7 +++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/code/validation.py b/code/validation.py index f28603c..25031ef 100644 --- a/code/validation.py +++ b/code/validation.py @@ -273,13 +273,15 @@ def testName(user, name, machine=None): return None try: hostname = '%s.%s.' % (name, config.dns.domains[0]) + resolver = dns.resolver.Resolver() + resolver.nameservers = ['127.0.0.1'] try: - dns.resolver.query(hostname, 'A') + resolver.query(hostname, 'A') except dns.resolver.NoAnswer, e: # If we can get the TXT record, then we can verify it's # reserved. If this lookup fails, let it bubble up and be # dealt with - answer = dns.resolver.query(hostname, 'TXT') + answer = resolver.query(hostname, 'TXT') txt = answer[0].strings[0] if txt.startswith('reserved'): raise InvalidInput('name', name, 'The name you have requested has been %s. For more information, contact us at %s' % (txt, config.dns.contact)) diff --git a/debian/changelog b/debian/changelog index a9e9f18..d52aa04 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +invirt-web (0.0.7) unstable; urgency=low + + * Query against the local nameserver to be sure there's no caching of + deleted hosts + + -- Evan Broder Thu, 06 Nov 2008 21:44:27 -0500 + invirt-web (0.0.6) unstable; urgency=low * The web server needs a working AFS; make sure OpenAFS modules are -- 1.7.9.5