{"action":"opened","issue":{"url":"https://api.github.com/repos/mar10/wsgidav/issues/19","labels_url":"https://api.github.com/repos/mar10/wsgidav/issues/19/labels{/name}","comments_url":"https://api.github.com/repos/mar10/wsgidav/issues/19/comments","events_url":"https://api.github.com/repos/mar10/wsgidav/issues/19/events","html_url":"https://github.com/mar10/wsgidav/issues/19","id":94760040,"number":19,"title":"Set last-modified time support?","user":{"login":"jonasbardino","id":11403886,"avatar_url":"https://avatars.githubusercontent.com/u/11403886?v=3","gravatar_id":"","url":"https://api.github.com/users/jonasbardino","html_url":"https://github.com/jonasbardino","followers_url":"https://api.github.com/users/jonasbardino/followers","following_url":"https://api.github.com/users/jonasbardino/following{/other_user}","gists_url":"https://api.github.com/users/jonasbardino/gists{/gist_id}","starred_url":"https://api.github.com/users/jonasbardino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonasbardino/subscriptions","organizations_url":"https://api.github.com/users/jonasbardino/orgs","repos_url":"https://api.github.com/users/jonasbardino/repos","events_url":"https://api.github.com/users/jonasbardino/events{/privacy}","received_events_url":"https://api.github.com/users/jonasbardino/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-07-13T16:25:50Z","updated_at":"2015-07-13T16:25:50Z","closed_at":null,"body":"Hi Martin\r\n\r\nFirst of all sorry if this should not go under issues, as it may be more a question or feature request than a bug/issue.\r\n\r\nOne of our users tried out `rsync -a localdir mntdir` against an OSX Finder-mounted wsgidav volume and it actually mostly works, except the file time stamps are not transferred. Thus repeating the rsync call does not skip the already transferred files as intended. I repeated the test with fusedav from Linux and got similar results. Calling a simple `touch` on a file in the mount also gets rejected with \"Operation not supported\".\r\nAs far as I can tell from my tracing this is due to wsgidav refusing PROPPATCH calls with the {DAV:}getlastmodified argument. The relevant doc string in setPropertyValue of dav_provider correctly states that any {DAV:} property modification requests result in a HTTP_FORBIDDEN reply and that resource providers may override the method to \"update supported custom live properties\".\r\n\r\nI did a quick test and added such set {DAV:}getlastmodified support directly in (fs_)dav_handler and then `touch`, `rsync -t` and `rsync -a` all work as expected. However, I'm not really sure if it belongs there or if it is even compliant with the WebDAV spec:\r\nhttp://tools.ietf.org/html/rfc4918#section-15.7\r\n\r\nIt would be quite cool with rsync support for our purpose, but maybe I'm overlooking some problems it might introduce? Would it make sense to properly add such general set modification time support and maybe only enable it with a conf setting? I think I can give it a shot and send a pull request if so.\r\nOr is that something you consider in the custom live properties category and better left for a derived fs resource provider?\r\n\r\nCheers, Jonas\r\n"}}