OpenListTeam / OpenListTeam/OpenList

[BUG] 115开放平台挂载Webdav,通过群晖Cloudsync加密上传文件出现报错

Open
#1,659 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Go
Stars
24.7k
Forks
2.3k
Avg merge
1d 20h
Merged PRs (30d)
36

Description

Please confirm the following
  • I have read and agree to AGPL-3.0 Section 15 .
    The program is provided "as is" without any warranties; you bear all risks of using it.

  • I have read and agree to AGPL-3.0 Section 16 .
    The copyright holders and distributors are not liable for any damages resulting from the use or inability to use the program.

  • I confirm my description is clear, polite, helps developers quickly locate the issue, and complies with community rules.

  • I have read the OpenList documentation.

  • I confirm there are no duplicate issues or discussions.

  • I confirm this is an OpenList issue, not caused by other reasons (such as network, dependencies, or operation).

  • I believe this issue must be handled by OpenList and not by a third party.

  • I confirm this issue is not fixed in the latest version.

OpenList Version (required)

v4.17

Storage Driver Used (required)

115 Oauth2

Bug Description (required)

115开放平台挂载Webdav,通过群晖Cloudsync加密上传文件出现报错
文件大小约为1.8GB

Logs (required)

[GIN] 2025/11/15 - 23:22:24 | 405 | 5m37s | 172.19.0.1 | PUT "/dav/115/openlist/JC/2022/02/IMG_7686.MOV"
ERRO[2025-11-15 23:27:38] PUT /dav/115/openlist/JC/2022/02/IMG_7686.MOV webdav: locked
[GIN] 2025/11/15 - 23:27:38 | 423 | 361.075381ms | 172.19.0.1 | PUT "/dav/115/openlist/JC/2022/02/IMG_7686.MOV"
ERRO[2025-11-15 23:27:39] failed put /115/openlist/JC/2022/02: All attempts fail:
#1: Put "http://fhnfile.oss-cn-shenzhen.aliyuncs.com/69189ab4c9f5347298501dc057ba87660aac06e0?partNumber=87&uploadId=F3BDB58E276C4ABB8A9BE38AA821DA92": context canceled
#2: Put "http://fhnfile.oss-cn-shenzhen.aliyuncs.com/69189ab4c9f5347298501dc057ba87660aac06e0?partNumber=87&uploadId=F3BDB58E276C4ABB8A9BE38AA821DA92": context canceled
#3: Put "http://fhnfile.oss-cn-shenzhen.aliyuncs.com/69189ab4c9f5347298501dc057ba87660aac06e0?partNumber=87&uploadId=F3BDB58E276C4ABB8A9BE38AA821DA92": context canceled
github.com/OpenListTeam/OpenList/v4/internal/op.Put
/home/runner/work/OpenList/OpenList/internal/op/fs.go:560
github.com/OpenListTeam/OpenList/v4/internal/fs.putDirectly
/home/runner/work/OpenList/OpenList/internal/fs/put.go:106
github.com/OpenListTeam/OpenList/v4/internal/fs.PutDirectly
/home/runner/work/OpenList/OpenList/internal/fs/fs.go:104
github.com/OpenListTeam/OpenList/v4/server/webdav.(*Handler).handlePut
/home/runner/work/OpenList/OpenList/server/webdav/webdav.go:369
github.com/OpenListTeam/OpenList/v4/server/webdav.(*Handler).ServeHTTP
/home/runner/work/OpenList/OpenList/server/webdav/webdav.go:72
github.com/OpenListTeam/OpenList/v4/server.ServeWebDAV
/home/runner/work/OpenList/OpenList/server/webdav.go:48
github.com/gin-gonic/gin.(*Context).Next
/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/context.go:185
github.com/OpenListTeam/OpenList/v4/server.WebDav.DownloadRateLimiter.func3
/home/runner/work/OpenList/OpenList/server/middlewares/limit.go:51
github.com/gin-gonic/gin.(*Context).Next
/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/context.go:185
github.com/OpenListTeam/OpenList/v4/server.WebDav.UploadRateLimiter.func2
/home/runner/work/OpenList/OpenList/server/middlewares/limit.go:28
github.com/gin-gonic/gin.(*Context).Next
/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/context.go:185
github.com/OpenListTeam/OpenList/v4/server.WebDAVAuth
/home/runner/work/OpenList/OpenList/server/webdav.go:147
github.com/gin-gonic/gin.(*Context).Next
/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/context.go:185
github.com/OpenListTeam/OpenList/v4/server/middlewares.StoragesLoaded
/home/runner/work/OpenList/OpenList/server/middlewares/check.go:35
github.com/gin-gonic/gin.(*Context).Next
/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/context.go:185
github.com/gin-gonic/gin.CustomRecoveryWithWriter.func1
/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/recovery.go:102
github.com/gin-gonic/gin.(*Context).Next
/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/context.go:185
github.com/gin-gonic/gin.LoggerWithConfig.func1
/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/logger.go:249
github.com/gin-gonic/gin.(*Context).Next
/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/context.go:185
github.com/gin-gonic/gin.(*Engine).handleHTTPRequest
/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/gin.go:644
github.com/gin-gonic/gin.(*Engine).ServeHTTP
/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/gin.go:600
net/http.serverHandler.ServeHTTP
/opt/hostedtoolcache/go/1.25.0/x64/src/net/http/server.go:3340
net/http.(*conn).serve
/opt/hostedtoolcache/go/1.25.0/x64/src/net/http/server.go:2109
runtime.goexit
/opt/hostedtoolcache/go/1.25.0/x64/src/runtime/asm_amd64.s:1693
ERRO[2025-11-15 23:27:39] PUT /dav/115/openlist/JC/2022/02/IMG_7686.MOV All attempts fail:
#1: Put "http://fhnfile.oss-cn-shenzhen.aliyuncs.com/69189ab4c9f5347298501dc057ba87660aac06e0?partNumber=87&uploadId=F3BDB58E276C4ABB8A9BE38AA821DA92": context canceled
#2: Put "http://fhnfile.oss-cn-shenzhen.aliyuncs.com/69189ab4c9f5347298501dc057ba87660aac06e0?partNumber=87&uploadId=F3BDB58E276C4ABB8A9BE38AA821DA92": context canceled
#3: Put "http://fhnfile.oss-cn-shenzhen.aliyuncs.com/69189ab4c9f5347298501dc057ba87660aac06e0?partNumber=87&uploadId=F3BDB58E276C4ABB8A9BE38AA821DA92": context canceled

