1
0
evolution-data-server/bgo-562228-eds-mailbox-field.patch

41 lines
1.2 KiB
Diff

Index: servers/exchange/lib/e2k-autoconfig.c
===================================================================
--- servers/exchange/lib/e2k-autoconfig.c (revision 9780)
+++ servers/exchange/lib/e2k-autoconfig.c (working copy)
@@ -1516,6 +1516,8 @@ validate (const char *owa_url, char *use
}
if (*result == E2K_AUTOCONFIG_OK) {
+ int len;
+
*result = e2k_autoconfig_check_global_catalog (ac, &op);
e2k_operation_free (&op);
@@ -1524,6 +1526,13 @@ validate (const char *owa_url, char *use
path = g_strdup (euri->path + 1);
e2k_uri_free (euri);
+ /* no slash at the end of path */
+ len = strlen (path);
+ while (len && path [len - 1] == '/') {
+ path [len - 1] = '\0';
+ len--;
+ }
+
/* change a mailbox only if not set by the caller */
if (!exchange_params->mailbox || !*exchange_params->mailbox) {
mailbox = strrchr (path, '/');
@@ -1536,6 +1545,12 @@ validate (const char *owa_url, char *use
g_free (exchange_params->mailbox);
exchange_params->mailbox = g_strdup (mailbox);
+ } else {
+ /* always strip the mailbox part from the path */
+ char *slash = strrchr (path, '/');
+
+ if (slash)
+ *slash = '\0';
}
exchange_params->owa_path = g_strdup_printf ("%s%s", "/", path);