Skip to content

exceptions.NotFoundError(href) when syncing with Zimbra #480

Description

@cmorty

I wanted to sync eGroupware with Zimbra. eGroupware works fine (tested with Owncloud), but Zimbra makes trouble. So I decided to sync to the file system, but even that fails.

Environment:

  • Zimbra 8.6.0.GA.1153.UBUNTU14.64
  • vdirsyncer, version 0.11.2
  • Up to date Ubuntu Jessie and pipsi

Config:

[pair rh2]
a = rhnew
b = fszi
#metadata = ["color", "displayname"]
collections = null

[storage rhnew]
type = caldav
url = 
username = 
password = 

[storage fszi]
type = filesystem
path = "/home/morty/eg/zi"
fileext = ".txt"

Log:


/vdirsyncer  -vdebug sync rh2
debug: Using 1 maximal workers.
Syncing rh2
debug: Loaded status for rh2
debug: PROPFIND https://mail.example.com/dav/morty@example.com/Calendar/Test/
debug: {'User-Agent': 'vdirsyncer', 'Content-Type': 'application/xml; charset=UTF-8', 'Depth': 1}
debug: <?xml version="1.0" encoding="utf-8" ?>
debug:             <D:propfind xmlns:D="DAV:">
debug:                 <D:prop>
debug:                     <D:resourcetype/>
debug:                     <D:getcontenttype/>
debug:                     <D:getetag/>
debug:                 </D:prop>
debug:             </D:propfind>
debug:
debug: Sending request...
debug: 207
debug: {'Connection': 'keep-alive', 'Server': 'nginx', 'Date': 'Tue, 28 Jun 2016 13:35:07 GMT', 'DAV': '1, 2, 3, access-control, calendar-access, calendar-auto-schedule, version-control, addressbook, extended-mkcol, calendar-proxy, calendarserver-principal-property-search', 'Content-Type': 'text/xml; charset="UTF-8"', 'Transfer-Encoding': 'chunked'}
debug: b'<?xml version="1.0" encoding="UTF-8"?>\n\n<D:multistatus xmlns:D="DAV:">\n  <D:response>\n    <D:href>/dav/morty@example.com/Calendar/Test/</D:href>\n    <D:propstat>\n      <D:status>HTTP/1.1 404 Not Found</D:status>\n      <D:prop>\n        <D:getcontenttype/>\n      </D:prop>\n    </D:propstat>\n    <D:propstat>\n      <D:status>HTTP/1.1 200 OK</D:status>\n      <D:prop>\n        <D:resourcetype>\n          <D:collection/>\n          <C:calendar xmlns:C="urn:ietf:params:xml:ns:caldav"/>\n        </D:resourcetype>\n        <D:getetag>"2051-2051"</D:getetag>\n      </D:prop>\n    </D:propstat>\n  </D:response>\n  <D:response>\n    <D:href>/dav/morty@example.com/Calendar/Test/e28e155d-e493-408c-82c9-3e02eb15618e.ics</D:href>\n    <D:propstat>\n      <D:status>HTTP/1.1 200 OK</D:status>\n      <D:prop>\n        <D:resourcetype/>\n        <D:getetag>"2054-2054"</D:getetag>\n        <D:getcontenttype>text/calendar</D:getcontenttype>\n      </D:prop>\n    </D:propstat>\n  </D:response>\n</D:multistatus>\n'
debug: Already normalized: '/dav/morty@example.com/Calendar/Test/'
warning: Skipping '/dav/morty@example.com/Calendar/Test/', etag property is missing.
debug: Already normalized: '/dav/morty@example.com/Calendar/Test/e28e155d-e493-408c-82c9-3e02eb15618e.ics'
debug: Already normalized: '/dav/morty@example.com/Calendar/Test/e28e155d-e493-408c-82c9-3e02eb15618e.ics'
debug: Already normalized: '/dav/morty@example.com/Calendar/Test/'
debug: REPORT https://mail.example.com/dav/morty@example.com/Calendar/Test/
debug: {'User-Agent': 'vdirsyncer', 'Content-Type': 'application/xml; charset=UTF-8'}
debug: <?xml version="1.0" encoding="utf-8" ?>
debug:         <C:calendar-multiget xmlns:D="DAV:"
debug:             xmlns:C="urn:ietf:params:xml:ns:caldav">
debug:             <D:prop>
debug:                 <D:getetag/>
debug:                 <C:calendar-data/>
debug:             </D:prop>
debug:             <D:href>/dav/morty@example.com/Calendar/Test/e28e155d-e493-408c-82c9-3e02eb15618e.ics</D:href>
debug: <D:href>/dav/morty@example.com/Calendar/Test/</D:href>
debug:         </C:calendar-multiget>
debug: Sending request...
debug: 207
debug: {'Connection': 'keep-alive', 'Server': 'nginx', 'Date': 'Tue, 28 Jun 2016 13:35:07 GMT', 'DAV': '1, 2, 3, access-control, calendar-access, calendar-auto-schedule, version-control, addressbook, extended-mkcol, calendar-proxy, calendarserver-principal-property-search', 'Content-Type': 'text/xml; charset="UTF-8"', 'Transfer-Encoding': 'chunked'}
debug: b'<?xml version="1.0" encoding="UTF-8"?>\n\n<D:multistatus xmlns:D="DAV:">\n  <D:response>\n    <D:href>/dav/morty@example.com/Calendar/Test/e28e155d-e493-408c-82c9-3e02eb15618e.ics</D:href>\n    <D:propstat>\n      <D:status>HTTP/1.1 200 OK</D:status>\n      <D:prop>\n        <C:calendar-data xmlns:C="urn:ietf:params:xml:ns:caldav">BEGIN:VCALENDAR\r\nPRODID:Zimbra-Calendar-Provider\r\nVERSION:2.0\r\nBEGIN:VTIMEZONE\r\nTZID:Europe/Berlin\r\nBEGIN:STANDARD\r\nDTSTART:16010101T030000\r\nTZOFFSETTO:+0100\r\nTZOFFSETFROM:+0200\r\nRRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=10;BYDAY=-1SU\r\nTZNAME:CET\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nDTSTART:16010101T020000\r\nTZOFFSETTO:+0200\r\nTZOFFSETFROM:+0100\r\nRRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=3;BYDAY=-1SU\r\nTZNAME:CEST\r\nEND:DAYLIGHT\r\nEND:VTIMEZONE\r\nBEGIN:VEVENT\r\nUID:e28e155d-e493-408c-82c9-3e02eb15618e\r\nSUMMARY:Test\r\nORGANIZER;CN=Moritz Struebe:mailto:morty@example.com\r\nDTSTART;TZID="Europe/Berlin":20160627T093000\r\nDTEND;TZID="Europe/Berlin":20160627T130000\r\nSTATUS:CONFIRMED\r\nCLASS:PUBLIC\r\nTRANSP:OPAQUE\r\nLAST-MODIFIED:20160628T133504Z\r\nDTSTAMP:20160628T133504Z\r\nSEQUENCE:1\r\nBEGIN:VALARM\r\nACTION:DISPLAY\r\nTRIGGER;RELATED=START:-PT5M\r\nDESCRIPTION:Reminder\r\nEND:VALARM\r\nEND:VEVENT\r\nEND:VCALENDAR</C:calendar-data>\n        <D:getetag>"2054-2054"</D:getetag>\n      </D:prop>\n    </D:propstat>\n  </D:response>\n</D:multistatus>\n'
debug: Already normalized: '/dav/morty@example.com/Calendar/Test/e28e155d-e493-408c-82c9-3e02eb15618e.ics'
error: Unknown error occured for rh2: /dav/morty@example.com/Calendar/Test/
error: Use `-vdebug` to see the full traceback.
debug:   File "/home/morty/.local/venvs/vdirsyncer/lib/python3.4/site-packages/vdirsyncer/cli/tasks.py", line 66, in sync_collection
debug:     force_delete=force_delete
debug:   File "/home/morty/.local/venvs/vdirsyncer/lib/python3.4/site-packages/vdirsyncer/sync.py", line 215, in sync
debug:     a_info.prepare_idents()
debug:   File "/home/morty/.local/venvs/vdirsyncer/lib/python3.4/site-packages/vdirsyncer/sync.py", line 124, in prepare_idents
debug:     if prefetch else ()):
debug:   File "/home/morty/.local/venvs/vdirsyncer/lib/python3.4/site-packages/vdirsyncer/storage/dav.py", line 451, in get_multi
debug:     raise exceptions.NotFoundError(href)
error: 1 out of 2 tasks failed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions