From 305832a728c3a14a1bd0a9d2008209b41cba0953 Mon Sep 17 00:00:00 2001 From: Sushma Rai Date: Mon, 23 Jan 2006 08:04:21 +0000 Subject: Reading the auth type from ExchangeAccount and setting it in URL if the url doesn't contain the auth mechanism value. Fixes #327284. svn path=/trunk/; revision=31270 --- plugins/exchange-operations/ChangeLog | 10 +++++++++ .../exchange-operations/exchange-account-setup.c | 24 ++++++++++++++++++---- 2 files changed, 30 insertions(+), 4 deletions(-) (limited to 'plugins/exchange-operations') diff --git a/plugins/exchange-operations/ChangeLog b/plugins/exchange-operations/ChangeLog index 4d4cd6dedb..475f37f6af 100644 --- a/plugins/exchange-operations/ChangeLog +++ b/plugins/exchange-operations/ChangeLog @@ -1,3 +1,13 @@ +2006-01-23 Sushma Rai + + * exchange-account-setup.c (camel_exchange_ntlm): Setting the authproto + value to NTLM, which is used later. + (org_gnome_exchange_auth_section): Reading the auth type from + ExchangeAccount and setting it in URL if the url doesn't contain the + auth mechanism value. Since the auth mechanism is not set using the + authentication type tab in druid during account setup, when the editor + is invoked, it doesn't get set in the account URI. Fixes #327284. + 2006-01-19 Andre Klapper * org-gnome-exchange-operations.error.xml: diff --git a/plugins/exchange-operations/exchange-account-setup.c b/plugins/exchange-operations/exchange-account-setup.c index 0aeb7b0cfe..c61174fd42 100644 --- a/plugins/exchange-operations/exchange-account-setup.c +++ b/plugins/exchange-operations/exchange-account-setup.c @@ -66,7 +66,7 @@ CamelServiceAuthType camel_exchange_ntlm_authtype = { N_("This option will connect to the Exchange server using " "secure password (NTLM) authentication."), - "", + "NTLM", TRUE }; @@ -802,7 +802,7 @@ org_gnome_exchange_auth_section (EPlugin *epl, EConfigHookItemFactoryData *data) { EMConfigTargetAccount *target_account; const char *source_url; - char *label_text; + char *label_text, *exchange_account_authtype = NULL; CamelURL *url; GtkWidget *hbox, *button, *auth_label, *vbox, *label_hide; GtkComboBox *dropdown; @@ -810,7 +810,8 @@ org_gnome_exchange_auth_section (EPlugin *epl, EConfigHookItemFactoryData *data) GtkListStore *store; int i, active=0, auth_changed_id = 0; GList *authtypes, *l, *ll; - + ExchangeAccount *account; + target_account = (EMConfigTargetAccount *)data->config->target; source_url = e_account_get_string (target_account->account, E_ACCOUNT_SOURCE_URL); @@ -828,6 +829,10 @@ org_gnome_exchange_auth_section (EPlugin *epl, EConfigHookItemFactoryData *data) return data->old; } + account = exchange_operations_get_exchange_account (); + if (account) + exchange_account_authtype = exchange_account_get_authtype (account); + vbox = gtk_vbox_new (FALSE, 6); label_text = g_strdup_printf("%s", _("Authentication Type")); @@ -865,8 +870,18 @@ org_gnome_exchange_auth_section (EPlugin *epl, EConfigHookItemFactoryData *data) gtk_list_store_set (store, &iter, 0, authtype->name, 1, authtype, 2, !avail, -1); - if (url && url->authmech && !strcmp(url->authmech, authtype->authproto)) + if (url && url->authmech && !strcmp(url->authmech, authtype->authproto)) { active = i; + } + else if (url && exchange_account_authtype && + !strcmp (exchange_account_authtype, authtype->authproto)) { + /* if the url doesn't contain authmech, read the value from + * exchange account and set the tab selection and + * also set the authmech back to url + */ + camel_url_set_authmech (url, exchange_account_authtype); + active = i; + } } gtk_combo_box_set_model (dropdown, (GtkTreeModel *)store); @@ -904,6 +919,7 @@ org_gnome_exchange_auth_section (EPlugin *epl, EConfigHookItemFactoryData *data) if (url) camel_url_free(url); g_list_free (authtypes); + g_free (exchange_account_authtype); return vbox; } -- cgit v1.2.3