Re: xDAV and shared namespaces
Anatoli <[email protected]>
| Newsgroups | gmane.mail.imap.cyrus |
|---|---|
| Message-ID | <[email protected]> |
Hi Ken, Below goes the telemetry for the relevant part. What I see here is that Cyrus correctly answers to the "principal?" question and then the iOS asks for calendars of the principal (telemetry included in the attached file) and there Cyrus only returns the personal calendars, but IMO the shared folder should be somehow taken into account, either responding differently to the "principal?" question or including the shared calendar when queried for available calendars (IMO the best solution (no need to create separate accounts on the phone with different URLs). Please let me know if you need additional details. Regards, Anatoli ---------- [email protected] Sun Mar 25 06:05:36 2018 <1521968736<*PROPFIND* */dav/calendars/shared/* HTTP/1.1 Accept: */* Content-type: text/xml Connection: keep-alive Content-length: 181 Host: mail.domain.com User-agent: iOS/11.2.6 (15D100) accountsd/1.0 Prefer: return=minimal Depth: 0 Brief: t Accept-language: en-us Authorization: Basic ... Accept-encoding: br, gzip, deflate <1521968736<<?xml version="1.0" encoding="UTF-8"?> <A:propfind xmlns:A="DAV:"> <A:prop> <A:current-user-principal/> <A:principal-URL/> <A:resourcetype/> </A:prop> </A:propfind> >1521968736>HTTP/1.1 207 Multi-Status Date: Sun, 25 Mar 2018 09:05:36 GMT Strict-Transport-Security: max-age=600 Vary: Accept-Encoding, Brief, Prefer Preference-Applied: return=minimal Content-Type: application/xml; charset=utf-8 Content-Length: 546 <?xml version="1.0" encoding="utf-8"?> <A:multistatus xmlns:A="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <A:response> <A:href>*/dav/calendars/shared/*</A:href> <A:propstat> <A:prop> <A:current-user-principal> <A:href>*/dav/principals/user/[email protected]/*</A:href> </A:current-user-principal> <A:resourcetype> <A:collection/> <C:calendar/> </A:resourcetype> </A:prop> <A:status>HTTP/1.1 200 OK</A:status> </A:propstat> </A:response> </A:multistatus> <1521968736<OPTIONS /dav/principals/user/t3%40domain.com/ HTTP/1.1 Host: mail.domain.com Connection: keep-alive Accept: */* User-Agent: iOS/11.2.6 (15D100) accountsd/1.0 Accept-Language: en-us Content-Length: 0 Accept-Encoding: br, gzip, deflate >1521968736>HTTP/1.1 200 OK Date: Sun, 25 Mar 2018 09:05:36 GMT Strict-Transport-Security: max-age=600 Cache-Control: no-cache Link: </dav/principals/.server-info>; rel="server-info"; token="80769c2c66d340ecd178710db26d56b9c4699e3e" DAV: 1, 2, 3, access-control, extended-mkcol, resource-sharing DAV: calendar-access, calendar-auto-schedule DAV: calendar-query-extended, calendar-availability, calendar-managed-attachments DAV: calendarserver-sharing, inbox-availability DAV: addressbook Allow: OPTIONS, GET, HEAD Allow: PROPFIND, REPORT, COPY Content-Length: 0 *From:* Ken Murchison *Sent:* Monday, March 19, 2018 09:24 *To:* Info-cyrus *Subject:* Re: xDAV and shared namespaces Can you capture telemetry for the PROPFIND and OPTIONS requests on the shared calendar? On 03/19/2018 02:55 AM, Anatoli wrote: > Hi Ken, > > Basically, the shared calendar is working fine in Thunderbird, where I > can specify the exact URL. But I can't make it work on iPhone as it > only takes the server and later resolves the exact URL via > /.well-known/caldav which points to the personal calendar for the same > user. Though, if I specify on iPhone the exact URL in the settings, it > queries it: > > Mar 19 03:27:42 l https[18199]: [10.1.1.100] with "iOS/11.2.6 (15D100) > dataaccessd/1.0"; "PROPFIND /dav/calendars/shared/ HTTP/1.1" (depth=0) > => "HTTP/1.1 401 Unauthorized" (error=Must authenticate to access the > specified target) > Mar 19 03:27:42 l https[18199]: login: [10.1.1.100] [email protected] > Basic+TLS User logged in > SESSIONID=<xxx.com-18199-1521440862-1-11826509860795088158> > Mar 19 03:27:42 l https[18199]: [10.1.1.100] as "[email protected]" with > "iOS/11.2.6 (15D100) dataaccessd/1.0"; "PROPFIND > /dav/calendars/shared/ HTTP/1.1" (type=prop; depth=0) => "HTTP/1.1 207 > Multi-Status" > Mar 19 03:27:42 l https[18199]: login: [10.1.1.100] [email protected] > Basic+TLS User logged in > SESSIONID=<xxx.com-18199-1521440862-1-11826509860795088158> > Mar 19 03:27:42 l https[18199]: [10.1.1.100] as "[email protected]" with > "iOS/11.2.6 (15D100) dataaccessd/1.0"; "OPTIONS /dav/calendars/shared/ > HTTP/1.1" => "HTTP/1.1 200 OK" > > But finally, iPhone Calendar app doesn't show events from the shared > calendar and in the Accounts the URL resets to the naked domain (i.e. > without the /dav/calendars/shared/ part). What could be done to make > it work? > > Thanks, > Anatoli > > *From:* Ken Murchison > *Sent:* Tuesday, March 13, 2018 14:09 > *To:* Info-cyrus > *Subject:* Re: xDAV and shared namespaces > > > > On 03/13/2018 12:50 PM, Anatoli wrote: >> Ken, >> >> Thanks a lot! After creating the shared folder under the root >> hierarchy (with imtest -a admin and the command you provided), >> setting the corresponding ACLs for the users that have to have access >> to the folder (with cyradm sam) and creating a new connection in each >> WebDAV client for https://domain.com/dav/drive/shared/, everything >> worked fine! >> >> I'll try to test the same with CalDAV / CardDAV and report it here. > > Its entirely possible that the URL parsing code for CalDAV and CardDAV > will not resolve to a shared folder. Let me know. > > > >> >> Regards, >> Anatoli >> >> *From:* Ken Murchison >> *Sent:* Tuesday, March 13, 2018 12:55 >> *To:* Info-cyrus >> *Subject:* Re: xDAV and shared namespaces >> >> >> >> On 03/13/2018 11:48 AM, Anatoli wrote: >>> Hi Ken, >>> >>> Thanks for your quick reply. Yes, I'm willing to test it and if >>> needed I can also apply patches (I build Cyrus from sources). >>> >>> > x CREATE shared (TYPE COLLECTION) >>> >>> What does this command is supposed to do and under what user should >>> I execute it (I mean imtest -a <user>)? I tried to run it under >>> admin user (it creates a "shared" folder at the root hierarchy) and >>> under a normal user that already has a shared folder (in this case >>> the folder is created under the user hierarchy), but in both cases >>> the folder stays empty (with only cyrus.header and cyrus.index >>> inside) and is not visible under a WebDAV client. Am I missing >>> something? >> >> Definitely do this as an admin (e.g. 'cyrus') that DOES NOT have >> their own user hierarchy. >> >> Its been so long since I wrote and played with the WebDAV module that >> I forgot how it works. Try: >> >> x CREATE #drive/shared (TYPE COLLECTION) >> >> Use whatever you have set for the davdriveprefix option and the >> proper hierarchy ('.' if you have disabled unixhierarchysep) >> >> >>> >>> Regards, >>> Anatoli >>> >>> *From:* Ken Murchison >>> *Sent:* Tuesday, March 13, 2018 12:18 >>> *To:* Info-cyrus >>> *Subject:* Re: xDAV and shared namespaces >>> >>> xDAV hasn't had much development or testing in the shared namespace >>> and there isn't any tooling to create such mailboxes. >>> >>> If you wanted to do some testing, you'd have to create the mailboxes >>> by hand and set the mailbox type accordingly. To do so, you can >>> connect to the server as an admin using imtest and enter the >>> following command: >>> >>> x CREATE shared (TYPE COLLECTION) >>> >>> to create a WebDAV collection. Or set the TYPE to CALENDAR or >>> ADDRESSBOOK >>> >>> >>> On 03/13/2018 11:08 AM, Anatoli wrote: >>>> Hi All, >>>> >>>> I'm experimenting with xDav (CalDAV, CardDAV and WebDAV) in Cyrus >>>> 3.0.5. All xDAV services in user namespaces work as expected, but I >>>> can't figure out how to setup them for shared namespaces. >>>> >>>> The most important service for me to setup for shared namespaces is >>>> WebDAV. I'd like to have a shared folder accessible to multiple >>>> users based on their ACLs. I know how to setup a shared folder for >>>> IMAP: >>>> >>>> cyradm> cm [email protected] >>>> cyradm> sam [email protected] [email protected] write >>>> >>>> In the mail client I see the shared1 folder under "shared folders". >>>> But I can't see it in a WebDAV client. At the server the shared1 >>>> folder doesn't have the autocreated xDAV structure as it normally >>>> autocreates for individual users, and I don't know how to create it >>>> manually. >>>> >>>> Does anybody know how to configure WebDAV shared folders? I'm also >>>> interested in creating shared calendars (CalDAV) and addressbooks >>>> (CardDAV), but I suppose they are managed the same way as WebDAV. >>>> >>>> Thanks in advance, >>>> Anatoli >>>> >>>> >>>> ---- >>>> Cyrus Home Page:http://www.cyrusimap.org/ >>>> List Archives/Info:http://lists.andrew.cmu.edu/pipermail/info-cyrus/ >>>> To Unsubscribe: >>>> https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus >>> >>> -- >>> Ken Murchison >>> Cyrus Development Team >>> FastMail US LLC >>> >>> >>> ---- >>> Cyrus Home Page:http://www.cyrusimap.org/ >>> List Archives/Info:http://lists.andrew.cmu.edu/pipermail/info-cyrus/ >>> To Unsubscribe: >>> https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus >>> >>> >>> >>> ---- >>> Cyrus Home Page:http://www.cyrusimap.org/ >>> List Archives/Info:http://lists.andrew.cmu.edu/pipermail/info-cyrus/ >>> To Unsubscribe: >>> https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus >> >> -- >> Ken Murchison >> Cyrus Development Team >> FastMail US LLC >> >> >> ---- >> Cyrus Home Page:http://www.cyrusimap.org/ >> List Archives/Info:http://lists.andrew.cmu.edu/pipermail/info-cyrus/ >> To Unsubscribe: >> https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus >> >> >> >> ---- >> Cyrus Home Page:http://www.cyrusimap.org/ >> List Archives/Info:http://lists.andrew.cmu.edu/pipermail/info-cyrus/ >> To Unsubscribe: >> https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus > > -- > Ken Murchison > Cyrus Development Team > FastMail US LLC > > > ---- > Cyrus Home Page:http://www.cyrusimap.org/ > List Archives/Info:http://lists.andrew.cmu.edu/pipermail/info-cyrus/ > To Unsubscribe: > https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus > > > > ---- > Cyrus Home Page:http://www.cyrusimap.org/ > List Archives/Info:http://lists.andrew.cmu.edu/pipermail/info-cyrus/ > To Unsubscribe: > https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus -- Ken Murchison Cyrus Development Team FastMail US LLC ---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/ To Unsubscribe: https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus ---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/ To Unsubscribe: https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus
telemetry.log
(text/x-log, 33.8 KB)
---------- [email protected] Sun Mar 25 06:05:38 2018 <1521968738<PROPFIND /dav/principals/user/t3%40domain.com/ HTTP/1.1 Accept: */* Content-type: text/xml Connection: keep-alive Content-length: 743 Host: mail.domain.com User-agent: iOS/11.2.6 (15D100) dataaccessd/1.0 Prefer: return=minimal Depth: 0 Brief: t Accept-language: en-us Authorization: Basic ... Accept-encoding: br, gzip, deflate <1521968738<<?xml version="1.0" encoding="UTF-8"?> <A:propfind xmlns:A="DAV:"> <A:prop> <B:calendar-home-set xmlns:B="urn:ietf:params:xml:ns:caldav"/> <B:calendar-user-address-set xmlns:B="urn:ietf:params:xml:ns:caldav"/> <A:current-user-principal/> <A:displayname/> <C:dropbox-home-URL xmlns:C="http://calendarserver.org/ns/"/> <C:email-address-set xmlns:C="http://calendarserver.org/ns/"/> <C:notification-URL xmlns:C="http://calendarserver.org/ns/"/> <A:principal-collection-set/> <A:principal-URL/> <A:resource-id/> <B:schedule-inbox-URL xmlns:B="urn:ietf:params:xml:ns:caldav"/> <B:schedule-outbox-URL xmlns:B="urn:ietf:params:xml:ns:caldav"/> <A:supported-report-set/> </A:prop> </A:propfind> >1521968738>HTTP/1.1 207 Multi-Status Date: Sun, 25 Mar 2018 09:05:38 GMT Strict-Transport-Security: max-age=600 Vary: Accept-Encoding, Brief, Prefer Preference-Applied: return=minimal Content-Type: application/xml; charset=utf-8 Content-Length: 1955 <?xml version="1.0" encoding="utf-8"?> <A:multistatus xmlns:A="DAV:" xmlns:B="urn:ietf:params:xml:ns:caldav" xmlns:C="http://calendarserver.org/ns/"> <A:response> <A:href>/dav/principals/user/[email protected]/</A:href> <A:propstat> <A:prop> <B:calendar-home-set> <A:href>/dav/calendars/user/[email protected]/</A:href> </B:calendar-home-set> <B:calendar-user-address-set> <A:href>mailto:[email protected]</A:href> </B:calendar-user-address-set> <A:current-user-principal> <A:href>/dav/principals/user/[email protected]/</A:href> </A:current-user-principal> <A:displayname>[email protected]</A:displayname> <C:notification-URL> <A:href>/dav/notifications/user/[email protected]/</A:href> </C:notification-URL> <A:principal-collection-set> <A:href>/dav/principals/user/</A:href> </A:principal-collection-set> <A:principal-URL> <A:href>/dav/principals/user/[email protected]/</A:href> </A:principal-URL> <B:schedule-inbox-URL> <A:href>/dav/calendars/user/[email protected]/Inbox/</A:href> </B:schedule-inbox-URL> <B:schedule-outbox-URL> <A:href>/dav/calendars/user/[email protected]/Outbox/</A:href> </B:schedule-outbox-URL> <A:supported-report-set> <A:supported-report> <A:report> <A:expand-property/> </A:report> </A:supported-report> <A:supported-report> <A:report> <A:principal-property-search/> </A:report> </A:supported-report> <A:supported-report> <A:report> <A:principal-search-property-set/> </A:report> </A:supported-report> </A:supported-report-set> </A:prop> <A:status>HTTP/1.1 200 OK</A:status> </A:propstat> </A:response> </A:multistatus> ---------- [email protected] Sun Mar 25 06:05:38 2018 <1521968738<OPTIONS /dav/principals/user/t3%40domain.com/ HTTP/1.1 Accept: */* Connection: keep-alive Content-length: 0 Host: mail.domain.com User-agent: iOS/11.2.6 (15D100) dataaccessd/1.0 Accept-language: en-us Authorization: Basic ... Accept-encoding: br, gzip, deflate >1521968738>HTTP/1.1 200 OK Date: Sun, 25 Mar 2018 09:05:38 GMT Strict-Transport-Security: max-age=600 Cache-Control: no-cache Link: </dav/principals/.server-info>; rel="server-info"; token="80769c2c66d340ecd178710db26d56b9c4699e3e" DAV: 1, 2, 3, access-control, extended-mkcol, resource-sharing DAV: calendar-access, calendar-auto-schedule DAV: calendar-query-extended, calendar-availability, calendar-managed-attachments DAV: calendarserver-sharing, inbox-availability DAV: addressbook Allow: OPTIONS, GET, HEAD Allow: PROPFIND, REPORT, COPY Content-Length: 0 <1521968738<PROPFIND /dav/calendars/user/t3%40domain.com/ HTTP/1.1 Host: mail.domain.com Content-Type: text/xml Depth: 1 Brief: t Accept: */* Connection: keep-alive Prefer: return=minimal User-Agent: iOS/11.2.6 (15D100) dataaccessd/1.0 Content-Length: 2217 Accept-Language: en-us Accept-Encoding: br, gzip, deflate <1521968738<<?xml version="1.0" encoding="UTF-8"?> <A:propfind xmlns:A="DAV:"> <A:prop> <A:add-member/> <C:allowed-sharing-modes xmlns:C="http://calendarserver.org/ns/"/> <E:autoprovisioned xmlns:E="http://apple.com/ns/ical/"/> <F:bulk-requests xmlns:F="http://me.com/_namespace/"/> <B:calendar-alarm xmlns:B="urn:ietf:params:xml:ns:caldav"/> <E:calendar-color xmlns:E="http://apple.com/ns/ical/"/> <B:calendar-description xmlns:B="urn:ietf:params:xml:ns:caldav"/> <B:calendar-free-busy-set xmlns:B="urn:ietf:params:xml:ns:caldav"/> <E:calendar-order xmlns:E="http://apple.com/ns/ical/"/> <B:calendar-timezone xmlns:B="urn:ietf:params:xml:ns:caldav"/> <A:current-user-privilege-set/> <B:default-alarm-vevent-date xmlns:B="urn:ietf:params:xml:ns:caldav"/> <B:default-alarm-vevent-datetime xmlns:B="urn:ietf:params:xml:ns:caldav"/> <A:displayname/> <C:getctag xmlns:C="http://calendarserver.org/ns/"/> <C:invite xmlns:C="http://calendarserver.org/ns/"/> <E:language-code xmlns:E="http://apple.com/ns/ical/"/> <E:location-code xmlns:E="http://apple.com/ns/ical/"/> <A:owner/> <C:pre-publish-url xmlns:C="http://calendarserver.org/ns/"/> <C:publish-url xmlns:C="http://calendarserver.org/ns/"/> <C:push-transports xmlns:C="http://calendarserver.org/ns/"/> <C:pushkey xmlns:C="http://calendarserver.org/ns/"/> <A:quota-available-bytes/> <A:quota-used-bytes/> <E:refreshrate xmlns:E="http://apple.com/ns/ical/"/> <A:resource-id/> <A:resourcetype/> <B:schedule-calendar-transp xmlns:B="urn:ietf:params:xml:ns:caldav"/> <B:schedule-default-calendar-URL xmlns:B="urn:ietf:params:xml:ns:caldav"/> <C:source xmlns:C="http://calendarserver.org/ns/"/> <C:subscribed-strip-alarms xmlns:C="http://calendarserver.org/ns/"/> <C:subscribed-strip-attachments xmlns:C="http://calendarserver.org/ns/"/> <C:subscribed-strip-todos xmlns:C="http://calendarserver.org/ns/"/> <B:supported-calendar-component-set xmlns:B="urn:ietf:params:xml:ns:caldav"/> <B:supported-calendar-component-sets xmlns:B="urn:ietf:params:xml:ns:caldav"/> <A:supported-report-set/> <A:sync-token/> </A:prop> </A:propfind> >1521968738>HTTP/1.1 207 Multi-Status Date: Sun, 25 Mar 2018 09:05:38 GMT Strict-Transport-Security: max-age=600 Vary: Accept-Encoding, Brief, Prefer Preference-Applied: return=minimal Content-Type: application/xml; charset=utf-8 Content-Length: 9412 <?xml version="1.0" encoding="utf-8"?> <A:multistatus xmlns:A="DAV:" xmlns:C="http://calendarserver.org/ns/" xmlns:E="http://apple.com/ns/ical/" xmlns:F="http://me.com/_namespace/" xmlns:B="urn:ietf:params:xml:ns:caldav" xmlns:CY="http://cyrusimap.org/ns/"> <A:response> <A:href>/dav/calendars/user/[email protected]/</A:href> <A:propstat> <A:prop> <C:allowed-sharing-modes/> <F:bulk-requests/> <A:current-user-privilege-set> <A:privilege> <A:all/> </A:privilege> <A:privilege> <A:read/> </A:privilege> <A:privilege> <B:read-free-busy/> </A:privilege> <A:privilege> <A:write/> </A:privilege> <A:privilege> <A:write-content/> </A:privilege> <A:privilege> <A:write-properties/> </A:privilege> <A:privilege> <CY:write-properties-collection/> </A:privilege> <A:privilege> <CY:write-properties-resource/> </A:privilege> <A:privilege> <A:bind/> </A:privilege> <A:privilege> <CY:make-collection/> </A:privilege> <A:privilege> <CY:add-resource/> </A:privilege> <A:privilege> <A:unbind/> </A:privilege> <A:privilege> <CY:remove-collection/> </A:privilege> <A:privilege> <CY:remove-resource/> </A:privilege> <A:privilege> <CY:admin/> </A:privilege> </A:current-user-privilege-set> <A:displayname><![CDATA[#calendars]]></A:displayname> <C:invite/> <A:owner> <A:href>/dav/principals/user/[email protected]/</A:href> </A:owner> <A:quota-available-bytes>-37571</A:quota-available-bytes> <A:quota-used-bytes>0</A:quota-used-bytes> <A:resourcetype> <A:collection/> </A:resourcetype> <A:supported-report-set> <A:supported-report> <A:report> <A:expand-property/> </A:report> </A:supported-report> <A:supported-report> <A:report> <A:acl-principal-prop-set/> </A:report> </A:supported-report> <A:supported-report> <A:report> <A:sync-collection/> </A:report> </A:supported-report> <A:supported-report> <A:report> <B:calendar-query/> </A:report> </A:supported-report> <A:supported-report> <A:report> <B:calendar-multiget/> </A:report> </A:supported-report> <A:supported-report> <A:report> <B:free-busy-query/> </A:report> </A:supported-report> </A:supported-report-set> </A:prop> <A:status>HTTP/1.1 200 OK</A:status> </A:propstat> </A:response> <A:response> <A:href>/dav/calendars/user/[email protected]/Default/</A:href> <A:propstat> <A:prop> <A:add-member> <A:href>/dav/calendars/user/[email protected]/Default/?action=add-member</A:href> </A:add-member> <C:allowed-sharing-modes> <C:can-be-shared/> </C:allowed-sharing-modes> <F:bulk-requests> <F:simple> <F:max-resources/> <F:max-bytes/> </F:simple> </F:bulk-requests> <E:calendar-color><![CDATA[#1badf8]]></E:calendar-color> <E:calendar-order><![CDATA[0]]></E:calendar-order> <A:current-user-privilege-set> <A:privilege> <A:all/> </A:privilege> >1521968738> <A:privilege> <A:read/> </A:privilege> <A:privilege> <B:read-free-busy/> </A:privilege> <A:privilege> <A:write/> </A:privilege> <A:privilege> <A:write-content/> </A:privilege> <A:privilege> <A:write-properties/> </A:privilege> <A:privilege> <CY:write-properties-collection/> </A:privilege> <A:privilege> <CY:write-properties-resource/> </A:privilege> <A:privilege> <A:bind/> </A:privilege> <A:privilege> <CY:make-collection/> </A:privilege> <A:privilege> <CY:add-resource/> </A:privilege> <A:privilege> <A:unbind/> </A:privilege> <A:privilege> <CY:remove-collection/> </A:privilege> <A:privilege> <CY:remove-resource/> </A:privilege> <A:privilege> <CY:admin/> </A:privilege> </A:current-user-privilege-set> <A:displayname><![CDATA[personal]]></A:displayname> <C:getctag>1520951272-304</C:getctag> <C:invite/> <A:owner> <A:href>/dav/principals/user/[email protected]/</A:href> </A:owner> <A:quota-available-bytes>-37571</A:quota-available-bytes> <A:quota-used-bytes>28401</A:quota-used-bytes> <A:resourcetype> <A:collection/> <B:calendar/> </A:resourcetype> <B:supported-calendar-component-set> <B:comp name="VEVENT"/> <B:comp name="VTODO"/> <B:comp name="VJOURNAL"/> <B:comp name="VFREEBUSY"/> <B:comp name="VAVAILABILITY"/> </B:supported-calendar-component-set> <B:supported-calendar-component-sets> <B:comp name="VEVENT"/> <B:comp name="VTODO"/> <B:comp name="VJOURNAL"/> <B:comp name="VFREEBUSY"/> <B:comp name="VAVAILABILITY"/> </B:supported-calendar-component-sets> <A:supported-report-set> <A:supported-report> <A:report> <A:expand-property/> </A:report> </A:supported-report> <A:supported-report> <A:report> <A:acl-principal-prop-set/> </A:report> </A:supported-report> <A:supported-report> <A:report> <A:sync-collection/> </A:report> </A:supported-report> <A:supported-report> <A:report> <B:calendar-query/> </A:report> </A:supported-report> <A:supported-report> <A:report> <B:calendar-multiget/> </A:report> </A:supported-report> <A:supported-report> <A:report> <B:free-busy-query/> </A:report> </A:supported-report> </A:supported-report-set> <A:sync-token>data:,1520951272-304</A:sync-token> </A:prop> <A:status>HTTP/1.1 200 OK</A:status> </A:propstat> </A:response> <A:response> <A:href>/dav/notifications/user/[email protected]/</A:href> <A:propstat> <A:prop> <A:current-user-privilege-set> <A:privilege> <A:all/> </A:privilege> <A:privilege> <A:read/> </A:privilege> <A:privilege> <A:write/> </A:privilege> <A:privilege> <A:write-content/> </A:privilege> <A:privilege> <A:write-properties/> </A:privilege> <A:privilege> <CY:write-properties-collection/> </A:privilege> <A:privilege> <CY:write-properties-resource/> </A:privilege> <A:privilege> <A:bind/> </A:privilege> <A:privilege> <CY:make-collection/> </>1521968738>A:privilege> <A:privilege> <CY:add-resource/> </A:privilege> <A:privilege> <A:unbind/> </A:privilege> <A:privilege> <CY:remove-collection/> </A:privilege> <A:privilege> <CY:remove-resource/> </A:privilege> <A:privilege> <CY:admin/> </A:privilege> </A:current-user-privilege-set> <A:displayname><![CDATA[#notifications]]></A:displayname> <C:getctag>1520951271-20</C:getctag> <A:owner> <A:href>/dav/principals/user/[email protected]/</A:href> </A:owner> <A:resourcetype> <A:collection/> <A:notifications/> <C:notification/> </A:resourcetype> <A:supported-report-set> <A:supported-report> <A:report> <A:expand-property/> </A:report> </A:supported-report> <A:supported-report> <A:report> <A:acl-principal-prop-set/> </A:report> </A:supported-report> <A:supported-report> <A:report> <A:sync-collection/> </A:report> </A:supported-report> </A:supported-report-set> <A:sync-token>data:,1520951271-20</A:sync-token> </A:prop> <A:status>HTTP/1.1 200 OK</A:status> </A:propstat> </A:response> </A:multistatus> ---------- [email protected] Sun Mar 25 06:05:38 2018 <1521968738<PROPFIND /dav/principals/user/t3%40domain.com/ HTTP/1.1 Accept: */* Content-type: text/xml Connection: keep-alive Content-length: 267 Host: mail.domain.com User-agent: iOS/11.2.6 (15D100) dataaccessd/1.0 Prefer: return=minimal Depth: 0 Brief: t Accept-language: en-us Authorization: Basic ... Accept-encoding: br, gzip, deflate <1521968738<<?xml version="1.0" encoding="UTF-8"?> <A:propfind xmlns:A="DAV:"> <A:prop> <B:calendar-user-address-set xmlns:B="urn:ietf:params:xml:ns:caldav"/> <A:displayname/> <C:email-address-set xmlns:C="http://calendarserver.org/ns/"/> </A:prop> </A:propfind> >1521968738>HTTP/1.1 207 Multi-Status Date: Sun, 25 Mar 2018 09:05:38 GMT Strict-Transport-Security: max-age=600 Vary: Accept-Encoding, Brief, Prefer Preference-Applied: return=minimal Content-Type: application/xml; charset=utf-8 Content-Length: 542 <?xml version="1.0" encoding="utf-8"?> <A:multistatus xmlns:A="DAV:" xmlns:B="urn:ietf:params:xml:ns:caldav" xmlns:C="http://calendarserver.org/ns/"> <A:response> <A:href>/dav/principals/user/[email protected]/</A:href> <A:propstat> <A:prop> <B:calendar-user-address-set> <A:href>mailto:[email protected]</A:href> </B:calendar-user-address-set> <A:displayname>[email protected]</A:displayname> </A:prop> <A:status>HTTP/1.1 200 OK</A:status> </A:propstat> </A:response> </A:multistatus> ---------- [email protected] Sun Mar 25 06:05:38 2018 <1521968738<PROPFIND /dav/principals/user/t3%40domain.com/ HTTP/1.1 Accept: */* Content-type: text/xml Connection: keep-alive Content-length: 267 Host: mail.domain.com User-agent: iOS/11.2.6 (15D100) dataaccessd/1.0 Prefer: return=minimal Depth: 0 Brief: t Accept-language: en-us Authorization: Basic ... Accept-encoding: br, gzip, deflate <1521968738<<?xml version="1.0" encoding="UTF-8"?> <A:propfind xmlns:A="DAV:"> <A:prop> <B:calendar-user-address-set xmlns:B="urn:ietf:params:xml:ns:caldav"/> <A:displayname/> <C:email-address-set xmlns:C="http://calendarserver.org/ns/"/> </A:prop> </A:propfind> >1521968738>HTTP/1.1 207 Multi-Status Date: Sun, 25 Mar 2018 09:05:38 GMT Strict-Transport-Security: max-age=600 Vary: Accept-Encoding, Brief, Prefer Preference-Applied: return=minimal Content-Type: application/xml; charset=utf-8 Content-Length: 542 <?xml version="1.0" encoding="utf-8"?> <A:multistatus xmlns:A="DAV:" xmlns:B="urn:ietf:params:xml:ns:caldav" xmlns:C="http://calendarserver.org/ns/"> <A:response> <A:href>/dav/principals/user/[email protected]/</A:href> <A:propstat> <A:prop> <B:calendar-user-address-set> <A:href>mailto:[email protected]</A:href> </B:calendar-user-address-set> <A:displayname>[email protected]</A:displayname> </A:prop> <A:status>HTTP/1.1 200 OK</A:status> </A:propstat> </A:response> </A:multistatus> <1521968742<PROPFIND /dav/calendars/user/t3%40domain.com/ HTTP/1.1 Host: mail.domain.com Content-Type: text/xml Depth: 1 Brief: t Accept: */* Connection: keep-alive Prefer: return=minimal User-Agent: iOS/11.2.6 (15D100) dataaccessd/1.0 Content-Length: 2217 Accept-Language: en-us Accept-Encoding: br, gzip, deflate <1521968742<<?xml version="1.0" encoding="UTF-8"?> <A:propfind xmlns:A="DAV:"> <A:prop> <A:add-member/> <C:allowed-sharing-modes xmlns:C="http://calendarserver.org/ns/"/> <E:autoprovisioned xmlns:E="http://apple.com/ns/ical/"/> <F:bulk-requests xmlns:F="http://me.com/_namespace/"/> <B:calendar-alarm xmlns:B="urn:ietf:params:xml:ns:caldav"/> <E:calendar-color xmlns:E="http://apple.com/ns/ical/"/> <B:calendar-description xmlns:B="urn:ietf:params:xml:ns:caldav"/> <B:calendar-free-busy-set xmlns:B="urn:ietf:params:xml:ns:caldav"/> <E:calendar-order xmlns:E="http://apple.com/ns/ical/"/> <B:calendar-timezone xmlns:B="urn:ietf:params:xml:ns:caldav"/> <A:current-user-privilege-set/> <B:default-alarm-vevent-date xmlns:B="urn:ietf:params:xml:ns:caldav"/> <B:default-alarm-vevent-datetime xmlns:B="urn:ietf:params:xml:ns:caldav"/> <A:displayname/> <C:getctag xmlns:C="http://calendarserver.org/ns/"/> <C:invite xmlns:C="http://calendarserver.org/ns/"/> <E:language-code xmlns:E="http://apple.com/ns/ical/"/> <E:location-code xmlns:E="http://apple.com/ns/ical/"/> <A:owner/> <C:pre-publish-url xmlns:C="http://calendarserver.org/ns/"/> <C:publish-url xmlns:C="http://calendarserver.org/ns/"/> <C:push-transports xmlns:C="http://calendarserver.org/ns/"/> <C:pushkey xmlns:C="http://calendarserver.org/ns/"/> <A:quota-available-bytes/> <A:quota-used-bytes/> <E:refreshrate xmlns:E="http://apple.com/ns/ical/"/> <A:resource-id/> <A:resourcetype/> <B:schedule-calendar-transp xmlns:B="urn:ietf:params:xml:ns:caldav"/> <B:schedule-default-calendar-URL xmlns:B="urn:ietf:params:xml:ns:caldav"/> <C:source xmlns:C="http://calendarserver.org/ns/"/> <C:subscribed-strip-alarms xmlns:C="http://calendarserver.org/ns/"/> <C:subscribed-strip-attachments xmlns:C="http://calendarserver.org/ns/"/> <C:subscribed-strip-todos xmlns:C="http://calendarserver.org/ns/"/> <B:supported-calendar-component-set xmlns:B="urn:ietf:params:xml:ns:caldav"/> <B:supported-calendar-component-sets xmlns:B="urn:ietf:params:xml:ns:caldav"/> <A:supported-report-set/> <A:sync-token/> </A:prop> </A:propfind> >1521968742>HTTP/1.1 207 Multi-Status Date: Sun, 25 Mar 2018 09:05:42 GMT Strict-Transport-Security: max-age=600 Vary: Accept-Encoding, Brief, Prefer Preference-Applied: return=minimal Content-Type: application/xml; charset=utf-8 Content-Length: 9412 <?xml version="1.0" encoding="utf-8"?> <A:multistatus xmlns:A="DAV:" xmlns:C="http://calendarserver.org/ns/" xmlns:E="http://apple.com/ns/ical/" xmlns:F="http://me.com/_namespace/" xmlns:B="urn:ietf:params:xml:ns:caldav" xmlns:CY="http://cyrusimap.org/ns/"> <A:response> <A:href>/dav/calendars/user/[email protected]/</A:href> <A:propstat> <A:prop> <C:allowed-sharing-modes/> <F:bulk-requests/> <A:current-user-privilege-set> <A:privilege> <A:all/> </A:privilege> <A:privilege> <A:read/> </A:privilege> <A:privilege> <B:read-free-busy/> </A:privilege> <A:privilege> <A:write/> </A:privilege> <A:privilege> <A:write-content/> </A:privilege> <A:privilege> <A:write-properties/> </A:privilege> <A:privilege> <CY:write-properties-collection/> </A:privilege> <A:privilege> <CY:write-properties-resource/> </A:privilege> <A:privilege> <A:bind/> </A:privilege> <A:privilege> <CY:make-collection/> </A:privilege> <A:privilege> <CY:add-resource/> </A:privilege> <A:privilege> <A:unbind/> </A:privilege> <A:privilege> <CY:remove-collection/> </A:privilege> <A:privilege> <CY:remove-resource/> </A:privilege> <A:privilege> <CY:admin/> </A:privilege> </A:current-user-privilege-set> <A:displayname><![CDATA[#calendars]]></A:displayname> <C:invite/> <A:owner> <A:href>/dav/principals/user/[email protected]/</A:href> </A:owner> <A:quota-available-bytes>-37571</A:quota-available-bytes> <A:quota-used-bytes>0</A:quota-used-bytes> <A:resourcetype> <A:collection/> </A:resourcetype> <A:supported-report-set> <A:supported-report> <A:report> <A:expand-property/> </A:report> </A:supported-report> <A:supported-report> <A:report> <A:acl-principal-prop-set/> </A:report> </A:supported-report> <A:supported-report> <A:report> <A:sync-collection/> </A:report> </A:supported-report> <A:supported-report> <A:report> <B:calendar-query/> </A:report> </A:supported-report> <A:supported-report> <A:report> <B:calendar-multiget/> </A:report> </A:supported-report> <A:supported-report> <A:report> <B:free-busy-query/> </A:report> </A:supported-report> </A:supported-report-set> </A:prop> <A:status>HTTP/1.1 200 OK</A:status> </A:propstat> </A:response> <A:response> <A:href>/dav/calendars/user/[email protected]/Default/</A:href> <A:propstat> <A:prop> <A:add-member> <A:href>/dav/calendars/user/[email protected]/Default/?action=add-member</A:href> </A:add-member> <C:allowed-sharing-modes> <C:can-be-shared/> </C:allowed-sharing-modes> <F:bulk-requests> <F:simple> <F:max-resources/> <F:max-bytes/> </F:simple> </F:bulk-requests> <E:calendar-color><![CDATA[#1badf8]]></E:calendar-color> <E:calendar-order><![CDATA[0]]></E:calendar-order> <A:current-user-privilege-set> <A:privilege> <A:all/> </A:privilege> >1521968742> <A:privilege> <A:read/> </A:privilege> <A:privilege> <B:read-free-busy/> </A:privilege> <A:privilege> <A:write/> </A:privilege> <A:privilege> <A:write-content/> </A:privilege> <A:privilege> <A:write-properties/> </A:privilege> <A:privilege> <CY:write-properties-collection/> </A:privilege> <A:privilege> <CY:write-properties-resource/> </A:privilege> <A:privilege> <A:bind/> </A:privilege> <A:privilege> <CY:make-collection/> </A:privilege> <A:privilege> <CY:add-resource/> </A:privilege> <A:privilege> <A:unbind/> </A:privilege> <A:privilege> <CY:remove-collection/> </A:privilege> <A:privilege> <CY:remove-resource/> </A:privilege> <A:privilege> <CY:admin/> </A:privilege> </A:current-user-privilege-set> <A:displayname><![CDATA[personal]]></A:displayname> <C:getctag>1520951272-304</C:getctag> <C:invite/> <A:owner> <A:href>/dav/principals/user/[email protected]/</A:href> </A:owner> <A:quota-available-bytes>-37571</A:quota-available-bytes> <A:quota-used-bytes>28401</A:quota-used-bytes> <A:resourcetype> <A:collection/> <B:calendar/> </A:resourcetype> <B:supported-calendar-component-set> <B:comp name="VEVENT"/> <B:comp name="VTODO"/> <B:comp name="VJOURNAL"/> <B:comp name="VFREEBUSY"/> <B:comp name="VAVAILABILITY"/> </B:supported-calendar-component-set> <B:supported-calendar-component-sets> <B:comp name="VEVENT"/> <B:comp name="VTODO"/> <B:comp name="VJOURNAL"/> <B:comp name="VFREEBUSY"/> <B:comp name="VAVAILABILITY"/> </B:supported-calendar-component-sets> <A:supported-report-set> <A:supported-report> <A:report> <A:expand-property/> </A:report> </A:supported-report> <A:supported-report> <A:report> <A:acl-principal-prop-set/> </A:report> </A:supported-report> <A:supported-report> <A:report> <A:sync-collection/> </A:report> </A:supported-report> <A:supported-report> <A:report> <B:calendar-query/> </A:report> </A:supported-report> <A:supported-report> <A:report> <B:calendar-multiget/> </A:report> </A:supported-report> <A:supported-report> <A:report> <B:free-busy-query/> </A:report> </A:supported-report> </A:supported-report-set> <A:sync-token>data:,1520951272-304</A:sync-token> </A:prop> <A:status>HTTP/1.1 200 OK</A:status> </A:propstat> </A:response> <A:response> <A:href>/dav/notifications/user/[email protected]/</A:href> <A:propstat> <A:prop> <A:current-user-privilege-set> <A:privilege> <A:all/> </A:privilege> <A:privilege> <A:read/> </A:privilege> <A:privilege> <A:write/> </A:privilege> <A:privilege> <A:write-content/> </A:privilege> <A:privilege> <A:write-properties/> </A:privilege> <A:privilege> <CY:write-properties-collection/> </A:privilege> <A:privilege> <CY:write-properties-resource/> </A:privilege> <A:privilege> <A:bind/> </A:privilege> <A:privilege> <CY:make-collection/> </>1521968742>A:privilege> <A:privilege> <CY:add-resource/> </A:privilege> <A:privilege> <A:unbind/> </A:privilege> <A:privilege> <CY:remove-collection/> </A:privilege> <A:privilege> <CY:remove-resource/> </A:privilege> <A:privilege> <CY:admin/> </A:privilege> </A:current-user-privilege-set> <A:displayname><![CDATA[#notifications]]></A:displayname> <C:getctag>1520951271-20</C:getctag> <A:owner> <A:href>/dav/principals/user/[email protected]/</A:href> </A:owner> <A:resourcetype> <A:collection/> <A:notifications/> <C:notification/> </A:resourcetype> <A:supported-report-set> <A:supported-report> <A:report> <A:expand-property/> </A:report> </A:supported-report> <A:supported-report> <A:report> <A:acl-principal-prop-set/> </A:report> </A:supported-report> <A:supported-report> <A:report> <A:sync-collection/> </A:report> </A:supported-report> </A:supported-report-set> <A:sync-token>data:,1520951271-20</A:sync-token> </A:prop> <A:status>HTTP/1.1 200 OK</A:status> </A:propstat> </A:response> </A:multistatus> ---------- [email protected] Sun Mar 25 06:05:42 2018 <1521968742<PROPFIND /dav/principals/user/t3%40domain.com/ HTTP/1.1 Accept: */* Content-type: text/xml Connection: keep-alive Content-length: 267 Host: mail.domain.com User-agent: iOS/11.2.6 (15D100) dataaccessd/1.0 Prefer: return=minimal Depth: 0 Brief: t Accept-language: en-us Authorization: Basic ... Accept-encoding: br, gzip, deflate <1521968742<<?xml version="1.0" encoding="UTF-8"?> <A:propfind xmlns:A="DAV:"> <A:prop> <B:calendar-user-address-set xmlns:B="urn:ietf:params:xml:ns:caldav"/> <A:displayname/> <C:email-address-set xmlns:C="http://calendarserver.org/ns/"/> </A:prop> </A:propfind> >1521968742>HTTP/1.1 207 Multi-Status Date: Sun, 25 Mar 2018 09:05:42 GMT Strict-Transport-Security: max-age=600 Vary: Accept-Encoding, Brief, Prefer Preference-Applied: return=minimal Content-Type: application/xml; charset=utf-8 Content-Length: 542 <?xml version="1.0" encoding="utf-8"?> <A:multistatus xmlns:A="DAV:" xmlns:B="urn:ietf:params:xml:ns:caldav" xmlns:C="http://calendarserver.org/ns/"> <A:response> <A:href>/dav/principals/user/[email protected]/</A:href> <A:propstat> <A:prop> <B:calendar-user-address-set> <A:href>mailto:[email protected]</A:href> </B:calendar-user-address-set> <A:displayname>[email protected]</A:displayname> </A:prop> <A:status>HTTP/1.1 200 OK</A:status> </A:propstat> </A:response> </A:multistatus> ---------- [email protected] Sun Mar 25 06:05:42 2018 <1521968742<PROPFIND /dav/principals/user/t3%40domain.com/ HTTP/1.1 Accept: */* Content-type: text/xml Connection: keep-alive Content-length: 267 Host: mail.domain.com User-agent: iOS/11.2.6 (15D100) dataaccessd/1.0 Prefer: return=minimal Depth: 0 Brief: t Accept-language: en-us Authorization: Basic ... Accept-encoding: br, gzip, deflate <1521968742<<?xml version="1.0" encoding="UTF-8"?> <A:propfind xmlns:A="DAV:"> <A:prop> <B:calendar-user-address-set xmlns:B="urn:ietf:params:xml:ns:caldav"/> <A:displayname/> <C:email-address-set xmlns:C="http://calendarserver.org/ns/"/> </A:prop> </A:propfind> >1521968742>HTTP/1.1 207 Multi-Status Date: Sun, 25 Mar 2018 09:05:42 GMT Strict-Transport-Security: max-age=600 Vary: Accept-Encoding, Brief, Prefer Preference-Applied: return=minimal Content-Type: application/xml; charset=utf-8 Content-Length: 542 <?xml version="1.0" encoding="utf-8"?> <A:multistatus xmlns:A="DAV:" xmlns:B="urn:ietf:params:xml:ns:caldav" xmlns:C="http://calendarserver.org/ns/"> <A:response> <A:href>/dav/principals/user/[email protected]/</A:href> <A:propstat> <A:prop> <B:calendar-user-address-set> <A:href>mailto:[email protected]</A:href> </B:calendar-user-address-set> <A:displayname>[email protected]</A:displayname> </A:prop> <A:status>HTTP/1.1 200 OK</A:status> </A:propstat> </A:response> </A:multistatus>