[CalendarServer-users] iMIP attendee response not updated on clients

Morgen Sagen sagen at apple.com
Thu Aug 8 23:03:25 PDT 2013


The issue is Yahoo is altering the ATTENDEE value in a way that Calendar Server doesn’t recognize it anymore.

Note that when Yahoo sends the reply, the ATTENDEE now has “\;X-COMMENT=\;” appended to it:

> 2013-08-08 10:44:05-0700 [-] [mailgateway] 	ATTENDEE;CN=xxxxx at yahoo.com;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTS
> 2013-08-08 10:44:05-0700 [-] [mailgateway] 	 TAT=ACCEPTED:mailto:xxxxx at yahoo.com\;X-COMMENT=\;

I don’t know yet whether this is valid — I’ll have to check with someone more versed in ICALENDAR than I — but it’s probably what’s throwing off Calendar Server, and it’s setting the SCHEDULE-STATUS to “Service Unavailable” to give an indication that the reply could not be processed.  I’ll have to find out if this is something we need to ask Yahoo to fix.

If you invite a gmail user to a meeting and they reply via the gmail web UI, does it work?  That’s often how I test IMIP.  I just tried sending an invite to a Yahoo account and I got similar behavior to yours, while inviting a gmail user works.

~morgen

On Aug 8, 2013, at 12:07 PM, Technical Operations <tech at precisionpost.com> wrote:

