Projects
Wiki     Timeline     Roadmap     Browse Source     View Tickets     New Ticket     Search

Ticket #309 (closed Defect: Software changed)

Opened 5 years ago

Last modified 3 years ago

group and attendee bug

Reported by: jduffas1@… Owned by: sagen@…
Priority: 2: Expected Milestone: Later
Component: Calendar Server Severity: Serious
Keywords: group attendee Cc:
Port:

Description

if you create a group, then try to invite someone, from, or out of the group, (ATTENDEE),

it freeze the group... (the well is turning all the time in ical.)

to make it work back, all pepole of the group have to delete the faulty event.

I use the xml configuration file. and the client is ical on OSX 10.5.5

Change History

comment:1 Changed 4 years ago by wsanchez@…

  • Status changed from new to closed
  • Resolution set to Cannot reproduce

I don't know how to reproduce this…

Please attach a simple XML file with the group scenario that causes this and specify who you invite in iCal.

comment:2 follow-up: ↓ 5 Changed 4 years ago by AxelLuttgens@…

I just noticed the same behavior here yesterday (trunk 3592, iCal on Mac OS X 10.5.6). The problem appears when the AllowGroupAsOrganizer setting (in Scheduling/Options) is set to false.

I didn't investigate further so as to be able to decide wether this reveals a bug in iCal or just a a slightly malformed reply from the server (anyway, if the latter, iCal should be able to gracefully handle such a case - but this is another story). In the hope this may be of some help,

Axel

comment:3 Changed 4 years ago by wsanchez@…

  • Priority changed from 3: Important to 2: Expected
  • Status changed from closed to reopened
  • Resolution Cannot reproduce deleted

OK, thanks for the update, we need to figure out if the server is hanging or the client is getting stuck on the reply.

Re-opening.

comment:4 Changed 4 years ago by wsanchez@…

  • Status changed from reopened to new
  • Owner changed from wsanchez@… to sagen@…

comment:5 in reply to: ↑ 2 Changed 4 years ago by sagen@…

I'm having trouble reproducing this. Could you please outline exactly what steps to take, and what the XML configuration looks like?

comment:6 Changed 4 years ago 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.
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).
I've imaginatevely created three users: "caluser01", "caluser02" and "caluser03", with their email addresses (hereafter shown as @example.com).
Those three users belong to group "calusers".
Users "caluser01" and "caluser03" also belong to group "calgroup01".
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@…" and validate the entry by hitting the tab key (don't click on the send button yet).
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@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@example.com
ATTENDEE:mailto:caluser02@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?
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@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@example.com";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTI
 ON;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:caluser02@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.
One has to quit iCal and to delete the spurious entry from it's local cache (in ~/Library/Calendars).
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...

comment:7 Changed 4 years ago by wsanchez@…

  • Milestone changed from CalendarServer-2.x to Later

Scheduling with groups was disabled; not sure it's coming back.

comment:8 Changed 3 years ago by wsanchez@…

  • Status changed from new to closed
  • Resolution set to Software changed

It's not coming back

Note: See TracTickets for help on using tickets.