Skip to content

Radicale 2 not working with Apple Calendar in newer macOS >= 10.13 #967

@embeddedc

Description

@embeddedc

Install Radicale 2.1.11:

test@zbox:~/test$ pip freeze
pkg-resources==0.0.0
python-dateutil==2.8.0
Radicale==2.1.11
six==1.12.0
vobject==0.9.6.1

Run it:

bin/python3 -m radicale -D -H 0.0.0.0:5232 --config "" --storage-filesystem-folder=./radicale 

In web interface login as user test123 and create a calendar:

([7f41f02af740] INFO: Starting Radicale
[7f41f02af740] INFO: Authentication type is 'none'
[7f41f02af740] INFO: Storage type is 'multifilesystem'
[7f41f02af740] INFO: Rights type is 'None'
[7f41f02af740] INFO: Web type is 'internal'
[7f41f02af740] INFO: Listening to 'zbox.local' on port 5232
[7f41f02af740] INFO: Radicale server ready
[7f41ef145700] INFO: PROPFIND request for '/' received from 192.168.0.248 using 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:68.0) Gecko/20100101 Firefox/68.0'
[7f41ef145700] DEBUG: Request headers:
{'CONTENT_LENGTH': '127',
 'CONTENT_TYPE': 'text/plain;charset=UTF-8',
 'GATEWAY_INTERFACE': 'CGI/1.1',
 'HTTP_ACCEPT': '*/*',
 'HTTP_ACCEPT_ENCODING': 'gzip, deflate',
 'HTTP_ACCEPT_LANGUAGE': 'de,en-US;q=0.7,en;q=0.3',
 'HTTP_AUTHORIZATION': 'Basic **masked**',
 'HTTP_CONNECTION': 'keep-alive',
 'HTTP_HOST': 'zbox.local:5232',
 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:68.0) '
                    'Gecko/20100101 Firefox/68.0',
 'PATH_INFO': '/',
 'QUERY_STRING': '',
 'REMOTE_ADDR': '192.168.0.248',
 'REMOTE_HOST': '',
 'REQUEST_METHOD': 'PROPFIND',
 'SCRIPT_NAME': '',
 'SERVER_NAME': 'zbox.local',
 'SERVER_PORT': '5232',
 'SERVER_PROTOCOL': 'HTTP/1.1',
 'SERVER_SOFTWARE': 'WSGIServer/0.2',
 'wsgi.errors': <_io.StringIO object at 0x7f41ef209ee8>,
 'wsgi.file_wrapper': <class 'wsgiref.util.FileWrapper'>,
 'wsgi.input': <_io.BufferedReader name=6>,
 'wsgi.multiprocess': False,
 'wsgi.multithread': True,
 'wsgi.run_once': False,
 'wsgi.url_scheme': 'http',
 'wsgi.version': (1, 0)}
[7f41ef145700] DEBUG: Sanitized script name: ''
[7f41ef145700] DEBUG: Sanitized path: '/'
[7f41ef145700] INFO: Successful login: 'test123'
[7f41ef145700] DEBUG: Request content:
<?xml version="1.0"?>
<propfind xmlns="DAV:">
  <prop>
    <current-user-principal />
    <displayname />
  </prop>
</propfind>

[7f41ef145700] DEBUG: 'test123' has read and write access to collection ''
[7f41ef145700] DEBUG: Response content:
<?xml version="1.0"?>
<multistatus xmlns="DAV:">
  <response>
    <href>/</href>
    <propstat>
      <prop>
        <current-user-principal>
          <href>/test123/</href>
        </current-user-principal>
      </prop>
      <status>HTTP/1.1 200 OK</status>
    </propstat>
    <propstat>
      <prop>
        <displayname />
      </prop>
      <status>HTTP/1.1 404 Not Found</status>
    </propstat>
  </response>
</multistatus>

