|
From: Antoin V. <da...@an...> - 2016-04-26 12:03:11
|
Op 26 apr. 2016, om 11:53 heeft Florian Schlichting <fs...@de...> het volgende geschreven:
> no, but there is an early_exception_handler() in htdocs/always.php,
> which outputs stuff with echo, catches exceptions and is set with
> set_exception_handler(). It might be worth examining whether that is run
> and where the output ends up.
I only see it in the beginning of caldav.php: require_once('./always.php’);
The good question is, where should it show up?
> I also noticed that Tim Gouma wrote an email to this list on 2016-04-05
> (see https://sourceforge.net/p/davical/mailman/message/34993914/), where
> he sees a 403 CalDAVAccountRefreshQueueableOperation error on the OS X
> Calendar app using plain Jessie (DAViCal 1.1.3.1-1, no PHP 7), so the OS
> X part of the problem may be unrelated to the PHP version.
No, it’s not an OS X issue. It’s more like issue #9.
It also occurs exactly the same with my iPad (IOS), Android phone (caldav-sync), and android tab (davdroid).
I can try with lightning on ubuntu as well, but I expect the same error.
The logging always ends just before the xml_parser is called.
I made these debugging markers in /usr/share/davical/inc/CalDAVRequest.php:
dbg_error_log( "LOG ", "******************** CalDAVRequest.php line 550 ********************" );
/**
* If the content we are receiving is XML then we parse it here. RFC2518 says we
* should reasonably expect to see either text/xml or application/xml
*/
if ( isset($this->content_type) && preg_match( '#(application|text)/xml#', $this->content_type ) ) {
dbg_error_log( "LOG ", "******************** CalDAVRequest.php line 555 ********************" );
if ( !isset($this->raw_post) || $this->raw_post == '' ) {
$this->XMLResponse( 400, new XMLElement( 'error', new XMLElement('missing-xml'), array( 'xmlns' => 'DAV:') ) );
dbg_error_log( "LOG ", "******************** CalDAVRequest.php line 560 ********************" );
}
dbg_error_log( "LOG ", "******************** CalDAVRequest.php line 562 ********************" );
$xml_parser = xml_parser_create_ns('UTF-8');
$this->xml_tags = array();
dbg_error_log( "LOG ", "******************** CalDAVRequest.php line 564 ********************" );
And these are always the last log lines with any client:
[Tue Apr 26 13:43:39.845077 2016] [:error] [pid 21053] [client 192.168.0.1:57927] davical: ALL: caldav:Full permissions for user accessing their own hierarchy
[Tue Apr 26 13:43:39.845300 2016] [:error] [pid 21053] [client 192.168.0.1:57927] davical: LOG: :******************** CalDAVRequest.php line 550 ********************
[Tue Apr 26 13:43:39.845387 2016] [:error] [pid 21053] [client 192.168.0.1:57927] davical: LOG: :******************** CalDAVRequest.php line 555 ********************
[Tue Apr 26 13:43:39.845458 2016] [:error] [pid 21053] [client 192.168.0.1:57927] davical: LOG: :******************** CalDAVRequest.php line 562 ********************
So it never reaches line 564, meaning the xml_parser is the culprit.
I have also tried with a complete new database set up in postgresql 9.5 (the default in Xenial) with only one test user added.
So you can probably reproduce this setting up a fresh Xenial install, using apache2 (2.4.18) with mod_php7.0 enabled, postgresql 9.5.2 and php7.0.4.
Should I report an issue for this? (I don’t have a gitlab account yet).
grtz,
Antoin.
- --
Antoin Verschuren
Tweevoren 6, 5672 SB Nuenen, NL
M: +31 6 37682392
|