[CalendarServer-dev] [CalendarServer] #309: group and attendee bug
CalendarServer
trac at macosforge.org
Sat Jan 24 06:52:38 PST 2009
#309: group and attendee bug
-------------------------------+--------------------------------------------
Reporter: jduffas1@… | Owner: sagen@…
Type: Defect | Status: new
Priority: 2: Expected | Milestone: CalendarServer-2.x
Component: Calendar Server | Severity: Serious
Resolution: | Keywords: group attendee
-------------------------------+--------------------------------------------
Comment(by AxelLuttgens@…):
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 "caluser02 at 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:caluser02 at 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:caluser02 at example.com
ATTENDEE:mailto:caluser02 at 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:caluser02 at 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="caluser02 at example.com";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTI
ON;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:caluser02 at 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
More information about the calendarserver-dev
mailing list