Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
embeddedc opened this issue Jul 14, 2019 · 3 comments
Closed

Comments

@embeddedc
Copy link

embeddedc commented Jul 14, 2019

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



@embeddedc embeddedc changed the title Radicale 2 nor working with Apple Calenad in newer macOS Radicale 2 nor working with Apple Calendar in newer macOS >= 10.13 Jul 14, 2019
@embeddedc embeddedc changed the title Radicale 2 nor working with Apple Calendar in newer macOS >= 10.13 Radicale 2 not working with Apple Calendar in newer macOS >= 10.13 Jul 14, 2019
@return42
Copy link

Hi @embeddedc, we have a lot issues (closed) about iOS clients. As far as I know IOS clients will not work without SSL, see #870 (comment)).

Further more to read:

@embeddedc
Copy link
Author

As far as I know IOS clients will not work without SSL, see #870 (comment)).

Thanks @return42, I can indeed confirm this for macOS. It should be mentioned in the manual somewhere.

@therentabrain
Copy link

FWIW, after playing with it for a long time this evening, I think iOS 12.2 has different security settings for cellular connections vs trusted LANs -- or a bug. I have no problem syncing over WiFi, but when using the LTE cell network, it opens a connection but fails to login. Reconnecting to WiFi resolves the problem on the phone's next sync attempt.

I tried all the advice I could find around here, including changing protocol to TLS, and I can't solve it. The phone thinks it is using SSL but it still won't login over the cell connection. It seems to try!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants