Merge "Skip IPv6 addresses in cname_lookup middleware."

This commit is contained in:
Jenkins 2013-05-16 12:48:35 +00:00 committed by Gerrit Code Review
commit 678a3ae832
2 changed files with 11 additions and 3 deletions

View File

@ -62,7 +62,11 @@ def lookup_cname(domain): # pragma: no cover
def is_ip(domain):
try:
socket.inet_aton(domain)
socket.inet_pton(socket.AF_INET, domain)
return True
except socket.error:
try:
socket.inet_pton(socket.AF_INET6, domain)
return True
except socket.error:
return False

View File

@ -47,7 +47,6 @@ class TestCNAMELookup(unittest.TestCase):
{'lookup_depth': 2})
def test_pass_ip_addresses(self):
cname_lookup.lookup_cname = original_lookup
req = Request.blank('/', environ={'REQUEST_METHOD': 'GET'},
@ -55,6 +54,11 @@ class TestCNAMELookup(unittest.TestCase):
resp = self.app(req.environ, start_response)
self.assertEquals(resp, 'FAKE APP')
req = Request.blank('/', environ={'REQUEST_METHOD': 'GET'},
headers={'Host': 'fc00:7ea1:f155::6321:8841'})
resp = self.app(req.environ, start_response)
self.assertEquals(resp, 'FAKE APP')
def test_passthrough(self):
def my_lookup(d):