aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-sasl.c
diff options
context:
space:
mode:
Diffstat (limited to 'camel/camel-sasl.c')
-rw-r--r--camel/camel-sasl.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/camel/camel-sasl.c b/camel/camel-sasl.c
index 6cc8a144e5..ec070215c9 100644
--- a/camel/camel-sasl.c
+++ b/camel/camel-sasl.c
@@ -31,6 +31,7 @@
#include "camel-sasl-cram-md5.h"
#include "camel-sasl-digest-md5.h"
+#include "camel-sasl-gssapi.h"
#include "camel-sasl-kerberos4.h"
#include "camel-sasl-login.h"
#include "camel-sasl-plain.h"
@@ -193,6 +194,10 @@ camel_sasl_new (const char *service_name, const char *mechanism, CamelService *s
sasl = (CamelSasl *)camel_object_new (CAMEL_SASL_CRAM_MD5_TYPE);
else if (!strcmp (mechanism, "DIGEST-MD5"))
sasl = (CamelSasl *)camel_object_new (CAMEL_SASL_DIGEST_MD5_TYPE);
+#ifdef HAVE_KRB5
+ else if (!strcmp (mechanism, "GSSAPI"))
+ sasl = (CamelSasl *)camel_object_new (CAMEL_SASL_GSSAPI_TYPE);
+#endif
#ifdef HAVE_KRB4
else if (!strcmp (mechanism, "KERBEROS_V4"))
sasl = (CamelSasl *)camel_object_new (CAMEL_SASL_KERBEROS4_TYPE);
@@ -230,6 +235,9 @@ camel_sasl_authtype_list (gboolean include_plain)
types = g_list_prepend (types, &camel_sasl_cram_md5_authtype);
types = g_list_prepend (types, &camel_sasl_digest_md5_authtype);
+#ifdef HAVE_KRB5
+ types = g_list_prepend (types, &camel_sasl_gssapi_authtype);
+#endif
#ifdef HAVE_KRB4
types = g_list_prepend (types, &camel_sasl_kerberos4_authtype);
#endif
@@ -254,6 +262,10 @@ camel_sasl_authtype (const char *mechanism)
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
#ifdef HAVE_KRB4
else if (!strcmp (mechanism, "KERBEROS_V4"))
return &camel_sasl_kerberos4_authtype;