After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 692149 - libsoup-2.41.4 breaks e-d-s
libsoup-2.41.4 breaks e-d-s
Status: RESOLVED FIXED
Product: libsoup
Classification: Core
Component: HTTP Transport
2.41.x
Other Linux
: Normal normal
: ---
Assigned To: libsoup-maint@gnome.bugs
libsoup-maint@gnome.bugs
Depends on:
Blocks:
 
 
Reported: 2013-01-20 21:22 UTC by marijus
Modified: 2013-01-21 18:43 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description marijus 2013-01-20 21:22:05 UTC
since the update to libsoup-2.41.4 e-d-s cant connect to caldav server anymore. e-d-s complains that the password is not correct. i did a git bisect on libsoup and found out that this commit is the culprit:
http://git.gnome.org/browse/libsoup/commit/?id=38901ca5e684a8fac75e6ff740d45c82dd44181a
Comment 1 Dan Winship 2013-01-21 15:56:45 UTC
meh. evolution is probably doing something vaguely wrongish here, but
presumably other code might be doing the same thing, so I've reverted
the change. Thanks for bisecting it.
Comment 2 Milan Crha 2013-01-21 17:37:27 UTC
Hmm, I thought CalDAV [1] itself does something wrong here, but it even doesn't read the password from the URL, thus it might be something else probably (some other part of evolution). Or, the URL as is constructed. If you write the empty password into URL when converting SoupURI into a string, and the libsoup later doesn't ask for a user password, because it thinks it's part of the URL already, then maybe it's it?
Comment 4 Dan Winship 2013-01-21 17:56:47 UTC
Yeah, i couldn't figure out where uri->password was getting read from...

But I think I figured out what's happening; evolution is requesting a URL something like "http://username@example.com/my/calendar/", and in the old libsoup, since there was no password specified, libsoup would ignore the username, and so when it got a 401, it would immediately emit authenticate. But with 2.41.4, that URL got parsed as having a password of "", and so libsoup would try to authenticate using that password first, and fail, and then emit authenticate with retrying=TRUE, which made evo think the saved password had failed.

Something like that anyway.
Comment 5 Milan Crha 2013-01-21 18:43:10 UTC
I agree. I was aiming in the same scenario too.