#309: group and attendee bug -------------------------------+-------------------------------------------- Reporter: jduff...@… | Owner: sa...@… Type: Defect | Status: new Priority: 2: Expected | Milestone: CalendarServer-2.x Component: Calendar Server | Severity: Serious Resolution: | Keywords: group attendee -------------------------------+--------------------------------------------
Comment(by axelluttg...@…): Sorry, I can't fully reproduce the behavior described by jduffas1's anymore; as I'm currently performing a lot of trials, I don't remember which settings might have changed, if any.[[BR]] But I still can reproduce a similar behavior, and it seems to be a pure iCal thing. I'm testing against a local OpenDirectory node (no xml file, thus).[[BR]] I've imaginatevely created three users: "caluser01", "caluser02" and "caluser03", with their email addresses (hereafter shown as @example.com).[[BR]] Those three users belong to group "calusers".[[BR]] Users "caluser01" and "caluser03" also belong to group "calgroup01".[[BR]] Finally, group "calendarmaingroup" encompasses groups "calusers" and "calgroup01". As far as caldavd.plist is concerned, here are the relevant pieces: {{{ [...] <key>DirectoryService</key> <dict> <key>type</key> <string>twistedcaldav.directory.appleopendirectory.OpenDirectoryService</string> <key>params</key> <dict> [...] <key>restrictEnabledRecords</key> <true/> <key>restrictToGroup</key> <string>calendarmaingroup</string> [...] </dict> </dict> [...] <key>Scheduling</key> <dict> <key>Options</key> <dict> <key>AllowGroupAsOrganizer</key> <false/> </dict> [...] </dict> [...] }}} Finally, in iCal, create an account for group "calgroup01", connecting as user "caluser01"; here, the account's URL is: {{{ http://127.0.0.1:8008/principals/__uids__/5B470445-7587-4DCE- AD09-E5135A57A45A/ }}} Now, in the group's calendar, create an event; in the attendees field, enter "caluse...@example.com" and validate the entry by hitting the tab key (don't click on the send button yet).[[BR]] Here's the exchange with the server: {{{ POST /calendars/__uids__/5B470445-7587-4DCE-AD09-E5135A57A45A/outbox/ HTTP/1.1 User-Agent: DAVKit/3.0.6 (653); CalendarStore/3.0.6 (847); iCal/3.0.6 (1273); Mac OS X/10.5.6 (9G55) Authorization: Basic ****** Recipient: mailto:caluse...@example.com Content-Type: text/calendar Originator: /principals/groups/calgroup01/ Content-Length: 491 Connection: keep-alive Host: 127.0.0.1:8008 BEGIN:VCALENDAR PRODID:-//Apple Inc.//iCal 3.0//EN CALSCALE:GREGORIAN VERSION:2.0 METHOD:REQUEST BEGIN:VFREEBUSY DTSTART:20090129T130000Z UID:180EBF3D-A788-4C34-ADDA-4EF048306553 ORGANIZER:/principals/groups/calgroup01/ DTSTAMP:20090124T125509Z SUMMARY:Availability for mailto:caluse...@example.com ATTENDEE:mailto:caluse...@example.com CREATED:20090124T125509Z DTEND:20090129T140000Z X-CALENDARSERVER-MASK-UID:7234E524-895A-4A85-B423-D0485933FC1E END:VFREEBUSY END:VCALENDAR HTTP/1.1 403 Forbidden Date: Sat, 24 Jan 2009 12:55:09 GMT DAV: 1, access-control, calendar-access, calendar-schedule, calendar-auto- schedule, calendar-availability, inbox-availability, calendar-proxy, calendarserver-private-events, calendarserver-private-comments, calendarserver-principal-property-search Content-Type: text/xml Content-Length: 134 Server: Twisted/2.5.0+rUnknown TwistedWeb/[twisted.web2, version 0.2.0 (SVN rUnknown)] TwistedCalDAV/? <?xml version='1.0' encoding='UTF-8'?> <error xmlns='DAV:'> <organizer-allowed xmlns='urn:ietf:params:xml:ns:caldav'/> </error> }}} The server thus clearly states that something is going to be wrong; but perhaps isn't the error kind exactly the relevant one?[[BR]] Anyway, Safari doesn't seem to care at all, doesn't display any error dialog, and the send button is still available; so, let's click on it: {{{ POST /calendars/__uids__/5B470445-7587-4DCE-AD09-E5135A57A45A/outbox/ HTTP/1.1 User-Agent: DAVKit/3.0.6 (653); CalendarStore/3.0.6 (847); iCal/3.0.6 (1273); Mac OS X/10.5.6 (9G55) Authorization: Basic ****** Recipient: mailto:caluse...@example.com Content-Type: text/calendar Originator: /principals/groups/calgroup01/ Content-Length: 972 Connection: keep-alive Host: 127.0.0.1:8008 BEGIN:VCALENDAR PRODID:-//Apple Inc.//iCal 3.0//EN CALSCALE:GREGORIAN VERSION:2.0 METHOD:REQUEST BEGIN:VTIMEZONE TZID:Europe/Brussels BEGIN:DAYLIGHT TZOFFSETFROM:+0100 TZOFFSETTO:+0200 DTSTART:19810329T020000 RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU TZNAME:CEST END:DAYLIGHT BEGIN:STANDARD TZOFFSETFROM:+0200 TZOFFSETTO:+0100 DTSTART:19961027T030000 RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU TZNAME:CET END:STANDARD END:VTIMEZONE BEGIN:VEVENT SEQUENCE:2 DTSTART;TZID=Europe/Brussels:20090129T140000 DURATION:PT1H UID:7234E524-895A-4A85-B423-D0485933FC1E ORGANIZER;CN="Calendar group 01":/principals/groups/calgroup01/ DTSTAMP:20090124T125509Z SUMMARY:Nouvel ..v..nement ATTENDEE;CN="caluse...@example.com";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTI ON;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:caluse...@example.com ATTENDEE;CN="Calendar group 01";PARTSTAT=ACCEPTED:/principals/groups/cal group01/ CREATED:20090124T125451Z END:VEVENT END:VCALENDAR HTTP/1.1 403 Forbidden Date: Sat, 24 Jan 2009 12:56:25 GMT DAV: 1, access-control, calendar-access, calendar-schedule, calendar-auto- schedule, calendar-availability, inbox-availability, calendar-proxy, calendarserver-private-events, calendarserver-private-comments, calendarserver-principal-property-search Content-Type: text/xml Content-Length: 134 Server: Twisted/2.5.0+rUnknown TwistedWeb/[twisted.web2, version 0.2.0 (SVN rUnknown)] TwistedCalDAV/? <?xml version='1.0' encoding='UTF-8'?> <error xmlns='DAV:'> <organizer-allowed xmlns='urn:ietf:params:xml:ns:caldav'/> </error> }}} And now iCal is stuck: the spinning wheel appears against the account's name, and the client can't do anything more with the group's calendar.[[BR]] One has to quit iCal and to delete the spurious entry from it's local cache (in ~/Library/Calendars).[[BR]] Or to quit iCal and to restart the server after having set AllowGroupAsOrganizer to true in caldav.plist. When sending the event immediately, without the prior validation of the attendee's email address, iCal displays an error message ("HTTP/1.1 403 Forbidden" for CalDAVWriteEntityQueueableOperation), but otherwise behaves the same way and requires the same cure... -- Ticket URL: <http://trac.calendarserver.org/ticket/309#comment:6> CalendarServer </> HTTP/WebDAV/CalDAV Server _______________________________________________ calendarserver-dev mailing list calendarserver-dev@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/calendarserver-dev