OSX 10.9 - Mavericks webdav客户端锁定问题

Hal*_*alo 5 macos locking webdav osx-mavericks

我有一个webdav服务器实现,适用于Windows和OSX 10.8版本.自OS X 10.9升级以来,许多webdav操作(包括使用Finder将文件拖动到webdav挂载并使用MS Office应用程序(Microsoft Word,Office,Powerpoint)编辑文件)已停止工作.

查看客户端< - > webdav服务器流量,似乎在获取文件上的LOCK后,客户端在后续服务器请求中不提供锁定令牌,导致后续操作的423响应.根据webdav规范,客户端需要在后续命令中向服务器提供文件锁令牌.

我确认这不是10.8或更早版本的问题.

文件拖放到Finder webdav mount显示以下请求和响应序列:

PROPFIND /webdav/Private/a123/test.pptx 404
PROPFIND /webdav/Private/a123/test.pptx
PUT /egnyte-internal/webdav/Private/a123/test.pptx 201
PROPFIND /webdav/Private/a123/._test.pptx 404
LOCK /webdav/Private/a123/test.pptx 200
UNLOCK /webdav/Private/a123/test.pptx 204
PROPFIND /webdav/Private/a123/._test.pptx 404
LOCK /webdav/Private/a123/test.pptx 200
UNLOCK /webdav/Private/a123/test.pptx 423
Run Code Online (Sandbox Code Playgroud)

查看此序列的wireshark输出,第二个解锁请求不包括Lock-Token标头.此时,system.log显示错误"unexpected statusCode 423"并挂载断开连接.

这是UNLOCK请求标头,缺少Lock-Token:

UNLOCK /webdav/Private/a123/test.pptx HTTP/1.1
Host: localhost:10001
Accept: */*
Authorization: Basic YWRtaTeyhsbaksVusjhs9tZTEyMw==
Content-Length: 0
Connection: keep-alive
User-Agent: WebDAVFS/3.0.0 (03008000) Darwin/13.0.0 (x86_64)
\r\n
Run Code Online (Sandbox Code Playgroud)

有没有其他人看到这个问题,并有一个解决方案?

谢谢

use*_*338 1

我必须说我自己没有遇到过这个问题,但我正在四处寻找我们的 WebDAV 服务器遇到的问题。在路上我发现了这一点:你的问题的描述听起来与我在这些帖子中读到的内容非常相似。看一下并报告是否对您有帮助。看来很多 WebDAV 服务器都坏了。

http://www.engadget.com/discuss/

和这个:

https://discussions.apple.com/thread/5476839

至少这是一个非常好的起点。