Configuration File Content (required)

{
"force": false,
"site_url": "",
"cdn": "",
"jwt_secret": "nvmARWCx73M0Dy68",
"token_expires_in": 48,
"database": {
"type": "sqlite3",
"host": "",
"port": 0,
"user": "",
"password": "",
"name": "",
"db_file": "data/data.db",
"table_prefix": "x_",
"ssl_mode": "",
"dsn": ""
},
"meilisearch": {
"host": "http://localhost:7700",
"api_key": "",
"index": "openlist"
},
"scheme": {
"address": "0.0.0.0",
"http_port": 5244,
"https_port": -1,
"force_https": false,
"cert_file": "",
"key_file": "",
"unix_file": "",
"unix_file_perm": "",
"enable_h2c": false,
"enable_h3": false
},
"temp_dir": "data/temp",
"bleve_dir": "data/bleve",
"dist_dir": "",
"log": {
"enable": true,
"name": "data/log/log.log",
"max_size": 50,
"max_backups": 30,
"max_age": 28,
"compress": false,
"filter": {
"enable": false,
"filters": [
{
"cidr": "",
"path": "/ping",
"method": ""
},
{
"cidr": "",
"path": "",
"method": "HEAD"
},
{
"cidr": "",
"path": "/dav/",
"method": "PROPFIND"
}
]
}
},
"delayed_start": 0,
"max_buffer_limitMB": -1,
"mmap_thresholdMB": 4,
"max_connections": 0,
"max_concurrency": 64,
"tls_insecure_skip_verify": true,
"tasks": {
"download": {
"workers": 5,
"max_retry": 1,
"task_persistant": false
},
"transfer": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"upload": {
"workers": 5,
"max_retry": 0,
"task_persistant": false
},
"copy": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"move": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"decompress": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"decompress_upload": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"allow_retry_canceled": false
},
"cors": {
"allow_origins": [
""
],
"allow_methods": [
"
"
],
"allow_headers": [
"*"
]
},
"s3": {
"enable": false,
"port": 5246,
"ssl": false
},
"ftp": {
"enable": false,
"listen": ":5221",
"find_pasv_port_attempts": 50,
"active_transfer_port_non_20": false,
"idle_timeout": 900,
"connection_timeout": 30,
"disable_active_mode": false,
"default_transfer_binary": false,
"enable_active_conn_ip_check": true,
"enable_pasv_conn_ip_check": true
},
"sftp": {
"enable": false,
"listen": ":5222"
},
"last_launched_version": "v4.1.7",
"proxy_address": ""
}

Reproduction Link (optional)

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with server/webdav/webdav.go at Handler.handlePut, then follow the stack trace through internal/fs/put.go and internal/op/fs.go. Reproduce a roughly 1.8 GB encrypted upload through Synology CloudSync to the 115 OAuth2 storage and compare the WebDAV lock and multipart-upload errors. Done means the upload completes without the reported 405, 423, or context-canceled failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.