Thread: Webdav bug
View Single Post
Don't think that this is a configuration problem. In the meantime, my wireshark conversation looks like this (anonymized). One thing I can imagine here that may cause a problem is that my username for the webdav server is (due to the provider forcing it) something XXX@web.dav, i.e., with an @-sign. The other is that Omniplan is doing something wrong with the authorization. I'd be happy to provide the Omnigroup staff a test account on this server to debug this:

PROPFIND /webdav/apps/omniplan/ HTTP/1.1
Host: XXXXX.livedisk.df.eu:80
User-Agent: OmniPlan-iPad/152.0.167800 CFNetwork/548.1.4 Darwin/11.0.0
Content-Length: 142
Accept: text/xml
Content-Type: text/xml; charset="utf-8"
Depth: 0
Accept-Language: de-de
Accept-Encoding: gzip, deflate
Connection: keep-alive

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<propfind xmlns="DAV:"><prop><getetag/><current-user-privilege-set/></prop></propfind>
HTTP/1.1 403 Forbidden
Date: Thu, 07 Jun 2012 18:47:12 GMT
Server: Apache/2.2.4 (Unix) mod_ssl/2.2.4 OpenSSL/0.9.8e-fips-rhel5
Content-Length: 223
Keep-Alive: timeout=10, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /webdav/apps/omniplan/
on this server.</p>
</body></html>

----

Just for the fun of it, this is what the conversation looks like with Omnioutliner (same account) which works fine. Though I don't quite get why also Omnioutliner always tries again without authorization info once it fails:


PROPFIND /webdav/apps/omnioutliner/ HTTP/1.1
Host: XXXXX.livedisk.df.eu
User-Agent: OmniOutliner-iPad/154.3.0.163910 Darwin/5.1.1 (J2aAP) (bnz%20iPad3)
Content-Length: 177
Accept: text/xml,application/xml
Depth: 0
Content-Type: text/xml; charset="utf-8"
Accept-Language: de-de
Accept-Encoding: gzip, deflate
Connection: keep-alive

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<propfind xmlns="DAV:">
<prop>
<resourcetype/>
<getcontentlength/>
<getlastmodified/>
</prop>
</propfind>
---
HTTP/1.1 401 Authorization Required
Date: Thu, 07 Jun 2012 18:56:58 GMT
Server: Apache/2.2.21 (Unix) DAV/2
WWW-Authenticate: Digest realm="webdav", nonce="iD/XXXX", algorithm=MD5, qop="auth"
Content-Length: 401
Content-Type: text/html; charset=iso-8859-1
Keep-Alive: timeout=10, max=100
Connection: Keep-Alive

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>401 Authorization Required</title>
</head><body>
<h1>Authorization Required</h1>
<p>This server could not verify that you
are authorized to access the document
requested. Either you supplied the wrong
credentials (e.g., bad password), or your
browser doesn't understand how to supply
the credentials required.</p>
</body></html>

After that, Omnioutliner tries again with authorization:
---
PROPFIND /webdav/apps/omnioutliner/ HTTP/1.1
Host: XXXXXX.livedisk.df.eu
User-Agent: OmniOutliner-iPad/154.3.0.163910 Darwin/5.1.1 (J2aAP) (bnz%20iPad3)
Content-Length: 177
Accept: text/xml,application/xml
Depth: 0
Content-Type: text/xml; charset="utf-8"
Accept-Language: de-de
Accept-Encoding: gzip, deflate
Authorization: Digest username="XXXXX@web.dav", realm="webdav", nonce="iD/XXXXX", uri="/webdav/apps/omnioutliner/", response="XXXX", algorithm="MD5", cnonce="XXXX", nc=00000001, qop="auth"
Connection: keep-alive

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<propfind xmlns="DAV:">
<prop>
<resourcetype/>
<getcontentlength/>
<getlastmodified/>
</prop>
</propfind>
---
HTTP/1.1 207 Multi-Status
Date: Thu, 07 Jun 2012 18:56:58 GMT
Server: Apache/2.2.21 (Unix) DAV/2
Authentication-Info: rspauth="XXXXX", cnonce="XXXXX", nc=00000001, qop=auth
Content-Length: 571
Content-Type: text/xml; charset="utf-8"
Keep-Alive: timeout=10, max=100
Connection: Keep-Alive

<?xml version="1.0" encoding="utf-8"?>
<D:multistatus xmlns:D="DAV:" xmlns:ns0="DAV:">
<D:response xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/" xmlns:g0="DAV:">
<D:href>/webdav/apps/omnioutliner/</D:href>
<D:propstat>
<D:prop>
<lp1:resourcetype><D:collection/></lp1:resourcetype>
<lp1:getlastmodified>Thu, 07 Jun 2012 16:05:35 GMT</lp1:getlastmodified>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
<D:propstat>
<D:prop>
<g0:getcontentlength/>
</D:prop>
<D:status>HTTP/1.1 404 Not Found</D:status>
</D:propstat>
</D:response>
</D:multistatus>
----
PROPFIND /webdav/apps/omnioutliner/ HTTP/1.1
Host: XXXXX.livedisk.df.eu
User-Agent: OmniOutliner-iPad/154.3.0.163910 Darwin/5.1.1 (J2aAP) (bnz%20iPad3)
Content-Length: 177
Accept: text/xml,application/xml
Depth: 1
Content-Type: text/xml; charset="utf-8"
Accept-Language: de-de
Accept-Encoding: gzip, deflate
Connection: keep-alive

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<propfind xmlns="DAV:">
<prop>
<resourcetype/>
<getcontentlength/>
<getlastmodified/>
</prop>
</propfind>
---
HTTP/1.1 401 Authorization Required
Date: Thu, 07 Jun 2012 18:56:59 GMT
Server: Apache/2.2.21 (Unix) DAV/2
WWW-Authenticate: Digest realm="webdav", nonce="XXXX=XXXX", algorithm=MD5, qop="auth"
Content-Length: 401
Content-Type: text/html; charset=iso-8859-1
Keep-Alive: timeout=10, max=99
Connection: Keep-Alive

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>401 Authorization Required</title>
</head><body>
<h1>Authorization Required</h1>
<p>This server could not verify that you
are authorized to access the document
requested. Either you supplied the wrong
credentials (e.g., bad password), or your
browser doesn't understand how to supply
the credentials required.</p>
</body></html>


----

I hope this helps to find the problem.

Last edited by bnz; 2012-06-08 at 10:58 PM..