[CalendarServer-dev] [Calendar and Contacts Server] #417: [PATCH] RFC5545 section 3.2.3 CUTYPE may not be set
Calendar and Contacts Server
trac at macosforge.org
Fri Feb 18 15:34:05 PST 2011
#417: [PATCH] RFC5545 section 3.2.3 CUTYPE may not be set
----------------------------------+-----------------------------------------
Reporter: mail@… | Owner: wsanchez@…
Type: Defect | Status: new
Priority: 5: Not set | Milestone:
Component: Calendar Server | Severity: Other
Keywords: | Radar:
----------------------------------+-----------------------------------------
Creating events with Thunderbird the attendees were missing in the
invitation mail.
Looking at the events the following difference can be seen:
iOS:
{{{
ATTENDEE;CN=felix at derklecks.de;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-
ACTION;RSVP=TRUE:mailto:felix at example.com
}}}
Lightning:
{{{
ATTENDEE;PARTSTAT=NEEDS-ACTION;ROLE=REQ-
PARTICIPANT;RSVP=TRUE:mailto:felix at example.com
}}}
in mail.py the following is done:
{{{
for attendeeProp in calendar.getAllAttendeeProperties():
params = attendeeProp.params()
cutype = params.get('CUTYPE', (None,))[0]
if cutype == "INDIVIDUAL" :
cn = params.get("CN", (None,))[0]
cuaddr = normalizeCUAddr(attendeeProp.value())
if cuaddr.startswith("mailto:"):
mailto = cuaddr[7:]
if not cn:
cn = mailto
else:
emailAddress = params.get("EMAIL", (None,))[0]
if emailAddress:
mailto = emailAddress
else:
mailto = None
if cn or mailto:
attendees.append( (cn, mailto) )
}}}
But reading RFC5545 there is the following:
{{{
Description: This parameter can be specified on properties with a
CAL-ADDRESS value type. The parameter identifies the type of
calendar user specified by the property. If not specified on a
property that allows this parameter, the default is INDIVIDUAL.
Applications MUST treat x-name and iana-token values they don't
recognize the same way as they would the UNKNOWN value.
}}}
Therefore the following patch should be applied:
{{{
Index: twistedcaldav/mail.py
===================================================================
--- twistedcaldav/mail.py (Revision 7047)
+++ twistedcaldav/mail.py (Arbeitskopie)
@@ -835,7 +835,7 @@
for attendeeProp in calendar.getAllAttendeeProperties():
params = attendeeProp.params()
cutype = params.get('CUTYPE', (None,))[0]
- if cutype == "INDIVIDUAL":
+ if cutype == "INDIVIDUAL" or cutype is None :
cn = params.get("CN", (None,))[0]
cuaddr = normalizeCUAddr(attendeeProp.value())
if cuaddr.startswith("mailto:"):
}}}
--
Ticket URL: <http://trac.calendarserver.org/ticket/417>
Calendar and Contacts Server </>
HTTP/WebDAV/CalDAV Server
More information about the calendarserver-dev
mailing list