Skip to content

fix(activesync): tolerate a meeting response without meeting data - #255

Merged
ralflang merged 1 commit into
FRAMEWORK_6_0from
fix/meeting-response-null-vevent
Nov 2, 2026
Merged

ralflang merged 1 commit into
FRAMEWORK_6_0from
fix/meeting-response-null-vevent

Conversation

@TDannhauer

@TDannhauer TDannhauer commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Do not call getvEvent() on a missing meeting request when importing an incoming iTip reply; skip the attendee import when there is no event.

Fixes horde/ActiveSync#112 (together with horde/ActiveSync#113).

Motivation

The ActiveSync mail builder now degrades an unusable iTip reply to a plain message (no meetingrequest), and MeetingRequest::getvEvent() returns null when no event was parsed. Horde_Core_ActiveSync_Driver::getMessage() passed the result straight to Connector::calendar_import_attendee(), which is typed Horde_Icalendar_vEvent.

Changes

  • Driver::getMessage(): resolve the vEvent first and break if there is none.

No new catch blocks.

Test plan

  • php -l lib/Horde/Core/ActiveSync/Driver.php
  • Receive an iTip reply (accept/decline) in the INBOX on a test device with the matching horde/activesync change: the attendee status is still imported.

When the ActiveSync mail builder cannot parse an iTip reply it now
leaves the message as plain mail and sets no meetingrequest.
Driver::getMessage() must not call getvEvent() on a missing meeting
request, and getvEvent() may return null for a request that has no
event, so skip the attendee import in both cases.

Refs horde/ActiveSync#112
@TDannhauer
TDannhauer requested a review from ralflang October 30, 2026 20:13
@ralflang
ralflang merged commit ba80551 into FRAMEWORK_6_0 Nov 2, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Sync aborts when a calendar message repeats METHOD

2 participants