|
From: <sub...@co...> - 2007-05-25 01:55:05
|
Author: ianb
Date: 2007-05-24 19:55:04 -0600 (Thu, 24 May 2007)
New Revision: 2701
Modified:
FormEncode/trunk/docs/news.txt
FormEncode/trunk/formencode/validators.py
Log:
Fix for DNS from Jacob Smullyan
Modified: FormEncode/trunk/docs/news.txt
===================================================================
--- FormEncode/trunk/docs/news.txt 2007-05-25 01:52:10 UTC (rev 2700)
+++ FormEncode/trunk/docs/news.txt 2007-05-25 01:55:04 UTC (rev 2701)
@@ -23,6 +23,8 @@
* Fix problem with HTMLParser's default unescaping routing, which only
understood a very limited number of entities in attribute values.
+* Fix problem with looking up A records for email addresses.
+
0.7.1
-----
Modified: FormEncode/trunk/formencode/validators.py
===================================================================
--- FormEncode/trunk/formencode/validators.py 2007-05-25 01:52:10 UTC (rev 2700)
+++ FormEncode/trunk/formencode/validators.py 2007-05-25 01:55:04 UTC (rev 2701)
@@ -1230,8 +1230,10 @@
if self.resolve_domain:
assert have_dns, "pyDNS should be available"
try:
- a=DNS.DnsRequest(domain).req().answers
- dnsdomains=[x['data'] for x in a if x['typename'] in ('A', 'MX')]
+ a=DNS.DnsRequest(domain, qtype='mx').req().answers
+ if not a:
+ a=DNS.DnsRequest(domain, qtype='a').req().answers
+ dnsdomains=[x['data'] for x in a]
except (socket.error, DNS.DNSError), e:
raise Invalid(
self.message('socketError', state, error=e),
|