fix: handle undeclared XML namespace prefixes in PROPFIND responses#79
Open
stephan1827 wants to merge 1 commit into
Open
fix: handle undeclared XML namespace prefixes in PROPFIND responses#79stephan1827 wants to merge 1 commit into
stephan1827 wants to merge 1 commit into
Conversation
33404bd to
eaa85cf
Compare
Fastmail (Cyrus IMAP backend) includes proprietary elements such as CY:write-properties-resource in CalDAV PROPFIND responses without declaring the CY namespace prefix. This causes Sabre's strict XML parser to throw a LibXMLException before any standard DAV properties can be extracted. On ParseException, collect all namespace prefixes used in the response XML that have no corresponding xmlns declaration, inject placeholder URN declarations into the root element, then retry parsing. The placeholder namespaces are ignored by the harmonization logic since only well-known DAV/CalDAV/CardDAV properties are consumed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: stephan1827 <stephan@stricker.cloud>
eaa85cf to
1766dd7
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.
Summary
CY:write-properties-resourcein CalDAV PROPFIND responses without declaring theCYnamespace prefix.LibXMLExceptionbefore any standard DAV properties can be extracted, breaking harmonization for all Fastmail-hosted calendars and address books.ParseException, the fix collects all undeclared namespace prefixes from the response XML, injects placeholder URN declarations into the root element, then retries parsing. The placeholder namespaces are ignored by the harmonization logic since only well-known DAV/CalDAV/CardDAV properties are consumed.Test plan