Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
d05853da
Commit
d05853da
authored
Apr 11, 2012
by
Senthil Kumaran
Browse files
Options
Browse Files
Download
Plain Diff
merge - fix the incorrect changes made for PATH_INFO value - Issue10484
parents
eba24280
dbb369d0
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
6 additions
and
11 deletions
+6
-11
Lib/http/server.py
Lib/http/server.py
+6
-10
Lib/test/test_httpservers.py
Lib/test/test_httpservers.py
+0
-1
No files found.
Lib/http/server.py
View file @
d05853da
...
...
@@ -865,14 +865,7 @@ def _url_collapse_path_split(path):
# Filter out blank non trailing parts before consuming the '..'.
path_parts
=
[
part
for
part
in
path_parts
[:
-
1
]
if
part
]
+
path_parts
[
-
1
:]
if
path_parts
:
# Special case for CGI's for PATH_INFO
if
path
.
startswith
(
'/cgi-bin'
)
or
path
.
startswith
(
'/htbin'
):
tail_part
=
[]
while
path_parts
[
-
1
]
not
in
(
'cgi-bin'
,
'htbin'
):
tail_part
.
insert
(
0
,
path_parts
.
pop
())
tail_part
=
"/"
.
join
(
tail_part
)
else
:
tail_part
=
path_parts
.
pop
()
tail_part
=
path_parts
.
pop
()
else
:
tail_part
=
''
head_parts
=
[]
...
...
@@ -963,8 +956,11 @@ class CGIHTTPRequestHandler(SimpleHTTPRequestHandler):
"""
splitpath
=
_url_collapse_path_split
(
self
.
path
)
if
splitpath
[
0
]
in
self
.
cgi_directories
:
self
.
cgi_info
=
splitpath
joined_path
=
'/'
.
join
(
splitpath
)
dir_sep
=
joined_path
.
find
(
'/'
,
1
)
head
,
tail
=
joined_path
[:
dir_sep
],
joined_path
[
dir_sep
+
1
:]
if
head
in
self
.
cgi_directories
:
self
.
cgi_info
=
head
,
tail
return
True
return
False
...
...
Lib/test/test_httpservers.py
View file @
d05853da
...
...
@@ -377,7 +377,6 @@ class CGIHTTPServerTestCase(BaseTestCase):
'/.//'
:
(
'/'
,
''
),
'cgi-bin/file1.py'
:
(
'/cgi-bin'
,
'file1.py'
),
'/cgi-bin/file1.py'
:
(
'/cgi-bin'
,
'file1.py'
),
'/cgi-bin/file1.py/PATH-INFO'
:
(
'/cgi-bin'
,
'file1.py/PATH-INFO'
),
'a'
:
(
'/'
,
'a'
),
'/a'
:
(
'/'
,
'a'
),
'//a'
:
(
'/'
,
'a'
),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment