Fixes #2108 (gns3-gui): getting project file with leading slashes issue (#1078)

pull/1079/head
ziajka 7 years ago committed by Julien Duponchelle
parent 6730cfe823
commit ea9f0e52c8

@ -396,7 +396,7 @@ class ProjectHandler:
controller = Controller.instance()
project = yield from controller.get_loaded_project(request.match_info["project_id"])
path = request.match_info["path"]
path = os.path.normpath(path)
path = os.path.normpath(path).strip('/')
# Raise error if user try to escape
if path[0] == ".":

@ -218,6 +218,15 @@ def test_write_file(http_controller, tmpdir, project):
assert response.status == 403
def test_write_and_get_file_with_leading_slashes_in_filename(http_controller, tmpdir, loop, project):
response = http_controller.post("/projects/{project_id}/files//hello".format(project_id=project.id), body="world", raw=True)
assert response.status == 200
response = http_controller.get("/projects/{project_id}/files//hello".format(project_id=project.id), raw=True)
assert response.status == 200
assert response.body == b"world"
def test_import(http_controller, tmpdir, controller):
with zipfile.ZipFile(str(tmpdir / "test.zip"), 'w') as myzip:

Loading…
Cancel
Save