aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/exchange-operations/ChangeLog9
-rw-r--r--plugins/exchange-operations/exchange-folder-permission.c15
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*/