[7f41ef145700] INFO: PROPFIND response status for '/' in 0.017 seconds: 207 Multi-Status
[7f41ef145700] INFO: PROPFIND request for '/test123/' with depth '1' received from 192.168.0.248 using 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:68.0) Gecko/20100101 Firefox/68.0'
[7f41ef145700] DEBUG: Request headers:
{'CONTENT_LENGTH': '461',
 'CONTENT_TYPE': 'text/plain;charset=UTF-8',
 'GATEWAY_INTERFACE': 'CGI/1.1',
 'HTTP_ACCEPT': '*/*',
 'HTTP_ACCEPT_ENCODING': 'gzip, deflate',
 'HTTP_ACCEPT_LANGUAGE': 'de,en-US;q=0.7,en;q=0.3',
 'HTTP_AUTHORIZATION': 'Basic **masked**',
 'HTTP_CONNECTION': 'keep-alive',
 'HTTP_DEPTH': '1',
 'HTTP_HOST': 'zbox.local:5232',
 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:68.0) '
                    'Gecko/20100101 Firefox/68.0',
 'PATH_INFO': '/test123/',
 'QUERY_STRING': '',
 'REMOTE_ADDR': '192.168.0.248',
 'REMOTE_HOST': '',
 'REQUEST_METHOD': 'PROPFIND',
 'SCRIPT_NAME': '',
 'SERVER_NAME': 'zbox.local',
 'SERVER_PORT': '5232',
 'SERVER_PROTOCOL': 'HTTP/1.1',
 'SERVER_SOFTWARE': 'WSGIServer/0.2',
 'wsgi.errors': <_io.StringIO object at 0x7f41ef209ee8>,
 'wsgi.file_wrapper': <class 'wsgiref.util.FileWrapper'>,
 'wsgi.input': <_io.BufferedReader name=6>,
 'wsgi.multiprocess': False,
 'wsgi.multithread': True,
 'wsgi.run_once': False,
 'wsgi.url_scheme': 'http',
 'wsgi.version': (1, 0)}
[7f41ef145700] DEBUG: Sanitized script name: ''
[7f41ef145700] DEBUG: Sanitized path: '/test123/'
[7f41ef145700] INFO: Successful login: 'test123'
[7f41ef145700] DEBUG: Request content:
<?xml version="1.0"?>
<propfind xmlns="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav" xmlns:CR="urn:ietf:params:xml:ns:carddav" xmlns:ICAL="http://apple.com/ns/ical/" xmlns:RADICALE="http://radicale.org/ns/" xmlns:ns3="http://inf-it.com/ns/ab/">
  <prop>
    <resourcetype />
    <RADICALE:displayname />
    <ICAL:calendar-color />
    <ns3:addressbook-color />
    <C:calendar-description />
    <C:supported-calendar-component-set />
    <CR:addressbook-description />
  </prop>
</propfind>

[7f41ef145700] DEBUG: 'test123' has read and write access to collection 'test123'
[7f41ef145700] DEBUG: Response content:
<?xml version="1.0"?>
<multistatus xmlns="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav" xmlns:CR="urn:ietf:params:xml:ns:carddav" xmlns:ICAL="http://apple.com/ns/ical/" xmlns:RADICALE="http://radicale.org/ns/" xmlns:ns3="http://inf-it.com/ns/ab/">
  <response>
    <href>/test123/</href>
    <propstat>
      <prop>
        <resourcetype>
          <principal />
          <collection />
        </resourcetype>
      </prop>
      <status>HTTP/1.1 200 OK</status>
    </propstat>
    <propstat>
      <prop>
        <RADICALE:displayname />
        <ICAL:calendar-color />
        <ns3:addressbook-color />
        <C:calendar-description />
        <C:supported-calendar-component-set />
        <CR:addressbook-description />
      </prop>
      <status>HTTP/1.1 404 Not Found</status>
    </propstat>
  </response>
</multistatus>

