Bug 360097 - Getting 401 error when synchronizing Baikal resource after upgrading to baikal 0.3.5
Summary: Getting 401 error when synchronizing Baikal resource after upgrading to baika...
Status: RESOLVED WORKSFORME
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: DAV Resource (show other bugs)
Version: unspecified
Platform: Arch Linux Linux
: NOR major
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-03-04 23:41 UTC by martchus
Modified: 2016-03-23 17:06 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description martchus 2016-03-04 23:41:23 UTC
My basic Baikal setup seems to work. I'm able to use the web interface and to synchronize from Android using the DavDroid app and from Thunderbird using SOGO and Lightning.

As the summary already says, I'm unable to synchronize with Akonadi using the latest release of Baikal (0.3.5). However, with the previous version of Baikal (0.2.7) everything worked fine. I didn't test the 0.3.x Baikal versions before 0.3.5. I'm always getting a 401 error when synchronizing.

As you can see from the log I supplied under additional information Akonadi never tries to send the password, so it is no wonder that always 401 is returned.

Reproducible: Always

Steps to Reproduce:
1. Create a new CardDAV or CalDAV resource using the manual setup.
2. Enter credentials and server URL.
3. Checking out the collections from the server.

Actual Results:  
An error message is shown (HTTP error 401).

Expected Results:  
Calendar/address book is shown and can be added.

My config:
- Baikal 0.3.5, nginx-custom 1.8.1 from the AUR
- Akonadi version: 15.12.2 and 15.12.1 from the official Arch Linux repository (Both produce the same error.)
- tested protocols: HTTP, HTTPS (Both produce the same error.)
- tested authentication methods: Basic, Digest (Both produce the same error.)
But as already mentioned, my Baikal setup works with other clients.

Here's the traffic captured with Wireshark (I removed SSIDs):
PROPFIND /baikal/cal.php/ HTTP/1.1
Host: martchus.no-ip.biz
Connection: keep-alive
User-Agent: Mozilla/5.0 (X11; Linux x86_64) KHTML/5.19.0 (like Gecko) Konqueror/5.19
Pragma: no-cache
Cache-control: no-cache
Accept: text/html, text/*;q=0.9, image/jpeg;q=0.9, image/png;q=0.9, image/*;q=0.9, */*;q=0.8
Accept-Encoding: gzip, deflate, x-gzip, x-deflate
Accept-Charset: utf-8,*;q=0.5
Accept-Language: de-DE,en;q=0.9
Content-Type: text/xml
Depth: 0
Content-Length: 239

<?xml version="1.0" encoding="utf-8"?>
<propfind xmlns="DAV:">
 <prop xmlns="DAV:">
  <calendar-home-set xmlns="urn:ietf:params:xml:ns:caldav"/>
  <current-user-principal xmlns="DAV:"/>
  <principal-URL xmlns="DAV:"/>
 </prop>
</propfind>

HTTP/1.1 401 Unauthorized
Server: nginx
Date: Fri, 04 Mar 2016 21:16:17 GMT
Content-Type: application/xml; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.0.3
Set-Cookie: PHPSESSID=---; path=/; HttpOnly
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
WWW-Authenticate: Digest realm="BaikalDAV",qop="auth",nonce="56d9fb21ed880",opaque="d66d5f0524036afcb61420e358f990ce"

# another request

PROPFIND /baikal/cal.php/ HTTP/1.1
Host: martchus.no-ip.biz
Connection: keep-alive
User-Agent: Mozilla/5.0 (X11; Linux x86_64) KHTML/5.19.0 (like Gecko) Konqueror/5.19
Pragma: no-cache
Cache-control: no-cache
Accept: text/html, text/*;q=0.9, image/jpeg;q=0.9, image/png;q=0.9, image/*;q=0.9, */*;q=0.8
Accept-Encoding: gzip, deflate, x-gzip, x-deflate
Accept-Charset: utf-8,*;q=0.5
Accept-Language: de-DE,en;q=0.9
Content-Type: text/xml
Depth: 0
Content-Length: 239

