Re: [evolution-patches] patch for #67541 (address book) 2.0.3



forgot to attach the important thing :)
On Thu, 2005-02-10 at 20:18 +0530, Sivaiah Nallagatla wrote:
> patch against gnome-2-8. Intenended for both head and gnome-2-8.
> Changelog and code comments should explain things.
> 
> Siva
> _______________________________________________
> evolution-patches mailing list
> evolution-patches lists ximian com
> http://lists.ximian.com/mailman/listinfo/evolution-patches
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/addressbook/ChangeLog,v
retrieving revision 1.196.2.12
diff -u -r1.196.2.12 ChangeLog
--- ChangeLog	31 Jan 2005 06:53:59 -0000	1.196.2.12
+++ ChangeLog	10 Feb 2005 13:06:40 -0000
@@ -1,3 +1,11 @@
+2005-02-10  Sivaiah Nallagatla <snallagatla novell com>
+
+	* backends/ldap/e-book-backend-ldap.c 
+	(e_book_backend_ldap_authenticate_user) : reconnect to 
+	ldap server if simple bind returns LDAP_SERVER_DOWN
+	
+	Fixes #67541
+	
 2005-01-30  Sivaiah Nallagatla <snallagtla novell com>
                                                                                                                              
          * libebook/e-vcarc.c (skip_until) :
Index: backends/ldap/e-book-backend-ldap.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/addressbook/backends/ldap/e-book-backend-ldap.c,v
retrieving revision 1.30.2.2
diff -u -r1.30.2.2 e-book-backend-ldap.c
--- backends/ldap/e-book-backend-ldap.c	20 Dec 2004 06:27:30 -0000	1.30.2.2
+++ backends/ldap/e-book-backend-ldap.c	10 Feb 2005 13:06:40 -0000
@@ -3305,7 +3305,21 @@
 		ldap_error = ldap_simple_bind_s(bl->priv->ldap,
 						dn,
 						passwd);
+		/* Some ldap servers are returning (ex active directory ones) LDAP_SERVER_DOWN
+		 * when we try to do an ldap operation  after being  idle 
+		 * for some time. This error is handled by poll_ldap in case of search operations
+		 * We need to handle it explicitly for this bind call. We call reconnect so that
+		 * we get a fresh ldap handle Fixes #67541 */
 
+		if (ldap_error == LDAP_SERVER_DOWN) {
+			EDataBookView *view = find_book_view (bl);
+
+			if (e_book_backend_ldap_reconnect (bl, view, ldap_error)) {
+				ldap_error = LDAP_SUCCESS;
+			}
+
+		}
+				
 		e_data_book_respond_authenticate_user (book,
 						       opid,
 						       ldap_error_to_response (ldap_error));


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]