[evolution-data-server] Make Camel's SASL framework more extensible.
- From: Matthew Barnes <mbarnes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Make Camel's SASL framework more extensible.
- Date: Fri, 24 Jun 2011 17:28:34 +0000 (UTC)
commit 75cc27f6f649ca274ed27e392883f2e990e46a82
Author: Matthew Barnes <mbarnes redhat com>
Date: Fri Jun 24 11:29:04 2011 -0400
Make Camel's SASL framework more extensible.
Gather SASL mechanism names by traversing subclasses of CamelSasl
instead of hard-coding all known mechanism names. This allows
mechanisms to be added from outside of libcamel.
This adds a CamelServiceAuthType pointer to CamelSaslClass, which
changes the ABI. Statically registered subclasses can just point to a
static CamelServiceAuthType struct. Dynamically registered subclasses
should allocate a CamelServiceAuthType struct in their base_init class
method and free it in their base_finalize class method.
Adapt CamelSasl subclasses to the new approach.
camel/camel-sasl-anonymous.c | 3 +-
camel/camel-sasl-anonymous.h | 2 -
camel/camel-sasl-cram-md5.c | 3 +-
camel/camel-sasl-cram-md5.h | 2 -
camel/camel-sasl-digest-md5.c | 3 +-
camel/camel-sasl-digest-md5.h | 2 -
camel/camel-sasl-gssapi.c | 3 +-
camel/camel-sasl-gssapi.h | 2 -
camel/camel-sasl-login.c | 3 +-
camel/camel-sasl-login.h | 2 -
camel/camel-sasl-ntlm.c | 3 +-
camel/camel-sasl-ntlm.h | 2 -
camel/camel-sasl-plain.c | 3 +-
camel/camel-sasl-plain.h | 2 -
camel/camel-sasl-popb4smtp.c | 3 +-
camel/camel-sasl-popb4smtp.h | 2 -
camel/camel-sasl.c | 174 ++++++++++++++------
camel/camel-sasl.h | 3 +
configure.ac | 2 +-
docs/reference/camel/camel-sections.txt | 8 -
.../reference/camel/tmpl/camel-sasl-anonymous.sgml | 6 -
docs/reference/camel/tmpl/camel-sasl-cram-md5.sgml | 6 -
.../camel/tmpl/camel-sasl-digest-md5.sgml | 6 -
docs/reference/camel/tmpl/camel-sasl-gssapi.sgml | 6 -
docs/reference/camel/tmpl/camel-sasl-login.sgml | 6 -
docs/reference/camel/tmpl/camel-sasl-ntlm.sgml | 6 -
docs/reference/camel/tmpl/camel-sasl-plain.sgml | 6 -
.../reference/camel/tmpl/camel-sasl-popb4smtp.sgml | 6 -
docs/reference/camel/tmpl/camel-unused.sgml | 48 ++++++
29 files changed, 195 insertions(+), 128 deletions(-)
---
diff --git a/camel/camel-sasl-anonymous.c b/camel/camel-sasl-anonymous.c
index b075671..b26ee25 100644
--- a/camel/camel-sasl-anonymous.c
+++ b/camel/camel-sasl-anonymous.c
@@ -31,7 +31,7 @@
#include "camel-internet-address.h"
#include "camel-sasl-anonymous.h"
-CamelServiceAuthType camel_sasl_anonymous_authtype = {
+static CamelServiceAuthType sasl_anonymous_auth_type = {
N_("Anonymous"),
N_("This option will connect to the server using an anonymous login."),
@@ -125,6 +125,7 @@ camel_sasl_anonymous_class_init (CamelSaslAnonymousClass *class)
object_class->finalize = sasl_anonymous_finalize;
sasl_class = CAMEL_SASL_CLASS (class);
+ sasl_class->auth_type = &sasl_anonymous_auth_type;
sasl_class->challenge_sync = sasl_anonymous_challenge_sync;
}
diff --git a/camel/camel-sasl-anonymous.h b/camel/camel-sasl-anonymous.h
index 57844ab..239c353 100644
--- a/camel/camel-sasl-anonymous.h
+++ b/camel/camel-sasl-anonymous.h
@@ -75,8 +75,6 @@ GType camel_sasl_anonymous_get_type (void);
/* public methods */
CamelSasl *camel_sasl_anonymous_new (CamelSaslAnonTraceType type, const gchar *trace_info);
-extern CamelServiceAuthType camel_sasl_anonymous_authtype;
-
G_END_DECLS
#endif /* CAMEL_SASL_ANONYMOUS_H */
diff --git a/camel/camel-sasl-cram-md5.c b/camel/camel-sasl-cram-md5.c
index 66fd351..06c12a0 100644
--- a/camel/camel-sasl-cram-md5.c
+++ b/camel/camel-sasl-cram-md5.c
@@ -37,7 +37,7 @@ struct _CamelSaslCramMd5Private {
gint placeholder; /* allow for future expansion */
};
-CamelServiceAuthType camel_sasl_cram_md5_authtype = {
+static CamelServiceAuthType sasl_cram_md5_auth_type = {
N_("CRAM-MD5"),
N_("This option will connect to the server using a "
@@ -139,6 +139,7 @@ camel_sasl_cram_md5_class_init (CamelSaslCramMd5Class *class)
g_type_class_add_private (class, sizeof (CamelSaslCramMd5Private));
sasl_class = CAMEL_SASL_CLASS (class);
+ sasl_class->auth_type = &sasl_cram_md5_auth_type;
sasl_class->challenge_sync = sasl_cram_md5_challenge_sync;
}
diff --git a/camel/camel-sasl-cram-md5.h b/camel/camel-sasl-cram-md5.h
index 70145b5..9c71729 100644
--- a/camel/camel-sasl-cram-md5.h
+++ b/camel/camel-sasl-cram-md5.h
@@ -65,8 +65,6 @@ struct _CamelSaslCramMd5Class {
GType camel_sasl_cram_md5_get_type (void);
-extern CamelServiceAuthType camel_sasl_cram_md5_authtype;
-
G_END_DECLS
#endif /* CAMEL_SASL_CRAM_MD5_H */
diff --git a/camel/camel-sasl-digest-md5.c b/camel/camel-sasl-digest-md5.c
index 526cb82..d1c1379 100644
--- a/camel/camel-sasl-digest-md5.c
+++ b/camel/camel-sasl-digest-md5.c
@@ -50,7 +50,7 @@
/* Implements rfc2831 */
-CamelServiceAuthType camel_sasl_digest_md5_authtype = {
+static CamelServiceAuthType sasl_digest_md5_auth_type = {
N_("DIGEST-MD5"),
N_("This option will connect to the server using a "
@@ -938,6 +938,7 @@ camel_sasl_digest_md5_class_init (CamelSaslDigestMd5Class *class)
object_class->finalize = sasl_digest_md5_finalize;
sasl_class = CAMEL_SASL_CLASS (class);
+ sasl_class->auth_type = &sasl_digest_md5_auth_type;
sasl_class->challenge_sync = sasl_digest_md5_challenge_sync;
}
diff --git a/camel/camel-sasl-digest-md5.h b/camel/camel-sasl-digest-md5.h
index 62e904e..dd29fa8 100644
--- a/camel/camel-sasl-digest-md5.h
+++ b/camel/camel-sasl-digest-md5.h
@@ -66,8 +66,6 @@ struct _CamelSaslDigestMd5Class {
GType camel_sasl_digest_md5_get_type (void);
-extern CamelServiceAuthType camel_sasl_digest_md5_authtype;
-
G_END_DECLS
#endif /* CAMEL_SASL_DIGEST_MD5_H */
diff --git a/camel/camel-sasl-gssapi.c b/camel/camel-sasl-gssapi.c
index 9f1d1de..45e934b 100644
--- a/camel/camel-sasl-gssapi.c
+++ b/camel/camel-sasl-gssapi.c
@@ -82,7 +82,7 @@ extern gss_OID gss_nt_service_name;
#define DBUS_INTERFACE "org.gnome.KrbAuthDialog"
#define DBUS_METHOD "org.gnome.KrbAuthDialog.acquireTgt"
-CamelServiceAuthType camel_sasl_gssapi_authtype = {
+static CamelServiceAuthType sasl_gssapi_auth_type = {
N_("GSSAPI"),
N_("This option will connect to the server using "
@@ -440,6 +440,7 @@ camel_sasl_gssapi_class_init (CamelSaslGssapiClass *class)
object_class->finalize = sasl_gssapi_finalize;
sasl_class = CAMEL_SASL_CLASS (class);
+ sasl_class->auth_type = &sasl_gssapi_auth_type;
sasl_class->challenge_sync = sasl_gssapi_challenge_sync;
#endif /* HAVE_KRB5 */
}
diff --git a/camel/camel-sasl-gssapi.h b/camel/camel-sasl-gssapi.h
index a921211..6885ebb 100644
--- a/camel/camel-sasl-gssapi.h
+++ b/camel/camel-sasl-gssapi.h
@@ -66,8 +66,6 @@ struct _CamelSaslGssapiClass {
GType camel_sasl_gssapi_get_type (void);
-extern CamelServiceAuthType camel_sasl_gssapi_authtype;
-
G_END_DECLS
#endif /* CAMEL_SASL_GSSAPI_H */
diff --git a/camel/camel-sasl-login.c b/camel/camel-sasl-login.c
index c5ef80b..333049b 100644
--- a/camel/camel-sasl-login.c
+++ b/camel/camel-sasl-login.c
@@ -31,7 +31,7 @@
#include "camel-sasl-login.h"
#include "camel-service.h"
-CamelServiceAuthType camel_sasl_login_authtype = {
+static CamelServiceAuthType sasl_login_auth_type = {
N_("Login"),
N_("This option will connect to the server using a "
@@ -105,6 +105,7 @@ camel_sasl_login_class_init (CamelSaslLoginClass *class)
g_type_class_add_private (class, sizeof (CamelSaslLoginPrivate));
sasl_class = CAMEL_SASL_CLASS (class);
+ sasl_class->auth_type = &sasl_login_auth_type;
sasl_class->challenge_sync = sasl_login_challenge_sync;
}
diff --git a/camel/camel-sasl-login.h b/camel/camel-sasl-login.h
index e17bbf8..2410a8d 100644
--- a/camel/camel-sasl-login.h
+++ b/camel/camel-sasl-login.h
@@ -65,8 +65,6 @@ struct _CamelSaslLoginClass {
GType camel_sasl_login_get_type (void);
-extern CamelServiceAuthType camel_sasl_login_authtype;
-
G_END_DECLS
#endif /* CAMEL_SASL_LOGIN_H */
diff --git a/camel/camel-sasl-ntlm.c b/camel/camel-sasl-ntlm.c
index 3dea971..e25078a 100644
--- a/camel/camel-sasl-ntlm.c
+++ b/camel/camel-sasl-ntlm.c
@@ -38,7 +38,7 @@ struct _CamelSaslNTLMPrivate {
#endif
};
-CamelServiceAuthType camel_sasl_ntlm_authtype = {
+static CamelServiceAuthType sasl_ntlm_auth_type = {
N_("NTLM / SPA"),
N_("This option will connect to a Windows-based server using "
@@ -921,6 +921,7 @@ camel_sasl_ntlm_class_init (CamelSaslNTLMClass *class)
object_class->finalize = sasl_ntlm_finalize;
sasl_class = CAMEL_SASL_CLASS (class);
+ sasl_class->auth_type = &sasl_ntlm_auth_type;
sasl_class->challenge_sync = sasl_ntlm_challenge_sync;
sasl_class->try_empty_password_sync = sasl_ntlm_try_empty_password_sync;
}
diff --git a/camel/camel-sasl-ntlm.h b/camel/camel-sasl-ntlm.h
index c012895..c67e915 100644
--- a/camel/camel-sasl-ntlm.h
+++ b/camel/camel-sasl-ntlm.h
@@ -63,8 +63,6 @@ struct _CamelSaslNTLMClass {
GType camel_sasl_ntlm_get_type (void);
-extern CamelServiceAuthType camel_sasl_ntlm_authtype;
-
G_END_DECLS
#endif /* CAMEL_SASL_NTLM_H */
diff --git a/camel/camel-sasl-plain.c b/camel/camel-sasl-plain.c
index d59c54a..d0fd856 100644
--- a/camel/camel-sasl-plain.c
+++ b/camel/camel-sasl-plain.c
@@ -35,7 +35,7 @@ struct _CamelSaslPlainPrivate {
gint placeholder; /* allow for future expansion */
};
-CamelServiceAuthType camel_sasl_plain_authtype = {
+static CamelServiceAuthType sasl_plain_auth_type = {
N_("PLAIN"),
N_("This option will connect to the server using a "
@@ -82,6 +82,7 @@ camel_sasl_plain_class_init (CamelSaslPlainClass *class)
g_type_class_add_private (class, sizeof (CamelSaslPlainPrivate));
sasl_class = CAMEL_SASL_CLASS (class);
+ sasl_class->auth_type = &sasl_plain_auth_type;
sasl_class->challenge_sync = sasl_plain_challenge_sync;
}
diff --git a/camel/camel-sasl-plain.h b/camel/camel-sasl-plain.h
index 761eaad..796c07c 100644
--- a/camel/camel-sasl-plain.h
+++ b/camel/camel-sasl-plain.h
@@ -65,8 +65,6 @@ struct _CamelSaslPlainClass {
GType camel_sasl_plain_get_type (void);
-extern CamelServiceAuthType camel_sasl_plain_authtype;
-
G_END_DECLS
#endif /* CAMEL_SASL_PLAIN_H */
diff --git a/camel/camel-sasl-popb4smtp.c b/camel/camel-sasl-popb4smtp.c
index 736387c..f98cee4 100644
--- a/camel/camel-sasl-popb4smtp.c
+++ b/camel/camel-sasl-popb4smtp.c
@@ -38,7 +38,7 @@ struct _CamelSaslPOPB4SMTPPrivate {
gint placeholder; /* allow for future expansion */
};
-CamelServiceAuthType camel_sasl_popb4smtp_authtype = {
+static CamelServiceAuthType sasl_popb4smtp_auth_type = {
N_("POP before SMTP"),
N_("This option will authorise a POP connection before attempting SMTP"),
@@ -160,6 +160,7 @@ camel_sasl_popb4smtp_class_init (CamelSaslPOPB4SMTPClass *class)
g_type_class_add_private (class, sizeof (CamelSaslPOPB4SMTPPrivate));
sasl_class = CAMEL_SASL_CLASS (class);
+ sasl_class->auth_type = &sasl_popb4smtp_auth_type;
sasl_class->challenge_sync = sasl_popb4smtp_challenge_sync;
poplast = g_hash_table_new (g_str_hash, g_str_equal);
diff --git a/camel/camel-sasl-popb4smtp.h b/camel/camel-sasl-popb4smtp.h
index 7882223..ea21f8c 100644
--- a/camel/camel-sasl-popb4smtp.h
+++ b/camel/camel-sasl-popb4smtp.h
@@ -65,8 +65,6 @@ struct _CamelSaslPOPB4SMTPClass {
GType camel_sasl_popb4smtp_get_type (void);
-extern CamelServiceAuthType camel_sasl_popb4smtp_authtype;
-
G_END_DECLS
#endif /* CAMEL_SASL_POPB4SMTP_H */
diff --git a/camel/camel-sasl.c b/camel/camel-sasl.c
index 9e073dd..e75d738 100644
--- a/camel/camel-sasl.c
+++ b/camel/camel-sasl.c
@@ -28,6 +28,7 @@
#include "camel-debug.h"
#include "camel-mime-utils.h"
+#include "camel-sasl-anonymous.h"
#include "camel-sasl-cram-md5.h"
#include "camel-sasl-digest-md5.h"
#include "camel-sasl-gssapi.h"
@@ -89,6 +90,72 @@ async_context_free (AsyncContext *async_context)
}
static void
+sasl_build_class_table_rec (GType type,
+ GHashTable *class_table)
+{
+ GType *children;
+ guint n_children, ii;
+
+ children = g_type_children (type, &n_children);
+
+ for (ii = 0; ii < n_children; ii++) {
+ GType type = children[ii];
+ CamelSaslClass *sasl_class;
+ gpointer key;
+
+ /* Recurse over the child's children. */
+ sasl_build_class_table_rec (type, class_table);
+
+ /* Skip abstract types. */
+ if (G_TYPE_IS_ABSTRACT (type))
+ continue;
+
+ sasl_class = g_type_class_ref (type);
+
+ if (sasl_class->auth_type == NULL) {
+ g_critical (
+ "%s has an empty CamelServiceAuthType",
+ G_OBJECT_CLASS_NAME (sasl_class));
+ g_type_class_unref (sasl_class);
+ continue;
+ }
+
+ key = (gpointer) sasl_class->auth_type->authproto;
+ g_hash_table_insert (class_table, key, sasl_class);
+ }
+
+ g_free (children);
+}
+
+static GHashTable *
+sasl_build_class_table (void)
+{
+ GHashTable *class_table;
+
+ /* Register known types. */
+ CAMEL_TYPE_SASL_ANONYMOUS;
+ CAMEL_TYPE_SASL_CRAM_MD5;
+ CAMEL_TYPE_SASL_DIGEST_MD5;
+#ifdef HAVE_KRB5
+ CAMEL_TYPE_SASL_GSSAPI;
+#endif
+ CAMEL_TYPE_SASL_LOGIN;
+ CAMEL_TYPE_SASL_NTLM;
+ CAMEL_TYPE_SASL_PLAIN;
+ CAMEL_TYPE_SASL_POPB4SMTP;
+
+ class_table = g_hash_table_new_full (
+ (GHashFunc) g_str_hash,
+ (GEqualFunc) g_str_equal,
+ (GDestroyNotify) NULL,
+ (GDestroyNotify) g_type_class_unref);
+
+ sasl_build_class_table_rec (CAMEL_TYPE_SASL, class_table);
+
+ return class_table;
+}
+
+static void
sasl_set_mechanism (CamelSasl *sasl,
const gchar *mechanism)
{
@@ -430,36 +497,28 @@ camel_sasl_new (const gchar *service_name,
const gchar *mechanism,
CamelService *service)
{
- GType type;
+ GHashTable *class_table;
+ CamelSaslClass *sasl_class;
+ CamelSasl *sasl = NULL;
g_return_val_if_fail (service_name != NULL, NULL);
g_return_val_if_fail (mechanism != NULL, NULL);
g_return_val_if_fail (CAMEL_IS_SERVICE (service), NULL);
- /* We don't do ANONYMOUS here, because it's a little bit weird. */
+ class_table = sasl_build_class_table ();
+ sasl_class = g_hash_table_lookup (class_table, mechanism);
- if (!strcmp (mechanism, "CRAM-MD5"))
- type = CAMEL_TYPE_SASL_CRAM_MD5;
- else if (!strcmp (mechanism, "DIGEST-MD5"))
- type = CAMEL_TYPE_SASL_DIGEST_MD5;
-#ifdef HAVE_KRB5
- else if (!strcmp (mechanism, "GSSAPI"))
- type = CAMEL_TYPE_SASL_GSSAPI;
-#endif
- else if (!strcmp (mechanism, "PLAIN"))
- type = CAMEL_TYPE_SASL_PLAIN;
- else if (!strcmp (mechanism, "LOGIN"))
- type = CAMEL_TYPE_SASL_LOGIN;
- else if (!strcmp (mechanism, "POPB4SMTP"))
- type = CAMEL_TYPE_SASL_POPB4SMTP;
- else if (!strcmp (mechanism, "NTLM"))
- type = CAMEL_TYPE_SASL_NTLM;
- else
- return NULL;
+ if (sasl_class != NULL)
+ sasl = g_object_new (
+ G_OBJECT_CLASS_TYPE (sasl_class),
+ "mechanism", mechanism,
+ "service", service,
+ "service-name", service_name,
+ NULL);
+
+ g_hash_table_destroy (class_table);
- return g_object_new (
- type, "mechanism", mechanism, "service",
- service, "service-name", service_name, NULL);
+ return sasl;
}
/**
@@ -914,16 +973,43 @@ camel_sasl_challenge_base64_finish (CamelSasl *sasl,
GList *
camel_sasl_authtype_list (gboolean include_plain)
{
+ CamelSaslClass *sasl_class;
+ GHashTable *class_table;
GList *types = NULL;
- types = g_list_prepend (types, &camel_sasl_cram_md5_authtype);
- types = g_list_prepend (types, &camel_sasl_digest_md5_authtype);
+ /* XXX I guess these are supposed to be common SASL auth types,
+ * since this is called by the IMAP, POP and SMTP providers.
+ * The returned list can be extended with other auth types
+ * by way of camel_sasl_authtype(), so maybe we should just
+ * drop the ad-hoc "include_plain" parameter? */
+
+ class_table = sasl_build_class_table ();
+
+ sasl_class = g_hash_table_lookup (class_table, "CRAM-MD5");
+ g_return_val_if_fail (sasl_class != NULL, types);
+ types = g_list_prepend (types, sasl_class->auth_type);
+
+ sasl_class = g_hash_table_lookup (class_table, "DIGEST-MD5");
+ g_return_val_if_fail (sasl_class != NULL, types);
+ types = g_list_prepend (types, sasl_class->auth_type);
+
#ifdef HAVE_KRB5
- types = g_list_prepend (types, &camel_sasl_gssapi_authtype);
+ sasl_class = g_hash_table_lookup (class_table, "GSSAPI");
+ g_return_val_if_fail (sasl_class != NULL, types);
+ types = g_list_prepend (types, sasl_class->auth_type);
#endif
- types = g_list_prepend (types, &camel_sasl_ntlm_authtype);
- if (include_plain)
- types = g_list_prepend (types, &camel_sasl_plain_authtype);
+
+ sasl_class = g_hash_table_lookup (class_table, "NTLM");
+ g_return_val_if_fail (sasl_class != NULL, types);
+ types = g_list_prepend (types, sasl_class->auth_type);
+
+ if (include_plain) {
+ sasl_class = g_hash_table_lookup (class_table, "PLAIN");
+ g_return_val_if_fail (sasl_class != NULL, types);
+ types = g_list_prepend (types, sasl_class->auth_type);
+ }
+
+ g_hash_table_destroy (class_table);
return types;
}
@@ -938,22 +1024,16 @@ camel_sasl_authtype_list (gboolean include_plain)
CamelServiceAuthType *
camel_sasl_authtype (const gchar *mechanism)
{
- if (!strcmp (mechanism, "CRAM-MD5"))
- return &camel_sasl_cram_md5_authtype;
- else if (!strcmp (mechanism, "DIGEST-MD5"))
- return &camel_sasl_digest_md5_authtype;
-#ifdef HAVE_KRB5
- else if (!strcmp (mechanism, "GSSAPI"))
- return &camel_sasl_gssapi_authtype;
-#endif
- else if (!strcmp (mechanism, "PLAIN"))
- return &camel_sasl_plain_authtype;
- else if (!strcmp (mechanism, "LOGIN"))
- return &camel_sasl_login_authtype;
- else if (!strcmp(mechanism, "POPB4SMTP"))
- return &camel_sasl_popb4smtp_authtype;
- else if (!strcmp (mechanism, "NTLM"))
- return &camel_sasl_ntlm_authtype;
- else
- return NULL;
+ GHashTable *class_table;
+ CamelSaslClass *sasl_class;
+ CamelServiceAuthType *auth_type;
+
+ g_return_val_if_fail (mechanism != NULL, NULL);
+
+ class_table = sasl_build_class_table ();
+ sasl_class = g_hash_table_lookup (class_table, mechanism);
+ auth_type = (sasl_class != NULL) ? sasl_class->auth_type : NULL;
+ g_hash_table_destroy (class_table);
+
+ return auth_type;
}
diff --git a/camel/camel-sasl.h b/camel/camel-sasl.h
index 953cad5..d24de05 100644
--- a/camel/camel-sasl.h
+++ b/camel/camel-sasl.h
@@ -63,6 +63,9 @@ struct _CamelSasl {
struct _CamelSaslClass {
CamelObjectClass parent_class;
+ /* Auth Mechanism Details */
+ CamelServiceAuthType *auth_type;
+
/* Synchronous I/O Methods */
gboolean (*try_empty_password_sync)
(CamelSasl *sasl,
diff --git a/configure.ac b/configure.ac
index 9b3f341..9c98e61 100644
--- a/configure.ac
+++ b/configure.ac
@@ -102,7 +102,7 @@ LIBEGROUPWISE_CURRENT=13
LIBEGROUPWISE_REVISION=1
LIBEGROUPWISE_AGE=0
-LIBCAMEL_CURRENT=26
+LIBCAMEL_CURRENT=27
LIBCAMEL_REVISION=0
LIBCAMEL_AGE=0
diff --git a/docs/reference/camel/camel-sections.txt b/docs/reference/camel/camel-sections.txt
index d9f4339..a67122c 100644
--- a/docs/reference/camel/camel-sections.txt
+++ b/docs/reference/camel/camel-sections.txt
@@ -1690,7 +1690,6 @@ CAMEL_PROVIDER_IS_REMOTE
CamelSaslAnonymous
CamelSaslAnonTraceType
camel_sasl_anonymous_new
-camel_sasl_anonymous_authtype
<SUBSECTION Standard>
CAMEL_SASL_ANONYMOUS
CAMEL_IS_SASL_ANONYMOUS
@@ -1707,7 +1706,6 @@ camel_sasl_anonymous_get_type
<FILE>camel-sasl-cram-md5</FILE>
<TITLE>CamelSaslCramMd5</TITLE>
CamelSaslCramMd5
-camel_sasl_cram_md5_authtype
<SUBSECTION Standard>
CAMEL_SASL_CRAM_MD5
CAMEL_IS_SASL_CRAM_MD5
@@ -1725,7 +1723,6 @@ camel_sasl_cram_md5_get_type
<FILE>camel-sasl-digest-md5</FILE>
<TITLE>CamelSaslDigestMd5</TITLE>
CamelSaslDigestMd5
-camel_sasl_digest_md5_authtype
<SUBSECTION Standard>
CAMEL_SASL_DIGEST_MD5
CAMEL_IS_SASL_DIGEST_MD5
@@ -1743,7 +1740,6 @@ camel_sasl_digest_md5_get_type
<FILE>camel-sasl-gssapi</FILE>
<TITLE>CamelSaslGssapi</TITLE>
CamelSaslGssapi
-camel_sasl_gssapi_authtype
<SUBSECTION Standard>
CAMEL_SASL_GSSAPI
CAMEL_IS_SASL_GSSAPI
@@ -1761,7 +1757,6 @@ camel_sasl_gssapi_get_type
<FILE>camel-sasl-login</FILE>
<TITLE>CamelSaslLogin</TITLE>
CamelSaslLogin
-camel_sasl_login_authtype
<SUBSECTION Standard>
CAMEL_SASL_LOGIN
CAMEL_IS_SASL_LOGIN
@@ -1779,7 +1774,6 @@ camel_sasl_login_get_type
<FILE>camel-sasl-ntlm</FILE>
<TITLE>CamelSaslNTLM</TITLE>
CamelSaslNTLM
-camel_sasl_ntlm_authtype
<SUBSECTION Standard>
CAMEL_SASL_NTLM
CAMEL_IS_SASL_NTLM
@@ -1797,7 +1791,6 @@ camel_sasl_ntlm_get_type
<FILE>camel-sasl-plain</FILE>
<TITLE>CamelSaslPlain</TITLE>
CamelSaslPlain
-camel_sasl_plain_authtype
<SUBSECTION Standard>
CAMEL_SASL_PLAIN
CAMEL_IS_SASL_PLAIN
@@ -1815,7 +1808,6 @@ camel_sasl_plain_get_type
<FILE>camel-sasl-popb4smtp</FILE>
<TITLE>CamelSaslPOPB4SMTP</TITLE>
CamelSaslPOPB4SMTP
-camel_sasl_popb4smtp_authtype
<SUBSECTION Standard>
CAMEL_SASL_POPB4SMTP
CAMEL_IS_SASL_POPB4SMTP
diff --git a/docs/reference/camel/tmpl/camel-sasl-anonymous.sgml b/docs/reference/camel/tmpl/camel-sasl-anonymous.sgml
index 9c0d359..a2dd8d8 100644
--- a/docs/reference/camel/tmpl/camel-sasl-anonymous.sgml
+++ b/docs/reference/camel/tmpl/camel-sasl-anonymous.sgml
@@ -45,9 +45,3 @@ CamelSaslAnonymous
@Returns:
-<!-- ##### VARIABLE camel_sasl_anonymous_authtype ##### -->
-<para>
-
-</para>
-
-
diff --git a/docs/reference/camel/tmpl/camel-sasl-cram-md5.sgml b/docs/reference/camel/tmpl/camel-sasl-cram-md5.sgml
index 00b71e9..66915f5 100644
--- a/docs/reference/camel/tmpl/camel-sasl-cram-md5.sgml
+++ b/docs/reference/camel/tmpl/camel-sasl-cram-md5.sgml
@@ -26,9 +26,3 @@ CamelSaslCramMd5
</para>
-<!-- ##### VARIABLE camel_sasl_cram_md5_authtype ##### -->
-<para>
-
-</para>
-
-
diff --git a/docs/reference/camel/tmpl/camel-sasl-digest-md5.sgml b/docs/reference/camel/tmpl/camel-sasl-digest-md5.sgml
index 3d7b7e2..4634a7e 100644
--- a/docs/reference/camel/tmpl/camel-sasl-digest-md5.sgml
+++ b/docs/reference/camel/tmpl/camel-sasl-digest-md5.sgml
@@ -26,9 +26,3 @@ CamelSaslDigestMd5
</para>
-<!-- ##### VARIABLE camel_sasl_digest_md5_authtype ##### -->
-<para>
-
-</para>
-
-
diff --git a/docs/reference/camel/tmpl/camel-sasl-gssapi.sgml b/docs/reference/camel/tmpl/camel-sasl-gssapi.sgml
index 44738cd..95aac35 100644
--- a/docs/reference/camel/tmpl/camel-sasl-gssapi.sgml
+++ b/docs/reference/camel/tmpl/camel-sasl-gssapi.sgml
@@ -26,9 +26,3 @@ CamelSaslGssapi
</para>
-<!-- ##### VARIABLE camel_sasl_gssapi_authtype ##### -->
-<para>
-
-</para>
-
-
diff --git a/docs/reference/camel/tmpl/camel-sasl-login.sgml b/docs/reference/camel/tmpl/camel-sasl-login.sgml
index 4cd3fea..c62bbc9 100644
--- a/docs/reference/camel/tmpl/camel-sasl-login.sgml
+++ b/docs/reference/camel/tmpl/camel-sasl-login.sgml
@@ -26,9 +26,3 @@ CamelSaslLogin
</para>
-<!-- ##### VARIABLE camel_sasl_login_authtype ##### -->
-<para>
-
-</para>
-
-
diff --git a/docs/reference/camel/tmpl/camel-sasl-ntlm.sgml b/docs/reference/camel/tmpl/camel-sasl-ntlm.sgml
index 79bab89..ee924b5 100644
--- a/docs/reference/camel/tmpl/camel-sasl-ntlm.sgml
+++ b/docs/reference/camel/tmpl/camel-sasl-ntlm.sgml
@@ -26,9 +26,3 @@ CamelSaslNTLM
</para>
-<!-- ##### VARIABLE camel_sasl_ntlm_authtype ##### -->
-<para>
-
-</para>
-
-
diff --git a/docs/reference/camel/tmpl/camel-sasl-plain.sgml b/docs/reference/camel/tmpl/camel-sasl-plain.sgml
index 9a73f29..266d543 100644
--- a/docs/reference/camel/tmpl/camel-sasl-plain.sgml
+++ b/docs/reference/camel/tmpl/camel-sasl-plain.sgml
@@ -26,9 +26,3 @@ CamelSaslPlain
</para>
-<!-- ##### VARIABLE camel_sasl_plain_authtype ##### -->
-<para>
-
-</para>
-
-
diff --git a/docs/reference/camel/tmpl/camel-sasl-popb4smtp.sgml b/docs/reference/camel/tmpl/camel-sasl-popb4smtp.sgml
index 3fe4e62..fc98595 100644
--- a/docs/reference/camel/tmpl/camel-sasl-popb4smtp.sgml
+++ b/docs/reference/camel/tmpl/camel-sasl-popb4smtp.sgml
@@ -26,9 +26,3 @@ CamelSaslPOPB4SMTP
</para>
-<!-- ##### VARIABLE camel_sasl_popb4smtp_authtype ##### -->
-<para>
-
-</para>
-
-
diff --git a/docs/reference/camel/tmpl/camel-unused.sgml b/docs/reference/camel/tmpl/camel-unused.sgml
index 382fa94..24edac7 100644
--- a/docs/reference/camel/tmpl/camel-unused.sgml
+++ b/docs/reference/camel/tmpl/camel-unused.sgml
@@ -8432,6 +8432,12 @@ streams
@pid:
@Returns:
+<!-- ##### VARIABLE camel_sasl_anonymous_authtype ##### -->
+<para>
+
+</para>
+
+
<!-- ##### FUNCTION camel_sasl_authenticated ##### -->
<para>
@@ -8440,6 +8446,48 @@ streams
@sasl:
@Returns:
+<!-- ##### VARIABLE camel_sasl_cram_md5_authtype ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE camel_sasl_digest_md5_authtype ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE camel_sasl_gssapi_authtype ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE camel_sasl_login_authtype ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE camel_sasl_ntlm_authtype ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE camel_sasl_plain_authtype ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE camel_sasl_popb4smtp_authtype ##### -->
+<para>
+
+</para>
+
+
<!-- ##### FUNCTION camel_search_build_match_regex ##### -->
<para>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]