{"action":"created","issue":{"url":"https://api.github.com/repos/pimutils/vdirsyncer/issues/502","repository_url":"https://api.github.com/repos/pimutils/vdirsyncer","labels_url":"https://api.github.com/repos/pimutils/vdirsyncer/issues/502/labels{/name}","comments_url":"https://api.github.com/repos/pimutils/vdirsyncer/issues/502/comments","events_url":"https://api.github.com/repos/pimutils/vdirsyncer/issues/502/events","html_url":"https://github.com/pimutils/vdirsyncer/issues/502","id":176742852,"number":502,"title":"Validation error in iCalendar: A calendar object on a CalDAV server MUST NOT have a METHOD property.","user":{"login":"flart","id":10552915,"avatar_url":"https://avatars.githubusercontent.com/u/10552915?v=3","gravatar_id":"","url":"https://api.github.com/users/flart","html_url":"https://github.com/flart","followers_url":"https://api.github.com/users/flart/followers","following_url":"https://api.github.com/users/flart/following{/other_user}","gists_url":"https://api.github.com/users/flart/gists{/gist_id}","starred_url":"https://api.github.com/users/flart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flart/subscriptions","organizations_url":"https://api.github.com/users/flart/orgs","repos_url":"https://api.github.com/users/flart/repos","events_url":"https://api.github.com/users/flart/events{/privacy}","received_events_url":"https://api.github.com/users/flart/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/pimutils/vdirsyncer/labels/server%20compat","name":"server compat","color":"c7def8"},{"url":"https://api.github.com/repos/pimutils/vdirsyncer/labels/type:%20question","name":"type: question","color":"f7c6c7"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":9,"created_at":"2016-09-13T20:36:38Z","updated_at":"2016-09-23T19:59:21Z","closed_at":null,"body":"Hello everyone,\r\n\r\nI used vdirsyncer for a while now but unfortunatelly I recognized differences between the two calenders vdirsyncer shoud syncronize in the past few days. So I started the syncronization manually with -vdebug option and stumbled upon the above mentioned error.\r\nWhen I tried to delete the errorness calender item, the error is caused by another calender item.\r\nFurthermore I tried to sync both calender server against the filesystem. In this case the sync process runs without any errors.\r\n\r\nI don't know if the `METHOD:PUBLISH` key in the item vdirsyncer tries to store on the SabreDAV server comes from the davmail server or the exchange server behind davmail but why it doesn't matter when syncing to filesystem?\r\n\r\nThanks in advance for any ideas how to solve this problem.\r\n\r\nYours sincerely\r\nflart\r\n\r\n\r\n* Your vdirsyncer version :\r\n-  0.12.1\r\n* If applicable, which server software (and which version) you're using:\r\n- SabreDAV 3.2.0\r\n- davmail 4.7.2\r\n* Your Python version\r\n- Python 3.5.2\r\n* Your operating system\r\n- ArchARM\r\n* Your config file\r\n\r\n```\r\n[general]\r\n\r\n# A folder where vdirsyncer can store some metadata about each pair.\r\nstatus_path = ~/.vdirsyncer/status/\r\n\r\n# CALDAV\r\n[pair ralf_calendar]\r\na = ralf_calendar_local\r\nb = ralf_calendar_remote\r\n\r\n\r\n# Synchronize all collections available on \"side B\" (in this case the server).\r\n# You need to run `vdirsyncer discover` if new calendars/addressbooks are added\r\n# on the server.\r\n# Omitting this parameter implies that the given path and URL in the\r\n# corresponding `[storage <name>]` blocks are already directly pointing to a\r\n# collection each.\r\ncollections = [[\"KalenderRalf\", \"KalenderRalf\", \"calendar\"]]\r\n\r\n# To resolve a conflict the following values are possible:\r\n#   `null` - abort when collisions occur (default)\r\n#   `\"a wins\"` - assume a's items to be more up-to-date\r\n#   `\"b wins\"` - assume b's items to be more up-to-date\r\nconflict_resolution = \"b wins\"\r\n\r\n[storage ralf_calendar_local]\r\ntype = caldav\r\nverify_fingerprint = \"****\"\r\nverify=false\r\nurl = https://ratte/SabreDAV/groupwareserver.php/calendars/ralf/KalenderRalf/\r\nusername = ******\r\npassword = ******\r\nauth = guess\r\nuseragent = \"vdirsyncer\"\r\n\r\n\r\n\r\n[storage ralf_calendar_remote]\r\ntype = caldav\r\nurl = http://ratte:1080/users/******/calendar/\r\nusername = ******\r\npassword = ******\r\n```\r\n\r\n* Use `vdirsyncer -vdebug` for debug output.\r\n\r\n```\r\n[...]\r\nDoing conflict resolution for item 040000008200E00074C5B7101A82E00800000000B0A0A55B5C66D0010000000000000000100000000256A7A71FA2B34FA3A251FF1B194388...\r\n...ralf_calendar_remote/calendar wins.\r\nCopying (updating) item 040000008200E00074C5B7101A82E00800000000B0A0A55B5C66D0010000000000000000100000000256A7A71FA2B34FA3A251FF1B194388 to ralf_calendar_local/KalenderRalf\r\ndebug: Already normalized: '/SabreDAV/groupwareserver.php/calendars/ralf/KalenderRalf/040000008200E00074C5B7101A82E00800000000B0A0A55B5C66D0010000000000000000100000000256A7A71FA2B34FA3A251FF1B194388.ics'\r\ndebug: PUT https://ratte/SabreDAV/groupwareserver.php/calendars/ralf/KalenderRalf/040000008200E00074C5B7101A82E00800000000B0A0A55B5C66D0010000000000000000100000000256A7A71FA2B34FA3A251FF1B194388.ics\r\ndebug: {'Content-Type': 'text/calendar', 'User-Agent': 'vdirsyncer', 'If-Match': '\"95f58f7da9c2e4145bd07361bb8fe8da\"'}\r\ndebug: b'BEGIN:VCALENDAR\\nMETHOD:PUBLISH\\nPRODID:Microsoft Exchange Server 2010\\nVERSION:2.0\\nBEGIN:VTIMEZONE\\nTZID:Europe/Berlin\\nBEGIN:STANDARD\\nDTSTART:16010101T030000\\nTZOFFSETFROM:+0200\\nTZOFFSETTO:+0100\\nRRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10\\nEND:STANDARD\\nBEGIN:DAYLIGHT\\nDTSTART:16010101T020000\\nTZOFFSETFROM:+0100\\nTZOFFSETTO:+0200\\nRRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3\\nEND:DAYLIGHT\\nEND:VTIMEZONE\\nBEGIN:VEVENT\\nORGANIZER;CN=\r\n\r\n[...]\r\n\r\n\\nSUMMARY;LANGUAGE=de-DE:Besprechung Abschiedsgeschenk Bine\\nDTSTART;TZID=\"Europe/Berlin\":20150325T100000\\nDTEND;TZID=\"Europe/Berlin\":20150325T103000\\nUID:040000008200E00074C5B7101A82E00800000000B0A0A55B5C66D00100000000000000001\\n 00000000256A7A71FA2B34FA3A251FF1B194388\\nCLASS:PUBLIC\\nPRIORITY:5\\nDTSTAMP:20150324T170005Z\\nTRANSP:OPAQUE\\nSTATUS:CONFIRMED\\nSEQUENCE:0\\nLOCATION;LANGUAGE=de-DE:302\\nX-MICROSOFT-CDO-APPT-SEQUENCE:0\\nX-MICROSOFT-CDO-OWNERAPPTID:0\\nX-MICROSOFT-CDO-BUSYSTATUS:BUSY\\nX-MICROSOFT-CDO-INTENDEDSTATUS:BUSY\\nX-MICROSOFT-CDO-ALLDAYEVENT:FALSE\\nX-MICROSOFT-CDO-IMPORTANCE:1\\nX-MICROSOFT-CDO-INSTTYPE:0\\nX-MICROSOFT-DISALLOW-COUNTER:FALSE\\nATTENDEE;\r\n\r\n[...]\r\n\r\n\\nLAST-MODIFIED:20160105T220724Z\\nEND:VEVENT\\nEND:VCALENDAR\\n'\r\ndebug: Sending request...\r\ndebug: 415\r\ndebug: {'Date': 'Tue, 13 Sep 2016 19:47:04 GMT', 'Server': 'nginx/1.10.1', 'X-Powered-By': 'PHP/7.0.8', 'Connection': 'keep-alive', 'Content-Type': 'application/xml; charset=utf-8', 'X-Sabre-Version': '3.2.0', 'Transfer-Encoding': 'chunked'}\r\ndebug: b'<?xml version=\"1.0\" encoding=\"utf-8\"?>\\n<d:error xmlns:d=\"DAV:\" xmlns:s=\"http://sabredav.org/ns\">\\n  <s:sabredav-version>3.2.0</s:sabredav-version>\\n  <s:exception>Sabre\\\\DAV\\\\Exception\\\\UnsupportedMediaType</s:exception>\\n  <s:message>Validation error in iCalendar: A calendar object on a CalDAV server MUST NOT have a METHOD property.</s:message>\\n</d:error>\\n'\r\nerror: Unknown error occured for ralf_calendar/KalenderRalf: 415 Client Error: Unsupported Media Type for url: https://ratte/SabreDAV/groupwareserver.php/calendars/ralf/KalenderRalf/040000008200E00074C5B7101A82E00800000000B0A0A55B5C66D0010000000000000000100000000256A7A71FA2B34FA3A251FF1B194388.ics\r\nerror: Use `-vdebug` to see the full traceback.\r\ndebug:   File \"/home/ralf/.local/venvs/vdirsyncer/lib/python3.5/site-packages/vdirsyncer/cli/tasks.py\", line 66, in sync_collection\r\ndebug:     force_delete=force_delete\r\ndebug:   File \"/home/ralf/.local/venvs/vdirsyncer/lib/python3.5/site-packages/vdirsyncer/sync.py\", line 228, in sync\r\ndebug:     action(a_info, b_info, conflict_resolution)\r\ndebug:   File \"/home/ralf/.local/venvs/vdirsyncer/lib/python3.5/site-packages/vdirsyncer/sync.py\", line 338, in inner\r\ndebug:     _action_update(ident, b, a)(a, b, conflict_resolution)\r\ndebug:   File \"/home/ralf/.local/venvs/vdirsyncer/lib/python3.5/site-packages/vdirsyncer/sync.py\", line 275, in inner\r\ndebug:     dest_meta['etag'])\r\ndebug:   File \"/home/ralf/.local/venvs/vdirsyncer/lib/python3.5/site-packages/vdirsyncer/storage/base.py\", line 17, in inner\r\ndebug:     return f(self, *args, **kwargs)\r\ndebug:   File \"/home/ralf/.local/venvs/vdirsyncer/lib/python3.5/site-packages/vdirsyncer/storage/base.py\", line 17, in inner\r\ndebug:     return f(self, *args, **kwargs)\r\ndebug:   File \"/home/ralf/.local/venvs/vdirsyncer/lib/python3.5/site-packages/vdirsyncer/storage/dav.py\", line 498, in update\r\ndebug:     href, etag = self._put(self._normalize_href(href), item, etag)\r\ndebug:   File \"/home/ralf/.local/venvs/vdirsyncer/lib/python3.5/site-packages/vdirsyncer/storage/dav.py\", line 474, in _put\r\ndebug:     headers=headers\r\ndebug:   File \"/home/ralf/.local/venvs/vdirsyncer/lib/python3.5/site-packages/vdirsyncer/storage/dav.py\", line 333, in request\r\ndebug:     return utils.http.request(method, url, session=self._session, **more)\r\ndebug:   File \"/home/ralf/.local/venvs/vdirsyncer/lib/python3.5/site-packages/vdirsyncer/utils/http.py\", line 74, in request\r\ndebug:     r.raise_for_status()\r\ndebug:   File \"/home/ralf/.local/venvs/vdirsyncer/lib/python3.5/site-packages/requests/models.py\", line 862, in raise_for_status\r\ndebug:     raise HTTPError(http_error_msg, response=self)\r\nerror: 2 out of 4 tasks failed.\r\n```"},"comment":{"url":"https://api.github.com/repos/pimutils/vdirsyncer/issues/comments/249288181","html_url":"https://github.com/pimutils/vdirsyncer/issues/502#issuecomment-249288181","issue_url":"https://api.github.com/repos/pimutils/vdirsyncer/issues/502","id":249288181,"user":{"login":"flart","id":10552915,"avatar_url":"https://avatars.githubusercontent.com/u/10552915?v=3","gravatar_id":"","url":"https://api.github.com/users/flart","html_url":"https://github.com/flart","followers_url":"https://api.github.com/users/flart/followers","following_url":"https://api.github.com/users/flart/following{/other_user}","gists_url":"https://api.github.com/users/flart/gists{/gist_id}","starred_url":"https://api.github.com/users/flart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flart/subscriptions","organizations_url":"https://api.github.com/users/flart/orgs","repos_url":"https://api.github.com/users/flart/repos","events_url":"https://api.github.com/users/flart/events{/privacy}","received_events_url":"https://api.github.com/users/flart/received_events","type":"User","site_admin":false},"created_at":"2016-09-23T19:59:21Z","updated_at":"2016-09-23T19:59:21Z","body":"That modified event is still ok in OWA and Outlook. A little bit to ok perhaps.\r\nI think there is no change on that event at the exchange server at all.\r\nWhen I did a sync to a different local directory and opened the above mentioned ics-file it has the method property again. \r\nTherefor I'm not sure if davmail really syncs that event back to the exchange server or simply ignores the update from vdirsyncer."}}
{"actor":{"display_login":"flart"}}