[evolution-patches] patch to reomve ldap related options form groupwise camel provider
- From: Sivaiah N <snallagatla novell com>
- To: evolution-patches lists ximian com
- Subject: [evolution-patches] patch to reomve ldap related options form groupwise camel provider
- Date: 24 Mar 2004 15:55:49 +0530
Hi,
The attached patch changes which i have done to remove ldap related
options form camel groupwise provider as currently we use SOAP for
address book also.Instead now we ask for SOAP port.
Also i have removed code which adds e-sources for ldap address book
from camel-gw-listener.c. Now we add a separate source group in address
book component for each gw account and e-sources for address books under
it. It is not yet complete but with this, one can try groupwise address
book stuff.
Thanks,
Sivaiah
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/camel/ChangeLog,v
retrieving revision 1.2056
diff -u -r1.2056 ChangeLog
--- ChangeLog 23 Mar 2004 06:16:22 -0000 1.2056
+++ ChangeLog 24 Mar 2004 10:24:13 -0000
@@ -1,3 +1,14 @@
+2004-03-24 Sivaiah Nallagatla <snallagatla novell com>
+
+ * providers/groupwise/camel-groupwise-provider.c : removed
+ ldap seetings and added a settng for SOAP port
+ * providers/groupwise/camel-gw-listner.h (add_calendar_tasks_sources)
+ (remove_calendar_tasks_sources), (modify_calendar_tasks_sources) : read port number
+ from url instead of hardcoding
+ Also removed code for adding e-sources for ldap address book and
+ adding now e-sources for groupwise address book
+
+
2004-03-23 Not Zed <NotZed Ximian com>
* providers/imap/camel-imap-store.c (get_folder_info_online):
Index: providers/groupwise/camel-groupwise-provider.c
===================================================================
RCS file: /cvs/gnome/evolution/camel/providers/groupwise/camel-groupwise-provider.c,v
retrieving revision 1.8
diff -u -r1.8 camel-groupwise-provider.c
--- providers/groupwise/camel-groupwise-provider.c 19 Feb 2004 07:27:38 -0000 1.8
+++ providers/groupwise/camel-groupwise-provider.c 24 Mar 2004 10:24:13 -0000
@@ -62,16 +62,13 @@
N_("Automatically synchronize remote mail locally"), "0" },
/* extra Groupwise configuration settings */
- {CAMEL_PROVIDER_CONF_SECTION_START, "ldapserver", NULL,
- N_("Address Book") },
+ {CAMEL_PROVIDER_CONF_SECTION_START, "soapport", NULL,
+ N_("Address Book And Calendar") },
- { CAMEL_PROVIDER_CONF_ENTRY, "ldap_server", NULL,
- N_("LDAP Server Name:") },
-
- { CAMEL_PROVIDER_CONF_ENTRY, "search_base", NULL,
- N_("Search base:") },
+ { CAMEL_PROVIDER_CONF_ENTRY, "soap_port", NULL,
+ N_("Post Office Agent SOAP Port:"), "7181" },
- { CAMEL_PROVIDER_CONF_SECTION_END },
+ { CAMEL_PROVIDER_CONF_SECTION_END },
{ CAMEL_PROVIDER_CONF_END }
Index: providers/groupwise/camel-gw-listener.c
===================================================================
RCS file: /cvs/gnome/evolution/camel/providers/groupwise/camel-gw-listener.c,v
retrieving revision 1.7
diff -u -r1.7 camel-gw-listener.c
--- providers/groupwise/camel-gw-listener.c 3 Mar 2004 11:16:48 -0000 1.7
+++ providers/groupwise/camel-gw-listener.c 24 Mar 2004 10:24:13 -0000
@@ -51,8 +51,6 @@
#define GROUPWISE_URI_PREFIX "groupwise://"
#define GROUPWISE_PREFIX_LENGTH 12
-#define LDAP_URI_PREFIX "ldap://"
-
#define PARENT_TYPE G_TYPE_OBJECT
static GObjectClass *parent_class = NULL;
@@ -242,10 +240,13 @@
char *old_relative_uri;
CamelURL *url;
gboolean found_group;
+ const char *soap_port;
url = camel_url_new (old_account_info->source_url, NULL);
- /* FIXME: don't hard-code the port number */
- old_relative_uri = g_strdup_printf ("%s:7181/soap", url->host);
+ soap_port = camel_url_get_param (url, "soap_port");
+ if (!soap_port)
+ soap_port = "7181";
+ old_relative_uri = g_strdup_printf ("%s:%s/soap", url->host, soap_port);
list = e_source_list_new_for_gconf (gconf_client_get_default (), conf_key);
groups = e_source_list_peek_groups (list);
@@ -291,13 +292,15 @@
{
CamelURL *url;
char *relative_uri;
-
+ const char *soap_port;
+
url = camel_url_new (info->source_url, NULL);
- /* FIXME: don't hard-code the port number */
- relative_uri = g_strdup_printf ("%s:7181/soap", url->host);
+ soap_port = camel_url_get_param (url, "soap_port");
+ if (!soap_port)
+ soap_port = "7181";
+ relative_uri = g_strdup_printf ("%s:%s/soap", url->host, soap_port);
add_esource ("/apps/evolution/calendar/sources", info->name, _("Calendar"), url->user, relative_uri);
add_esource ("/apps/evolution/tasks/sources", info->name, _("Checklist"), url->user, relative_uri);
-
groupwise_accounts = g_list_append (groupwise_accounts, info);
camel_url_free (url);
@@ -313,12 +316,13 @@
{
CamelURL *url;
char *relative_uri;
-
- url = camel_url_new (info->source_url, NULL);
- /* FIXME: don't hard-code the port number */
- relative_uri = g_strdup_printf ("%s:7181/soap", url->host);
-
+ const char *soap_port;
+ url = camel_url_new (info->source_url, NULL);
+ soap_port = camel_url_get_param (url, "soap_port");
+ if (!soap_port)
+ soap_port = "7181";
+ relative_uri = g_strdup_printf ("%s:%s/soap", url->host, soap_port);
remove_esource ("/apps/evolution/calendar/sources", info->name, _("Calendar"), relative_uri);
remove_esource ("/apps/evolution/tasks/sources", info->name, _("Checklist"), relative_uri);
@@ -331,102 +335,73 @@
g_free (relative_uri);
}
+
static void
-add_ldap_addressbook_source (EAccount *account)
+add_addressbook_sources (EAccount *account)
{
CamelURL *url;
- const char *ldap_server_name;
- const char *search_scope;
ESourceList *list;
ESourceGroup *group;
ESource *source;
- GSList *groups;
- gboolean found_group;
- char * relative_uri;
-
+ char * relative_uri;
+ const char *soap_port;
+
url = camel_url_new (account->source->url, NULL);
-
if (url == NULL) {
return;
}
-
- ldap_server_name = camel_url_get_param (url, "ldap_server");
- search_scope = camel_url_get_param (url, "search_base");
-
- if (ldap_server_name == NULL) {
-
- return;
- }
-
+ soap_port = camel_url_get_param (url, "soap_port");
+ if (!soap_port)
+ soap_port = "7181";
+ relative_uri = g_strdup_printf ("%s:%s/soap", url->host, soap_port);
list = e_source_list_new_for_gconf (gconf_client_get_default (), "/apps/evolution/addressbook/sources" );
- groups = e_source_list_peek_groups (list);
-
- relative_uri = g_strdup_printf ("%s:%s/%s%s%s", ldap_server_name, "389",
- search_scope, "??", "sub");
-
- found_group = FALSE;
-
- for ( ; groups != NULL && !found_group; groups = g_slist_next (groups)) {
-
- group = E_SOURCE_GROUP (groups->data);
- if ( strcmp ( e_source_group_peek_base_uri (group), LDAP_URI_PREFIX) == 0) {
- source = e_source_new (account->name, relative_uri);
- e_source_set_property ( source, "limit", "100");
- e_source_set_property ( source, "ssl", "never");
- e_source_set_property (source, "auth", "none");
- e_source_group_add_source (group, source, -1);
- e_source_list_sync (list, NULL);
- found_group = TRUE;
- }
- }
-
- g_free (relative_uri);
- g_object_unref (list);
- camel_url_free (url);
+ group = e_source_group_new (account->name, "groupwise://");
+ e_source_list_add_group (list, group, -1);
+ source = e_source_new ("Frequent Contacts", relative_uri);
+ e_source_set_property (source, "auth", "ldap/simple-binddn");
+ e_source_set_property(source, "binddn", url->user);
+ e_source_group_add_source (group, source, -1);
+ e_source_list_sync (list, NULL);
+ g_object_unref (source);
+ g_object_unref (group);
+ g_object_unref (list);
+ g_free (relative_uri);
}
static void
-modify_ldap_addressbook_source ( EAccount *account)
+modify_addressbook_sources ( EAccount *account, const char *old_account_name)
{
CamelURL *url;
- const char *ldap_server_name;
- const char *search_scope;
ESourceList *list;
ESourceGroup *group;
ESource *source;
GSList *groups;
gboolean found_group;
char * relative_uri;
+ const char *soap_port;
url = camel_url_new (account->source->url, NULL);
-
if (url == NULL) {
return;
}
-
- ldap_server_name = camel_url_get_param (url, "ldap_server");
-
- if (ldap_server_name == NULL) {
- return;
- }
-
- search_scope = camel_url_get_param (url, "search_base");
-
+
list = e_source_list_new_for_gconf (gconf_client_get_default (), "/apps/evolution/addressbook/sources" );
groups = e_source_list_peek_groups (list);
+ soap_port = camel_url_get_param (url, "soap_port");
+ if (!soap_port)
+ soap_port = "7181";
+ relative_uri = g_strdup_printf ("%s:%s/soap", url->host, soap_port);
- relative_uri = g_strdup_printf ("%s:%s/%s%s%s", ldap_server_name, "389",
- search_scope, "??", "sub");
-
found_group = FALSE;
-
for ( ; groups != NULL && !found_group; groups = g_slist_next (groups)) {
group = E_SOURCE_GROUP (groups->data);
- if ( strcmp ( e_source_group_peek_base_uri (group), LDAP_URI_PREFIX) == 0) {
- source = e_source_group_peek_source_by_name (group, account->name);
- e_source_set_relative_uri (source, relative_uri);
+ if ( strcmp ( e_source_group_peek_base_uri (group), GROUPWISE_URI_PREFIX) == 0 && strcmp (e_source_group_peek_name (group), old_account_name) == 0) {
+ e_source_group_set_name (group, account->name);
+ source = e_source_group_peek_source_by_name (group, "Frequent Contacts");
+ if (source)
+ e_source_set_relative_uri (source, relative_uri);
e_source_list_sync (list, NULL);
found_group = TRUE;
}
@@ -437,13 +412,13 @@
camel_url_free (url);
}
+
static void
-remove_ldap_addressbook_source ( EAccount *account )
+remove_addressbook_sources (EAccount *account)
{
ESourceList *list;
ESourceGroup *group;
- ESource *source;
- GSList *groups;
+ GSList *groups;
gboolean found_group;
list = e_source_list_new_for_gconf (gconf_client_get_default (), "/apps/evolution/addressbook/sources" );
@@ -454,10 +429,9 @@
for ( ; groups != NULL && !found_group; groups = g_slist_next (groups)) {
group = E_SOURCE_GROUP (groups->data);
- if ( strcmp ( e_source_group_peek_base_uri (group), LDAP_URI_PREFIX) == 0) {
+ if ( strcmp ( e_source_group_peek_base_uri (group), GROUPWISE_URI_PREFIX) == 0 && strcmp (e_source_group_peek_name (group), account->name) == 0) {
- source = e_source_group_peek_source_by_name (group, account->name);
- e_source_group_remove_source (group, source);
+ e_source_list_remove_group (list, group);
e_source_list_sync (list, NULL);
found_group = TRUE;
@@ -469,6 +443,7 @@
}
+
static void
account_added (EAccountList *account_listener, EAccount *account)
{
@@ -484,7 +459,7 @@
info->source_url = g_strdup (account->source->url);
add_calendar_tasks_sources (info);
- add_ldap_addressbook_source(account);
+ add_addressbook_sources (account);
}
@@ -495,8 +470,9 @@
gboolean is_gw_account;
CamelURL *url;
char *relative_uri;
-
+ const char *soap_port;
GwAccountInfo *existing_account_info;
+
is_gw_account = is_groupwise_account (account);
existing_account_info = lookup_account_info (account->uid);
@@ -517,15 +493,19 @@
if (strcmp (existing_account_info->name, account->name) != 0 || strcmp (existing_account_info->source_url, account->source->url) != 0) {
url = camel_url_new (account->source->url, NULL);
- relative_uri = g_strdup_printf ("%s:7181/soap", url->host);
+ soap_port = camel_url_get_param (url, "soap_port");
+ if (!soap_port)
+ soap_port = "7181";
+ relative_uri = g_strdup_printf ("%s:%s/soap", url->host, soap_port);
modify_esource ("/apps/evolution/calendar/sources", existing_account_info, account->name, url->user, relative_uri);
modify_esource ("/apps/evolution/tasks/sources", existing_account_info, account->name, url->user, relative_uri);
+ modify_addressbook_sources (account, existing_account_info->name);
g_free (existing_account_info->name);
g_free (existing_account_info->source_url);
existing_account_info->name = g_strdup (account->name);
existing_account_info->source_url = g_strdup (account->source->url);
camel_url_free (url);
- modify_ldap_addressbook_source (account);
+
}
}
@@ -547,7 +527,7 @@
}
remove_calendar_tasks_sources (info);
- remove_ldap_addressbook_source (account);
+ remove_addressbook_sources (account);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]