Skip IPv6 addresses in cname_lookup middleware.
It already skips IPv4 addresses, and since IPv6 is the future of the Internet*, we should probably do the right thing with those too. * IPv6: Just two years away for over fifteen years! Change-Id: I54f1db4e936fd38d05ac8b5c709efba76525b9d2
This commit is contained in:
@@ -62,10 +62,14 @@ 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:
|
||||
return False
|
||||
try:
|
||||
socket.inet_pton(socket.AF_INET6, domain)
|
||||
return True
|
||||
except socket.error:
|
||||
return False
|
||||
|
||||
|
||||
class CNAMELookupMiddleware(object):
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user