[GroupDAV] Funambol Connector: Illegal character in MAILTO

Adam Tauno Williams groupdav@opengroupware.org
Wed, 24 Jan 2007 10:52:23 -0500


If there is a space in the MAILTO: of a vevent it causes an exception.
ZideStore uses the CN of teams if there is no e-mail address assigned to
the team;  and team names can contain spaces.

Not certain this is really even a bug;  it seems legit that e-mail
addresses cannot contain spaces.

Jan 24, 2007 10:49:57 AM net.bionicmessage.groupdav.groupDAV
sendNonKeepAliveRequest
FINER: We got:
HTTP/1.1 200 OK
Date: Wed, 24 Jan 2007 15:47:15 GMT
Server: Apache/2.0.53 (Linux/SUSE)
etag: 5016530:3
content-type: text/calendar; charset=utf-8
content-length: 854

BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:-//OpenGroupware.org/ZideStore 1.5//
VERSION:2.0
BEGIN:VEVENT
STATUS:CONFIRMED
SUMMARY:JUNE SA ENROLLMETNS AND WARRANTY CUT OFF
DTSTART:20070628T040000Z
DTEND:20070629T035900Z
TRANSP:OPAQUE
UID:skyrix://gourd-amber.morrison.iserv.net/morrisonOGo/5016530
CREATED:20030710T120000Z
LAST-MODIFIED:20070110T134107Z
DTSTAMP:20070124T154717Z
X-MICROSOFT-CDO-IMPORTANCE:0
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
X-MICROSOFT-CDO-INSTTYPE:0
X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
ATTENDEE;CUTYPE="GROUP";PARTSTAT="NEEDS-ACTION";ROLE="NON-PARTICIPANT";RSVP="FALSE";CN="all intranet":MAILTO:all intranet
ATTENDEE;CUTYPE="INDIVIDUAL";PARTSTAT="NEEDS-ACTION";ROLE="REQ-PARTICIPANT";RSVP="FALSE";CN="Betty Dart":MAILTO:bdart@morrison-ind.com
ORGANIZER;CN="Betty Dart":MAILTO:bdart@morrison-ind.com
END:VEVENT
END:VCALENDAR
....in 16326ms
Jan 24, 2007 10:49:57 AM net.bionicmessage.objects.ICalendarObjectStore
startSync
FINER: THROW
net.fortuna.ical4j.data.ParserException: Error at line 19: Illegal
character in opaque part at index 10: MAILTO:all intranet
        at
net.fortuna.ical4j.data.CalendarParserImpl.parse(CalendarParserImpl.java:139)
        at
net.fortuna.ical4j.data.CalendarBuilder.build(CalendarBuilder.java:165)
        at
net.fortuna.ical4j.data.CalendarBuilder.build(CalendarBuilder.java:147)
        at
net.bionicmessage.objects.ICalendarObjectStore.constructCalendarObject(ICalendarObjectStore.java:399)
        at
net.bionicmessage.objects.ICalendarObjectStore.addFromServerToStore(ICalendarObjectStore.java:192)
        at
net.bionicmessage.objects.ICalendarObjectStore.startSync(ICalendarObjectStore.java:423)
        at
net.bionicmessage.funambol.source.vCalGroupDAVConnector.beginSync(vCalGroupDAVConnector.java:154)
        at
com.funambol.server.engine.Sync4jEngine.sync(Sync4jEngine.java:489)
        at
com.funambol.server.session.SyncSessionHandler.processModifications(SyncSessionHandler.java:1580)
        at
com.funambol.server.session.SyncSessionHandler.processSyncMessage(SyncSessionHandler.java:1429)
        at
com.funambol.server.session.SyncSessionHandler.processInitSyncMapMessage(SyncSessionHandler.java:870)
        at
com.funambol.server.session.SyncSessionHandler.processMessage(SyncSessionHandler.java:459)
        at
com.funambol.server.engine.SyncAdapter.processInputMessage(SyncAdapter.java:459)
        at
com.funambol.server.engine.SyncAdapter.processXMLMessage(SyncAdapter.java:215)
        at
com.funambol.transport.http.server.LocalSyncHolder.processXMLMessage(LocalSyncHolder.java:80)
        at
com.funambol.transport.http.server.Sync4jServlet.doPost(Sync4jServlet.java:297)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
        at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
        at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
        at org.apache.tomcat.util.threads.ThreadPool
$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.net.URISyntaxException: Illegal character in opaque part
at index 10: MAILTO:all intranet
        at java.net.URI$Parser.fail(Unknown Source)
        at java.net.URI$Parser.checkChars(Unknown Source)
        at java.net.URI$Parser.parse(Unknown Source)
        at java.net.URI.<init>(Unknown Source)
        at
net.fortuna.ical4j.model.property.Attendee.setValue(Attendee.java:108)
        at
net.fortuna.ical4j.data.CalendarBuilder.propertyValue(CalendarBuilder.java:270)
        at
net.fortuna.ical4j.data.CalendarParserImpl.parseProperty(CalendarParserImpl.java:233)
        at
net.fortuna.ical4j.data.CalendarParserImpl.parsePropertyList(CalendarParserImpl.java:167)
        at
net.fortuna.ical4j.data.CalendarParserImpl.parseComponent(CalendarParserImpl.java:331)
        at
net.fortuna.ical4j.data.CalendarParserImpl.parsePropertyList(CalendarParserImpl.java:164)
        at
net.fortuna.ical4j.data.CalendarParserImpl.parse(CalendarParserImpl.java:107)
        ... 41 more
Jan 24, 2007 10:49:57 AM net.bionicmessage.objects.ICalendarObjectStore
startSync
FINE: We added the URL:
http://gourd-amber:80/zidestore/dav/adam/Overview/5016530.ics
Jan 24, 2007 10:49:57 AM net.bionicmessage.groupdav.groupDAV
sendNonKeepAliveRequest
FINER: We sent:
GET /zidestore/dav/adam/Overview/5016590.ics HTTP/1.1
Authorization: Basic YWRhbTpyYzIwZmxv
Content-Length: 0
User-Agent: BionicMessage.net GroupDAV {0.9;Java}
Host: gourd-amber:80