[7f41ef145700] INFO: PROPFIND response status for '/test123/' with depth '1' in 0.004 seconds: 207 Multi-Status
[7f41ef145700] INFO: MKCOL request for '/test123/2c192e81-84da-1c17-e03d-ecb7391114aa/' received from 192.168.0.248 using 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:68.0) Gecko/20100101 Firefox/68.0'
[7f41ef145700] DEBUG: Request headers:
{'CONTENT_LENGTH': '481',
 'CONTENT_TYPE': 'text/plain;charset=UTF-8',
 'GATEWAY_INTERFACE': 'CGI/1.1',
 'HTTP_ACCEPT': '*/*',
 'HTTP_ACCEPT_ENCODING': 'gzip, deflate',
 'HTTP_ACCEPT_LANGUAGE': 'de,en-US;q=0.7,en;q=0.3',
 'HTTP_AUTHORIZATION': 'Basic **masked**',
 'HTTP_CONNECTION': 'keep-alive',
 'HTTP_HOST': 'zbox.local:5232',
 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:68.0) '
                    'Gecko/20100101 Firefox/68.0',
 'PATH_INFO': '/test123/2c192e81-84da-1c17-e03d-ecb7391114aa/',
 'QUERY_STRING': '',
 'REMOTE_ADDR': '192.168.0.248',
 'REMOTE_HOST': '',
 'REQUEST_METHOD': 'MKCOL',
 'SCRIPT_NAME': '',
 'SERVER_NAME': 'zbox.local',
 'SERVER_PORT': '5232',
 'SERVER_PROTOCOL': 'HTTP/1.1',
 'SERVER_SOFTWARE': 'WSGIServer/0.2',
 'wsgi.errors': <_io.StringIO object at 0x7f41ef209ee8>,
 'wsgi.file_wrapper': <class 'wsgiref.util.FileWrapper'>,
 'wsgi.input': <_io.BufferedReader name=6>,
 'wsgi.multiprocess': False,
 'wsgi.multithread': True,
 'wsgi.run_once': False,
 'wsgi.url_scheme': 'http',
 'wsgi.version': (1, 0)}
[7f41ef145700] DEBUG: Sanitized script name: ''
[7f41ef145700] DEBUG: Sanitized path: '/test123/2c192e81-84da-1c17-e03d-ecb7391114aa/'
[7f41ef145700] INFO: Successful login: 'test123'
[7f41ef145700] DEBUG: Request content:
<?xml version="1.0"?>
<mkcol xmlns="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav" xmlns:ICAL="http://apple.com/ns/ical/">
  <set>
    <prop>
      <resourcetype>
        <collection />
        <C:calendar />
      </resourcetype>
      <C:supported-calendar-component-set>
        <C:comp name="VEVENT" />
      </C:supported-calendar-component-set>
      <displayname>test_cal</displayname>
      <ICAL:calendar-color>#f8c771ff</ICAL:calendar-color>
    </prop>
  </set>
</mkcol>

