[issue10484] http.server.is_cgi fails to handle CGI URLs containing PATH_INFO

Glenn Linderman report at bugs.python.org
Sun Nov 21 08:31:57 CET 2010


New submission from Glenn Linderman <v+python at g.nevcal.com>:

is_cgi doesn't properly handle PATH_INFO parts of the path.  The Python2.x CGIHTTPServer.py had this right, but the introduction and use of _url_collapse_path_split broke it.

_url_collapse_path_split splits the URL into a two parts, the second part is guaranteed to be a single path component, and the first part is the rest.  However, URLs such as

/cgi-bin/foo.exe/this/is/PATH_INFO/parameters

can and do want to exist, but the code in is_cgi will never properly detect that /cgi-bin/foo.exe is the appropriate executable, and the rest should be PATH_INFO.

This used to work correctly in the precedecessor CGIHTTPServer.py code in Python 2.6, so is a regression.

----------
components: Library (Lib)
messages: 121876
nosy: v+python
priority: normal
severity: normal
status: open
title: http.server.is_cgi fails to handle CGI URLs containing PATH_INFO
type: behavior
versions: Python 3.2

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue10484>
_______________________________________


More information about the Python-bugs-list mailing list