aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-sasl.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2001-08-03 23:33:57 +0800
committerMichael Zucci <zucchi@src.gnome.org>2001-08-03 23:33:57 +0800
commit99e55fbc6b1ad39fd840c8b917583bc1b2cce2dd (patch)
tree81f1d48fe93bc80703eaeba37dcb94ed29e226db /camel/camel-sasl.c
parent68518c1d989ded3031c490fb0b542424aef369cf (diff)
downloadgsoc2013-evolution-99e55fbc6b1ad39fd840c8b917583bc1b2cce2dd.tar.gz
gsoc2013-evolution-99e55fbc6b1ad39fd840c8b917583bc1b2cce2dd.tar.zst
gsoc2013-evolution-99e55fbc6b1ad39fd840c8b917583bc1b2cce2dd.zip
special case popb4smtp auth before we try and connect, and do the magic
2001-08-03 Not Zed <NotZed@Ximian.com> * providers/smtp/camel-smtp-transport.c (smtp_connect): special case popb4smtp auth before we try and connect, and do the magic here first. 2001-08-02 Not Zed <NotZed@Ximian.com> * providers/smtp/camel-smtp-transport.c (smtp_connect): Check for POPB4SMTP separate to the esmtp auth list. (smtp_auth): If creating the sasl object means it is already authenticated, then exit early. Sort of 'clean hack' to help popb4smtp work. (smtp_auth): Unref the sasl object, clean up a memleak i think. * providers/smtp/camel-smtp-provider.c (camel_provider_module_init): Added POPB4SMTP auth type. * camel-sasl.c (camel_sasl_authtype): Added POPB4SMTP type. * camel-sasl-popb4smtp.c: New file for pop before smtp 'authentication'. * Makefile.am (libcamel_la_SOURCES, HEADERS): Add camel-sasl-popb4smtp.[ch]. svn path=/trunk/; revision=11615
Diffstat (limited to 'camel/camel-sasl.c')
-rw-r--r--camel/camel-sasl.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/camel/camel-sasl.c b/camel/camel-sasl.c
index 4d27b37b75..7f58a84bb7 100644
--- a/camel/camel-sasl.c
+++ b/camel/camel-sasl.c
@@ -34,6 +34,7 @@
#include "camel-sasl-kerberos4.h"
#include "camel-sasl-login.h"
#include "camel-sasl-plain.h"
+#include "camel-sasl-popb4smtp.h"
static CamelObjectClass *parent_class = NULL;
@@ -196,6 +197,8 @@ camel_sasl_new (const char *service_name, const char *mechanism, CamelService *s
sasl = (CamelSasl *)camel_object_new (CAMEL_SASL_PLAIN_TYPE);
else if (!strcmp (mechanism, "LOGIN"))
sasl = (CamelSasl *)camel_object_new (CAMEL_SASL_LOGIN_TYPE);
+ else if (!strcmp (mechanism, "POPB4SMTP"))
+ sasl = (CamelSasl *)camel_object_new (CAMEL_SASL_POPB4SMTP_TYPE);
else
return NULL;
@@ -251,6 +254,8 @@ camel_sasl_authtype (const char *mechanism)
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
return NULL;
}