[7f41ef145700] INFO: MKCOL response status for '/test123/2c192e81-84da-1c17-e03d-ecb7391114aa/' in 0.016 seconds: 201 Created
[7f41ef145700] INFO: PROPFIND request for '/test123/' with depth '1' received from 192.168.0.248 using 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:68.0) Gecko/20100101 Firefox/68.0'
[7f41ef145700] DEBUG: Request headers:
{'CONTENT_LENGTH': '461',
 'CONTENT_TYPE': 'text/plain;charset=UTF-8',
 'GATEWAY_INTERFACE': 'CGI/1.1',
 'HTTP_ACCEPT': '*/*',
 'HTTP_ACCEPT_ENCODING': 'gzip, deflate',
 'HTTP_ACCEPT_LANGUAGE': 'de,en-US;q=0.7,en;q=0.3',
 'HTTP_AUTHORIZATION': 'Basic **masked**',
 'HTTP_CONNECTION': 'keep-alive',
 'HTTP_DEPTH': '1',
 'HTTP_HOST': 'zbox.local:5232',
 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:68.0) '
                    'Gecko/20100101 Firefox/68.0',
 'PATH_INFO': '/test123/',
 'QUERY_STRING': '',
 'REMOTE_ADDR': '192.168.0.248',
 'REMOTE_HOST': '',
 'REQUEST_METHOD': 'PROPFIND',
 'SCRIPT_NAME': '',
 'SERVER_NAME': 'zbox.local',
 'SERVER_PORT': '5232',
 'SERVER_PROTOCOL': 'HTTP/1.1',
 'SERVER_SOFTWARE': 'WSGIServer/0.2',
 'wsgi.errors': <_io.StringIO object at 0x7f41ef209ee8>,
 'wsgi.file_wrapper': <class 'wsgiref.util.FileWrapper'>,
 'wsgi.input': <_io.BufferedReader name=6>,
 'wsgi.multiprocess': False,
 'wsgi.multithread': True,
 'wsgi.run_once': False,
 'wsgi.url_scheme': 'http',
 'wsgi.version': (1, 0)}
[7f41ef145700] DEBUG: Sanitized script name: ''
[7f41ef145700] DEBUG: Sanitized path: '/test123/'
[7f41ef145700] INFO: Successful login: 'test123'
[7f41ef145700] DEBUG: Request content:
<?xml version="1.0"?>
<propfind xmlns="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav" xmlns:CR="urn:ietf:params:xml:ns:carddav" xmlns:ICAL="http://apple.com/ns/ical/" xmlns:RADICALE="http://radicale.org/ns/" xmlns:ns3="http://inf-it.com/ns/ab/">
  <prop>
    <resourcetype />
    <RADICALE:displayname />
    <ICAL:calendar-color />
    <ns3:addressbook-color />
    <C:calendar-description />
    <C:supported-calendar-component-set />
    <CR:addressbook-description />
  </prop>
</propfind>

[7f41ef145700] DEBUG: 'test123' has read and write access to collection 'test123'
[7f41ef145700] DEBUG: 'test123' has read and write access to collection 'test123/2c192e81-84da-1c17-e03d-ecb7391114aa'
[7f41ef145700] DEBUG: Response content:
<?xml version="1.0"?>
<multistatus xmlns="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav" xmlns:CR="urn:ietf:params:xml:ns:carddav" xmlns:ICAL="http://apple.com/ns/ical/" xmlns:RADICALE="http://radicale.org/ns/" xmlns:ns3="http://inf-it.com/ns/ab/">
  <response>
    <href>/test123/</href>
    <propstat>
      <prop>
        <resourcetype>
          <principal />
          <collection />
        </resourcetype>
      </prop>
      <status>HTTP/1.1 200 OK</status>
    </propstat>
    <propstat>
      <prop>
        <RADICALE:displayname />
        <ICAL:calendar-color />
        <ns3:addressbook-color />
        <C:calendar-description />
        <C:supported-calendar-component-set />
        <CR:addressbook-description />
      </prop>
      <status>HTTP/1.1 404 Not Found</status>
    </propstat>
  </response>
  <response>
    <href>/test123/2c192e81-84da-1c17-e03d-ecb7391114aa/</href>
    <propstat>
      <prop>
        <resourcetype>
          <C:calendar />
          <collection />
        </resourcetype>
        <RADICALE:displayname>test_cal</RADICALE:displayname>
        <ICAL:calendar-color>#f8c771ff</ICAL:calendar-color>
        <C:supported-calendar-component-set>
          <C:comp name="VEVENT" />
        </C:supported-calendar-component-set>
      </prop>
      <status>HTTP/1.1 200 OK</status>
    </propstat>
    <propstat>
      <prop>
        <ns3:addressbook-color />
        <C:calendar-description />
        <CR:addressbook-description />
      </prop>
      <status>HTTP/1.1 404 Not Found</status>
    </propstat>
  </response>
