CalDAV calenders do not work

Bug #138746 reported by JustusWinter
32
This bug affects 1 person
Affects Status Importance Assigned to Milestone
evolution (Ubuntu)
Invalid
Undecided
Unassigned
evolution-caldav (Ubuntu)
Invalid
Low
Unassigned

Bug Description

Binary package hint: evolution

Accessing calendars over webdav does not work for me.

Version: evolution 2.11.92 from gutsy (as of Mon Sep 10 22:01:32 CEST 2007)

Steps to reproduce: File -> New -> Calendar -> Type: CalDAV, Name: whatever, URL: url to webdav server, Username: username if behind http access mechanism -> Ok

Logging network traffic with wireshark reveals that evolution is sending requests with the OPTIONS method over and over again (everytime I try to refresh the calendar is my guess):

OPTIONS /~teythoon/dav/test.ics HTTP/1.1
Host: winter.gotdns.org
User-Agent: Evolution/1.11.92

HTTP/1.1 401 Authorization Required
Date: Mon, 10 Sep 2007 19:51:05 GMT
Server: Apache/2.2.4 (Debian) DAV/2 PHP/5.2.3-1+b1 mod_ssl/2.2.4 OpenSSL/0.9.8e mod_perl/2.0.3 Perl/v5.8.8
WWW-Authenticate: Digest realm="my life...", nonce="jTsnT805BAA=e4515a7e73cfb4907b31a222d2447d28dcac8757", algorithm=MD5, domain="/~teythoon/dav", qop="auth"
Content-Length: 401
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>401 Authorization Required</title>
</head><body>
<h1>Authorization Required</h1>
<p>This server could not verify that you
are authorized to access the document
requested. Either you supplied the wrong
credentials (e.g., bad password), or your
browser doesn't understand how to supply
the credentials required.</p>
</body></html>
OPTIONS /~teythoon/dav/test.ics HTTP/1.1
Host: winter.gotdns.org
***Authentication/authorization header removed***
User-Agent: Evolution/1.11.92

HTTP/1.1 200 OK
Date: Mon, 10 Sep 2007 19:51:06 GMT
Server: Apache/2.2.4 (Debian) DAV/2 PHP/5.2.3-1+b1 mod_ssl/2.2.4 OpenSSL/0.9.8e mod_perl/2.0.3 Perl/v5.8.8
***Authentication/authorization header removed***
DAV: 1,2
DAV: <http://apache.org/dav/propset/fs/1>
MS-Author-Via: DAV
Allow: OPTIONS,GET,HEAD,POST,DELETE,TRACE,PROPFIND,PROPPATCH,COPY,MOVE,PUT,LOCK,UNLOCK
Content-Length: 0
Content-Type: text/calendar

OPTIONS /~teythoon/dav/test.ics HTTP/1.1
Host: winter.gotdns.org
***Authentication/authorization header removed***
User-Agent: Evolution/1.11.92

HTTP/1.1 200 OK
Date: Mon, 10 Sep 2007 19:51:10 GMT
Server: Apache/2.2.4 (Debian) DAV/2 PHP/5.2.3-1+b1 mod_ssl/2.2.4 OpenSSL/0.9.8e mod_perl/2.0.3 Perl/v5.8.8
***Authentication/authorization header removed***
DAV: 1,2
DAV: <http://apache.org/dav/propset/fs/1>
MS-Author-Via: DAV
Allow: OPTIONS,GET,HEAD,POST,DELETE,TRACE,PROPFIND,PROPPATCH,COPY,MOVE,PUT,LOCK,UNLOCK
Content-Length: 0
Content-Type: text/calendar

OPTIONS /~teythoon/dav/test.ics HTTP/1.1
Host: winter.gotdns.org
***Authentication/authorization header removed***
User-Agent: Evolution/1.11.92

HTTP/1.1 200 OK
Date: Mon, 10 Sep 2007 19:51:11 GMT
Server: Apache/2.2.4 (Debian) DAV/2 PHP/5.2.3-1+b1 mod_ssl/2.2.4 OpenSSL/0.9.8e mod_perl/2.0.3 Perl/v5.8.8
***Authentication/authorization header removed***
DAV: 1,2
DAV: <http://apache.org/dav/propset/fs/1>
MS-Author-Via: DAV
Allow: OPTIONS,GET,HEAD,POST,DELETE,TRACE,PROPFIND,PROPPATCH,COPY,MOVE,PUT,LOCK,UNLOCK
Content-Length: 0
Content-Type: text/calendar

OPTIONS /~teythoon/dav/test.ics HTTP/1.1
Host: winter.gotdns.org
***Authentication/authorization header removed***
User-Agent: Evolution/1.11.92

