zhanghai / zhanghai/MaterialFiles
Connecting to WebDAV with IPv6 ULA gets 401 Unauthorized
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 9k
- Forks
- 736
- PR merge metrics
- No merged PRs in 30d
Description
Connecting to a local WebDAV server with its ULA address results in the following 401 error:
The nginx server logs the following error:
2025/08/04 23:55:19 [info] 11064#11064: *312 no user/password was provided for basic authentication, client: fd17:3cb2:d446:0:3d2b:4700:8cf9:c678, server: oxygen.lan, request: "PROPFIND /keepass HTTP/1.1", host: "[fd17:3cb2:d446:0:dea6:32ff:fe9c:c7ca]"
But the credentials are set:
It works if I change it to a local IPv4 address (e.g. 192.168.1.106). With IPv6, the Basic Auth credentials are not being sent, apparently.
Note:
- DAVx5 successfully connects to the same WebDAV server, with the same IPv6 ULA. (see screenshot below)
- This is only happening on the WebDAV connection. Samba can connect through IPv6 as expected.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file, test, or entry point is named in the issue. Start by tracing the WebDAV connection and HTTP Basic Auth handling for IPv6 ULA addresses, compare it with the IPv4 path and DAVx5 behavior, and verify that authenticated WebDAV requests succeed over IPv6 without breaking IPv4 or Samba connections.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- mobile, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100