</multistatus>

[7f41ef145700] INFO: PROPFIND response status for '/test123/' with depth '1' in 0.004 seconds: 207 Multi-Status

Try to connect with Apple Calendar as user test123 and server path /test123/:

[7f0140ce1740] INFO: Starting Radicale
[7f0140ce1740] INFO: Authentication type is 'none'
[7f0140ce1740] INFO: Storage type is 'multifilesystem'
[7f0140ce1740] INFO: Rights type is 'None'
[7f0140ce1740] INFO: Web type is 'internal'
[7f0140ce1740] INFO: Listening to 'zbox.local' on port 5232
[7f0140ce1740] INFO: Radicale server ready
[7f013fb77700] INFO: PROPFIND request for '/test123/' with depth '0' received from 192.168.0.248 using 'Mac+OS+X/10.13.6 (17G7024) CalendarAgent/399.2.2'
[7f013fb77700] DEBUG: Request headers:
{'CONTENT_LENGTH': '743',
 'CONTENT_TYPE': 'text/xml',
 'GATEWAY_INTERFACE': 'CGI/1.1',
 'HTTP_ACCEPT': '*/*',
 'HTTP_ACCEPT_ENCODING': 'gzip, deflate',
 'HTTP_ACCEPT_LANGUAGE': 'de-de',
 'HTTP_BRIEF': 't',
 'HTTP_CONNECTION': 'keep-alive',
 'HTTP_DEPTH': '0',
 'HTTP_HOST': 'zbox.local:5232',
 'HTTP_PREFER': 'return=minimal',
 'HTTP_USER_AGENT': 'Mac+OS+X/10.13.6 (17G7024) CalendarAgent/399.2.2',
 'PATH_INFO': '/test123/',
 'QUERY_STRING': '',
 'REMOTE_ADDR': '192.168.0.248',
 'REMOTE_HOST': '',
 'REQUEST_METHOD': 'PROPFIND',
 'SCRIPT_NAME': '',
 'SERVER_NAME': 'zbox.local',
 'SERVER_PORT': '5232',
 'SERVER_PROTOCOL': 'HTTP/1.1',
 'SERVER_SOFTWARE': 'WSGIServer/0.2',
 'wsgi.errors': <_io.StringIO object at 0x7f013fc3bee8>,
 'wsgi.file_wrapper': <class 'wsgiref.util.FileWrapper'>,
 'wsgi.input': <_io.BufferedReader name=6>,
 'wsgi.multiprocess': False,
 'wsgi.multithread': True,
 'wsgi.run_once': False,
 'wsgi.url_scheme': 'http',
 'wsgi.version': (1, 0)}
[7f013fb77700] DEBUG: Sanitized script name: ''
[7f013fb77700] DEBUG: Sanitized path: '/test123/'
[7f013fb77700] DEBUG: Request content:
<?xml version="1.0"?>
<propfind xmlns="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav" xmlns:CS="http://calendarserver.org/ns/">
  <prop>
    <C:calendar-home-set />
    <C:calendar-user-address-set />
    <current-user-principal />
    <displayname />
    <CS:dropbox-home-URL />
    <CS:email-address-set />
    <CS:notification-URL />
    <principal-collection-set />
    <principal-URL />
    <resource-id />
    <C:schedule-inbox-URL />
    <C:schedule-outbox-URL />
    <supported-report-set />
  </prop>
</propfind>

[7f013fb77700] DEBUG: anonymous user has read and write access to collection 'test123'
[7f013fb77700] INFO: Access to '/test123/' denied for anonymous user
[7f013fb77700] DEBUG: Asking client for authentication
[7f013fb77700] DEBUG: Response content:
Access to the requested resource forbidden.
[7f013fb77700] INFO: PROPFIND response status for '/test123/' with depth '0' in 0.004 seconds: 401 Unauthorized



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