> Hi,
> 
> Running Calendar Server on OS X 10.8.4 and iCal clients on OS X 10.6.8.
> 
> I have internal events working. External iMIP events get sent out, and it appears that they're also fetched from the email account - but iCal doesn't update the events. Server's own mail service is off. Our email is hosted by gmail (Google Apps for Business).
> 
> Steps to recreate:
> Create event and invite an external invitee (masked as xxxxx at yahoo.com)
> Gmail shows the event was sent out
> Yahoo receives the event, and Yahoo's webmail allows to respond to caldav events.
> Gmail receives the caldav response from yahoo
> The response gets marked as read on its own, indicating that Calendar Server polled the account
> Organizer's iCal doesn't update with the invitee's response. (Just an exclamation mark next to the invitee's email)
> 
> I enabled debug logging on the server and client and scoured the logs. I was unable to pinpoint a problem - from my limited understanding, everything appears ok from the server's perspective.  On the client's iCal logs I just see that in all the client's DAVGETs, PARTSTAT for the attendee is NEEDS-ACTION instead of ACCEPTED.
> 
> I'm testing with Yahoo mail since it supports iMIP, but we see the same behavior from Outlook attendees.
> 
> 
> A few excerpts from the server's caldavd logs:
> 
> 2013-08-08 10:44:05-0700 [-] [mailgateway] 2013-08-08 10:44:05-0700 [POP3DownloadProtocol (TLSMemoryBIOProtocol),client] [twistedcaldav.mail.POP3DownloadProtocol#debug] POP downloaded message 0
> 2013-08-08 10:44:05-0700 [-] [mailgateway] 2013-08-08 10:44:05-0700 [POP3DownloadProtocol (TLSMemoryBIOProtocol),client] [twistedcaldav.mail.POP3DownloadFactory#debug] POP factory handle message
> 2013-08-08 10:44:05-0700 [-] [mailgateway] 2013-08-08 10:44:05-0700 [POP3DownloadProtocol (TLSMemoryBIOProtocol),client] [twistedcaldav.mail.POP3DownloadFactory#debug] Delivered-To: calendar+56cec50a-ea27-4bfa-8d57-6b8362631fce at ourcompany.com
> 
> 2013-08-08 10:44:05-0700 [-] [mailgateway] 	SUMMARY:Accepted: yahoo
> 2013-08-08 10:44:05-0700 [-] [mailgateway] 	ATTENDEE;CN=xxxxx at yahoo.com;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTS
> 2013-08-08 10:44:05-0700 [-] [mailgateway] 	 TAT=ACCEPTED:mailto:xxxxx at yahoo.com\;X-COMMENT=\;
> 2013-08-08 10:44:05-0700 [-] [mailgateway] 	ORGANIZER;CN=Drew Lahat:mailto:calendar+56cec50a-ea27-4bfa-8d57-6b8362631fce
> 2013-08-08 10:44:05-0700 [-] [mailgateway] 	 @ourcompany.com
> 
> [twistedcaldav.mail#debug] Injecting to https://localhost:8443/inbox/: {'Originator': 'mailto:xxxxx at yahoo.com', 'Recipient': 'urn:uuid:4D380678-70D3-4C0D-AE54-F107C91B533E', 'Content-Type': 'text/calendar', 'x-calendarserver-internal': 'r8eBoszTjYaQJtGM'} BEGIN:VCALENDAR
> 013-08-08 10:44:05-0700 [-] [mailgateway] 	ATTENDEE;SCHEDULE-STATUS="5.1;Service unavailable":mailto:xxxxx at yahoo.
> 2013-08-08 10:44:05-0700 [-] [mailgateway] 	 com
> 
> 2013-08-08 10:44:05-0700 [-] [mailgateway] 	STATUS:CONFIRMED
> 2013-08-08 10:44:05-0700 [-] [mailgateway] 	SUMMARY:Accepted: yahoo
> 
> 2013-08-08 10:44:08-0700 [-] [caldav-2]  [-] [twistedcaldav.scheduling.processing#debug] ImplicitProcessing - originator 'mailto:xxxxx at yahoo.com' to recipient 'urn:uuid:4D380678-70D3-4C0D-AE54-F107C91B533E' processing METHOD:REPLY, UID: '7EBA3AB4-A04B-4CF8-84A0-01578C774F60' - updating event
> 2013-08-08 10:44:08-0700 [-] [caldav-2]  [-] [txdav.common.datastore.sql_legacy.MemcachedUIDReserver#debug] Reserving UID '7EBA3AB4-A04B-4CF8-84A0-01578C774F60' @ <Calendar: 8>
> 
> 2013-08-08 10:44:08-0700 [-] [caldav-2]  [PooledMemCacheProtocol,client] [twistedcaldav.notify.Notifier#debug] Notifications are enabled: update default CalDAV|4D380678-70D3-4C0D-AE54-F107C91B533E
> 2013-08-08 10:44:08-0700 [-] [caldav-2]  [PooledMemCacheProtocol,client] [twistedcaldav.notify.NotifierFactory#debug] Sending to notification server: update CalDAV|4D380678-70D3-4C0D-AE54-F107C91B533E
> 2013-08-08 10:44:08-0700 [-] [caldav-2]  [PooledMemCacheProtocol,client] [twistedcaldav.notify.Notifier#debug] Notifications are enabled: update collection CalDAV|4D380678-70D3-4C0D-AE54-F107C91B533E/calendar
> 
> 
> 2013-08-08 10:44:08-0700 [-] [mailgateway] 2013-08-08 10:44:08-0700 [AuthorizedHTTPGetter (TLSMemoryBIOProtocol),client] [twistedcaldav.mail#info] Mail gateway successfully injected message <247108620.64264.1375983795365.JavaMail.zimbra at store156.c106.cal.gq1.yahoo.com>
> 2013-08-08 10:44:08-0700 [-] [mailgateway] 2013-08-08 10:44:08-0700 [POP3DownloadProtocol (TLSMemoryBIOProtocol),client] [twistedcaldav.mail.POP3DownloadFactory#debug] POP factory connection lost
> 2013-08-08 10:44:08-0700 [-] [mailgateway] 2013-08-08 10:44:08-0700 [POP3DownloadProtocol (TLSMemoryBIOProtocol),client] [twistedcaldav.mail.POP3DownloadFactory#debug] Scheduling next POP3 poll
> 2013-08-08 10:44:08-0700 [-] [notifications] 2013-08-08 10:44:08-0700 [-] [twistedcaldav.notify.Coalescer#debug] Time to send: CalDAV|4D380678-70D3-4C0D-AE54-F107C91B533E
> 2013-08-08 10:44:08-0700 [-] [notifications] 2013-08-08 10:44:08-0700 [-] [twistedcaldav.notify.Coalescer#debug] Time to send: CalDAV|4D380678-70D3-4C0D-AE54-F107C91B533E/55A6B27E-E6A2-456B-97E5-C547FAC3ACD9
> 2013-08-08 10:44:08-0700 [-] [notifications] 2013-08-08 10:44:08-0700 [-] [calendarserver.push.applepush.ApplePushNotifierService#debug] Sending 3 APNS notifications for /CalDAV/ppserver.ourcompany.com/4D380678-70D3-4C0D-AE54-F107C91B533E/
> 2013-08-08 10:44:08-0700 [-] [notifications] 2013-08-08 10:44:08-0700 [-] [calendarserver.push.applepush.APNProviderProtocol#debug] Sending APNS notification to 2de124a10fb99cc2cdcd3fa53221a316b74fed61b1484b1b419dbc09a6be2839: id=10 payload={"key" : "/CalDAV/ppserver.ourcompany.com/4D380678-70D3-4C0D-AE54-F107C91B533E/"}
> 
> 2013-08-08 10:44:12-0700 [-] [caldav-2]  [PooledMemCacheProtocol,client] [calendarserver.provision.root#info] Unauthenticated user denied by SACLs
> 
> ((Is this latest message related at all, or a complete different user? No idea, I'm not seeing any user-identifying information adjacent, only caching messages. Obviously the user has the SACLs given its ongoing interaction with the server.))

“Unauthenticated user denied by SACLs” just means the client made a request without the HTTP authentication headers.  This happens often with Digest auth because when the server sees the first request it will send back an HTTP response with a Digest challenge, and the client is then supposed to repeat the HTTP request with the appropriate auth response.

> 
> 
> Excerpt from the client's iCal:
> 
> Aug  8 10:45:49 LahatTech iCal[376]: -[DAVRequest:0x116f067c0 _readStreamEvent:] READ\n<?xml version='1.0' encoding='UTF-8'?>\n<multistatus xmlns='DAV:'>^M\n  <response>^M\n    <href>/calendars/__uids__/4D380678-70D3-4C0D-AE54-F107C91B533E/calendar/7EBA3AB4-A04B-4CF8-84A0-01578C774F60.ics</href>^M\n    <propstat>^M\n      <prop>^M\n        <getetag>"05d8aa30887f019dbca353228a5b404b"</getetag>^M\n        <calendar-data xmlns='urn:ietf:params:xml:ns:caldav'><![CDATA[BEGIN:VCALENDAR^M\nVERSION:2.0^M\nCALSCALE:GREGORIAN^M\nPRODID:-//Apple Inc.//iCal 4.0.4//EN^M\nBEGIN:VTIMEZONE^M\nTZID:America/Los_Angeles^M\nBEGIN:DAYLIGHT^M\nDTSTART:20070311T020000^M\nRRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3^M\nTZNAME:PDT^M\nTZOFFSETFROM:-0800^M\nTZOFFSETTO:-0700^M\nEND:DAYLIGHT^M\nBEGIN:STANDARD^M\nDTSTART:20071104T020000^M\nRRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11^M\nTZNAME:PST^M\nTZOFFSETFROM:-0700^M\nTZOFFSETTO:-0800^M\nEND:STANDARD^M\nEND:VTIMEZONE^M\nBEGIN:VEVENT^M\nUID:7EBA3AB4-A04B-4CF8-84A0-01578C774F60^M\nDTSTART;TZID=America/Los_Angeles:20130808T213000^M\nDTEND;TZID=America/Los_Angeles:20130808T220000^M\nATTENDEE;CN=xxxxx at yahoo.com;CUTYPE=INDIVIDUAL;EMAIL=xxxxx at yahoo.co^M\n m;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE;SCHEDULE-STATUS=2.0^M\n :mailto:xxxxx at yahoo.com^M\nATTENDEE;CN=Drew Lahat;CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:urn:uuid:4D3806^M\n 78-70D3-4C0D-AE54-F107C91B533E^M\nCREATED:20130808T174219Z^M\nDTSTAMP:20130808T174230Z^M\nORGANIZER;CN=Drew Lahat:urn:uuid:4D380678-70D3-4C0D-AE54-F107C91B533E^M\nSEQUENCE:3^M\nSUMMARY:yahoo^M\nTRANSP:OPAQUE^M\nEND:VEVENT^M\nEND:VCALENDAR^M\n]]></calendar-data>
> 
> 
> 
> Thanks,
> Drew Lahat
> 
> 
> _______________________________________________
> calendarserver-users mailing list
> calendarserver-users at lists.macosforge.org
> https://lists.macosforge.org/mailman/listinfo/calendarserver-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-users/attachments/20130808/fc42b878/attachment.html>


More information about the calendarserver-users mailing list