aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook')
-rw-r--r--addressbook/ChangeLog10
-rw-r--r--addressbook/backend/pas/pas-backend-ldap.c10
2 files changed, 17 insertions, 3 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
index 6bdaa6c9ca..cdaeb03abc 100644
--- a/addressbook/ChangeLog
+++ b/addressbook/ChangeLog
@@ -1,3 +1,13 @@
+2000-04-30 Chris Toshok <toshok@helixcode.com>
+
+ * backend/pas/pas-backend-ldap.c
+ (pas_backend_ldap_ensure_connected): add support for a rootdn in
+ the uri.
+ (pas_backend_ldap_build_all_cards_list): make use of the rootdn in
+ the call to ldap_search_s.
+ (pas_backend_ldap_search): same.
+ (pas_backend_ldap_load_uri): get the rootdn out of the passed in uri.
+
2000-04-29 Christopher James Lahey <clahey@helixcode.com>
* backend/ebook/e-card.c, backend/ebook/e-card.h: Added
diff --git a/addressbook/backend/pas/pas-backend-ldap.c b/addressbook/backend/pas/pas-backend-ldap.c
index 95d80d898d..82694510ba 100644
--- a/addressbook/backend/pas/pas-backend-ldap.c
+++ b/addressbook/backend/pas/pas-backend-ldap.c
@@ -33,6 +33,7 @@ struct _PASBackendLDAPPrivate {
GList *clients;
LDAP *ldap;
gchar *ldap_host;
+ gchar *ldap_rootdn;
int ldap_port;
GList *book_views;
};
@@ -151,9 +152,11 @@ pas_backend_ldap_ensure_connected (PASBackendLDAP *bl)
}
else
g_warning ("pas_backend_ldap_ensure_connected failed for "
- "'ldap://%s:%d/' (error %s)\n",
+ "'ldap://%s:%d/%s' (error %s)\n",
bl->priv->ldap_host,
bl->priv->ldap_port,
+ bl->priv->ldap_rootdn ? bl->priv->ldap_rootdn : "",
+
ldap_err2string(ldap->ld_errno));
}
@@ -205,7 +208,7 @@ pas_backend_ldap_build_all_cards_list(PASBackend *backend,
ldap->ld_sizelimit = LDAP_MAX_SEARCH_RESPONSES;
if ((ldap_error = ldap_search_s (ldap,
- NULL,
+ bl->priv->ldap_rootdn,
LDAP_SCOPE_ONELEVEL,
"(objectclass=*)",
NULL, 0, &res)) == -1) {
@@ -726,7 +729,7 @@ pas_backend_ldap_search (PASBackendLDAP *bl,
ldap->ld_sizelimit = LDAP_MAX_SEARCH_RESPONSES;
if ((view->search_msgid = ldap_search (ldap,
- NULL,
+ bl->priv->ldap_rootdn,
LDAP_SCOPE_ONELEVEL,
ldap_query,
NULL, 0)) == -1) {
@@ -883,6 +886,7 @@ pas_backend_ldap_load_uri (PASBackend *backend,
if (LDAP_SUCCESS == ldap_error) {
bl->priv->ldap_host = g_strdup(lud->lud_host);
bl->priv->ldap_port = lud->lud_port;
+ bl->priv->ldap_rootdn = g_strdup(lud->lud_dn);
ldap_free_urldesc(lud);