Status: New
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 3656 by erik.l...@gmail.com: DNS exception on oddly configured apache instance
https://code.google.com/p/reviewboard/issues/detail?id=3656

*** READ THIS BEFORE POSTING!
***
*** You must complete this form in its entirety, or your bug report will be
*** rejected.
***
*** If you have a security issue to report, please send it confidentially
to
*** secur...@reviewboard.org. Posting security-related issues to this bug
*** tracker causes us to have to do an emergency release.
***
*** For customer support, please post to reviewbo...@googlegroups.com
***
*** If you have a patch, please submit it to
http://reviews.reviewboard.org/
***
*** This bug tracker is public. Please check that any logs or other
information
*** that you include has been stripped of confidential information.


What version are you running?
2.0.11


What's the URL of the page containing the problem?
N/A


What steps will reproduce the problem?
1. Configure RB to use AD auth backend.
2. Configure backend to find servers via DNS
3. Try to login and you a 500 error

What is the expected output? What do you see instead?
I expect to be logging in successfully. Instead I get a 500 error with the following entry in the logs:

[trimmed for brevity]
File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0.11-py2.7.egg/reviewboard/accounts/backends.py", line 552, in find_domain_controllers_from_dns
   req = DNS.Base.DnsRequest(q, qtype='SRV').req()

 File "/usr/lib/python2.7/dist-packages/DNS/Base.py", line 235, in req
   m.addQuestion(qname, qtype, Class.IN)

File "/usr/lib/python2.7/dist-packages/DNS/Lib.py", line 483, in addQuestion
   self.add16bit(qtype)

 File "/usr/lib/python2.7/dist-packages/DNS/Lib.py", line 81, in add16bit
   self.buf = self.buf + pack16bit(n)

 File "/usr/lib/python2.7/dist-packages/DNS/Lib.py", line 49, in pack16bit
   return struct_pack('!H', n)

error: cannot convert argument to integer


What operating system are you using? What browser?
N/A


Please provide any additional information below.
I dug into the DNS/Lib.py code and the problem is that the RB call to DnsRequest uses a string literal for qtype (which ends up being a unicode string due to the future import at the top of the file). In DNS/Base.py there is code to convert qtype to the native type (DNS.Type) by checking if it is currently one of types.StringTypes; however on one of our configurations types.StringTypes was failing to recognize unicode objects as strings.

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
You received this message because you are subscribed to the Google Groups 
"reviewboard-issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard-issues+unsubscr...@googlegroups.com.
To post to this group, send email to reviewboard-issues@googlegroups.com.
Visit this group at http://groups.google.com/group/reviewboard-issues.
For more options, visit https://groups.google.com/d/optout.

Reply via email to