[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