Project

General

Profile

Bug #2296

Saving file to webdav mapped drive fails

Added by omegaworks over 6 years ago. Updated about 1 year ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
Category:
mod_webdav
Target version:
Start date:
2011-02-11
Due date:
% Done:

100%

Missing in 1.5.x:
No

Description

Hi Lighty devs.

I'm having an issue with mod_webdav and lighty 1.4.22
I have my site mounted as a Mapped Network Drive in Windows 7, following these instructions. I'm using mod_ssl to provide webdav over ssl.

I'm having an issue saving a file to the mapped drive from Paint.NET. The file I'm saving is named "3-29-2010 2-37-39 PM.png", saving it to the /Connecting/ folder. The server is named MYSERVER.mit.edu

My access log looks like this:

75.34.31.39 MYSERVER.mit.edu test [11/Feb/2011:00:38:49 -0500] "PROPFIND /Connecting/3-29-2010%202-37-39%20PM.png HTTP/1.1" 404 345 "-" "Microsoft-WebDAV-MiniRedir/6.1.7600" 
75.34.31.39 MYSERVER.mit.edu test [11/Feb/2011:00:38:50 -0500] "PUT /Connecting/3-29-2010%202-37-39%20PM.png HTTP/1.1" 201 0 "-" "Microsoft-WebDAV-MiniRedir/6.1.7600" 
75.34.31.39 MYSERVER.mit.edu test [11/Feb/2011:00:38:50 -0500] "PROPPATCH /Connecting/3-29-2010%202-37-39%20PM.png HTTP/1.1" 200 0 "-" "Microsoft-WebDAV-MiniRedir/6.1.7600" 
75.34.31.39 MYSERVER.mit.edu test [11/Feb/2011:00:38:50 -0500] "PROPFIND /Connecting HTTP/1.1" 207 678 "-" "Microsoft-WebDAV-MiniRedir/6.1.7600" 
75.34.31.39 MYSERVER.mit.edu test [11/Feb/2011:00:38:50 -0500] "DELETE /Connecting/3-29-2010%202-37-39%20PM.png HTTP/1.1" 204 0 "-" "Microsoft-WebDAV-MiniRedir/6.1.7600" 
75.34.31.39 MYSERVER.mit.edu test [11/Feb/2011:00:39:00 -0500] "PUT /Connecting/3-29-2010%202-37-39%20PM.png HTTP/1.1" 201 0 "-" "Microsoft-WebDAV-MiniRedir/6.1.7600" 
75.34.31.39 MYSERVER.mit.edu test [11/Feb/2011:00:39:00 -0500] "LOCK /Connecting/3-29-2010%202-37-39%20PM.png HTTP/1.1" 409 343 "-" "Microsoft-WebDAV-MiniRedir/6.1.7600" 
75.34.31.39 MYSERVER.mit.edu test [11/Feb/2011:00:39:21 -0500] "PROPFIND /Connecting%20Off%20Campus.html HTTP/1.1" 207 637 "-" "Microsoft-WebDAV-MiniRedir/6.1.7600" 

Is Paint.NET the issue? Windows? lighttpd? I'm not sure what's supposed to happen during the save-file server-client dance.

I get a generic "An I/O error occurred when writing to the file." message from Paint.NET. The file exists on the server, but it is empty. Server-side, the /Connecting/ folder is chmod 777, so I don't think it's a permissions issue. I've successfully created and saved files into the folder from Notepad.


Related issues

Related to Feature #1953: Improve DAV support to be able to handle git as a client Fixed 2009-04-03

Associated revisions

Revision 3133 (diff)
Added by stbuehler about 1 year ago

