mirror of
https://github.com/python/cpython.git
synced 2025-08-29 05:05:03 +00:00
Remove all CRLF -> LF translation for file uploads, since we cannot
reliably distinguish binary files from text files (and Mac Netscape sends all files in "binary" form, i.e. it sends text files with only CR delimiters...).
This commit is contained in:
parent
71e315b9d9
commit
99aa2a4132
1 changed files with 14 additions and 9 deletions
23
Lib/cgi.py
23
Lib/cgi.py
|
@ -397,7 +397,7 @@ backwards compatible and debugging classes and functions?
|
|||
|
||||
"""
|
||||
|
||||
__version__ = "2.0b1"
|
||||
__version__ = "2.0b2"
|
||||
|
||||
|
||||
# Imports
|
||||
|
@ -540,16 +540,20 @@ def parse_multipart(fp, pdict):
|
|||
terminator = string.strip(line)
|
||||
if terminator in (nextpart, lastpart):
|
||||
break
|
||||
if line[-2:] == '\r\n':
|
||||
line = line[:-2]
|
||||
elif line[-1:] == '\n':
|
||||
line = line[:-1]
|
||||
lines.append(line)
|
||||
# Done with part.
|
||||
if data is None:
|
||||
continue
|
||||
if bytes < 0:
|
||||
data = string.joinfields(lines, "\n")
|
||||
if lines:
|
||||
# Strip final line terminator
|
||||
line = lines[-1]
|
||||
if line[-2:] == "\r\n":
|
||||
line = line[:-2]
|
||||
elif line[-1:] == "\n":
|
||||
line = line[:-1]
|
||||
lines[-1] = line
|
||||
data = string.joinfields(lines, "")
|
||||
line = headers['content-disposition']
|
||||
if not line:
|
||||
continue
|
||||
|
@ -859,8 +863,6 @@ class FieldStorage:
|
|||
self.done = -1
|
||||
break
|
||||
self.lines.append(line)
|
||||
if line[-2:] == '\r\n':
|
||||
line = line[:-2] + '\n'
|
||||
self.file.write(line)
|
||||
|
||||
def read_lines_to_outerboundary(self):
|
||||
|
@ -882,11 +884,14 @@ class FieldStorage:
|
|||
self.done = 1
|
||||
break
|
||||
if line[-2:] == "\r\n":
|
||||
delim = "\r\n"
|
||||
line = line[:-2]
|
||||
elif line[-1] == "\n":
|
||||
delim = "\n"
|
||||
line = line[:-1]
|
||||
else:
|
||||
delim = ""
|
||||
self.file.write(delim + line)
|
||||
delim = "\n"
|
||||
|
||||
def skip_lines(self):
|
||||
"""Internal: skip lines until outer boundary if defined."""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue