[evolution-data-server] Fix build issue when not using Kerberos.
- From: Matthew Barnes <mbarnes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Fix build issue when not using Kerberos.
- Date: Sun, 17 Oct 2010 01:09:07 +0000 (UTC)
commit f6a1d8754a83fe147ef89cc29dcff4cf8c19ce0c
Author: Matthew Barnes <mbarnes redhat com>
Date: Sat Oct 16 20:56:15 2010 -0400
Fix build issue when not using Kerberos.
Apparently when building without Kerberos support the entire contents of
camel-sasl-gssapi.c is omitted, which breaks generating API docs because
camel-scan.c expects a camel_sasl_gssapi_get_type() regardless.
With this commit, when building with Kerberos support, CamelSaslGssapi
is still a registered CamelSasl subclass but it does absolutely nothing
and is never used by Camel's SASL support.
camel/camel-sasl-gssapi.c | 49 +++++++++++++++++++++++++++++---------------
1 files changed, 32 insertions(+), 17 deletions(-)
---
diff --git a/camel/camel-sasl-gssapi.c b/camel/camel-sasl-gssapi.c
index 5932ab7..db458b6 100644
--- a/camel/camel-sasl-gssapi.c
+++ b/camel/camel-sasl-gssapi.c
@@ -20,54 +20,61 @@
*
*/
+/* If building without Kerberos support, this class is an empty shell. */
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <errno.h>
-#ifdef HAVE_KRB5
#include <netdb.h>
#include <string.h>
#include <sys/socket.h>
#include <sys/types.h>
+
+#include <gio/gio.h>
+#include <glib/gi18n-lib.h>
+
+#include "camel-net-utils.h"
+#include "camel-sasl-gssapi.h"
+#include "camel-session.h"
+
+#ifdef HAVE_KRB5
+
#ifdef HAVE_HEIMDAL_KRB5
#include <krb5.h>
#else
#include <krb5/krb5.h>
-#endif
+#endif /* HAVE_HEIMDAL_KRB5 */
+
#ifdef HAVE_ET_COM_ERR_H
#include <et/com_err.h>
#else
#ifdef HAVE_COM_ERR_H
#include <com_err.h>
-#endif
-#endif
+#endif /* HAVE_COM_ERR_H */
+#endif /* HAVE_ET_COM_ERR_H */
+
#ifdef HAVE_MIT_KRB5
#include <gssapi/gssapi.h>
#include <gssapi/gssapi_generic.h>
-#endif
+#endif /* HAVE_MIT_KRB5 */
+
#ifdef HAVE_HEIMDAL_KRB5
#include <gssapi.h>
#else
-#ifdef HAVE_SUN_KRB5
+#ifdef HAVE_SUN_KRB5
#include <gssapi/gssapi.h>
#include <gssapi/gssapi_ext.h>
extern gss_OID gss_nt_service_name;
-#endif
-#endif
+#endif /* HAVE_SUN_KRB5 */
+#endif /* HAVE_HEIMDAL_KRB5 */
#ifndef GSS_C_OID_KRBV5_DES
#define GSS_C_OID_KRBV5_DES GSS_C_NO_OID
#endif
-#include <glib/gi18n-lib.h>
-#include <gio/gio.h>
-
-#include "camel-net-utils.h"
-#include "camel-sasl-gssapi.h"
-#include "camel-session.h"
-
#define DBUS_PATH "/org/gnome/KrbAuthDialog"
#define DBUS_INTERFACE "org.gnome.KrbAuthDialog"
#define DBUS_METHOD "org.gnome.KrbAuthDialog.acquireTgt"
@@ -105,8 +112,12 @@ struct _CamelSaslGssapiPrivate {
gss_name_t target;
};
+#endif /* HAVE_KRB5 */
+
G_DEFINE_TYPE (CamelSaslGssapi, camel_sasl_gssapi, CAMEL_TYPE_SASL)
+#ifdef HAVE_KRB5
+
static void
gssapi_set_exception (OM_uint32 major,
OM_uint32 minor,
@@ -413,9 +424,12 @@ sasl_gssapi_challenge_sync (CamelSasl *sasl,
return challenge;
}
+#endif /* HAVE_KRB5 */
+
static void
camel_sasl_gssapi_class_init (CamelSaslGssapiClass *class)
{
+#ifdef HAVE_KRB5
GObjectClass *object_class;
CamelSaslClass *sasl_class;
@@ -426,16 +440,17 @@ camel_sasl_gssapi_class_init (CamelSaslGssapiClass *class)
sasl_class = CAMEL_SASL_CLASS (class);
sasl_class->challenge_sync = sasl_gssapi_challenge_sync;
+#endif /* HAVE_KRB5 */
}
static void
camel_sasl_gssapi_init (CamelSaslGssapi *sasl)
{
+#ifdef HAVE_KRB5
sasl->priv = CAMEL_SASL_GSSAPI_GET_PRIVATE (sasl);
sasl->priv->state = GSSAPI_STATE_INIT;
sasl->priv->ctx = GSS_C_NO_CONTEXT;
sasl->priv->target = GSS_C_NO_NAME;
-}
-
#endif /* HAVE_KRB5 */
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]