diff options
author | Milan Crha <mcrha@redhat.com> | 2012-10-16 01:09:58 +0800 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2012-10-16 01:09:58 +0800 |
commit | b3e0c3c1dc1c777143cea9ad55d21c544c9b5e67 (patch) | |
tree | dfad105c18ac678d4d2dd1908fd93b43df7bf314 /modules | |
parent | b2f37bb1e10e6aff19843489fded9a136377a70a (diff) | |
download | gsoc2013-evolution-b3e0c3c1dc1c777143cea9ad55d21c544c9b5e67.tar gsoc2013-evolution-b3e0c3c1dc1c777143cea9ad55d21c544c9b5e67.tar.gz gsoc2013-evolution-b3e0c3c1dc1c777143cea9ad55d21c544c9b5e67.tar.bz2 gsoc2013-evolution-b3e0c3c1dc1c777143cea9ad55d21c544c9b5e67.tar.lz gsoc2013-evolution-b3e0c3c1dc1c777143cea9ad55d21c544c9b5e67.tar.xz gsoc2013-evolution-b3e0c3c1dc1c777143cea9ad55d21c544c9b5e67.tar.zst gsoc2013-evolution-b3e0c3c1dc1c777143cea9ad55d21c544c9b5e67.zip |
Bug #663844 - [CalDAV] calendar-home-set/href may contain full URI
Diffstat (limited to 'modules')
-rw-r--r-- | modules/cal-config-caldav/e-caldav-chooser.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/modules/cal-config-caldav/e-caldav-chooser.c b/modules/cal-config-caldav/e-caldav-chooser.c index fa5c9b7fc1..b4c51a94bc 100644 --- a/modules/cal-config-caldav/e-caldav-chooser.c +++ b/modules/cal-config-caldav/e-caldav-chooser.c @@ -99,7 +99,7 @@ static void e_caldav_chooser_authenticator_init static void caldav_chooser_get_collection_details (SoupSession *session, SoupMessage *message, - const gchar *path, + const gchar *path_or_uri, GSimpleAsyncResult *simple); G_DEFINE_DYNAMIC_TYPE_EXTENDED ( @@ -884,13 +884,25 @@ exit: static void caldav_chooser_get_collection_details (SoupSession *session, SoupMessage *message, - const gchar *path, + const gchar *path_or_uri, GSimpleAsyncResult *simple) { SoupURI *soup_uri; - soup_uri = soup_uri_copy (soup_message_get_uri (message)); - soup_uri_set_path (soup_uri, path); + soup_uri = soup_uri_new (path_or_uri); + if (!soup_uri || + !soup_uri_get_scheme (soup_uri) || + !soup_uri_get_host (soup_uri) || + !soup_uri_get_path (soup_uri) || + !*soup_uri_get_scheme (soup_uri) || + !*soup_uri_get_host (soup_uri) || + !*soup_uri_get_path (soup_uri)) { + /* it's a path only, not full uri */ + if (soup_uri) + soup_uri_free (soup_uri); + soup_uri = soup_uri_copy (soup_message_get_uri (message)); + soup_uri_set_path (soup_uri, path_or_uri); + } message = caldav_chooser_new_propfind ( session, soup_uri, DEPTH_1, |