HTTP/1.1 200 OK
Date: Mon, 10 Sep 2007 19:51:18 GMT
Server: Apache/2.2.4 (Debian) DAV/2 PHP/5.2.3-1+b1 mod_ssl/2.2.4 OpenSSL/0.9.8e mod_perl/2.0.3 Perl/v5.8.8
***Authentication/authorization header removed***
DAV: 1,2
DAV: <http://apache.org/dav/propset/fs/1>
MS-Author-Via: DAV
Allow: OPTIONS,GET,HEAD,POST,DELETE,TRACE,PROPFIND,PROPPATCH,COPY,MOVE,PUT,LOCK,UNLOCK
Content-Length: 0
Content-Type: text/calendar

Note that I confirmed with cadaver that this file is indeed accessible. This works with both KOrganizer and Mozilla Sunbird.

Revision history for this message
Basilio Kublik (sourcercito) wrote :

i cannot reproduce this bug, the caldav server works fine here, i configure the calendar the same way.
i'm using plain password though, maybe evolution has problems authenticate against other mechs in the calendar component.

could you please specify what calendar server and which version are you using to see if i can reproduce your bug.

related packages
===========
evolution 2.11.92-0ubuntu1
evolution-common 2.11.92-0ubuntu1
evolution-data-server 1.11.92-0ubuntu1
evolution-data-server-common 1.11.92-0ubuntu1
evolution-plugins 2.11.92-0ubuntu1
evolution-webcal 2.11.91-0ubuntu1

Changed in evolution:
status: New → Incomplete
Revision history for this message
JustusWinter (4winter) wrote :

Uh oh, calendar server? I am using apache/2.2.4 with its webdav module.

