Fixed with 33b8aa8e05b9674e9cef622e7f53a8585ee4d223 by adding a null check , but this may occur again because of inconsistent data in your contact database. If this problem occurs again, please delete your DAVdroid account and add it again. If it still persists, please write here again.
ICals contain invalid ORGANIZER values
-
Downloading items seems to work, but if I create a new event on my android device and sync it fails.
In the zimbra logs I see this:2013-10-16 16:12:47,005 WARN [qtp719953478-169240:https://zimbra.domain.tld:443/dav/account@domain.tld/Calendar/4317ccae-d66f-4f57-b2ee-36525a90cd83.ics] [aname=account@domain.tld;ip=xxx.xxx.xxx.xxx;ua=DAVdroid;] dav - could not get the account matcher for account@domain.tld@zimbra.domain.tld/dav/ com.zimbra.common.service.ServiceException: invalid request: must be valid email address: account@domain.tld@zimbra.domain.tld/dav/ ExceptionId:qtp719953478-169252:https://zimbra.domain.tld:443/dav/account@domain.tld/Calendar/5743fb13-09cb-402e-bb8c -372a7d92c91e.ics:1381932875622:6315fe25cd3624a9 Code:service.INVALID_REQUEST at com.zimbra.common.service.ServiceException.INVALID_REQUEST(ServiceException.java:265) at com.zimbra.cs.account.IDNUtil.toAsciiEmail(IDNUtil.java:305) at com.zimbra.cs.account.ldap.LdapProvisioning.fixupAccountName(LdapProvisioning.java:874) at com.zimbra.cs.account.ldap.LdapProvisioning.getAccountByNameInternal(LdapProvisioning.java:907) at com.zimbra.cs.account.ldap.LdapProvisioning.getAccountByName(LdapProvisioning.java:888) at com.zimbra.cs.account.ldap.LdapProvisioning.getAccountByName(LdapProvisioning.java:882) at com.zimbra.cs.account.ldap.LdapProvisioning.get(LdapProvisioning.java:792) at com.zimbra.cs.account.ldap.LdapProvisioning.get(LdapProvisioning.java:776) at com.zimbra.cs.dav.caldav.CalDavUtils.removeAttendeeForOrganizer(CalDavUtils.java:45) at com.zimbra.cs.dav.caldav.CalDavUtils.removeAttendeeForOrganizer(CalDavUtils.java:81) at com.zimbra.cs.dav.resource.CalendarCollection.createItem(CalendarCollection.java:318) at com.zimbra.cs.dav.service.method.Put.handle(Put.java:47) at com.zimbra.cs.dav.service.DavServlet.service(DavServlet.java:244) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1320) at com.zimbra.cs.servlet.RequestStringFilter.doFilter(RequestStringFilter.java:52) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) at com.zimbra.cs.servlet.SetHeaderFilter.doFilter(SetHeaderFilter.java:57) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:82) at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:256) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) at com.zimbra.cs.servlet.ETagHeaderFilter.doFilter(ETagHeaderFilter.java:45) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) at com.zimbra.cs.servlet.ZimbraQoSFilter.doFilter(ZimbraQoSFilter.java:114) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) at org.eclipse.jetty.servlets.DoSFilter.doFilterChain(DoSFilter.java:473) at org.eclipse.jetty.servlets.DoSFilter.doFilter(DoSFilter.java:344) at org.eclipse.jetty.servlets.DoSFilter.doFilter(DoSFilter.java:315) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:556) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:317) at org.eclipse.jetty.server.handler.DebugHandler.handle(DebugHandler.java:81) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:369) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486) at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:944) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1005) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:861) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at org.eclipse.jetty.io.nio.SslConnection.handle(SslConnection.java:196) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) at java.lang.Thread.run(Thread.java:722) 2013-10-16 16:14:35,626 INFO [qtp719953478-169252:https://zimbra.domain.tld:443/dav/account@domain.tld/Calendar/5743fb13-09cb-402e-bb8c-372a7d92c91e.ics] [aname=account@domain.tld;ip=xxx.xxx.xxx.xxx;ua=DAVdroid;] dav - sending http error 500 because: cannot create icalendar item
-
Did you use attendees? Please provide details about the vcard you tried to add. Does it work when you upload a vcard with a name only?
-
I did not use attendees, the only thing I changed in the calendar app was the event name.
It seems to me that the event organizor is account@domain.tld@zimbra.domain.tld/dav/ and it should be account@domain.tld. I haven’t verified that yet. -
What do you mean by “it fails”? DAVdroid fails or Zimbra fails? I’d close this issue if it’s a Zimbra problem.
-
It fails: the event I’ve created on my android device doesn’t sync to Zimbra.
Zimbra throws an error because it doesn’t accept the event’sORGANIZER
property.
It’s invalid or doesn’t match the zimbra account - Zimbra expects the organizer to beaccount@domain.tld
and notaccount@domain.tld@zimbra.domain.tld/dav/
Example event exported from android using iCal Import/Export 2.0:
BEGIN:VEVENT ORGANIZER:account@domain.tld@zimbra.domain.tld/dav/ SUMMARY:Test LOCATION: DESCRIPTION: DTSTART;TZID=Europe/Brussels:20131001T000000 DTEND;TZID=Europe/Brussels:20131001T010000 DTSTAMP:20131026T150020Z UID:1382799620005 END:VEVENT
-
Thank you, that’s right. I think this would require to
- query the email address of the user in the setup dialog
- set the ORGANIZER property manually.
The incorrect ORGANIZER value comes from Android (DAVdroid never sets it) which apparently sets it to the account name of the event creator.
-
Android takes the account name as the ORGANIZER email address. So, users are advised to enter their email address as account name.