mirror of
https://github.com/Kozea/Radicale.git
synced 2025-07-29 18:08:31 +00:00
Only redirect to sanitized path under /web
This commit is contained in:
parent
9e9f2bb780
commit
77a3ea7529
3 changed files with 24 additions and 21 deletions
|
@ -53,26 +53,28 @@ permissions: RrWw""")
|
|||
|
||||
def test_root(self) -> None:
|
||||
"""GET request at "/"."""
|
||||
status, headers, answer = self.request("GET", "/", check=302)
|
||||
assert headers.get("Location") == ".web"
|
||||
assert answer == "Redirected to .web"
|
||||
for path in ["", "/", "//"]:
|
||||
_, headers, answer = self.request("GET", path, check=302)
|
||||
assert headers.get("Location") == "/.web"
|
||||
assert answer == "Redirected to /.web"
|
||||
|
||||
def test_root_script_name(self) -> None:
|
||||
"""GET request at "/" with SCRIPT_NAME."""
|
||||
_, answer = self.get("/", check=302, SCRIPT_NAME="/radicale")
|
||||
assert answer == "Redirected to .web"
|
||||
for path in ["", "/", "//"]:
|
||||
_, headers, _ = self.request("GET", path, check=302,
|
||||
SCRIPT_NAME="/radicale")
|
||||
assert headers.get("Location") == "/radicale/.web"
|
||||
|
||||
def test_sanitized_path(self) -> None:
|
||||
"""GET request with unsanitized paths."""
|
||||
for path, sane_path in [("//", "/"), ("", "/"), ("/a//b", "/a/b"),
|
||||
("/a//b/", "/a/b/")]:
|
||||
_, headers, answer = self.request("GET", path, check=301)
|
||||
for path, sane_path in [
|
||||
("//.web", "/.web"), ("//.web/", "/.web/"),
|
||||
("/.web//", "/.web/"), ("/.web/a//b", "/.web/a/b")]:
|
||||
_, headers, _ = self.request("GET", path, check=301)
|
||||
assert headers.get("Location") == sane_path
|
||||
assert answer == "Redirected to %s" % sane_path
|
||||
_, headers, answer = self.request("GET", path, check=301,
|
||||
SCRIPT_NAME="/radicale")
|
||||
_, headers, _ = self.request("GET", path, check=301,
|
||||
SCRIPT_NAME="/radicale")
|
||||
assert headers.get("Location") == "/radicale%s" % sane_path
|
||||
assert answer == "Redirected to /radicale%s" % sane_path
|
||||
|
||||
def test_add_event(self) -> None:
|
||||
"""Add an event."""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue