aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addressbook/ChangeLog6
-rw-r--r--addressbook/backend/pas/pas-backend-ldap.c11
2 files changed, 17 insertions, 0 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
index 79d8108b9c..7eb77f55b6 100644
--- a/addressbook/ChangeLog
+++ b/addressbook/ChangeLog
@@ -1,3 +1,9 @@
+2003-01-23 Chris Toshok <toshok@ximian.com>
+
+ * backend/pas/pas-backend-ldap.c (pas_backend_ldap_connect): fix
+ for bug 34883 broke ssl transactions (at least those where we were
+ connecting to port 636). Move it to after the SSL stanza.
+
2003-01-23 Ettore Perazzoli <ettore@ximian.com>
* gui/component/select-names/Makefile.am (componentdir): Remove
diff --git a/addressbook/backend/pas/pas-backend-ldap.c b/addressbook/backend/pas/pas-backend-ldap.c
index 09a6d258de..93bbd6cbd4 100644
--- a/addressbook/backend/pas/pas-backend-ldap.c
+++ b/addressbook/backend/pas/pas-backend-ldap.c
@@ -691,6 +691,17 @@ pas_backend_ldap_connect (PASBackendLDAP *bl)
}
}
+ /* bind anonymously initially, we'll actually
+ authenticate the user properly later (in
+ authenticate_user) if they've selected
+ authentication */
+ ldap_error = ldap_simple_bind_s (blpriv->ldap, NULL, NULL);
+ if (ldap_error == LDAP_SERVER_DOWN) {
+ /* we only want this to be fatal if the server is down. */
+ g_warning ("failed to bind anonymously while connecting (ldap_error 0x%02x)", ldap_error);
+ return GNOME_Evolution_Addressbook_BookListener_RepositoryOffline;
+ }
+
ldap_error = query_ldap_root_dse (bl);
/* query_ldap_root_dse will cause the actual
connect(), so any tcpip problems will show up