[horde] [kronolith] CalDAV / Webdav/ICS after upgrade to 5.1.0 from 5.0.4

Klaus-Dieter Krannich kd at tu-cottbus.de
Tue Jun 25 19:27:21 UTC 2013


Zitat von Jan Schneider <jan at horde.org>:

> Don't top-post.
>
> Zitat von Nobody is Perfekt <news.listener at googlemail.com>:
>
>>
>> Am 12.06.2013 14:39, schrieb Jan Schneider:
>>>
>>> Zitat von Nobody is Perfekt <news.listener at googlemail.com>:
>>>
>>>> More Infos from Thunderbird/Lightning side.
>>>>
>>>> Sync / Read works but not change / publishing ...
>>>>
>>>>
>>>>
>>>> [calICSCalendar] Refreshing TESTCAL
>>>> ----------
>>>> [calFilterProperties] Applying filter:
>>>> start: 0
>>>> end: 0
>>>> status: 15
>>>> due: 15
>>>> category: null
>>>> ----------
>>>> [calICSCalendar] Loading ICS succeeded, needs further processing: true
>>>> ----------
>>>> [calICSCalendar] Parsing ICS succeeded for
>>>> http://horde.intranet.my-site.de/horde/rpc.php/kronolith/user/user.ics
>>>> ----------
>>>> [calFilterProperties] Applying filter:
>>>> start: 0
>>>> end: 0
>>>> status: 15
>>>> due: 15
>>>> category: null
>>>> ----------
>>>> [calICSCalendar] Refreshing TESTCAL
>>>> ----------
>>>> [calICSCalendar] Loading ICS succeeded, needs further processing: true
>>>> ----------
>>>> [calICSCalendar] Parsing ICS succeeded for
>>>> http://horde.intranet.my-site.de/horde/rpc.php/kronolith/user/user.ics
>>>> ----------
>>>> [calFilterProperties] Applying filter:
>>>> start: 0
>>>> end: 0
>>>> status: 15
>>>> due: 15
>>>> category: null
>>>> ----------
>>>> [calFilterProperties] Applying filter:
>>>> start: 0
>>>> end: 3
>>>> status: 7
>>>> due: 15
>>>> category: null
>>>> ----------
>>>> [calFilterProperties] Applying filter:
>>>> start: 0
>>>> end: 3
>>>> status: 7
>>>> due: 15
>>>> category: null
>>>> ----------
>>>> [calICSCalendar] Commencing write of ICS Calendar TESTCAL
>>>> ----------
>>>> [calICSCalendar] Writing ICS File
>>>> http://horde.intranet.my-site.de/horde/rpc.php/kronolith/user/user.ics
>>>> ----------
>>>> [calICSCalendar] channel.requestSucceeded: false
>>>> ----------
>>>> Warnung: Fehler beim Lesen von Daten für Kalender: TESTCAL.
>>>> Fehlercode: DAV_PUT_ERROR. Beschreibung: Publishing the calendar file
>>>> failed
>>>> Status code: 0
>>>>
>>>> ----------
>>>> Fehler: Beim Schreiben in den Kalender TESTCAL ist ein Fehler
>>>> aufgetreten! Fehlercode: MODIFICATION_FAILED. Beschreibung:
>>>> Quelldatei: resource://calendar/modules/calUtils.jsm ->
>>>> file:///C:/Users/user/AppData/Roaming/Thunderbird/Profiles/uocsfr81.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calCalendarManager.js
>>>>
>>>> Zeile: 976
>>>> ----------
>>>> [calICSCalendar] Refreshing TESTCAL (forced)
>>>> ----------
>>>> [calICSCalendar] Loading ICS succeeded, needs further processing: true
>>>> ----------
>>>> [calICSCalendar] Parsing ICS succeeded for
>>>> http://horde.intranet.my-site.de/horde/rpc.php/kronolith/user/user.ics
>>>> ----------
>>>> [calFilterProperties] Applying filter:
>>>> start: 0
>>>> end: 0
>>>> status: 15
>>>> due: 15
>>>> category: null
>>>
>>> Check the log files on the server.
>
>> tested with this script too ...
>>
>> #!/usr/bin/perl
>> use strict;
>> use warnings;
>> use Cal::DAV;
>> use Data::ICal;
>> use Data::Dumper;
>>
>> my $user = "user";
>> my $pass = "peterpicasteine";
>> my $url =
>>
>> "https://horde.intranet.my-site.de/horde/rpc.php/kronolith/user/user.ics";
>>
>> my $cal = Cal::DAV->new( user => $user, pass => $pass, url => $url );
>> print $cal->get;
>> print $cal->save;
>> print Dumper $cal;
>>
>> /var/log/horde.log
>>
>> 2013-06-12T15:27:19+02:00 WARN: HORDE [horde] PHP ERROR:  
>> stream_get_contents(): stream does not support seeking [pid 14175  
>> on line 249 of "/usr/share/pear/Horde/Stream.php"]
>> 2013-06-12T15:27:19+02:00 WARN: HORDE [horde] PHP ERROR:  
>> stream_get_contents(): Failed to seek to position 0 in the stream  
>> [pid 14175 on line 249 of "/usr/share/pear/Horde/Stream.php"]
>>
>>
>>
> Enable debug logging so that you can provide a backtrace of that  
> warning. The first entry is a pointer to something going wrong.

