[horde] CalDAV access slow?

Guenter Bartsch guenter.bartsch at gmail.com
Sat Mar 8 11:35:07 UTC 2014


ok, I have traced and debugged this one a fair bit (still testing
using cadaver, not thunderbird btw) - boils down to horde's attempt to
download timezone data via FTP which our firewall doesn't allow so it
will run into a 1-minute timeout for every appointment object it
touches:

#0 /var/www/horde/pear/php/Horde/Vfs/Ftp.php(159): Horde_Vfs_Ftp->_connect()#012
#1 /var/www/horde/pear/php/Horde/Timezone.php(192):
Horde_Vfs_Ftp->readFile('/tz', 'tzdata-latest.t...')#012
#2 /var/www/horde/pear/php/Horde/Timezone.php(218):
Horde_Timezone->_download()#012
#3 /var/www/horde/pear/php/Horde/Timezone.php(126):
Horde_Timezone->_extractAndParse()#012
#4 /var/www/horde/kronolith/lib/Event.php(675):
Horde_Timezone->getZone('Europe/Berlin')#012
#5 /var/www/horde/kronolith/lib/Application.php(770):
Kronolith_Event->toiCalendar(Object(Horde_Icalendar))#012
#6 [internal function]:
Kronolith_Application->davGetObject('calendar:doJUPv...',
'5ee9ecbf-a74c-4...')#012

this lead to a 'Connection to FTP server failed.' horde exception
which unfortunately is _not_ reported but just ignored. hence I
suggest at least generating some kind of error output here - my first
very crude implementation:

[horde at post horde]$ diff -u kronolith/lib/Event.php.1 kronolith/lib/Event.php
--- kronolith/lib/Event.php.1 2014-03-08 12:27:39.601422428 +0100
+++ kronolith/lib/Event.php 2014-03-08 12:30:01.487229689 +0100
@@ -631,7 +631,6 @@
      */
     public function toiCalendar($calendar)
     {
-
         $vEvent = Horde_Icalendar::newComponent('vevent', $calendar);
         $v1 = $calendar->getAttribute('VERSION') == '1.0';
         $vEvents = array();
@@ -667,6 +666,9 @@
                     $vEvents[] = $tz->getZone($this->timezone)->toVtimezone();
                     $params['TZID'] = $this->timezone;
                 } catch (Horde_Exception $e) {
+                    $logger =
$GLOBALS['injector']->getInstance('Horde_Log_Logger');
+                    $logger->info('kronolith/lib/app toiCalendar()
exception: ' . $e->getMessage());
+                    $logger->info('kronolith/lib/app toiCalendar()
exception stack: ' . $e->getTraceAsString());
                 }
             }

anyway, I have allowed outgoing FTP on our firewall now which speeds
caldav up significantly, as expected. however, timezone update still
seems to fail:

Mar  8 12:30:04 post HORDE: [kronolith] kronolith/lib/app
toiCalendar() exception: Unable to open VFS file
"/tz/tzdata-latest.tar.gz". [pid 18279 on line 770 of
"/var/www/horde/kronolith/lib/Application.php"]

can anybody shed some light on this? how do horde's timezone updates
work, is there anything I need to configure here?

thanks,

   guenter


More information about the horde mailing list