WebDAV sync support, access tokens, REST control endpoints #10

Merged
LeoVasanko merged 6 commits from webdav into main 2026-04-26 05:22:52 +00:00
2 changed files with 10 additions and 3 deletions
Showing only changes of commit f7ffc3f8bc - Show all commits
+8 -1
View File
@@ -279,7 +279,14 @@ def _log_webdav_user_agent_once(request, user_agent: str):
def _build_ua_auth_headers(request, *, include_hint=False) -> dict[str, str]: def _build_ua_auth_headers(request, *, include_hint=False) -> dict[str, str]:
return {} user_agent = request.headers.get("user-agent", "")
_log_webdav_user_agent_once(request, user_agent)
if _is_windows_auth_client(user_agent):
challenge = f'Basic realm="{_AUTH_REALM}", Negotiate'
else:
challenge = f'Basic realm="{_AUTH_REALM}"'
headers = {"WWW-Authenticate": challenge}
return headers
def _cleanup_ntlm_challenges(): def _cleanup_ntlm_challenges():
+2 -2
View File
@@ -159,11 +159,11 @@ async def test_options_unauthenticated_allowed(client):
@pytest.mark.asyncio @pytest.mark.asyncio
async def test_unauthenticated_sends_no_auth_challenge(client): async def test_unauthenticated_sends_basic_auth_challenge(client):
_, res = await client.request("PROPFIND", "/files/") _, res = await client.request("PROPFIND", "/files/")
assert res.status_code == 401 assert res.status_code == 401
assert "www-authenticate" not in res.headers assert res.headers.get("www-authenticate", "").lower().startswith('basic realm="cista"')
@pytest.mark.asyncio @pytest.mark.asyncio