summaryrefslogtreecommitdiffstats
path: root/Lib/urllib/request.py
diff options
context:
space:
mode:
authorSenthil Kumaran <orsenthil@gmail.com>2009-05-01 06:00:23 (GMT)
committerSenthil Kumaran <orsenthil@gmail.com>2009-05-01 06:00:23 (GMT)
commit4947606ecca1248bdfa9a71c7ea28239d0f64f56 (patch)
treee926f833656e2705062470fe35714805beb168c5 /Lib/urllib/request.py
parent55708cce31442d13768843d85f424208e9fd0f42 (diff)
downloadcpython-4947606ecca1248bdfa9a71c7ea28239d0f64f56.zip
cpython-4947606ecca1248bdfa9a71c7ea28239d0f64f56.tar.gz
cpython-4947606ecca1248bdfa9a71c7ea28239d0f64f56.tar.bz2
Fix for Issue1648102, based on the MSDN spec: If this parameter specifies the
"<local>" macro as the only entry, this function bypasses any host name that does not contain a period.
Diffstat (limited to 'Lib/urllib/request.py')
-rw-r--r--Lib/urllib/request.py13
1 files changed, 3 insertions, 10 deletions
diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py
index 59ec7b8..42e6d17 100644
--- a/Lib/urllib/request.py
+++ b/Lib/urllib/request.py
@@ -2244,18 +2244,11 @@ elif os.name == 'nt':
# '<local>' string by the localhost entry and the corresponding
# canonical entry.
proxyOverride = proxyOverride.split(';')
- i = 0
- while i < len(proxyOverride):
- if proxyOverride[i] == '<local>':
- proxyOverride[i:i+1] = ['localhost',
- '127.0.0.1',
- socket.gethostname(),
- socket.gethostbyname(
- socket.gethostname())]
- i += 1
- # print proxyOverride
# now check if we match one of the registry values.
for test in proxyOverride:
+ if test == '<local>':
+ if '.' not in rawHost:
+ return 1
test = test.replace(".", r"\.") # mask dots
test = test.replace("*", r".*") # change glob sequence
test = test.replace("?", r".") # change glob char