You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by paul <pa...@subsignal.org> on 2009/05/06 10:08:58 UTC

mod_dav WebDAVFS/1.7 and Transfer-Encoding

Hi folks,

I hope this is the correct list to ask, please redirect if not.

Recent Versions of OS X (WebDAVFS/1.7) have problems accessing webdav 
(mod_dav). Upload creates zero-byte files and the clients gets 
disconnected. According to: 
http://discussions.apple.com/thread.jspa?messageID=8101932&#8101932 the 
issue is:

<cite>
We too ran into this issue with our software (Jungle Disk) and 
customers. As far as we've been able to tell Apple changed how Finder 
does PUT requests -- they now do them as Transfer-Encoding: chunked, 
which apparently a number of WebDAV implementations don't support. By 
adding support for this we have been able to interoperate with Finder again.

<answer>
Fix was simple. Finder is sending the Transfer-Encoding header as 
Chunked (note the upper case 'c'). Apache is sensitive to case.

I think mod_dav would have the same issue. Minor patch to mod_dav 
required : it already supports chunking i think.
</answer>
</cite>

But reading mod_dav.c around line 2393:
  if (tenc) {
         if (strcasecmp(tenc, "chunked")) {
             /* Use this instead of Apache's default error string */
             ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
                           "Unknown Transfer-Encoding %s", tenc);
             return HTTP_NOT_IMPLEMENTED;
         }

uses strcasecmp() so the above theory seems wrong. We're using 2.2.9 and 
the above snipplet is from 2.2.11. Any chance this has been fixed after 
2.2.9? Does anyone have encountered the issue or is this a known problem?

thanks
  Paul


Re: mod_dav WebDAVFS/1.7 and Transfer-Encoding

Posted by Jeff Trawick <tr...@gmail.com>.
On Wed, May 6, 2009 at 4:08 AM, paul <pa...@subsignal.org> wrote:

>
> But reading mod_dav.c around line 2393:
>  if (tenc) {
>        if (strcasecmp(tenc, "chunked")) {
>            /* Use this instead of Apache's default error string */
>            ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
>                          "Unknown Transfer-Encoding %s", tenc);
>            return HTTP_NOT_IMPLEMENTED;
>        }
>
> uses strcasecmp() so the above theory seems wrong. We're using 2.2.9 and
> the above snipplet is from 2.2.11. Any chance this has been fixed after
> 2.2.9?


no; it has used strcasecmp() for eons


> Does anyone have encountered the issue or is this a known problem?
>

did you check bugzilla ?  (issues.apache.org/bugzilla)