diff options
author | Veerapuram Varadhan <vvaradan@src.gnome.org> | 2006-12-19 01:32:39 +0800 |
---|---|---|
committer | Veerapuram Varadhan <vvaradan@src.gnome.org> | 2006-12-19 01:32:39 +0800 |
commit | 23218bbee12497827f7f8431912ec6d5e7365391 (patch) | |
tree | aaed3920eaa89966e1c279051834a80019158e7d /plugins/exchange-operations | |
parent | bb3201b7062df7eda72510c9ff436772d867bb50 (diff) | |
download | gsoc2013-evolution-23218bbee12497827f7f8431912ec6d5e7365391.tar gsoc2013-evolution-23218bbee12497827f7f8431912ec6d5e7365391.tar.gz gsoc2013-evolution-23218bbee12497827f7f8431912ec6d5e7365391.tar.bz2 gsoc2013-evolution-23218bbee12497827f7f8431912ec6d5e7365391.tar.lz gsoc2013-evolution-23218bbee12497827f7f8431912ec6d5e7365391.tar.xz gsoc2013-evolution-23218bbee12497827f7f8431912ec6d5e7365391.tar.zst gsoc2013-evolution-23218bbee12497827f7f8431912ec6d5e7365391.zip |
Fixes bnc #208395
* exchange-folder-permission.c:
(org_gnome_exchange_folder_permissions): Decode the derived path
using camel_url_decode_path(), as path may contain encoded
characters.
svn path=/trunk/; revision=33082
Diffstat (limited to 'plugins/exchange-operations')
-rw-r--r-- | plugins/exchange-operations/ChangeLog | 9 | ||||
-rw-r--r-- | plugins/exchange-operations/exchange-folder-permission.c | 15 |
2 files changed, 23 insertions, 1 deletions
diff --git a/plugins/exchange-operations/ChangeLog b/plugins/exchange-operations/ChangeLog index 66bec04083..879a25462d 100644 --- a/plugins/exchange-operations/ChangeLog +++ b/plugins/exchange-operations/ChangeLog @@ -1,3 +1,12 @@ +2006-12-18 Veerapuram Varadhan <vvaradhan@novell.com> + + Fixes bnc #208395 + + * exchange-folder-permission.c: + (org_gnome_exchange_folder_permissions): Decode the derived path + using camel_url_decode_path(), as path may contain encoded + characters. + 2006-12-04 Matthew Barnes <mbarnes@redhat.com> Fixes bug #357970 diff --git a/plugins/exchange-operations/exchange-folder-permission.c b/plugins/exchange-operations/exchange-folder-permission.c index 8760cf8d79..95a99e82c1 100644 --- a/plugins/exchange-operations/exchange-folder-permission.c +++ b/plugins/exchange-operations/exchange-folder-permission.c @@ -32,6 +32,7 @@ #include <e-util/e-dialog-utils.h> #include <calendar/gui/e-cal-popup.h> #include <libedataserverui/e-source-selector.h> +#include <camel/camel-url.h> #include <mail/em-popup.h> #include <mail/em-menu.h> #include <libebook/e-book.h> @@ -43,6 +44,8 @@ #include "calendar/gui/e-cal-model.h" #include "addressbook/gui/widgets/eab-menu.h" +#define d(x) + static void org_folder_permissions_cb (EPopup *ep, EPopupItem *p, void *data); void org_gnome_exchange_folder_permissions (EPlugin *ep, EMPopupTargetFolder *t); void org_gnome_exchange_menu_folder_permissions (EPlugin *ep, EMMenuTargetSelect *target); @@ -151,8 +154,11 @@ org_gnome_exchange_folder_permissions (EPlugin *ep, EMPopupTargetFolder *target) int i = 0, mode; static int first =0; gchar *path = NULL; + char *fixed_path = NULL; ExchangeAccount *account = NULL; + d(g_print ("exchange-folder-permission.c: entry\n")); + if (!g_strrstr (target->uri, "exchange://")) return; @@ -164,9 +170,16 @@ org_gnome_exchange_folder_permissions (EPlugin *ep, EMPopupTargetFolder *target) return; path = target->uri + strlen ("exchange://") + strlen (account->account_filename); + fixed_path = camel_url_decode_path (path); + d(g_print ("exchange-folder-permission.c: path=[%s], fixed_path=[%s]\n", path, fixed_path)); + if (! g_strrstr (target->uri, "exchange://") || - !exchange_account_get_folder (account, path)) + !exchange_account_get_folder (account, fixed_path)) { + g_free (fixed_path); return ; + } + + g_free (fixed_path); selected_exchange_folder_uri = path; /* for translation*/ |