Fix duplicate RRULE scrubbing for CalDAV objects#385
Open
kvdb wants to merge 2 commits into
Open
Conversation
dd3acc0 to
480578c
Compare
Some clients can leave VEVENTs with repeated identical RRULE properties. SOGo returned those duplicates unchanged through CalDAV, which can make Android/Etar parse a concatenated rule and crash. Remove exact serialized duplicate RRULE children before serializing calendar data, while preserving different recurrence rules. Skip the parser fast path unless the stored content contains at least two RRULE markers.
480578c to
bac4c49
Compare
Malformed CalDAV clients can PUT calendar objects with repeated identical RRULE properties. If SOGo stores them as-is, later syncs keep redistributing bad data. Drop exact duplicate RRULEs after request-calendar adjustments and before scheduling/change handling, with the final save path as a persistence backstop.
bac4c49 to
2f76171
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Malformed or re-uploaded calendar objects can contain repeated identical RRULE properties. SOGo currently stores and returns those duplicates, which can make Android/Etar import them as one concatenated recurrence rule and fail while parsing the event.
Summary