[CalendarServer-changes] [7436] CalendarServer/trunk/twistedcaldav

source_changes at macosforge.org source_changes at macosforge.org
Thu May 12 13:52:20 PDT 2011


Revision: 7436
          http://trac.macosforge.org/projects/calendarserver/changeset/7436
Author:   sagen at apple.com
Date:     2011-05-12 13:52:19 -0700 (Thu, 12 May 2011)
Log Message:
-----------
Names with double-quotes foul up CUA normalization during upgrade (7564022)

Modified Paths:
--------------
    CalendarServer/trunk/twistedcaldav/directory/test/accounts.xml
    CalendarServer/trunk/twistedcaldav/test/test_upgrade.py
    CalendarServer/trunk/twistedcaldav/upgrade.py

Modified: CalendarServer/trunk/twistedcaldav/directory/test/accounts.xml
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/accounts.xml	2011-05-12 18:29:19 UTC (rev 7435)
+++ CalendarServer/trunk/twistedcaldav/directory/test/accounts.xml	2011-05-12 20:52:19 UTC (rev 7436)
@@ -54,6 +54,13 @@
     <email-address>dreid at example.com</email-address>
   </user>
   <user>
+    <uid>doublequotes</uid>
+    <guid>8E04787E-336D-41ED-A70B-D233AD0DCE6F</guid>
+    <password>setouqelbuod</password>
+    <name>Double "quotey" Quotes</name>
+    <email-address>doublequotes at example.com</email-address>
+  </user>
+  <user>
     <uid>nocalendar</uid>
     <guid>543D28BA-F74F-4D5F-9243-B3E3A61171E5</guid>
     <password>radnelacon</password>

Modified: CalendarServer/trunk/twistedcaldav/test/test_upgrade.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/test/test_upgrade.py	2011-05-12 18:29:19 UTC (rev 7435)
+++ CalendarServer/trunk/twistedcaldav/test/test_upgrade.py	2011-05-12 20:52:19 UTC (rev 7436)
@@ -1423,6 +1423,8 @@
 DESCRIPTION:This has \\" Bad Quotes \\" in it
 ATTENDEE;CN="Wilfredo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:mailto:wsanchez
  @example.com
+ATTENDEE;CN="Double";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:mailto:doublequotes
+ @example.com
 ATTENDEE;CN="Cyrus";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED;ROLE=REQ-PARTICI
  PANT:mailto:cdaboo at example.com
 CREATED:20090203T181910Z
@@ -1458,6 +1460,8 @@
 DTEND;TZID=US/Pacific:20090203T130000
 ATTENDEE;CN=Wilfredo Sanchez;CUTYPE=INDIVIDUAL;EMAIL=wsanchez at example.com;
  PARTSTAT=ACCEPTED:urn:uuid:6423F94A-6B76-4A3A-815B-D52CFD77935D
+ATTENDEE;CN=Double 'quotey' Quotes;CUTYPE=INDIVIDUAL;EMAIL=doublequotes at ex
+ ample.com;PARTSTAT=ACCEPTED:urn:uuid:8E04787E-336D-41ED-A70B-D233AD0DCE6F
 ATTENDEE;CN=Cyrus Daboo;CUTYPE=INDIVIDUAL;EMAIL=cdaboo at example.com;PARTSTA
  T=ACCEPTED;ROLE=REQ-PARTICIPANT:urn:uuid:5A985493-EE2C-4665-94CF-4DFEA3A89
  500

Modified: CalendarServer/trunk/twistedcaldav/upgrade.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/upgrade.py	2011-05-12 18:29:19 UTC (rev 7435)
+++ CalendarServer/trunk/twistedcaldav/upgrade.py	2011-05-12 20:52:19 UTC (rev 7436)
@@ -125,10 +125,17 @@
             if principal is None:
                 return (None, None, None)
             else:
-                return (principal.record.fullName,
-                    principal.record.guid,
-                    principal.record.calendarUserAddresses)
+                rec = principal.record
 
+                # RFC5545 syntax does not allow backslash escaping in
+                # parameter values. A double-quote is thus not allowed
+                # in a parameter value except as the start/end delimiters.
+                # Single quotes are allowed, so we convert any double-quotes
+                # to single-quotes.
+                fullName = rec.fullName.replace('"', "'")
+
+                return (fullName, rec.guid, rec.calendarUserAddresses)
+
         cal.normalizeCalendarUserAddresses(lookupFunction)
 
         newData = str(cal)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20110512/cb2580c6/attachment.html>


More information about the calendarserver-changes mailing list