<?xml version="1.0" encoding="utf-8"?>
<propfind xmlns="DAV:">
 <prop xmlns="DAV:">
  <calendar-home-set xmlns="urn:ietf:params:xml:ns:caldav"/>
  <current-user-principal xmlns="DAV:"/>
  <principal-URL xmlns="DAV:"/>
 </prop>
</propfind>

HTTP/1.1 401 Unauthorized
Server: nginx
Date: Fri, 04 Mar 2016 21:16:20 GMT
Content-Type: application/xml; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.0.3
Set-Cookie: PHPSESSID=---; path=/; HttpOnly
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
WWW-Authenticate: Digest realm="BaikalDAV",qop="auth",nonce="56d9fb244485e",opaque="d66d5f0524036afcb61420e358f990ce"

# yet another request

PROPFIND /baikal/cal.php/ HTTP/1.1
Host: martchus.no-ip.biz
Connection: keep-alive
User-Agent: Mozilla/5.0 (X11; Linux x86_64) KHTML/5.19.0 (like Gecko) Konqueror/5.19
Pragma: no-cache
Cache-control: no-cache
Accept: text/html, text/*;q=0.9, image/jpeg;q=0.9, image/png;q=0.9, image/*;q=0.9, */*;q=0.8
Accept-Encoding: gzip, deflate, x-gzip, x-deflate
Accept-Charset: utf-8,*;q=0.5
Accept-Language: de-DE,en;q=0.9
Content-Type: text/xml
Depth: 1
Content-Length: 392

<?xml version="1.0" encoding="utf-8"?>
<propfind xmlns="DAV:">
 <prop xmlns="DAV:">
  <displayname xmlns="DAV:"/>
  <resourcetype xmlns="DAV:"/>
  <calendar-color xmlns="http://apple.com/ns/ical/"/>
  <supported-calendar-component-set xmlns="urn:ietf:params:xml:ns:caldav"/>
  <current-user-privilege-set xmlns="DAV:"/>
  <getctag xmlns="http://calendarserver.org/ns/"/>
 </prop>
</propfind>

HTTP/1.1 401 Unauthorized
Server: nginx
Date: Fri, 04 Mar 2016 21:16:20 GMT
Content-Type: application/xml; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.0.3
Set-Cookie: PHPSESSID=---; path=/; HttpOnly
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
WWW-Authenticate: Digest realm="BaikalDAV",qop="auth",nonce="56d9fb24544c7",opaque="d66d5f0524036afcb61420e358f990ce"

# the problem also occurs when using basic auth:

PROPFIND /baikal/cal.php/ HTTP/1.1
Host: martchus.no-ip.biz
Connection: keep-alive
User-Agent: Mozilla/5.0 (X11; Linux x86_64) KHTML/5.19.0 (like Gecko) Konqueror/5.19
Pragma: no-cache
Cache-control: no-cache
Accept: text/html, text/*;q=0.9, image/jpeg;q=0.9, image/png;q=0.9, image/*;q=0.9, */*;q=0.8
Accept-Encoding: gzip, deflate, x-gzip, x-deflate
Accept-Charset: utf-8,*;q=0.5
Accept-Language: de-DE,en;q=0.9
Content-Type: text/xml
Depth: 1
Content-Length: 392

<?xml version="1.0" encoding="utf-8"?>
<propfind xmlns="DAV:">
 <prop xmlns="DAV:">
  <displayname xmlns="DAV:"/>
  <resourcetype xmlns="DAV:"/>
  <calendar-color xmlns="http://apple.com/ns/ical/"/>
  <supported-calendar-component-set xmlns="urn:ietf:params:xml:ns:caldav"/>
  <current-user-privilege-set xmlns="DAV:"/>
  <getctag xmlns="http://calendarserver.org/ns/"/>
 </prop>
</propfind>

HTTP/1.1 401 Unauthorized
Server: nginx
Date: Fri, 04 Mar 2016 21:57:30 GMT
Content-Type: application/xml; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.0.3
Set-Cookie: PHPSESSID=---; path=/; HttpOnly
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
WWW-Authenticate: Basic realm="sabre/dav"
Comment 1 martchus 2016-03-23 17:06:52 UTC
I can not reproduce the issue anymore. I changed nothing but it seems to work again.