apple / ccs-calendarserver

The Calendar and Contacts Server.
https://www.calendarserver.org
Apache License 2.0
486 stars 136 forks source link

Crash if name in accounts.xml contains umlaut #354

Closed macosforgebot closed 13 years ago

macosforgebot commented 13 years ago

mail@… originally submitted this as ticket:456


I have a name with an umlaut. Trying to send an invitation I get:

2011-07-01 23:34:04+0200 [-] [caldav-0]  [PooledMemCacheProtocol,client] [twistedcaldav.scheduling.scheduler#info] METHOD: REQUEST, Component: VEVENT
2011-07-01 23:34:04+0200 [-] [caldav-0]  [PooledMemCacheProtocol,client] [twistedcaldav.scheduling.imip#debug] POSTing iMIP message to gateway...  To: 'mailto:fasdasdlecks.de', From :'urn:uuid:272c501f-366c-517d-8af3-44c37777ef83'
2011-07-01 23:34:04+0200 [-] [caldav-0]     BEGIN:VCALENDAR
2011-07-01 23:34:04+0200 [-] [caldav-0]     VERSION:2.0
2011-07-01 23:34:04+0200 [-] [caldav-0]     METHOD:REQUEST
2011-07-01 23:34:04+0200 [-] [caldav-0]     PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
2011-07-01 23:34:04+0200 [-] [caldav-0]     BEGIN:VTIMEZONE
2011-07-01 23:34:04+0200 [-] [caldav-0]     TZID:Europe/Berlin
2011-07-01 23:34:04+0200 [-] [caldav-0]     X-LIC-LOCATION:Europe/Berlin
2011-07-01 23:34:04+0200 [-] [caldav-0]     BEGIN:DAYLIGHT
2011-07-01 23:34:04+0200 [-] [caldav-0]     DTSTART:19700329T020000
2011-07-01 23:34:04+0200 [-] [caldav-0]     RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
2011-07-01 23:34:04+0200 [-] [caldav-0]     TZNAME:CEST
2011-07-01 23:34:04+0200 [-] [caldav-0]     TZOFFSETFROM:+0100
2011-07-01 23:34:04+0200 [-] [caldav-0]     TZOFFSETTO:+0200
2011-07-01 23:34:04+0200 [-] [caldav-0]     END:DAYLIGHT
2011-07-01 23:34:04+0200 [-] [caldav-0]     BEGIN:STANDARD
2011-07-01 23:34:04+0200 [-] [caldav-0]     DTSTART:19701025T030000
2011-07-01 23:34:04+0200 [-] [caldav-0]     RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
2011-07-01 23:34:04+0200 [-] [caldav-0]     TZNAME:CET
2011-07-01 23:34:04+0200 [-] [caldav-0]     TZOFFSETFROM:+0200
2011-07-01 23:34:04+0200 [-] [caldav-0]     TZOFFSETTO:+0100
2011-07-01 23:34:04+0200 [-] [caldav-0]     END:STANDARD
2011-07-01 23:34:04+0200 [-] [caldav-0]     END:VTIMEZONE
2011-07-01 23:34:04+0200 [-] [caldav-0]     BEGIN:VEVENT
2011-07-01 23:34:04+0200 [-] [caldav-0]     UID:1b21a506-47b4-454a-8f06-ca81239d094b
2011-07-01 23:34:04+0200 [-] [caldav-0]     DTSTART;TZID=Europe/Berlin:20110709T230000
2011-07-01 23:34:04+0200 [-] [caldav-0]     DTEND;TZID=Europe/Berlin:20110710T000000
2011-07-01 23:34:04+0200 [-] [caldav-0]     ATTENDEE;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:feasdasdks.de
2011-07-01 23:34:04+0200 [-] [caldav-0]     CREATED:20110701T213353Z
2011-07-01 23:34:04+0200 [-] [caldav-0]     DTSTAMP:20110701T213404Z
2011-07-01 23:34:04+0200 [-] [caldav-0]     LAST-MODIFIED:20110701T213404Z
2011-07-01 23:34:04+0200 [-] [caldav-0]     ORGANIZER;CN=Felix Möller;EMAIL=maasdasdoeller.de;PARTSTAT=ACCEPTED;RO
2011-07-01 23:34:04+0200 [-] [caldav-0]      LE=CHAIR;RSVP=TRUE:urn:uuid:272c501f-366c-517d-8af3-44c37777ef83
2011-07-01 23:34:04+0200 [-] [caldav-0]     SUMMARY:New Event
2011-07-01 23:34:04+0200 [-] [caldav-0]     TRANSP:OPAQUE
2011-07-01 23:34:04+0200 [-] [caldav-0]     END:VEVENT
2011-07-01 23:34:04+0200 [-] [caldav-0]     END:VCALENDAR
2011-07-01 23:34:04+0200 [-] [caldav-0]     
2011-07-01 23:34:04+0200 [-] [mailgateway] 2011-07-01 23:34:04+0200 [HTTPChannel,0,127.0.0.1] [twext.web2.server#info] POST /inbox HTTP/1.0
2011-07-01 23:34:04+0200 [-] [mailgateway] 2011-07-01 23:34:04+0200 [HTTPChannel,0,127.0.0.1] [calendarserver.provision.root#debug] Internal authentication header (x-calendarserver-internal) detected
2011-07-01 23:34:04+0200 [-] [mailgateway] 2011-07-01 23:34:04+0200 [HTTPChannel,0,127.0.0.1] [calendarserver.provision.root#debug] Internal authentication header (x-calendarserver-internal) verified
2011-07-01 23:34:04+0200 [-] [mailgateway] 2011-07-01 23:34:04+0200 [HTTPChannel,0,127.0.0.1] [calendarserver.provision.root#debug] Internal principal B86ED9D3-49BD-44F8-8F5E-C89D08753DAC being assigned to authnUser and authzUser
2011-07-01 23:34:04+0200 [-] [mailgateway] 2011-07-01 23:34:04+0200 [-] [twext.web2.server#info] Exception rendering:
2011-07-01 23:34:04+0200 [-] [mailgateway] 2011-07-01 23:34:04+0200 [-] [twext.web2.server#error] [Failure instance: Traceback: <type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'decode'
2011-07-01 23:34:04+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/internet/defer.py:345:errback
2011-07-01 23:34:04+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/internet/defer.py:424:_startRunCallbacks
2011-07-01 23:34:04+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/internet/defer.py:441:_runCallbacks
2011-07-01 23:34:04+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/internet/defer.py:949:gotResult
2011-07-01 23:34:04+0200 [-] [mailgateway]  --- <exception caught here> ---
2011-07-01 23:34:04+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/internet/defer.py:891:_inlineCallbacks
2011-07-01 23:34:04+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/python/failure.py:338:throwExceptionIntoGenerator
2011-07-01 23:34:04+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twistedcaldav/resource.py:309:renderHTTP
2011-07-01 23:34:04+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/internet/defer.py:891:_inlineCallbacks
2011-07-01 23:34:04+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/python/failure.py:338:throwExceptionIntoGenerator
2011-07-01 23:34:04+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twext/web2/static.py:127:renderHTTP
2011-07-01 23:34:04+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/internet/defer.py:891:_inlineCallbacks
2011-07-01 23:34:04+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/python/failure.py:338:throwExceptionIntoGenerator
2011-07-01 23:34:04+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twext/web2/resource.py:109:renderHTTP
2011-07-01 23:34:04+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/internet/defer.py:893:_inlineCallbacks
2011-07-01 23:34:04+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twistedcaldav/mail.py:334:http_POST
2011-07-01 23:34:04+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twistedcaldav/mail.py:854:outbound
2011-07-01 23:34:04+0200 [-] [mailgateway]  ]
2011-07-01 23:34:04+0200 [-] [caldav-0]  [AuthorizedHTTPGetter,client] /usr/lib/python2.6/site-packages/twisted/web/error.py:53: exceptions.DeprecationWarning: BaseException.message has been deprecated as of Python 2.6
macosforgebot commented 13 years ago

mail@… originally submitted this as comment:1:⁠ticket:456


To start one can patch:

--- ./twistedcaldav/mail.py    2011-07-03 00:41:21.000000000 +0200
+++ /usr/lib/python2.6/site-packages/twistedcaldav/mail.py  2011-07-03 00:43:55.000000000 +0200
@@ -854,8 +850,10 @@
         attendees = []
         for attendeeProp in calendar.getAllAttendeeProperties():
             cutype = attendeeProp.parameterValue("CUTYPE", "INDIVIDUAL")
-            if cutype == "INDIVIDUAL" or cutype is None :
-                cn = attendeeProp.parameterValue("CN", None).decode("utf-8")
+            if cutype == "INDIVIDUAL":
+                cn = attendeeProp.parameterValue("CN", None)
+                if cn is not None:
+                   cn = cn.decode("utf-8")
                 cuaddr = normalizeCUAddr(attendeeProp.value())
                 if cuaddr.startswith("mailto:"):
                     mailto = cuaddr[7:]

But this still does not allow umlauts in the username.

macosforgebot commented 13 years ago

@m0rgen originally submitted this as comment:2:⁠ticket:456

macosforgebot commented 13 years ago

@m0rgen originally submitted this as comment:3:⁠ticket:456


Ok, this should be fixed in https://trac.calendarserver.org/changeset/7778/CalendarServer/trunk

Please let me know, thanks!

macosforgebot commented 13 years ago

mail@… originally submitted this as comment:4:⁠ticket:456


I get the following now:

2011-07-12 23:18:45+0200 [-] [caldav-0]  [PooledMemCacheProtocol,client] [twistedcaldav.scheduling.imip#debug] POSTing iMIP message to gateway...  To: 'mailto:felix@derklecks.de', From :'urn:uuid:272c501f-366c-517d-8af3-44c37777ef83'
2011-07-12 23:18:45+0200 [-] [caldav-0]     BEGIN:VCALENDAR
2011-07-12 23:18:45+0200 [-] [caldav-0]     VERSION:2.0
2011-07-12 23:18:45+0200 [-] [caldav-0]     METHOD:REQUEST
2011-07-12 23:18:45+0200 [-] [caldav-0]     PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
2011-07-12 23:18:45+0200 [-] [caldav-0]     BEGIN:VTIMEZONE
2011-07-12 23:18:45+0200 [-] [caldav-0]     TZID:Europe/Berlin
2011-07-12 23:18:45+0200 [-] [caldav-0]     X-LIC-LOCATION:Europe/Berlin
2011-07-12 23:18:45+0200 [-] [caldav-0]     BEGIN:DAYLIGHT
2011-07-12 23:18:45+0200 [-] [caldav-0]     DTSTART:19700329T020000
2011-07-12 23:18:45+0200 [-] [caldav-0]     RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
2011-07-12 23:18:45+0200 [-] [caldav-0]     TZNAME:CEST
2011-07-12 23:18:45+0200 [-] [caldav-0]     TZOFFSETFROM:+0100
2011-07-12 23:18:45+0200 [-] [caldav-0]     TZOFFSETTO:+0200
2011-07-12 23:18:45+0200 [-] [caldav-0]     END:DAYLIGHT
2011-07-12 23:18:45+0200 [-] [caldav-0]     BEGIN:STANDARD
2011-07-12 23:18:45+0200 [-] [caldav-0]     DTSTART:19701025T030000
2011-07-12 23:18:45+0200 [-] [caldav-0]     RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
2011-07-12 23:18:45+0200 [-] [caldav-0]     TZNAME:CET
2011-07-12 23:18:45+0200 [-] [caldav-0]     TZOFFSETFROM:+0200
2011-07-12 23:18:45+0200 [-] [caldav-0]     TZOFFSETTO:+0100
2011-07-12 23:18:45+0200 [-] [caldav-0]     END:STANDARD
2011-07-12 23:18:45+0200 [-] [caldav-0]     END:VTIMEZONE
2011-07-12 23:18:45+0200 [-] [caldav-0]     BEGIN:VEVENT
2011-07-12 23:18:45+0200 [-] [caldav-0]     UID:f225ea27-92dc-4562-890c-fa34a0c31a85
2011-07-12 23:18:45+0200 [-] [caldav-0]     DTSTART;TZID=Europe/Berlin:20110716T230000
2011-07-12 23:18:45+0200 [-] [caldav-0]     DTEND;TZID=Europe/Berlin:20110717T000000
2011-07-12 23:18:45+0200 [-] [caldav-0]     ATTENDEE;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:felix
2011-07-12 23:18:45+0200 [-] [caldav-0]      @derklecks.de
2011-07-12 23:18:45+0200 [-] [caldav-0]     CREATED:20110712T210322Z
2011-07-12 23:18:45+0200 [-] [caldav-0]     DTSTAMP:20110712T211845Z
2011-07-12 23:18:45+0200 [-] [caldav-0]     LAST-MODIFIED:20110712T211844Z
2011-07-12 23:18:45+0200 [-] [caldav-0]     ORGANIZER;CN=Felix Möller;EMAIL=mail@felixmoeller.de;PARTSTAT=ACCEPTED;RO
2011-07-12 23:18:45+0200 [-] [caldav-0]      LE=CHAIR;RSVP=TRUE:urn:uuid:272c501f-366c-517d-8af3-44c37777ef83
2011-07-12 23:18:45+0200 [-] [caldav-0]     SEQUENCE:2
2011-07-12 23:18:45+0200 [-] [caldav-0]     SUMMARY:Neuer Termin
2011-07-12 23:18:45+0200 [-] [caldav-0]     TRANSP:OPAQUE
2011-07-12 23:18:45+0200 [-] [caldav-0]     END:VEVENT
2011-07-12 23:18:45+0200 [-] [caldav-0]     END:VCALENDAR
2011-07-12 23:18:45+0200 [-] [caldav-0]     
2011-07-12 23:18:45+0200 [-] [mailgateway] 2011-07-12 23:18:45+0200 [HTTPChannel,0,127.0.0.1] [twext.web2.server#info] POST /inbox HTTP/1.0
2011-07-12 23:18:45+0200 [-] [mailgateway] 2011-07-12 23:18:45+0200 [HTTPChannel,0,127.0.0.1] [calendarserver.provision.root#debug] Internal authentication header (x-calendarserver-internal) detected
2011-07-12 23:18:45+0200 [-] [mailgateway] 2011-07-12 23:18:45+0200 [HTTPChannel,0,127.0.0.1] [calendarserver.provision.root#debug] Internal authentication header (x-calendarserver-internal) verified
2011-07-12 23:18:45+0200 [-] [mailgateway] 2011-07-12 23:18:45+0200 [HTTPChannel,0,127.0.0.1] [calendarserver.provision.root#debug] Internal principal B86ED9D3-49BD-44F8-8F5E-C89D08753DAC being assigned to authnUser and authzUser
2011-07-12 23:18:45+0200 [-] [mailgateway] 2011-07-12 23:18:45+0200 [-] [twistedcaldav.mail.MailHandler#debug] Mail gateway reusing token 48a35e22-31e3-4b43-968a-193452ca4df2 for urn:uuid:272c501f-366c-517d-8af3-44c37777ef83 (originator), mailto:felix@derklecks.de (recipient) and f225ea27-92dc-4562-890c-fa34a0c31a85 (icaluid)
2011-07-12 23:18:46+0200 [-] [mailgateway] 2011-07-12 23:18:46+0200 [-] [twext.web2.server#info] Exception rendering:
2011-07-12 23:18:46+0200 [-] [mailgateway] 2011-07-12 23:18:46+0200 [-] [twext.web2.server#error] [Failure instance: Traceback: <type 'exceptions.UnicodeDecodeError'>: 'ascii' codec can't decode byte 0xc3 in position 45: ordinal not in range(128)
2011-07-12 23:18:46+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/internet/defer.py:345:errback
2011-07-12 23:18:46+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/internet/defer.py:424:_startRunCallbacks
2011-07-12 23:18:46+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/internet/defer.py:441:_runCallbacks
2011-07-12 23:18:46+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/internet/defer.py:949:gotResult
2011-07-12 23:18:46+0200 [-] [mailgateway]  --- <exception caught here> ---
2011-07-12 23:18:46+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/internet/defer.py:891:_inlineCallbacks
2011-07-12 23:18:46+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/python/failure.py:338:throwExceptionIntoGenerator
2011-07-12 23:18:46+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twistedcaldav/resource.py:309:renderHTTP
2011-07-12 23:18:46+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/internet/defer.py:891:_inlineCallbacks
2011-07-12 23:18:46+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/python/failure.py:338:throwExceptionIntoGenerator
2011-07-12 23:18:46+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twext/web2/static.py:127:renderHTTP
2011-07-12 23:18:46+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/internet/defer.py:891:_inlineCallbacks
2011-07-12 23:18:46+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/python/failure.py:338:throwExceptionIntoGenerator
2011-07-12 23:18:46+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twext/web2/resource.py:109:renderHTTP
2011-07-12 23:18:46+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twisted/internet/defer.py:893:_inlineCallbacks
2011-07-12 23:18:46+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twistedcaldav/mail.py:334:http_POST
2011-07-12 23:18:46+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twistedcaldav/mail.py:964:outbound
2011-07-12 23:18:46+0200 [-] [mailgateway]  /usr/lib/python2.6/site-packages/twistedcaldav/mail.py:1205:generateEmail
2011-07-12 23:18:46+0200 [-] [mailgateway]  ]
2011-07-12 23:18:46+0200 [-] [caldav-0]  [AuthorizedHTTPGetter,client] /usr/lib/python2.6/site-packages/twisted/web/error.py:53: exceptions.DeprecationWarning: BaseException.message has been deprecated as of Python 2.6

Line 1205 is

        htmlText = htmlTemplate % details
macosforgebot commented 13 years ago

mail@… originally submitted this as comment:5:⁠ticket:456


Sorry this must have been some old artifact in my installation, seems to be working now.

Please close!

macosforgebot commented 13 years ago

@m0rgen originally submitted this as comment:6:⁠ticket:456