evolution-data-server r9327 - in trunk: addressbook addressbook/libebook servers/exchange servers/exchange/lib



Author: mcrha
Date: Tue Aug 12 08:42:51 2008
New Revision: 9327
URL: http://svn.gnome.org/viewvc/evolution-data-server?rev=9327&view=rev

Log:
2008-08-12  Milan Crha  <mcrha redhat com>

	** Part of fix for bug #547308

	* addressbook/libebook/e-book-types.h: New error of EBookStatus.
	* addressbook/libebook/e-book-listener.c: (e_book_listener_convert_status):
	Do recognize new error E_BOOK_ERROR_UNSUPPORTED_AUTHENTICATION_METHOD.

	* servers/exchange/lib/e2k-global-catalog.c: (connect_ldap): Better warning on console.
	* servers/exchange/lib/e2k-global-catalog-ldap.h: (e2k_global_catalog_get_ldap):
	* servers/exchange/lib/e2k-global-catalog.c: (e2k_global_catalog_get_ldap):
	Return also ldap error if requested.



Modified:
   trunk/addressbook/ChangeLog
   trunk/addressbook/libebook/e-book-listener.c
   trunk/addressbook/libebook/e-book-types.h
   trunk/servers/exchange/ChangeLog
   trunk/servers/exchange/lib/e2k-global-catalog-ldap.h
   trunk/servers/exchange/lib/e2k-global-catalog.c

Modified: trunk/addressbook/libebook/e-book-listener.c
==============================================================================
--- trunk/addressbook/libebook/e-book-listener.c	(original)
+++ trunk/addressbook/libebook/e-book-listener.c	Tue Aug 12 08:42:51 2008
@@ -51,6 +51,8 @@
 		return E_BOOK_ERROR_AUTHENTICATION_FAILED;
 	case GNOME_Evolution_Addressbook_AuthenticationRequired:
 		return E_BOOK_ERROR_AUTHENTICATION_REQUIRED;
+	case GNOME_Evolution_Addressbook_UnsupportedAuthenticationMethod:
+		return E_BOOK_ERROR_UNSUPPORTED_AUTHENTICATION_METHOD;
 	case GNOME_Evolution_Addressbook_TLSNotAvailable:
 		return E_BOOK_ERROR_TLS_NOT_AVAILABLE;
 	case GNOME_Evolution_Addressbook_NoSuchBook:

Modified: trunk/addressbook/libebook/e-book-types.h
==============================================================================
--- trunk/addressbook/libebook/e-book-types.h	(original)
+++ trunk/addressbook/libebook/e-book-types.h	Tue Aug 12 08:42:51 2008
@@ -43,7 +43,8 @@
 	E_BOOK_ERROR_NO_SUCH_SOURCE,
 	E_BOOK_ERROR_OFFLINE_UNAVAILABLE,
 	E_BOOK_ERROR_OTHER_ERROR,
-	E_BOOK_ERROR_INVALID_SERVER_VERSION
+	E_BOOK_ERROR_INVALID_SERVER_VERSION,
+	E_BOOK_ERROR_UNSUPPORTED_AUTHENTICATION_METHOD
 } EBookStatus;
 
 

Modified: trunk/servers/exchange/lib/e2k-global-catalog-ldap.h
==============================================================================
--- trunk/servers/exchange/lib/e2k-global-catalog-ldap.h	(original)
+++ trunk/servers/exchange/lib/e2k-global-catalog-ldap.h	Tue Aug 12 08:42:51 2008
@@ -26,7 +26,8 @@
 #endif /* __cplusplus */
 
 LDAP             *e2k_global_catalog_get_ldap        (E2kGlobalCatalog *gc,
-						      E2kOperation     *op);
+						      E2kOperation     *op,
+						      int              *ldap_error);
 
 #ifdef __cplusplus
 }

Modified: trunk/servers/exchange/lib/e2k-global-catalog.c
==============================================================================
--- trunk/servers/exchange/lib/e2k-global-catalog.c	(original)
+++ trunk/servers/exchange/lib/e2k-global-catalog.c	Tue Aug 12 08:42:51 2008
@@ -356,7 +356,7 @@
 	g_free (nt_name);
 
 	if (ldap_error != LDAP_SUCCESS)
-		g_warning ("LDAP authentication failed (0x%02x)", ldap_error);
+		g_warning ("LDAP authentication failed (0x%02x (%s))", ldap_error, ldap_err2string (ldap_error) ? ldap_err2string (ldap_error) : "Unknown error");
 	else
 		E2K_GC_DEBUG_MSG(("GC: connected\n\n"));
 
@@ -418,6 +418,7 @@
  * e2k_global_catalog_get_ldap:
  * @gc: the global catalog
  * @op: pointer to an initialized #E2kOperation to use for cancellation
+ * @ldap_error: set the value returned from get_ldap_connection if not NULL
  *
  * Returns a new LDAP handle. The caller must ldap_unbind() it when it
  * is done.
@@ -425,13 +426,18 @@
  * Return value: an LDAP handle, or %NULL if it can't connect
  **/
 LDAP *
-e2k_global_catalog_get_ldap (E2kGlobalCatalog *gc, E2kOperation *op)
+e2k_global_catalog_get_ldap (E2kGlobalCatalog *gc, E2kOperation *op, int *ldap_error)
 {
 	LDAP *ldap;
+	int err;
 
 	g_return_val_if_fail (E2K_IS_GLOBAL_CATALOG (gc), NULL);
 
-	get_ldap_connection (gc, op, gc->priv->server, 3268, &ldap);
+	err = get_ldap_connection (gc, op, gc->priv->server, 3268, &ldap);
+
+	if (ldap_error)
+		*ldap_error = err;
+
 	return ldap;
 }
 



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