mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-06-05 17:11:43 +00:00
webish: strip leading/tailing whitespace from user-provided filenames, to avoid confusion
This commit is contained in:
parent
44db5fd8a2
commit
0a39430730
@ -591,6 +591,8 @@ class POSTHandler(rend.Page):
|
|||||||
req.setResponseCode(http.BAD_REQUEST)
|
req.setResponseCode(http.BAD_REQUEST)
|
||||||
req.setHeader("content-type", "text/plain")
|
req.setHeader("content-type", "text/plain")
|
||||||
return "name= may not contain a slash"
|
return "name= may not contain a slash"
|
||||||
|
if name is not None:
|
||||||
|
name = name.strip()
|
||||||
# we allow the user to delete an empty-named file, but not to create
|
# we allow the user to delete an empty-named file, but not to create
|
||||||
# them, since that's an easy and confusing mistake to make
|
# them, since that's an easy and confusing mistake to make
|
||||||
|
|
||||||
@ -641,7 +643,11 @@ class POSTHandler(rend.Page):
|
|||||||
d.addCallback(_done)
|
d.addCallback(_done)
|
||||||
elif t == "rename":
|
elif t == "rename":
|
||||||
from_name = 'from_name' in req.fields and req.fields["from_name"].value
|
from_name = 'from_name' in req.fields and req.fields["from_name"].value
|
||||||
|
if from_name is not None:
|
||||||
|
from_name = from_name.strip()
|
||||||
to_name = 'to_name' in req.fields and req.fields["to_name"].value
|
to_name = 'to_name' in req.fields and req.fields["to_name"].value
|
||||||
|
if to_name is not None:
|
||||||
|
to_name = to_name.strip()
|
||||||
if not from_name or not to_name:
|
if not from_name or not to_name:
|
||||||
raise RuntimeError("rename requires from_name and to_name")
|
raise RuntimeError("rename requires from_name and to_name")
|
||||||
if not IDirectoryNode.providedBy(self._node):
|
if not IDirectoryNode.providedBy(self._node):
|
||||||
@ -667,6 +673,8 @@ class POSTHandler(rend.Page):
|
|||||||
elif t == "upload":
|
elif t == "upload":
|
||||||
contents = req.fields["file"]
|
contents = req.fields["file"]
|
||||||
name = name or contents.filename
|
name = name or contents.filename
|
||||||
|
if name is not None:
|
||||||
|
name = name.strip()
|
||||||
if not name:
|
if not name:
|
||||||
raise RuntimeError("set-uri requires a name")
|
raise RuntimeError("set-uri requires a name")
|
||||||
uploadable = upload.FileHandle(contents.file)
|
uploadable = upload.FileHandle(contents.file)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user