GNOME Bugzilla – Bug 627713
Address book URL drops port #
Last modified: 2014-02-10 14:07:19 UTC
If I enter a WebDAV Address book like "http://127.0.0.1:8080/dav/Favorites/Contacts/" as soon as I click OK it becomes "http://127.0.0.1/dav/Favorites/Contacts/". The port # is dropped from the URL
openSUSE 64-bit evolution-2.30.1.2-3.9.x86_64
The same bug. Ubuntu Desktop 10.10 32-bit. Evolution 2.30.3 (included in Ubuntu).
The same bug. PC-BSD 8.1 32-bit. Evolution 2.30.3.
*** Bug 639429 has been marked as a duplicate of this bug. ***
Created attachment 178397 [details] [review] patch for the UI bug In bug 639429 that I reported and that was marked as duplicate of this bug, I reported two slightly different issues that conjugate together to create this bug. First, in this report there is some step to reproduce the bug, and, from what I understand, it is really a logic bug that should be easily reproducible by any evolution developer (thus this bug could be confirmed), at least with evolution 2.30.3 I have found the source of one of this issue: it is the line plugins/webdav-account-setup/webdav-contacts-source.c:127 of function set_ui_from_source. The line is: soup_uri_set_scheme (suri, use_ssl ? "https" : "http"); Even though use_ssl is set from the scheme of the source uri in set_source_from_ui the use_ssl propertys, somewhere else the scheme is set to "webdav", hence the need for this line. But, the soup_uri_set_scheme (as documented here : http://library.gnome.org/devel/libsoup/2.29/libsoup-24-SoupURI.html#soup-uri-set-scheme ) will also set the port number of the SoupURI object and not only the scheme. Thus it delete the port given by the user. The attached patch fix this issue (that is the UI glitch). But the overall bug remains (as expected). I believe that the soup_uri_set_scheme is called elsewhere with the same effect, but I did not find, yet, from where.
Created attachment 178400 [details] [review] patch for the logic bug Well, I just forgot to look into evolution-data-server... I am attaching a patch which (together with the previous one) completely resolve this issue. Using the same technique than in the above patch which fixed the UI bug. This patch goes in evolution-data-server, but I think that it is best put in this bug report. A cleaner solution would be to have a function like soup_uri_set_scheme_keep_port in libsoup or it would be to not mess with the SoupURI scheme as is done currently within evolution. But still, accessing to webdav contact on a non-standard port now works. As a bonus, my patch also fix a bug which prevented webdav to work altogether on http (as opposed to https). The bug which can be closed are (at least, after a quick check) : bug 610572, bug 639508 and also bug 639469 (but it has been fixed two days ago, and its fix fixes my "bonus" bug).
Review of attachment 178400 [details] [review]: A better port issue in the webdav backend seems to have already been applied, and the https-only issue was (as you point out) fixed a couple of days ago.
Review of attachment 178397 [details] [review]: Something having the same effect as this patch appears to have already been applied to HEAD.
Cannot reproduce anymore in evolution 3.6.2
This no longer occurs in Evolution.