If there is a reason why a plain apache is not enough for evolution as a backend (it is for Sunbird, KOrganizer and iCal), it is not mentioned in evolutions online help. I also noticed that the evolutions help page on caldav refers to the hula project, but the project seems to be gone (no one answers on http://www.hula-project.org/).

Revision history for this message
KraetziChriZ (christian.b) wrote :

Samer prboelm here.
Calender on Web via webdav is working (read only).
Calender via CalDav (webdav with read/write dont work.

:(

Revision history for this message
Pedro Villavicencio (pedro) wrote :

To be forwarded upstream by someone getting the problem.

Changed in evolution-caldav:
importance: Undecided → Low
Revision history for this message
gururise (gururise) wrote :

As far as I know, Evolution only allows read access on iCalendar over Webdav. Yeah, I know that really sucks!

I think CalDav is Read/Write, so you can collaborate; however, you need a CalDav server. Apache with mod_dav will not cut it! You can try the open source Really Simple CalDav Store and let us know if it works with evolution.

Revision history for this message
KraetziChriZ (christian.b) wrote :

the "Really Simple CalDav Store" is NOT "really simple, because it uses postgresql and isn't really easy to configure. That's no real solution.. :(

Revision history for this message
Pēteris Krišjānis (pecisk-gmail) wrote :

KraetziChriZ, RSCS is deadly easy, just follow installing instructions on their webpage (http://rscds.sourceforge.net/installation.php), actually you have to issue just few commands under user 'postgres' (this is how postgres authentification in command line works) and you are done. Also Postgresql on Ubuntu when installed is configured and all in fact you need is to change permissions in pg_hba.conf, which is kinda good, because you can't be careless about security. Keep in mind to add requested row in manual as first, because default is to deny any kind of access from local box without having local user.

But RSCDS didn't work with Evolution for last few versions. However, I came up with a fix after long and stubborn debbuging sessions, which is very easy one (if you are not afraid from fixing and compiling new e-d-s deb for you or want to enable it for other distro, follow here http://bugzilla.gnome.org/show_bug.cgi?id=514487). I will push it to be included in 2.22.

Testing RSCDS with fixed Evo, it is a bliss. True integration with rest of bunch - Thunderbird with Lightning, Sunbird, etc.

Keep in mind that what CalDAV server you use is important, because their support for various clients and technology differs heavily. Most of free software caldav clients won't work reliably with Apple Calendar Server, because it extensively uses their extentions, and so it is very fragile and verbose (It doesn't like time zone stuff time to time). Also for some reason only Basic auth works with it. RSCDS, however, works with Diggest without big problems, and you can enable SSL there too, as it uses Apache as HTTP engine.

Revision history for this message
Andrew Clunis (orospakr) wrote :

I've been trying to test Evolution (both in Gutsy and Hardy, they fail the same way) against Zimbra 5, and I've been having similar issues. I add the account (my server supports SSL or cleartext, and both fail the same way), and then I click on the checkbox for the calendar in the calendars list in order to enable it. Evolution asks me for the http password, and I enter it and click OK.l The box remains checked for a few moments, and then winks clear again.

It prints either:

(evolution:14059): calendar-gui-WARNING **: Unable to load the calendar Unknown error

or:

(evolution:14059): calendar-gui-WARNING **: Unable to load the calendar No such calendar

Thanks to Wireshark, I've been able to determine Evolution sends the following OPTIONS stanza:

OPTIONS /dav/orospakr/Calendar HTTP/1.1

Host: orospakr.ca:81

User-Agent: Evolution/2.21.91

And of course Zimbra replies with the predictable HTTP 401 message:

HTTP/1.1 401 must authenticate

Date: Fri, 29 Feb 2008 02:14:29 GMT

WWW-Authenticate: BASIC realm="Zimbra"

Content-Type: text/html; charset=iso-8859-1

Content-Length: 1419

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Error 401 </title>
</head>
<body><h2>HTTP ERROR: 401</h2><pre>must authenticate</pre>
<p>RequestURI=/service/dav/home/orospakr/Calendar</p><p><i><small><a href="http://jetty.mortbay.org/">Powered by Jetty://</a></small></i></p><br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>

</body>
</html>

However, Evolution does not attempt to acgtually log in, and just gives up immediately and clears the checkbox (and prints the aforementioned messages on the terminal).

Revision history for this message
Andrew Clunis (orospakr) wrote :

Argh, I apologize for all the typos in the proceeding message. I was rushing to avoid getting punted off by the coffee shop's captive portal timeout...

Revision history for this message
Christian Becker (c-becker-88) wrote :

CalDav Calendars work here with the "Realy Simple Caldav Store" which is now renamed to "DAViCAL Server" fine :)

Revision history for this message
Christian Becker (c-becker-88) wrote :

Its working with DAViCAL

Changed in evolution:
status: Incomplete → Invalid
Changed in evolution-caldav:
status: New → Invalid
Revision history for this message
Josh Davis (josh-orangeosprey) wrote :

I'm trying to connect to a CalDAV server that I don't control, so replacing it with "DAViCAL Server" is not a solution for me. The CalDAV support in Mozilla Sunbird works perfectly, so my workaround is to use that instead of Evolution calendar until this bug gets fixed. However, I would prefer not having to use a stand-alone calendar.

I'm not getting any error messages from Evolution. It just isn't showing my meetings, quietly acting as if my calendar is empty.

I tried running it from the console. When I disable and then enable the CalDAV calendar, I see this cryptic message:
=====
calendar-gui-Message: Check if default client matches (1209397652.7048.8@manatee 1209397652.7048.8@manatee)
=====

"manatee" is my computer's name.

Revision history for this message
umesh (umesh-bhandari) wrote :

Hi,
I am trying to integrate Thunderbird Lightning with Davical server.
But I am not able to publish any calender to Davical server and nor I am able to add any event from Lightning to calender on Davical server.

Please Help as soon as possible.

Revision history for this message
Michel Briand (michelbriand) wrote :

Hello,

I've upgraded to Ubuntu 8.10 to see if the problem could have disappear. NO :(.

I totally agree with the comment from Justin about the simple calendar server setup.

Personally I've set up a very simple solution with apache, mod_dav_fs and ssl.

It works very well with Korganizer and the Lightning extension to icedove / thunderbird.

Furthermore, I tested the file (-i) command on the .ics file. It returns text/plain.
So I suspected that evolution-data-server would have downloaded the file from https and ran the file command on it, having get that false result.

I fixed my /etc/magic file like this:

0 string/c BEGIN:VCALENDAR vCalendar calendar file
!:mime text/calendar

And I re-tested file (-i) on the .ics file. No problem. It reports "text/calendar".

But no change in Evolution. I took care of possible "cache" and removed the calendar from Evolution window, completely shutdown Evolution, and restarted it.

So, to conclude : no way to make Evolution work with a simple CalDAV solution.

What next ?

Revision history for this message
Michel Briand (michelbriand) wrote :

Please read in my previous post : "comment from Justus" (and not Justin).

Revision history for this message
Brunellus (luigi12081) wrote :

I can confirm that this is still an issue in current Intrepid. I misconfigured a CalDAV calendar, and now every time I try to delete it, evolution hangs, showing futex_wait in the System Monitor. What config file do I have to edit to remove the CalDAV calendar manually??

Revision history for this message
Pete Goodall (pgoodall) wrote :

You have to remove it from gconf (afaik).

- Exit evolution and run `evolution --force-shutdown` in a terminal.
- Then run `gconftool-2 --shutdown`
- If it is not already installed, install gconf-editor then start gconf-editor and go to /apps/evolution/ and click on "calendar".
- Edit the "sources" key and remove that calendar source. You will know which source to remove by either the entry with the base_uri of "caldav://".

Revision history for this message
Emanuel Greisen (ubuntu-emanuelgreisen) wrote :

Trying to connect to Google Calendar with CalDAV does not work either. Using Wireshark I found the following:

OPTIONS /<email address hidden>/private-b5a70461d8733f6d02feafa0ec0bce57/basic HTTP/1.1
Host: www.google.com
User-Agent: Evolution/2.24.3

And the server responds:

HTTP/1.1 501 Not Implemented
Content-Type: application/vnd.google.gdata.error+xml
Transfer-Encoding: chunked
Date: Sun, 22 Mar 2009 19:32:21 GMT
Expires: Sun, 22 Mar 2009 19:32:21 GMT
Cache-Control: private, max-age=0
X-Content-Type-Options: nosniff
Server: GFE/2.0

<errors xmlns='http://schemas.google.com/g/2005'>
<error>
<domain>GData</domain>
<code>NotImplementedException</code>
<internalReason>OPTIONS is not supported</internalReason>
</error>
</errors>

Now, why is this OPTIONS call so important? Could Evolution not just try it and if it does not work use GET to fetch the calendar?

Revision history for this message
Erik Lönroth (erik-lonroth) wrote :

I am running Ubuntu 8.10

I have a davical installation as follows:

erik@ubuntu0:/var/www$ dpkg-query -W davical
davical 0.9.6.2

I'm using Evolution on my laptop as follows:

erik@mambo:~$ dpkg-query -W evolution
evolution 2.24.3-0ubuntu1
erik@mambo:~$ dpkg-query -W libecal1.2-7
libecal1.2-7 2.24.3-0ubuntu1
erik@mambo:~$ dpkg-query -W libedata-cal1.2-6
libedata-cal1.2-6 2.24.3-0ubuntu1

I can add a calendar from the server belonging to my user and add records to it.

I can't however access other users calendars which I have setup as READ in davical. I dont know if this is a davical server problem or evolution problem.

Loggs from davical apache server:

[Tue Mar 31 19:33:13 2009] [error] [client 192.168.122.1] File does not exist: /usr/share/davical/htdocs/20090330T100952Z.ics
[Tue Mar 31 19:33:13 2009] [error] [client 192.168.122.1] File does not exist: /usr/share/davical/htdocs/20090330T210116Z.ics
[Tue Mar 31 19:49:18 2009] [error] [client 192.168.122.1] ubuntu0: DBG: Record usr write type is update., referer: http://192.168.122.230/usr.php?user_no=1002&edit=1
[Tue Mar 31 19:49:25 2009] [error] [client 192.168.122.1] ubuntu0: DBG: Record usr write type is update., referer: http://192.168.122.230/usr.php?user_no=1002&edit=1
[Tue Mar 31 19:49:35 2009] [error] [client 192.168.122.1] ubuntu0: DBG: Record usr write type is update., referer: http://192.168.122.230/usr.php?edit=1&user_no=1002&action=delete_relationship&from_user=1001
[Tue Mar 31 20:03:13 2009] [error] [client 192.168.122.1] File does not exist: /usr/share/davical/htdocs/20090330T100952Z.ics
[Tue Mar 31 20:03:13 2009] [error] [client 192.168.122.1] File does not exist: /usr/share/davical/htdocs/20090330T210116Z.ic

Errors from evolution:

erik@mambo:~$ fg
evolution

(evolution:23319): calendar-gui-WARNING **: Unable to load the calendar Unknown error

I can confirm that using my own calendar works but accessing other users calendars dont.

Revision history for this message
Erik Lönroth (erik-lonroth) wrote :

I can now confirm that I can add and view calendars from my own and other persons calendar.

My post above can be ignored. I had set the wrong permission in the davical server that prevented me from accessing the calendar.

Viewing other persons calendars are possible.

Revision history for this message
Martin Ueding (martin-ueding) wrote :

I have a problem with the Yahoo! Calendar over CalDAV:
Although I can read my appointments, for some reason I cannot save new or altered items. It just works for a couple seconds (I guess it is a timeout) and then just says "Unknown Error".

The Calendar is accessed over SSL.

In Thunderbird with Lightning plugin, I can write and alter items, so there has to be some sort of problem in Evolution then.

--

Ubuntu 10.04 Netbook on Asus Eee

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.