Address book of an eGroupware Group not correctly recognised



  • eGroupware allows not only users to have address books, but also Groups can have one apiece. They are then referenced via a user account but with the group name appended, e.g.

    https://[domain]/egroupware/groupdav.php/[user]/addressbook-[group]/

    DAVdroid accepts the URL but then only offers the address book of the user for syncing (in fact it should only offer the group address book, as that has been explicitly requested in the URL). If you accept and sync the account, you really do only get that of the user.



  • *** 79.230.36.95 2014-01-16T18:13:41+01:00
    OPTIONS /egroupware/groupdav.php/shunyata/addressbook-Default/ HTTP/1.1
    Authorization: Basic ***************
    Host: lasslos.net
    Connection: close
    User-Agent: DAVdroid/0.5.6-alpha
    Accept-Encoding: gzip
    
    HTTP/1.1 200 OK
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache
    X-Dav-Powered-By: EGroupware 1.8.005 CalDAV/CardDAV/GroupDAV server
    MS-Author-Via: DAV
    X-WebDAV-Status: 200 OK
    DAV: 1, 2, access-control, addressbook
    Allow: OPTIONS, REPORT, PROPFIND, PROPPATCH, MKCOL, GET, POST, PUT, DELETE, COPY, MOVE, LOCK, UNLOCK, ACL, HEAD
    Content-length: 0
    *** OPTIONS /shunyata/addressbook-Default/ --> "200 OK" took 0.001 s
    
    *** 79.230.36.95 2014-01-16T18:13:42+01:00
    PROPFIND /egroupware/groupdav.php/shunyata/addressbook-Default/ HTTP/1.1
    Authorization: Basic ***************
    Content-Type: text/xml; charset="utf-8"
    Depth: 0
    Content-Length: 88
    Host: lasslos.net
    Connection: close
    User-Agent: DAVdroid/0.5.6-alpha
    Accept-Encoding: gzip
    
    <propfind xmlns="DAV:">
       <prop>
          <current-user-principal/>
       </prop>
    </propfind>
    HTTP/1.1 207 Multi-Status
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache
    X-Dav-Powered-By: EGroupware 1.8.005 CalDAV/CardDAV/GroupDAV server
    X-WebDAV-Status: 207 Multi-Status
    DAV: 1, 2, access-control, addressbook
    Content-Type: text/xml; charset="utf-8"
    
    <?xml version="1.0" encoding="utf-8"?>
    <D:multistatus xmlns:D="DAV:">
     <D:response xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/">
      <D:href>/egroupware/groupdav.php/shunyata/addressbook-Default/</D:href>
       <D:propstat>
        <D:prop>
         <D:current-user-principal><D:href>/egroupware/groupdav.php/principals/users/shunyata/</D:href></D:current-user-principal>
       </D:prop>
       <D:status>HTTP/1.1 200 OK</D:status>
      </D:propstat>
     </D:response>
    </D:multistatus>
    *** PROPFIND /shunyata/addressbook-Default/ --> "207 Multi-Status" took 0.057 s
    
    *** 79.230.36.95 2014-01-16T18:13:42+01:00
    PROPFIND /egroupware/groupdav.php/principals/users/shunyata/ HTTP/1.1
    Authorization: Basic ***************
    Content-Type: text/xml; charset="utf-8"
    Depth: 0
    Content-Length: 200
    Host: lasslos.net
    Connection: close
    User-Agent: DAVdroid/0.5.6-alpha
    Accept-Encoding: gzip
    
    <propfind xmlns="DAV:">
       <prop>
          <CD:addressbook-home-set xmlns:CD="urn:ietf:params:xml:ns:carddav"/>
          <C:calendar-home-set xmlns:C="urn:ietf:params:xml:ns:caldav"/>
       </prop>
    </propfind>
    HTTP/1.1 207 Multi-Status
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache
    X-Dav-Powered-By: EGroupware 1.8.005 CalDAV/CardDAV/GroupDAV server
    X-WebDAV-Status: 207 Multi-Status
    DAV: 1, 2, access-control, calendar-access, calendar-auto-schedule, calendar-proxy, calendarserver-principal-property-search, calendarserver-private-events, addressbook
    Content-Type: text/xml; charset="utf-8"
    
    <?xml version="1.0" encoding="utf-8"?>
    <D:multistatus xmlns:D="DAV:">
     <D:response xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" xmlns:ns2="urn:ietf:params:xml:ns:caldav" xmlns:ns3="urn:ietf:params:xml:ns:carddav">
      <D:href>/egroupware/groupdav.php/principals/users/shunyata/</D:href>
       <D:propstat>
        <D:prop>
         <ns2:calendar-home-set><D:href>/egroupware/groupdav.php/shunyata/</D:href></ns2:calendar-home-set>
         <ns3:addressbook-home-set><D:href>/egroupware/groupdav.php/shunyata/</D:href></ns3:addressbook-home-set>
       </D:prop>
       <D:status>HTTP/1.1 200 OK</D:status>
      </D:propstat>
     </D:response>
    </D:multistatus>
    *** PROPFIND /principals/users/shunyata/ --> "207 Multi-Status" took 0.046 s
    
    *** 79.230.36.95 2014-01-16T18:13:43+01:00
    PROPFIND /egroupware/groupdav.php/shunyata/ HTTP/1.1
    Authorization: Basic ***************
    Content-Type: text/xml; charset="utf-8"
    Depth: 1
    Content-Length: 464
    Host: lasslos.net
    Connection: close
    User-Agent: DAVdroid/0.5.6-alpha
    Accept-Encoding: gzip
    
    <propfind xmlns="DAV:">
       <prop>
          <CD:addressbook-description xmlns:CD="urn:ietf:params:xml:ns:carddav"/>
          <A:calendar-color xmlns:A="http://apple.com/ns/ical/"/>
          <C:calendar-description xmlns:C="urn:ietf:params:xml:ns:caldav"/>
          <C:calendar-timezone xmlns:C="urn:ietf:params:xml:ns:caldav"/>
          <displayname/>
          <resourcetype/>
          <C:supported-calendar-component-set xmlns:C="urn:ietf:params:xml:ns:caldav"/>
       </prop>
    </propfind>
    HTTP/1.1 207 Multi-Status
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache
    X-Dav-Powered-By: EGroupware 1.8.005 CalDAV/CardDAV/GroupDAV server
    X-WebDAV-Status: 207 Multi-Status
    DAV: 1, 2, access-control, calendar-access, calendar-auto-schedule, calendar-proxy, calendarserver-principal-property-search, calendarserver-private-events, addressbook
    Content-Type: text/xml; charset="utf-8"
    
    <?xml version="1.0" encoding="utf-8"?>
    <D:multistatus xmlns:D="DAV:">
     <D:response xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" xmlns:ns2="urn:ietf:params:xml:ns:carddav" xmlns:ns3="http://apple.com/ns/ical/" xmlns:ns4="urn:ietf:params:xml:ns:caldav">
      <D:href>/egroupware/groupdav.php/shunyata/</D:href>
       <D:propstat>
        <D:prop>
         <D:displayname>Shunyata Tim Reeves</D:displayname>
         <D:resourcetype><D:collection /></D:resourcetype>
       </D:prop>
       <D:status>HTTP/1.1 200 OK</D:status>
      </D:propstat>
       <D:propstat>
        <D:prop>
         <ns2:addressbook-description/>
         <ns3:calendar-color/>
         <ns4:calendar-description/>
         <ns4:calendar-timezone/>
         <ns4:supported-calendar-component-set/>
       </D:prop>
       <D:status>HTTP/1.1 404 Not Found</D:status>
      </D:propstat>
     </D:response>
     <D:response xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" xmlns:ns2="urn:ietf:params:xml:ns:carddav" xmlns:ns3="http://apple.com/ns/ical/" xmlns:ns4="urn:ietf:params:xml:ns:caldav">
      <D:href>/egroupware/groupdav.php/shunyata/addressbook/</D:href>
       <D:propstat>
        <D:prop>
         <D:displayname>Adressbuch Shunyata Tim Reeves</D:displayname>
         <D:resourcetype xmlns:ns5="http://groupdav.org/"><ns5:vcard-collection /><ns2:addressbook /><D:collection /></D:resourcetype>
         <ns2:addressbook-description>Adressbuch Shunyata Tim Reeves</ns2:addressbook-description>
       </D:prop>
       <D:status>HTTP/1.1 200 OK</D:status>
      </D:propstat>
       <D:propstat>
        <D:prop>
         <ns3:calendar-color/>
         <ns4:calendar-description/>
         <ns4:calendar-timezone/>
         <ns4:supported-calendar-component-set/>
       </D:prop>
       <D:status>HTTP/1.1 404 Not Found</D:status>
      </D:propstat>
     </D:response>
     <D:response xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" xmlns:ns2="urn:ietf:params:xml:ns:caldav" xmlns:ns3="urn:ietf:params:xml:ns:carddav" xmlns:ns4="http://apple.com/ns/ical/">
      <D:href>/egroupware/groupdav.php/shunyata/calendar/</D:href>
       <D:propstat>
        <D:prop>
         <D:displayname>Kalender Shunyata Tim Reeves</D:displayname>
         <D:resourcetype xmlns:ns5="http://groupdav.org/"><ns5:vevent-collection /><ns2:calendar /><D:collection /></D:resourcetype>
         <ns2:calendar-description>Shunyata Tim Reeves</ns2:calendar-description>
         <ns2:supported-calendar-component-set xmlns:ns2="urn:ietf:params:xml:ns:caldav"><ns2:comp name="VCALENDAR"/><ns2:comp name="VEVENT"/></ns2:supported-calendar-component-set>
         <ns2:calendar-timezone>BEGIN:VCALENDAR
    VERSION:2.0
    PRODID:-//EGroupware//NONSGML EGroupware Calendar 1.9.004//DE
    BEGIN:VTIMEZONE
    TZID:Europe/Berlin
    X-LIC-LOCATION:Europe/Berlin
    BEGIN:DAYLIGHT
    TZOFFSETFROM:+0100
    TZOFFSETTO:+0200
    TZNAME:CEST
    DTSTART:19700329T020000
    RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
    END:DAYLIGHT
    BEGIN:STANDARD
    TZOFFSETFROM:+0200
    TZOFFSETTO:+0100
    TZNAME:CET
    DTSTART:19701025T030000
    RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
    END:STANDARD
    END:VTIMEZONE
    END:VCALENDAR
    </ns2:calendar-timezone>
       </D:prop>
       <D:status>HTTP/1.1 200 OK</D:status>
      </D:propstat>
       <D:propstat>
        <D:prop>
         <ns3:addressbook-description/>
         <ns4:calendar-color/>
       </D:prop>
       <D:status>HTTP/1.1 404 Not Found</D:status>
      </D:propstat>
     </D:response>
     <D:response xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" xmlns:ns2="urn:ietf:params:xml:ns:caldav" xmlns:ns3="urn:ietf:params:xml:ns:carddav" xmlns:ns4="http://apple.com/ns/ical/">
      <D:href>/egroupware/groupdav.php/shunyata/inbox/</D:href>
       <D:propstat>
        <D:prop>
         <D:displayname>Scheduling inbox Shunyata Tim Reeves</D:displayname>
         <D:resourcetype><ns2:schedule-inbox /><D:collection /></D:resourcetype>
         <ns2:calendar-description>Shunyata Tim Reeves</ns2:calendar-description>
         <ns2:supported-calendar-component-set xmlns:ns2="urn:ietf:params:xml:ns:caldav"><ns2:comp name="VCALENDAR"/><ns2:comp name="VEVENT"/></ns2:supported-calendar-component-set>
         <ns2:calendar-timezone>BEGIN:VCALENDAR
    VERSION:2.0
    PRODID:-//EGroupware//NONSGML EGroupware Calendar 1.9.004//DE
    BEGIN:VTIMEZONE
    TZID:Europe/Berlin
    X-LIC-LOCATION:Europe/Berlin
    BEGIN:DAYLIGHT
    TZOFFSETFROM:+0100
    TZOFFSETTO:+0200
    TZNAME:CEST
    DTSTART:19700329T020000
    RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
    END:DAYLIGHT
    BEGIN:STANDARD
    TZOFFSETFROM:+0200
    TZOFFSETTO:+0100
    TZNAME:CET
    DTSTART:19701025T030000
    RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
    END:STANDARD
    END:VTIMEZONE
    END:VCALENDAR
    </ns2:calendar-timezone>
       </D:prop>
       <D:status>HTTP/1.1 200 OK</D:status>
      </D:propstat>
       <D:propstat>
        <D:prop>
         <ns3:addressbook-description/>
         <ns4:calendar-color/>
       </D:prop>
       <D:status>HTTP/1.1 404 Not Found</D:status>
      </D:propstat>
     </D:response>
     <D:response xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" xmlns:ns2="urn:ietf:params:xml:ns:caldav" xmlns:ns3="urn:ietf:params:xml:ns:carddav" xmlns:ns4="http://apple.com/ns/ical/">
      <D:href>/egroupware/groupdav.php/shunyata/outbox/</D:href>
       <D:propstat>
        <D:prop>
         <D:displayname>Scheduling outbox Shunyata Tim Reeves</D:displayname>
         <D:resourcetype><ns2:schedule-outbox /><D:collection /></D:resourcetype>
         <ns2:calendar-description>Shunyata Tim Reeves</ns2:calendar-description>
         <ns2:supported-calendar-component-set xmlns:ns2="urn:ietf:params:xml:ns:caldav"><ns2:comp name="VCALENDAR"/><ns2:comp name="VEVENT"/><ns2:comp name="VFREEBUSY"/></ns2:supported-calendar-component-set>
         <ns2:calendar-timezone>BEGIN:VCALENDAR
    VERSION:2.0
    PRODID:-//EGroupware//NONSGML EGroupware Calendar 1.9.004//DE
    BEGIN:VTIMEZONE
    TZID:Europe/Berlin
    X-LIC-LOCATION:Europe/Berlin
    BEGIN:DAYLIGHT
    TZOFFSETFROM:+0100
    TZOFFSETTO:+0200
    TZNAME:CEST
    DTSTART:19700329T020000
    RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
    END:DAYLIGHT
    BEGIN:STANDARD
    TZOFFSETFROM:+0200
    TZOFFSETTO:+0100
    TZNAME:CET
    DTSTART:19701025T030000
    RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
    END:STANDARD
    END:VTIMEZONE
    END:VCALENDAR
    </ns2:calendar-timezone>
       </D:prop>
       <D:status>HTTP/1.1 200 OK</D:status>
      </D:propstat>
       <D:propstat>
        <D:prop>
         <ns3:addressbook-description/>
         <ns4:calendar-color/>
       </D:prop>
       <D:status>HTTP/1.1 404 Not Found</D:status>
      </D:propstat>
     </D:response>
     <D:response xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" xmlns:ns2="urn:ietf:params:xml:ns:caldav" xmlns:ns3="urn:ietf:params:xml:ns:carddav" xmlns:ns4="http://apple.com/ns/ical/">
      <D:href>/egroupware/groupdav.php/shunyata/infolog/</D:href>
       <D:propstat>
        <D:prop>
         <D:displayname>InfoLog Shunyata Tim Reeves</D:displayname>
         <D:resourcetype xmlns:ns5="http://groupdav.org/"><ns5:vtodo-collection /><ns2:calendar /><D:collection /></D:resourcetype>
         <ns2:calendar-description>Tasks of Shunyata Tim Reeves</ns2:calendar-description>
         <ns2:supported-calendar-component-set xmlns:ns2="urn:ietf:params:xml:ns:caldav"><ns2:comp name="VCALENDAR"/><ns2:comp name="VTODO"/></ns2:supported-calendar-component-set>
         <ns2:calendar-timezone>BEGIN:VCALENDAR
    VERSION:2.0
    PRODID:-//EGroupware//NONSGML EGroupware Calendar 1.9.004//DE
    BEGIN:VTIMEZONE
    TZID:Europe/Berlin
    X-LIC-LOCATION:Europe/Berlin
    BEGIN:DAYLIGHT
    TZOFFSETFROM:+0100
    TZOFFSETTO:+0200
    TZNAME:CEST
    DTSTART:19700329T020000
    RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
    END:DAYLIGHT
    BEGIN:STANDARD
    TZOFFSETFROM:+0200
    TZOFFSETTO:+0100
    TZNAME:CET
    DTSTART:19701025T030000
    RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
    END:STANDARD
    END:VTIMEZONE
    END:VCALENDAR
    </ns2:calendar-timezone>
       </D:prop>
       <D:status>HTTP/1.1 200 OK</D:status>
      </D:propstat>
       <D:propstat>
        <D:prop>
         <ns3:addressbook-description/>
         <ns4:calendar-color/>
       </D:prop>
       <D:status>HTTP/1.1 404 Not Found</D:status>
      </D:propstat>
     </D:response>
    </D:multistatus>
    *** PROPFIND /shunyata/ --> "207 Multi-Status" took 0.185 s
    


  • BTW CardDAV Sync does recognise the case correctly, asking me which address book to sync - the group or the user - so it must be possible to do it...


  • developer

    Where are these URLs documented? I can only test with https://demo-epl.egroupware.de/ (demo:guest) and there, the "Customer" group address book URL is https://demo-epl.egroupware.de/egw/groupdav.php/Customers/addressbook/.

    Also, in the logs you can see that the server reports that there's only one address book (resourcetype: addressbook) in /egroupware/groupdav.php/shunyata/ and this one is /egroupware/groupdav.php/shunyata/addressbook/ (with Depth: 1, i.e. sub-folders won't be accounted, but if there address group URL would really be /addressbook-[group]/ then they should be listed).

    So please check again if /addressbook-[group]/, as posted in the initial issue text, is correct.



  • The URLs accepted by eGroupware seem best documented in the source file egroupware/phpgwapi/inc/class.groupdav.inc.php, here they are:


    EGroupware: GroupDAV access

    Using a modified PEAR HTTP/WebDAV/Server class from egw-pear!

    One can use the following url's releative (!) to http://domain.com/egroupware/groupdav.php

    • / base of Cal|Card|GroupDAV tree, only certain clients (KDE, Apple) can autodetect folders from here
    • /principals/ principal-collection-set for WebDAV ACL
    • /principals/users/<username>/
    • /principals/groups/<groupname>/
    • /<username>/ users home-set with
    • /<username>/addressbook/ addressbook of user or group <username> given the user has rights to view it
    • /<current-username>/addressbook-<other-username>/ shared addressbooks from other user or group
    • /<current-username>/addressbook-accounts/ all accounts current user has rights to see
    • /<username>/calendar/ calendar of user <username> given the user has rights to view it
    • /<current-username>/calendar-<other-username>/ shared calendar from other user or group (only current <username>!)
    • /<username>/inbox/ scheduling inbox of user <username>
    • /<username>/outbox/ scheduling outbox of user <username>
    • /<username>/infolog/ InfoLog's of user <username> given the user has rights to view it
    • /addressbook/ all addressbooks current user has rights to, announced as directory-gateway now
    • /addressbook-accounts/ all accounts current user has rights to see
    • /calendar/ calendar of current user
    • /infolog/ infologs of current user
    • /(resources|locations)/<resource-name>/calendar calendar of a resource/location, if user has rights to view
    • /<current-username>/(resource|location)-<resource-name> shared calendar from a resource/location

    Shared addressbooks or calendars are only shown in in users home-set, if he subscribed to it via his CalDAV preferences!

    Calling one of the above collections with a GET request / regular browser generates an automatic index
    from the data of a allprop PROPFIND, allow to browse CalDAV/CardDAV/GroupDAV tree with a regular browser.


    If access data for my own installation will help just let me know and provide a private address I can send to.



  • I've just reconnected my group address book via CardDAV Sync: It offers me the choice of "Addressbook Group Default" and "Addressbook Shunyata Tim Reeves", here is a server log of the exchange between the client and the server (angle brackets replaced by square brackets):


    *** 79.230.39.5 2014-01-20T16:12:05+01:00
    PROPFIND /egroupware/groupdav.php/shunyata/addressbook-Default/ HTTP/1.1
    Authorization: Basic ***************
    Content-Type: application/xml; charset="utf-8"
    Cache-Control: no-cache
    Pragma: no-cache
    Depth: 0
    Content-Length: 123
    Host: lasslos.net
    Connection: close
    User-Agent: CardDAV-Sync (Android) (like iOS/5.0.1 (9A405) dataaccessd/1.0) gzip
    Accept-Encoding: gzip

    [?xml version="1.0" encoding="utf-8" ?][A:propfind xmlns:A="DAV:"][A:prop][A:current-user-principal/][/A:prop][/A:propfind]
    HTTP/1.1 207 Multi-Status
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache
    X-Dav-Powered-By: EGroupware 1.8.005 CalDAV/CardDAV/GroupDAV server
    X-WebDAV-Status: 207 Multi-Status
    DAV: 1, 2, access-control, addressbook
    Content-Type: text/xml; charset="utf-8"

    [?xml version="1.0" encoding="utf-8"?]
    [D:multistatus xmlns:D="DAV:"]
    [D:response xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/"]
    [D:href]/egroupware/groupdav.php/shunyata/addressbook-Default/[/D:href]
    [D:propstat]
    [D:prop]
    [D:current-user-principal][D:href]/egroupware/groupdav.php/principals/users/shunyata/[/D:href][/D:current-user-principal]
    [/D:prop]
    [D:status]HTTP/1.1 200 OK[/D:status]
    [/D:propstat]
    [/D:response]
    [/D:multistatus]
    *** PROPFIND /shunyata/addressbook-Default/ --] "207 Multi-Status" took 0.029 s

    *** 79.230.39.5 2014-01-20T16:12:05+01:00
    PROPFIND /egroupware/groupdav.php/principals/users/shunyata/ HTTP/1.1
    Authorization: Basic ***************
    Content-Type: application/xml; charset="utf-8"
    Cache-Control: no-cache
    Pragma: no-cache
    Depth: 0
    Content-Length: 162
    Host: lasslos.net
    Connection: close
    User-Agent: CardDAV-Sync (Android) (like iOS/5.0.1 (9A405) dataaccessd/1.0) gzip
    Accept-Encoding: gzip

    [?xml version="1.0" encoding="utf-8" ?][A:propfind xmlns:B="urn:ietf:params:xml:ns:carddav" xmlns:A="DAV:"][A:prop][B:addressbook-home-set/][/A:prop][/A:propfind]
    HTTP/1.1 207 Multi-Status
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache
    X-Dav-Powered-By: EGroupware 1.8.005 CalDAV/CardDAV/GroupDAV server
    X-WebDAV-Status: 207 Multi-Status
    DAV: 1, 2, access-control, calendar-access, calendar-auto-schedule, calendar-proxy, calendarserver-principal-property-search, calendarserver-private-events, addressbook
    Content-Type: text/xml; charset="utf-8"

    [?xml version="1.0" encoding="utf-8"?]
    [D:multistatus xmlns:D="DAV:"]
    [D:response xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" xmlns:ns2="urn:ietf:params:xml:ns:carddav"]
    [D:href]/egroupware/groupdav.php/principals/users/shunyata/[/D:href]
    [D:propstat]
    [D:prop]
    [ns2:addressbook-home-set][D:href]/egroupware/groupdav.php/shunyata/[/D:href][/ns2:addressbook-home-set]
    [/D:prop]
    [D:status]HTTP/1.1 200 OK[/D:status]
    [/D:propstat]
    [/D:response]
    [/D:multistatus]
    *** PROPFIND /principals/users/shunyata/ --] "207 Multi-Status" took 0.023 s

    *** 79.230.39.5 2014-01-20T16:12:05+01:00
    PROPFIND /egroupware/groupdav.php/shunyata/ HTTP/1.1
    Authorization: Basic ***************
    Content-Type: application/xml; charset="utf-8"
    Cache-Control: no-cache
    Pragma: no-cache
    Depth: 1
    Content-Length: 129
    Host: lasslos.net
    Connection: close
    User-Agent: CardDAV-Sync (Android) (like iOS/5.0.1 (9A405) dataaccessd/1.0) gzip
    Accept-Encoding: gzip

    [?xml version="1.0" encoding="utf-8" ?][A:propfind xmlns:A="DAV:"][A:prop][A:displayname/][A:resourcetype/][/A:prop][/A:propfind]
    HTTP/1.1 207 Multi-Status
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache
    X-Dav-Powered-By: EGroupware 1.8.005 CalDAV/CardDAV/GroupDAV server
    X-WebDAV-Status: 207 Multi-Status
    DAV: 1, 2, access-control, calendar-access, calendar-auto-schedule, calendar-proxy, calendarserver-principal-property-search, calendarserver-private-events, addressbook
    Content-Type: text/xml; charset="utf-8"

    [?xml version="1.0" encoding="utf-8"?]
    [D:multistatus xmlns:D="DAV:"]
    [D:response xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/"]
    [D:href]/egroupware/groupdav.php/shunyata/[/D:href]
    [D:propstat]
    [D:prop]
    [D:displayname]Shunyata Tim Reeves[/D:displayname]
    [D:resourcetype][D:collection /][/D:resourcetype]
    [/D:prop]
    [D:status]HTTP/1.1 200 OK[/D:status]
    [/D:propstat]
    [/D:response]
    [D:response xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/"]
    [D:href]/egroupware/groupdav.php/shunyata/addressbook/[/D:href]
    [D:propstat]
    [D:prop]
    [D:displayname]Addressbook Shunyata Tim Reeves[/D:displayname]
    [D:resourcetype xmlns:ns2="http://groupdav.org/" xmlns:ns3="urn:ietf:params:xml:ns:carddav"][ns2:vcard-collection /][ns3:addressbook /][D:collection /][/D:resourcetype]
    [/D:prop]
    [D:status]HTTP/1.1 200 OK[/D:status]
    [/D:propstat]
    [/D:response]
    [D:response xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/"]
    [D:href]/egroupware/groupdav.php/shunyata/calendar/[/D:href]
    [D:propstat]
    [D:prop]
    [D:displayname]Calendar Shunyata Tim Reeves[/D:displayname]
    [D:resourcetype xmlns:ns2="http://groupdav.org/" xmlns:ns3="urn:ietf:params:xml:ns:caldav"][ns2:vevent-collection /][ns3:calendar /][D:collection /][/D:resourcetype]
    [/D:prop]
    [D:status]HTTP/1.1 200 OK[/D:status]
    [/D:propstat]
    [/D:response]
    [D:response xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/"]
    [D:href]/egroupware/groupdav.php/shunyata/inbox/[/D:href]
    [D:propstat]
    [D:prop]
    [D:displayname]Scheduling inbox Shunyata Tim Reeves[/D:displayname]
    [D:resourcetype xmlns:ns2="urn:ietf:params:xml:ns:caldav"][ns2:schedule-inbox /][D:collection /][/D:resourcetype]
    [/D:prop]
    [D:status]HTTP/1.1 200 OK[/D:status]
    [/D:propstat]
    [/D:response]
    [D:response xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/"]
    [D:href]/egroupware/groupdav.php/shunyata/outbox/[/D:href]
    [D:propstat]
    [D:prop]
    [D:displayname]Scheduling outbox Shunyata Tim Reeves[/D:displayname]
    [D:resourcetype xmlns:ns2="urn:ietf:params:xml:ns:caldav"][ns2:schedule-outbox /][D:collection /][/D:resourcetype]
    [/D:prop]
    [D:status]HTTP/1.1 200 OK[/D:status]
    [/D:propstat]
    [/D:response]
    [D:response xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/"]
    [D:href]/egroupware/groupdav.php/shunyata/infolog/[/D:href]
    [D:propstat]
    [D:prop]
    [D:displayname]InfoLog Shunyata Tim Reeves[/D:displayname]
    [D:resourcetype xmlns:ns2="http://groupdav.org/" xmlns:ns3="urn:ietf:params:xml:ns:caldav"][ns2:vtodo-collection /][ns3:calendar /][D:collection /][/D:resourcetype]
    [/D:prop]
    [D:status]HTTP/1.1 200 OK[/D:status]
    [/D:propstat]
    [/D:response]
    [/D:multistatus]
    *** PROPFIND /shunyata/ --] "207 Multi-Status" took 0.074 s

    *** 79.230.39.5 2014-01-20T16:12:06+01:00
    PROPFIND /egroupware/groupdav.php/shunyata/addressbook-Default/ HTTP/1.1
    Authorization: Basic ***************
    Content-Type: application/xml; charset="utf-8"
    Cache-Control: no-cache
    Pragma: no-cache
    Depth: 0
    Content-Length: 129
    Host: lasslos.net
    Connection: close
    User-Agent: CardDAV-Sync (Android) (like iOS/5.0.1 (9A405) dataaccessd/1.0) gzip
    Accept-Encoding: gzip

    [?xml version="1.0" encoding="utf-8" ?][A:propfind xmlns:A="DAV:"][A:prop][A:displayname/][A:resourcetype/][/A:prop][/A:propfind]
    HTTP/1.1 207 Multi-Status
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache
    X-Dav-Powered-By: EGroupware 1.8.005 CalDAV/CardDAV/GroupDAV server
    X-WebDAV-Status: 207 Multi-Status
    DAV: 1, 2, access-control, addressbook
    Content-Type: text/xml; charset="utf-8"

    [?xml version="1.0" encoding="utf-8"?]
    [D:multistatus xmlns:D="DAV:"]
    [D:response xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/"]
    [D:href]/egroupware/groupdav.php/shunyata/addressbook-Default/[/D:href]
    [D:propstat]
    [D:prop]
    [D:displayname]Addressbook Group Default[/D:displayname]
    [D:resourcetype xmlns:ns2="http://groupdav.org/" xmlns:ns3="urn:ietf:params:xml:ns:carddav"][ns2:vcard-collection /][ns3:addressbook /][D:collection /][/D:resourcetype]
    [/D:prop]
    [D:status]HTTP/1.1 200 OK[/D:status]
    [/D:propstat]
    [/D:response]
    [/D:multistatus]
    *** PROPFIND /shunyata/addressbook-Default/ --] "207 Multi-Status" took 0.028 s


  • developer

    OK, CardDav-Sync seems to do:

    1. auto-detection of resources with current-user-principal, getting & querying home sets (just like DAVdroid), and then
    2. detect if the entered URL is a directly usable resource (without using auto-detection).

    I guess this is because CardDav-Sync wants to support resources without auto-detection, whereas DAVdroid only supports auto-detectable resources.

    The /shunyata/addressbook-Default/ resource isn't made available for auto-detection by eGroupware (and that's not the fault of DAVdroid, because CardDav-Sync doesn't receive the /shunyata/addressbook-Default/ resource in the auto-detection process, too – just look for addressbook-Default in the logs), this resource is not supported.

    This is not a DAVdroid issue but an eGroupWare issue. If you need group addressbooks, I suggest to create an enhancement/bug request in the eGroupware tracker.


Log in to reply
 

Looks like your connection to Bitfire App Forums was lost, please wait while we try to reconnect.