New submission from Aaron Black <[email protected]>:
While working on a custom conda channel with authentication, I ran into the
following UnicodeError:
Traceback (most recent call last):
File
"/Users/ablack/miniconda3/lib/python3.6/site-packages/conda/core/repodata.py",
line 402, in fetch_repodata_remote_request
timeout=timeout)
File
"/Users/ablack/miniconda3/lib/python3.6/site-packages/requests/sessions.py",
line 521, in get
return self.request('GET', url, **kwargs)
File
"/Users/ablack/miniconda3/lib/python3.6/site-packages/requests/sessions.py",
line 499, in request
prep.url, proxies, stream, verify, cert
File
"/Users/ablack/miniconda3/lib/python3.6/site-packages/requests/sessions.py",
line 672, in merge_environment_settings
env_proxies = get_environ_proxies(url, no_proxy=no_proxy)
File
"/Users/ablack/miniconda3/lib/python3.6/site-packages/requests/utils.py", line
692, in get_environ_proxies
if should_bypass_proxies(url, no_proxy=no_proxy):
File
"/Users/ablack/miniconda3/lib/python3.6/site-packages/requests/utils.py", line
676, in should_bypass_proxies
bypass = proxy_bypass(netloc)
File "/Users/ablack/miniconda3/lib/python3.6/urllib/request.py", line 2612,
in proxy_bypass
return proxy_bypass_macosx_sysconf(host)
File "/Users/ablack/miniconda3/lib/python3.6/urllib/request.py", line 2589,
in proxy_bypass_macosx_sysconf
return _proxy_bypass_macosx_sysconf(host, proxy_settings)
File "/Users/ablack/miniconda3/lib/python3.6/urllib/request.py", line 2562,
in _proxy_bypass_macosx_sysconf
hostIP = socket.gethostbyname(hostonly)
UnicodeError: encoding with 'idna' codec failed (UnicodeError: label empty or
too long)
The error can be consistently reproduced when the first substring of the url
hostname is greater than 64 characters long, as in
"0123456789012345678901234567890123456789012345678901234567890123.example.com".
This wouldn't be a problem, except that it doesn't seem to separate out
credentials from the first substring of the hostname so the entire
"[user]:[secret]@XXX" section must be less than 65 characters long. This is
problematic for services that use longer API keys and expect their submission
over basic auth.
----------
components: Library (Lib)
messages: 312947
nosy: ablack
priority: normal
severity: normal
status: open
title: Urllib proxy_bypass crashes for urls containing long basic auth strings
type: crash
versions: Python 3.6
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue32958>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com