pimutils / pimutils/vdirsyncer

InvalidXMLResponce when syncing with Baikal

Open
#783 2 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

When starting vdirsyncer discover with all the entries in the config-file and using for url = "https://baikal.xxx.de" I'm getting the following error:

Discovering collections for pair my_contacts
my_contacts_local:
warning: Failed to discover collections for my_contacts_remote, use `-vdebug` to see the full traceback.
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
Discovering collections for pair my_calendar
my_calendar_local:
warning: Failed to discover collections for my_calendar_remote, use `-vdebug` to see the full traceback.
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: 2 out of 2 tasks failed.

With -vdebug the lines before the first warning are:

debug:   File "/usr/lib/python3/dist-packages/vdirsyncer/cli/discover.py", line 204, in _print_collections
debug:     discovered = get_discovered()
debug:   File "/usr/lib/python3/dist-packages/vdirsyncer/cli/discover.py", line 133, in get_self
debug:     return self._discovered
debug:   File "/usr/lib/python3/dist-packages/vdirsyncer/utils.py", line 170, in __get__
debug:     obj.__dict__[self.__name__] = result = self.fget(obj)
debug:   File "/usr/lib/python3/dist-packages/vdirsyncer/cli/discover.py", line 142, in _discovered
debug:     return handle_storage_init_error(self._cls, self._config)
debug:   File "/usr/lib/python3/dist-packages/vdirsyncer/cli/discover.py", line 138, in _discovered
debug:     discovered = list(self._cls.discover(**self._config))
debug:   File "/usr/lib/python3/dist-packages/vdirsyncer/storage/dav.py", line 251, in discover
debug:     for c in self.find_collections():
debug:   File "/usr/lib/python3/dist-packages/vdirsyncer/storage/dav.py", line 211, in find_collections
debug:     return self._find_collections_impl(self.find_home())
debug:   File "/usr/lib/python3/dist-packages/vdirsyncer/storage/dav.py", line 198, in find_home
debug:     raise InvalidXMLResponse('Couldn\'t find home-set.')
warning: Failed to discover collections for my_contacts_remote, use `-vdebug` to see the full traceback.

vdirsyncer 0.16.2
Baikal 0.5.0
Python 2.7.15rc1 and 3.6.7
Ubuntu 18.04

Thank you for your help. I would be very happy if it'll work!

Update: it doesn't work with url = "https://baikal.xxx.de//card.php/principals/xxx", with just one / after the domain or with only card.php.

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 in vdirsyncer/storage/dav.py at find_home(), _find_collections_impl(), and discover(), then reproduce the failure with the Baikal configuration and -vdebug. Compare the response handling around the reported “Couldn't find home-set” error; done when the Baikal discovery behavior is understood and the issue has a verified resolution or a clearly documented incompatibility.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.