View Issue Details

IDProjectCategoryView StatusLast Update
0001441SOGoBackend Address Bookpublic2011-11-24 20:34
ReporterMarten Gajda Assigned Towsourdeau 
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version1.3.8 
Fixed in Version1.3.10 
Summary0001441: wrong DAV headers on OPTIONS request on global address book
Description

The response to an OPTIONS request on the global address book returns the DAV headers of a calendar collection not of an address book.

one can easily verify this with curl:
$ curl -D - -X OPTIONS -u sogo1:sogo1 http://sogo-demo.inverse.ca/SOGo/dav/sogo1/Contacts/public/

HTTP/1.1 200 Ok
Date: Thu, 08 Sep 2011 19:44:17 GMT
content-type: text/plain; charset=UTF-8
allow: GET, HEAD, POST, OPTIONS, MKCOL, MKCALENDAR, DELETE, PUT, LOCK, UNLOCK, COPY, MOVE, PROPFIND, SEARCH
sogo-request-duration: 0.002609
content-length: 0
dav: 1, 2, access-control, calendar-access, calendar-schedule, calendar-auto-schedule, calendar-proxy
Via: 1.1 sogo-demo.inverse.ca
Vary: Accept-Encoding

As you can see the global address book is advertised as calendar not as an address book.

TagsNo tags attached.

Activities

wsourdeau

wsourdeau

2011-09-19 15:06

viewer   ~0002850

Correct. Note that, in order to determine the type of collection you are dealing with, you should perform a PROPFIND on the collection and request the DAV: resourcetype property. The DAV HTTP header only advertise the capabilities of the queried object.

wsourdeau

wsourdeau

2011-10-04 19:56

viewer   ~0002863

Fixed in 4cbfcc8ac9c9c474165cdf1d49e3c456e68e8179

Marten Gajda

Marten Gajda

2011-10-31 13:39

reporter   ~0002957

Last edited: 2011-10-31 13:41

This bug is not fixed, it became even worse. Now even personal address books do not return proper DAV Headers:

$ curl -D - -X OPTIONS -u sogo1:sogo1 http://sogo-demo.inverse.ca/SOGo/dav/sogo1/Contacts/personal/

HTTP/1.1 200 Ok
Date: Mon, 31 Oct 2011 13:32:16 GMT
content-type: text/plain; charset=UTF-8
allow: GET, HEAD, POST, OPTIONS, MKCOL, MKCALENDAR, DELETE, PUT, LOCK, UNLOCK, COPY, MOVE, PROPFIND, SEARCH
sogo-request-duration: 0.001985
content-length: 0
dav: 1, 2, access-control
Via: 1.1 sogo-demo.inverse.ca
Vary: Accept-Encoding

http://tools.ietf.org/html/draft-daboo-carddav-04#section-6.1 clearly states:

A server supporting the features described in this document, MUST
include "addressbook" as a field in the DAV response header from an
OPTIONS request on any resource that supports any address book
properties, reports, or methods

wsourdeau

wsourdeau

2011-11-24 19:48

viewer   ~0003061

Was due to a typo, should be fixed now. Please confirm...

Marten Gajda

Marten Gajda

2011-11-24 20:33

reporter   ~0003068

Thanks, looks good now (for both, global and personal address books) :-)

$ curl -D - -X OPTIONS -u sogo1:sogo1 http://sogo-demo.inverse.ca/SOGo/dav/sogo1/Contacts/personal/
HTTP/1.1 200 Ok
Date: Thu, 24 Nov 2011 20:28:42 GMT
content-type: text/plain; charset=UTF-8
allow: GET, HEAD, POST, OPTIONS, MKCOL, MKCALENDAR, DELETE, PUT, LOCK, UNLOCK, COPY, MOVE, PROPFIND, SEARCH
sogo-request-duration: 0.025690
content-length: 0
dav: 1, 2, access-control, addressbook
Via: 1.1 sogo-demo.inverse.ca
Vary: Accept-Encoding

$ curl -D - -X OPTIONS -u sogo1:sogo1 http://sogo-demo.inverse.ca/SOGo/dav/sogo1/Contacts/public/
HTTP/1.1 200 Ok
Date: Thu, 24 Nov 2011 20:29:59 GMT
content-type: text/plain; charset=UTF-8
allow: GET, HEAD, POST, OPTIONS, MKCOL, MKCALENDAR, DELETE, PUT, LOCK, UNLOCK, COPY, MOVE, PROPFIND, SEARCH
sogo-request-duration: 0.003236
content-length: 0
dav: 1, 2, access-control, addressbook
Via: 1.1 sogo-demo.inverse.ca
Vary: Accept-Encoding

Issue History

Date Modified Username Field Change
2011-09-08 19:48 Marten Gajda New Issue
2011-09-19 15:06 wsourdeau Note Added: 0002850
2011-10-04 19:56 wsourdeau Note Added: 0002863
2011-10-04 19:56 wsourdeau Status new => resolved
2011-10-04 19:56 wsourdeau Resolution open => fixed
2011-10-04 19:56 wsourdeau Assigned To => wsourdeau
2011-10-24 19:22 francis Fixed in Version => 1.3.9
2011-10-31 13:39 Marten Gajda Note Added: 0002957
2011-10-31 13:39 Marten Gajda Status resolved => feedback
2011-10-31 13:39 Marten Gajda Resolution fixed => reopened
2011-10-31 13:41 Marten Gajda Note Edited: 0002957
2011-11-24 19:48 wsourdeau Note Added: 0003061
2011-11-24 20:33 Marten Gajda Note Added: 0003068
2011-11-24 20:34 ludovic Status feedback => resolved
2011-11-24 20:34 ludovic Fixed in Version 1.3.9 => 1.3.10
2011-11-24 20:34 ludovic Resolution reopened => fixed
2011-11-24 20:34 ludovic Status resolved => closed