Hi all,
I'm fighting with this stuff for over a week now and I have just about lost the will to live - there has to be something about my config but I have no idea what, and frankly it's a bit strange anyway: I managed to get both caldav and carddav running - but only in Chrome. So, here's the long version...
- as mentioned earlier, I'm running a Baikal 0.2.4 server on top of Apache 2.2.22 with PHP 5.3.21 on a WinXP SP2 box. The Baikal folder sits inside the Apache htdocs folder, and is designated as "document root" (so "/" = "/htdocs/baikal"). The files of CalDavZap and CardDavMate are each sitting in their own "caldav" and "carddav" folders inside /htdocs/baikal/ respectively (I've briefly tried playing with other setups using virtual hosts, but even though those did work fine both with my phone and the [1] PHP test tool, I could never get either CalDavZap or CardDavMate to even authenticate so I dropped that - no virtual hosts are configured currently - that is not the issue at hand). - all this is running locally on the same Windows box I'm testing it from, currently designated as "dav.home.lan"; the port in use is the standard 80; the clients are accessed as "dav.home.lan/carddav/" and "dav.home.lan/caldav/"; the Baikal scripts are (as per default) "card.php" and "cal.php". - the browsers tested were Chrome 26.0.1410.12 beta-m and Firefox 18.0.2 - between each test and the next browsers had their caches cleared, Apache was restarted. - considering it isn't quite clear whether the Baikal URIs are supposed to end in "calendars" / "addressbooks" or "principals", I've tried both ways - neither was a complete success. Results were as follows (for brevity, accesses to inf-it are not listed):
- Carddav, href: 'http://dav.home.lan/card.php/principals/' : Chrome works fine, Firefox apparently logs into an "empty session" (looks normal but all data is missing, there is no account logged in) - in fact, the exchange is:
PROPFIND http://myuser:mypass@dav.home.lan/card.php/principals/ with reply 401 PROPFIND http://myuser:mypass@dav.home.lan/card.php/principals/ with reply 207 PROPFIND http://myuser:mypass@dav.home.lan/card.php/principals/myuser/ with reply 207 PROPFIND http://myuser:mypass@dav.home.lan/card.php/addressbooks/myuser/ with reply 401 ...I suppose Firefox is expected here to retry with a digest auth to the rejected basic one (as it did at line 2 after line 1), but it never does.
- Carddav, href: 'http://dav.home.lan/card.php/addressbooks/' : Chrome works fine, Firefox works fine - this time, the exchange is:
PROPFIND http://myuser:mypass@dav.home.lan/card.php/addressbooks/ with reply 401 PROPFIND http://myuser:mypass@dav.home.lan/card.php/addressbooks/ with reply 207 PROPFIND http://myuser:mypass@dav.home.lan/card.php/addressbooks/myuser/ with reply 207 PROPFIND http://myuser:mypass@dav.home.lan/card.php/addressbooks/myuser/ with reply 207 REPORT http://myuser:mypass@dav.home.lan/card.php/addressbooks/myuser/default/ with reply 403 PROPFIND http://myuser:mypass@dav.home.lan/card.php/addressbooks/myuser/default/ with reply 207 REPORT http://myuser:mypass@dav.home.lan/card.php/addressbooks/myuser/default/ with reply 207 etc...
- Caldav, href: 'http://dav.home.lan/cal.php/principals/' : Chrome works fine, Firefox fails to log in (comes back to login prompt) then if login button is pressed again, appears to log in to an "empty session" (looks normal but all data is missing, there is no account logged in) - the exchange is:
PROPFIND http://myuser:mypass@dav.home.lan/cal.php/principals/ with reply 401 (...nothing happens then I press "login" again...) GET http://dav.home.lan/caldav/cache.manifest with reply 200 GET http://dav.home.lan/caldav/ with reply none (not modified) GET http://dav.home.lan/caldav/cache.manifest with reply 200 PROPFIND http://myuser:mypass@dav.home.lan/cal.php/principals/ with reply 401 PROPFIND http://myuser:mypass@dav.home.lan/cal.php/principals/ with reply 207 PROPFIND http://myuser:mypass@dav.home.lan/cal.php/principals/myuser/ with reply 207 PROPFIND http://myuser:mypass@dav.home.lan/cal.php/principals/myuser/ with reply 207 PROPFIND http://myuser:mypass@dav.home.lan/cal.php/calendars/myuser/ with reply 401 ...then nothing happens - no digest auth retry. In the error console there are two errors for the two attempts: Error: [netCheckAndCreateConfiguration: 'http://dav.home.lan/cal.php/principals/'] code: '401' (from webdav_protocol.js 138) Error: [CalDAVnetLoadABResource: 'http://myuser@dav.home.lan'] code: '401' (from webdav_protocol.js 1040)
- Caldav, href: 'http://dav.home.lan/cal.php/calendars/' : Chrome gets stuck with "Loading Resource List"...
PROPFIND dav.home.lan/cal.php/calendars/ with reply 401 PROPFIND dav.home.lan/cal.php/calendars/ with reply 207 PROPFIND dav.home.lan/cal.php/calendars/myuser/ with reply 401 PROPFIND dav.home.lan/cal.php/calendars/myuser/ with reply 401 PROPFIND dav.home.lan/cal.php/calendars/myuser/ with reply 207 PROPFIND dav.home.lan/cal.php/calendars/myuser/ with reply 207 PROPFIND dav.home.lan/ with reply 200 ...which can't be right: without either "cal.php" or "card.php" in the path, all that's returned is "Baikal is running OK" and I'm pretty sure caldavzap can't process that. The error console shows nothing.
...while Firefox gets stuck exactly the same way, at exactly the same spot (no errors in the console):
PROPFIND http://myuser:mypass@dav.home.lan/cal.php/calendars/ with reply 401 PROPFIND http://myuser:mypass@dav.home.lan/cal.php/calendars/ with reply 207 PROPFIND http://myuser:mypass@dav.home.lan/cal.php/calendars/myuser/ with reply 207 PROPFIND http://myuser:mypass@dav.home.lan/cal.php/calendars/myuser/ with reply 207 PROPFIND http://myuser:mypass@dav.home.lan/ with reply 200
On all tries the only href variable set was "globalNetworkCheckSettings"; "globalUseJqueryAuth" was set to true; "crossDomain" was set to null, reported always as "false". Disabling all add-ons in Firefox made no difference. The problem is I normally use Firefox, not Chrome, and anyway, this is bizarre. Any idea what the heck is going on here...? If any further specific log details are needed, please let me know.
Best regards and sorry for the "wall of text", - Attila