[mod_webdav] allow Depth: Infinity lock on file (fixes #2296)

(still not supporting Depth: Infinity on directories)

patch by mstorsjo submitted as part of feature request #1953

From: Glenn Strauss <>

Revision ab829cee (diff)
Added by gstrauss about 1 year ago

[mod_webdav] allow Depth: Infinity lock on file (fixes #2296)

(still not supporting Depth: Infinity on directories)

patch by mstorsjo submitted as part of feature request #1953

From: Glenn Strauss <>

git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@3133 152afb58-edef-0310-8abb-c4023f1b3aa9

History

#1 Updated by omegaworks over 6 years ago

I am also having an issue with drag-copying a file (win_step4.png) into the Connecting folder from my desktop.

75.34.31.39 MYSERVER.mit.edu test [11/Feb/2011:01:33:13 -0500] "PROPFIND /.git HTTP/1.1" 404 345 "-" "Microsoft-WebDAV-MiniRedir/6.1.7600" 
75.34.31.39 MYSERVER.mit.edu test [11/Feb/2011:01:33:13 -0500] "PROPFIND / HTTP/1.1" 207 7976 "-" "Microsoft-WebDAV-MiniRedir/6.1.7600" 
75.34.31.39 MYSERVER.mit.edu test [11/Feb/2011:01:33:13 -0500] "PROPFIND /Connecting/win_step4.png HTTP/1.1" 207 630 "-" "Microsoft-WebDAV-MiniRedir/6.1.7600" 
75.34.31.39 MYSERVER.mit.edu test [11/Feb/2011:01:33:13 -0500] "LOCK /Connecting/win_step4.png HTTP/1.1" 409 343 "-" "Microsoft-WebDAV-MiniRedir/6.1.7600" 
75.34.31.39 MYSERVER.mit.edu test [11/Feb/2011:01:33:20 -0500] "PROPFIND / HTTP/1.1" 207 7976 "-" "Microsoft-WebDAV-MiniRedir/6.1.7600" 

I think it has to do with the 409 error issued with the LOCK request.
It may be related to issue #1953, as I suspect that Windows is sending these LOCK requests without specifying a Depth header. For regular files, lighty can handle Depth: Infinity like it handles Depth 0, and should do that instead of erroring out. I think there's a patch mentioned in that issue. Has that been merged into newer versions of 1.4?

Most of my users are using Windows as their DAV client, so this is kind of a showstopper for me.

#2 Updated by Olaf-van-der-Spek over 6 years ago

omegaworks wrote:

I'm having an issue with mod_webdav and lighty 1.4.22

You might want to try 1.4.28.

#3 Updated by omegaworks over 6 years ago

lighttpd/1.4.28 (ssl) - a light and fast webserver
Build-Date: Nov 21 2010 06:41:02

Updated to 1.4.28 offered by latest ubuntu release, still having problems with saving and drag-copy.

#4 Updated by gstrauss about 1 year ago

@omegaworks, as you pointed out, the problem looks to be the Depth: infinity lock requests.
lighttpd mod_webdav.c does not support Depth: infinity, and if Depth header is not provided, Depth: infinity is the default.

Since this ticket is many years old, I presume you have found a different solution, presumably using a more RFC compliant webdav server.

For those that might find this ticket, one alternative is to build lighttpd without --with-webdav-locks. Of course, that means that files won't be protected by webdav locks. For a number of usage scenarios, this is acceptable, but for others, that behavior is not. This is not a generic solution, of course.

Another possibility is that this issue might be addressed by the lighttpd-git-infinite-locks-regular-files.patch in https://redmine.lighttpd.net/issues/1953

#5 Updated by gstrauss about 1 year ago

Submitted pull request https://github.com/lighttpd/lighttpd1.4/pull/34 to support Depth: Infinity locks on files.

That should fix this issue in this ticket where Depth header was missing in LOCK request from Microsoft-WebDAV-MiniRedir/6.1.7600. Hopefully Microsoft-WebDAV-MiniRedir was been updated in the meantime to include a Depth header, as immediately prior to the LOCK request, Microsoft-WebDAV-MiniRedir makes a PROPFIND request (in the trace provided further above) and knows whether the target is a file or a directory (webdav collection).

#6 Updated by gstrauss about 1 year ago

  • Target version changed from 1.4.x to 1.4.40

#7 Updated by gstrauss about 1 year ago

  • Category set to mod_webdav

#8 Updated by stbuehler about 1 year ago

  • Related to Feature #1953: Improve DAV support to be able to handle git as a client added

#9 Updated by stbuehler about 1 year ago

  • Status changed from New to Fixed
  • % Done changed from 0 to 100

Applied in changeset r3133.

Also available in: Atom