[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