pimutils / pimutils/vdirsyncer

InvalidXMLResponse("Couldn't find home-set.") with Apple/iCloud

Open
#874 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.9k
Forks
185
Avg merge
11h 49m
Merged PRs (30d)
1

Description

  • vdirsyncer version 0.16.8
  • Python 2.7.18
  • debian bullseye/testing; kernel release 5.10.0-5-amd64
  • I have removed usernames, passwords, DSid, and pGUID from the pasted below. they are correct and work in Thunderbird/Lightning.
  • Contacts sync, calendar does not.
  • config file:
[general]
status_path = "~/.vdirsyncer/status/"
# CARDDAV
[pair josh_contacts]
a = "josh_contacts_local"
b = "josh_contacts_remote"
collections = ["from a", "from b"]
conflict_resolution = "b wins"
[storage josh_contacts_local]
type = "filesystem"
path = "~/.contacts/"
fileext = ".vcf"
[storage josh_contacts_remote]
type = "carddav"
url = "https://contacts.icloud.com"
username = "[removed]"
password = "[removed]"
# CALDAV
[pair josh_calendar]
a = "josh_calendar_local"
b = "josh_calendar_remote"
collections = ["from a", "from b"]
conflict_resolution = "b wins"
metadata = ["displayname", "color"]
[storage josh_calendar_local]
type = "filesystem"
path = "~/.calendars/"
fileext = ".ics"
[storage josh_calendar_remote]
type = "caldav"
url = "https://p48-caldav.icloud.com/[correct DSid here]/calendars/[correct pGUID here]"
username = "[removed]"
password = "[removed]"
  • debug info:
debug: Sending request...
debug: 207
debug: {'Server': 'AppleHttpServer/4b0f4e40276cabbbae998f715d1fd1336e7478a2', 'Date': 'Wed, 31 Mar 2021 17:23:21 GMT', 'Content-Type': 'application/xml; charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'X-Apple-Jingle-Correlation-Key': 'YBEH6263NFFOFGZ7QYIBE2KMCU', 'apple-seq': '0', 'apple-tk': 'false', 'Apple-Originating-System': 'UnknownOriginatingSystem', 'X-Responding-Instance': 'caldavj:34801301:mr28p48ic-ztdg09161301:8501:2104B588:6024037a373c', 'X-Apple-API-Version': 'NONE', 'content-encoding': 'gzip', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains;', 'via': 'xrail:mr47p00ic-qujn01122301.me.com:8301:20D313:grp22,631194250daa17e24277dea86cf30319:c0b14ae6a05dcecf80b17b845c43e5e0:New York', 'X-Apple-Request-UUID': 'c0487f6b-db69-4ae2-9b3f-861012694c15', 'access-control-expose-headers': 'X-Apple-Request-UUID,Via', 'X-Apple-Edge-Response-Time': '210'}
debug: <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
debug: <multistatus xmlns="DAV:">
debug: 
debug:     
debug:     
debug:     
debug:         
debug:         <response xmlns="DAV:">
debug:             <href>/[DSid removed]/calendars/[pGUID removed]/</href>
debug:             
debug:                 <propstat>
debug:                     <prop>
debug:                         
debug:                             
debug:                             
debug:                         
debug:                     </prop>
debug:                     <status>HTTP/1.1 200 OK</status>
debug:                 </propstat>
debug:                 
debug:                     <propstat>
debug:                         <prop>
debug:                             
debug:                                 
debug:                                     <calendar-home-set xmlns="urn:ietf:params:xml:ns:caldav"/>
debug:                                 
debug:                             
debug:                         </prop>
debug:                         <status>HTTP/1.1 404 Not Found</status>
debug:                     </propstat>
debug:                 
debug:             
debug:         </response>
debug:         
debug:     
debug:     
debug:     
debug:     
debug: 
debug: 
debug: </multistatus>
error: The server returned something vdirsyncer doesn't understand. Error message: InvalidXMLResponse("Couldn't find home-set.")
error: While this is most likely a serverside problem, the vdirsyncer devs are generally interested in such bugs. Please report it in the issue tracker at https://github.com/pimutils/vdirsyncer/issues
error: 1 out of 2 tasks failed.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the reported CalDAV configuration and debug XML response, reproducing the request against the provided iCloud calendar URL. Trace how the response handles the missing calendar-home-set property and compare the server's 404 response with the expected behavior. Done means the failure is understood and the issue can be resolved or clearly identified as an iCloud server-side incompatibility.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.