This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ulidtko
Recipients ulidtko
Date 2011-01-08.07:02:57
SpamBayes Score 0.0009750195
Marked as misclassified No
Message-id <1294470178.85.0.531669703509.issue10865@psf.upfronthosting.co.za>
In-reply-to
Content
Consider the following test script:

import os
import urllib.request

os.chroot("/tmp")

urllib.request.urlopen("http://localhost")


When executed with enough privileges, the script terminates with the following traceback:

Traceback (most recent call last):
  File "./test.py", line 8, in <module>
    urllib.request.urlopen("http://localhost")
  File "/usr/lib/python3.1/urllib/request.py", line 121, in urlopen
  File "/usr/lib/python3.1/urllib/request.py", line 350, in open
  File "/usr/lib/python3.1/urllib/request.py", line 368, in _open
  File "/usr/lib/python3.1/urllib/request.py", line 328, in _call_chain
  File "/usr/lib/python3.1/urllib/request.py", line 1110, in http_open
  File "/usr/lib/python3.1/urllib/request.py", line 1092, in do_open
  File "/usr/lib/python3.1/http/client.py", line 940, in request
  File "/usr/lib/python3.1/http/client.py", line 978, in _send_request
  File "/usr/lib/python3.1/http/client.py", line 936, in endheaders
  File "/usr/lib/python3.1/http/client.py", line 790, in _send_output
  File "/usr/lib/python3.1/http/client.py", line 731, in send
  File "/usr/lib/python3.1/http/client.py", line 713, in connect
  File "/usr/lib/python3.1/socket.py", line 320, in create_connection
LookupError: unknown encoding: idna

Without the os.chroot line it runs ok.


Furthermore, when importing encodings.idna explicitly and before chroot-ing, any hostname refuses to resolve at all.

Script:

import os
import urllib.request
import encodings.idna

os.chroot("/tmp")

urllib.request.urlopen("http://localhost")


now terminates with the following traceback:

Traceback (most recent call last):
  File "./test.py3", line 9, in <module>
    urllib.request.urlopen("http://localhost")
  File "/usr/lib/python3.1/urllib/request.py", line 121, in urlopen
  File "/usr/lib/python3.1/urllib/request.py", line 350, in open
  File "/usr/lib/python3.1/urllib/request.py", line 368, in _open
  File "/usr/lib/python3.1/urllib/request.py", line 328, in _call_chain
  File "/usr/lib/python3.1/urllib/request.py", line 1110, in http_open
  File "/usr/lib/python3.1/urllib/request.py", line 1095, in do_open
urllib.error.URLError: <urlopen error [Errno -2] Name or service not known>
History
Date User Action Args
2011-01-08 07:02:58ulidtkosetrecipients: + ulidtko
2011-01-08 07:02:58ulidtkosetmessageid: <1294470178.85.0.531669703509.issue10865@psf.upfronthosting.co.za>
2011-01-08 07:02:57ulidtkolinkissue10865 messages
2011-01-08 07:02:57ulidtkocreate