same problem, here is the backtrace

2013-06-24T15:18:38+02:00 WARN: HORDE [horde] PHP ERROR:  
stream_get_contents(): stream does not support seeking [pid 15635 on  
line 252 of "/data/pear/php/Horde/Stream.php"]
2013-06-24T15:18:38+02:00 DEBUG: HORDE  1.  
Horde_Rpc_Webdav->getResponse() /var/www/html/webmail/rpc.php:158
  2. Sabre\DAV\Server->exec() /data/pear/php/Horde/Rpc/Webdav.php:67
  3. Sabre\DAV\Server->invokeMethod() /data/pear/php/Sabre/DAV/Server.php:214
  4. call_user_func() /data/pear/php/Sabre/DAV/Server.php:474
  5. Sabre\DAV\Server->httpPut()
  6. Horde_Dav_File->put() /data/pear/php/Sabre/DAV/Server.php:883
  7. strval() /data/pear/php/Horde/Dav/File.php:120
  8. Horde_Stream->__toString()
  9. Horde_Stream->getString() /data/pear/php/Horde/Stream.php:69
10. stream_get_contents() /data/pear/php/Horde/Stream.php:252
11. Horde_ErrorHandler::errorHandler()

2013-06-24T15:18:38+02:00 WARN: HORDE [horde] PHP ERROR:  
stream_get_contents(): Failed to seek to position 0 in the stream [pid  
15635 on line 252 of "/data/pear/php/Horde/Stream.php"]
2013-06-24T15:18:38+02:00 DEBUG: HORDE  1.  
Horde_Rpc_Webdav->getResponse() /var/www/html/webmail/rpc.php:158
  2. Sabre\DAV\Server->exec() /data/pear/php/Horde/Rpc/Webdav.php:67
  3. Sabre\DAV\Server->invokeMethod() /data/pear/php/Sabre/DAV/Server.php:214
  4. call_user_func() /data/pear/php/Sabre/DAV/Server.php:474
  5. Sabre\DAV\Server->httpPut()
  6. Horde_Dav_File->put() /data/pear/php/Sabre/DAV/Server.php:883
  7. strval() /data/pear/php/Horde/Dav/File.php:120
  8. Horde_Stream->__toString()
  9. Horde_Stream->getString() /data/pear/php/Horde/Stream.php:69
10. stream_get_contents() /data/pear/php/Horde/Stream.php:252
11. Horde_ErrorHandler::errorHandler()

2013-06-24T15:18:38+02:00 DEBUG: HORDE [horde] PHP ERROR: Method  
Horde_Stream_Existing::__toString() must return a string value [pid  
15635 on line 120 of "/data/pear/php/Horde/Dav/File.php"]
2013-06-24T15:18:38+02:00 DEBUG: HORDE 1.  
Horde_Rpc_Webdav->getResponse() /var/www/html/webmail/rpc.php:158
2. Sabre\DAV\Server->exec() /data/pear/php/Horde/Rpc/Webdav.php:67
3. Sabre\DAV\Server->invokeMethod() /data/pear/php/Sabre/DAV/Server.php:214
4. call_user_func() /data/pear/php/Sabre/DAV/Server.php:474
5. Sabre\DAV\Server->httpPut()
6. Horde_Dav_File->put() /data/pear/php/Sabre/DAV/Server.php:883
7. strval() /data/pear/php/Horde/Dav/File.php:120
8. Horde_ErrorHandler::errorHandler()

The stream is php://input.
Quoting from the php docs: "A stream opened with php://input can only  
be read once; the stream does not support seek operations".
A simple workaround: replace line 120 in Horde/Dav/File.php by  
"stream_get_contents($data),"

   K-D

-- 
  Klaus-Dieter Krannich                                        kd at tu-cottbus.de
  BTU Cottbus, Brandenburg, Germany,         Walther-Pauer-Str.2, 03046 Cottbus
  Tel: 0355-693733
  Fax: 0355-692421
  http://wwwca.telesec.de/cgi-bin/caservice/Common/InstallRoot/DT-Root-CA-2.der



More information about the horde mailing list