Package: python-dns
Version: 2.3.0-5.2+etch1
Severity: grave
Justification: breaks existing applications

Hello,

after upgrading our production servers running Zope 3, we started hitting
the following exception:

2008-09-17T06:06:57 ERROR SiteError http://www.loveismatch.com/signup.html
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/zope/publisher/publish.py", line 133, 
in publish
    result = publication.callObject(request, obj)
  File 
"/usr/lib/python2.4/site-packages/zope/app/publication/zopepublication.py", 
line 161, in callObject
    return mapply(ob, request.getPositionalArguments(), request)
  File "/usr/lib/python2.4/site-packages/zope/publisher/publish.py", line 108, 
in mapply
    return debug_call(obj, args)
   - __traceback_info__: <bound method UserRegistration.__call__ of 
<zope.app.publisher.browser.viewmeta.UserRegistration object at 0x2aaaabf9c610>>
  File "/usr/lib/python2.4/site-packages/zope/publisher/publish.py", line 114, 
in debug_call
    return obj(*args)
  File 
"/var/lib/zope3/instance/loveismatch_3/lib/python/loveismatch/browser/users.py",
 line 114, in __call__
    validators.Email(resolve_domain=True).to_python(values['email'])
  File "/usr/lib/python2.4/site-packages/formencode/api.py", line 322, in 
to_python
    vp(value, state)
  File "/usr/lib/python2.4/site-packages/formencode/validators.py", line 1227, 
in validate_python
    domains = mxlookup(splitted[1])
  File "/var/lib/python-support/python2.4/DNS/lazy.py", line 26, in mxlookup
    a = Base.DnsRequest(name, qtype = 'mx').req().answers
  File "/var/lib/python-support/python2.4/DNS/Base.py", line 191, in req
    m.addQuestion(qname, qtype, Class.IN)
  File "/var/lib/python-support/python2.4/DNS/Lib.py", line 466, in addQuestion
    self.addname(qname)
  File "/var/lib/python-support/python2.4/DNS/Lib.py", line 133, in addname
    self.buf = self.buf + buf
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal 
not in range(128)


As you can see, I'm using formencode to validate an e-mail address with the
following instruction:

    validators.Email(resolve_domain=True).to_python(values['email'])

It worked for years, and just stopped working after the upgrade. Reverting to
the old package (version 2.3.0-5.1) fixed the problem.

Thanks,

-- 
Fabio Tranchitella                         http://www.kobold.it
Free Software Developer and Consultant     http://www.tranchitella.it
_____________________________________________________________________
1024D/7F961564, fpr 5465 6E69 E559 6466 BF3D 9F01 2BF8 EE2B 7F96 1564



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to