From: Kamil Madac Date: Thu, 5 Dec 2013 10:15:52 +0000 (+0100) Subject: function is_ipv4_network renamed X-Git-Tag: upstream/2.2.1~21^2^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1d42d9d2741d36c469fca38bc7e7a5383e3b7bd9;p=platform%2Fupstream%2Fpython-requests.git function is_ipv4_network renamed more detailed check of cidr format --- diff --git a/requests/utils.py b/requests/utils.py index 965b255..b272dc7 100644 --- a/requests/utils.py +++ b/requests/utils.py @@ -437,9 +437,17 @@ def is_ipv4_address(string_ip): return True -def is_ipv4_network(string_network): - """Very simple check of the network format in no_proxy variable""" - if '/' in string_network: +def is_valid_cidr(string_network): + """Very simple check of the cidr format in no_proxy variable""" + if string_network.count('/') == 1: + try: + mask = int(string_network.split('/')[1]) + except ValueError: + return False + + if mask < 1 or mask > 32: + return False + try: socket.inet_aton(string_network.split('/')[0]) except socket.error: @@ -467,7 +475,7 @@ def get_environ_proxies(url): ip = netloc.split(':')[0] if is_ipv4_address(ip): for proxy_ip in no_proxy: - if is_ipv4_network(proxy_ip): + if is_valid_cidr(proxy_ip): if address_in_network(ip, proxy_ip): return {} else: diff --git a/test_requests.py b/test_requests.py index 251d2ea..c46030e 100755 --- a/test_requests.py +++ b/test_requests.py @@ -934,10 +934,10 @@ class UtilsTestCase(unittest.TestCase): assert not is_ipv4_address('8.8.8.8.8') assert not is_ipv4_address('localhost.localdomain') - def test_is_ipv4_network(self): - from requests.utils import is_ipv4_network - assert not is_ipv4_network('8.8.8.8') - assert is_ipv4_network('192.168.1.0/24') + def test_is_valid_cidr(self): + from requests.utils import is_valid_cidr + assert not is_valid_cidr('8.8.8.8') + assert is_valid_cidr('192.168.1.0/24') def test_dotted_netmask(self): from requests.utils import dotted_netmask