[Akonadi] [Bug 339634] Error 401 on event creation with CalDAV and Zimbra

Benjamin Girault benjamin.girault at nebux.org
Mon Oct 6 15:55:08 BST 2014


https://bugs.kde.org/show_bug.cgi?id=339634

--- Comment #6 from Benjamin Girault <benjamin.girault at nebux.org> ---
I turns out that the username is correctly added by KIO::StoredTransferJob.

I modified resources/dav/common/davutils.cpp, DavUtils::createDavItem to be
specific, to use the uid of the event instead of unique id created by
DavUtils::createUniqueId(), as expected by Zimbra. This modification made the
creation of the event possible (I can provide a patch if necessary, but it's
three simple lines of code).

However, I managed to solve the issue of the redirection. The actual bug seems
that KIO::StoredTransferJob correctly copy the username from the original url
to the redirected one, but not the password (at least, it is my understanding
of the bug). What I did is in the presence of a redirection (code 302 here), I
create a second DavItemCreateJob. Its result signal is connected to a new slot
that updates the variable mItem. I give the second job the same item (with the
new url), and the correct url (with username and password).

This solution is not perfect since it can infinitely redirect (contrary to
KIO::StoredTransferJob which has a hardcoded limit of 5 redirection before
failing), and at the moment, only the 302 HTTP code is handled (but other codes
are easy to handle I guess). Also, I'm not sure what happens if one of the
DavItemCreateJob fails...

-- 
You are receiving this mail because:
You are the assignee for the bug.



More information about the Kdepim-bugs mailing list