Olson short name used for UTC, leading to Etc/UTC error
Hi, thank you warmly for your work on Davical, which is a great piece of software.
I get the following warning when synchronizing my calendar from my phone:
PHP message: davical: ***: ERROR:Could not recognize timezone "Etc/UTC" - will use floating time" while reading response header from upstream, client: myclientIP, server: caldav.myserver.net, request: "REPORT /caldav.php/my.user/calendar/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/davical.sock:", host: "caldav.myserver.net"
IIUC, Davical throws an error when processing an event that is defined to be using the "Etc/UTC" timezone, which indeed several events in the collection seem to be doing, e.g.
BEGIN:VEVENT DTSTAMP:20190924T124511Z UID:21120061-9a5f-58f4-fd8a-b99bfd7d84b6 SEQUENCE:1 SUMMARY:<redacted> LOCATION:<redacted> DESCRIPTION:<redacted> DTSTART;TZID=Etc/UTC:20190926T181500 DTEND;TZID=Etc/UTC:20190926T201500 URL:<redacted> END:VEVENT
The ics file generated by downloading the collection from the Davical admin UI contains the definitions for three timezones (
BEGIN:VTIMEZONE TZID:Etc/UTC TZURL:http://tzurl.org/zoneinfo/Etc/UTC X-LIC-LOCATION:Etc/UTC BEGIN:STANDARD TZOFFSETFROM:+0000 TZOFFSETTO:+0000 TZNAME:UTC DTSTART:16010101T000000 RDATE:16010101T000000 END:STANDARD END:VTIMEZONE
I believe this is because in the
inc/vtimezone.php file, only the short name for UTC is used (
UTC), whereas the official IANA long name is
Etc/UTC, and calendaring application usually use IANA long names for the
TZID property. I unfortunately do not have the time to propose a patch myself rn, but will happily provide any additional information needed to fix this.