Evolution TalkTalk CalDAV Calendar Connection

I am trying to connect Evolution to a TalkTalk calendar via CalDAV on an Ubuntu laptop. I’ve already successfully connected Thunderbird Mail (which I’m trying to migrate away from) and an android device to the server address https://apps.talktalk.co.uk/caldav/[myfolderreference]. I cannot get Evolution to connect to the same address with the same credentials. The error I get is “Failed to get properties: HTTP error code 404 (Not Found)”. Can anyone help or advise how I should proceed?

Which Evolution version is this about?

Thanks Andre, the version data reads: 3.52.3-0ubuntu1.1

…I should add Ubuntu version 24.04.2 LTS

Hi,
the error says it, it’s trying to access some place, but it does not
exist. It was some PROPFIND call, it seems.

You can run the calendar factory with CalDAV debugging to see what it
is trying to do, like:

CALDAV_DEBUG=1 /usr/libexec/evolution-calendar-factory -w

(the actual path can differ in your system, you can check it with
ps ax | grep evolution-cal). Then run Evolution and repeat the
problem.

By the way, how did you configure the calendar, please? There are
multiple ways to do it, one is File->New->Calendar->choose CalDAV type,
paste the URL and confirm, or you can paste the URL and click “Find
Calendars”. You can also use File->New->Collection Account, where you
paste the URL of the CalDAV server and it’ll automatically add all
configured calendars, task lists, memo list and if also a CardDAV
interface is available in that place it can add also all address books
from that server. Not only it’ll add them, but if you make any change
in the calendar list on the server it’ll reflect it in Evolution (this
refresh is not done often, because it’s expensive, it is done on
machine start and then can be invoked from Evolution, but I do not
recall whether your version has it or not).

Bye,
Milan

Hi Milan, I’m struggling with this because I’m not an expert, but when I run ps ax | grep evolution-cal I don’t see any corresponding processes. I’ve checked and evolution-calendar-factory is present in /usr/libexec, but if I try to run it directly I get command not found. If I run with CALDAV_DEBUG=1, the terminal just hangs and I get no output even when I relaunch evolution and try to set up the calendar again.

(base) murray@ThinkPad-X1-Carbon:/usr/libexec$ ps ax | grep evolution-cal
12786 pts/0 S+ 0:00 grep --color=auto evolution-cal
(base) murray@ThinkPad-X1-Carbon:/usr/libexec$ ls -l | grep evolution-cal
-rwxr-xr-x 1 root root 117344 Feb 18 17:34 evolution-calendar-factory
-rwxr-xr-x 1 root root 137824 Feb 18 17:34 evolution-calendar-factory-subprocess
(base) murray@ThinkPad-X1-Carbon:/usr/libexec$ evolution-calendar-factory
evolution-calendar-factory: command not found

I’ve tried several ways to configure the calendar, including through an Collection Account, but I get an error in every case. I guess something is incorrectly configured or not compatible with the evolution-calendar-factory?

Any further comments are welcome.
Murray

Hi,
you that’s expected, the /usr/libexec is not in the PATH (and should
not be), you need to run it with the path. Basically just copy&paste
the command I provided (as you have it at the expected path).

Nonetheless, if you see the error also when configuring the account,
then it’ll make it much easier to debug, because you can simply run:

WEBDAV_DEBUG=1 evolution

and then File->New->Calendar->choose CalDAV type->paste the URL and set
user name->click on Find Calendars. That’s when the WebDAV debugging
will show up, as it tries to check what the server offers.

It tries on many places, thus the log will be possibly long, with
multiple failures. It still can contain private information, like your
credentials, thus be very careful what you share in public, please.

The calendar factory debugging is for already configured CalDAV
calendars.

Bye,
Milan

Hi, what you suggest below has generated the attached debug information, which I’m not qualified to interpret. I’ve taken out anything linked to credentials. Can you see anything in this that’s causing the problem? Thanks,

Murray

(Attachment Evolution CalDAV Debug Log 14052026-1442 is missing)

Sorry, the attachment was rejected. I’ve pasted the text below; apologies for the long email.

It seems it had been rejected too. Could you send the log to me,
please? Do link this conversation it in, thus I know what it belongs to
and that it’s not a spam. The address is mcrha (at) redhat [dot] com.

The log was received :wink:

It’s surprisingly pretty short, I expected a longer one, because when
searching for the calendars a plenty of things happen on the wire.

More surprising is that the server advertises on /.well-known/caldav
that the place to look at is https://apps.talktalk.co.uk/caldav/ and
when the code asks there about the actual calendars the server returns
“404 Not Found”, even some credentials had been passed there.

What’s odd is that the server returns Not Found also for the original
calendar URL. I see it’s using HTTP/2, but that should not be a
problem. I suppose you just copy&pasted the calendar URL from the
Thunderbird.

Yes, the log I sent was generated when I copied and pasted the CalDAV URL directly from the properties for my TalkTalk calendar when I’m logged in on their web interface. That’s the same URL I’ve used to sync with Samsung Calendar on Android, Thunderbird on Ubuntu and Outlook (via Outlook CalDAV Synchronizer plugin) on Windows. All other applications connected seamlessly first time with the correct credentials. Is there anything else I should try, or is there something I’m still missing? I would much prefer to migrate from Thunderbird to Evolution on Ubuntu if I can resolve the calendar issue.

It’s more that I’m missing it too. The server should not reject the
calendar URL as “Not Found”, when it works elsewhere.

The WebDAV collections (similar to directories) should end with a
forward slash when referenced in the URI. The CalDAV calendar backend
ensures that.

I do not think I can create a test account on their server, to check
the differences and what could be wrong. Would it be possible for you
to create a test user for me, please? Just that I could try to create
an event in the calendar (in their web interface, I suppose) and then
connect to the server with the CalDAV using Evolution.

Hi, I’ve created an address for you on the server and sent details directly to your address. Could you confirm the email hasn’t been spammed and you can access the calendar?

Murray

Thank you for the credentials (I agree to not expose them in public),
it had been received. You can delete the account now.

I see Thunderbird does the things the same as Evolution, thus it’s not
about the client doing anything wrong. That led me to this:

curl https://apps.talktalk.co.uk/caldav/$CALENDAR/ -X OPTIONS \
   --verbose --user "username:password"

ends with 404 Not Found error, while:

curl https://apps.talktalk.co.uk/caldav/$CALENDAR/ -X OPTIONS \
   --verbose --user "username:password" \
   --header 'User-Agent: Thunderbird'

returns expected data.

From that, the Talk Talk server rejects access based on the User-Agent
header. To make it work, you need to reach the server admins and ask
them to allow also Evolution.

Thanks for identifying the problem. If I’ve understood, the issue is with TalkTalk Servers and not Evolution. I’ll pick it up with them and hope they can correctly configure access.

Many thanks for your help with this,
Murray

Correct, they need to allow Evolution on their servers. Evolution
doesn’t do anything wrong.