Will now always send EHLO first, if that fails it will fall back on HELO.
2000-06-09 Jeffrey Stedfast <fejj@helixcode.com> * providers/smtp/camel-smtp-transport.c (smtp_connect): Will now always send EHLO first, if that fails it will fall back on HELO. (esmtp_get_authtypes): Should now correctly parse authtypes. svn path=/trunk/; revision=3490
This commit is contained in:
committed by
Jeffrey Stedfast
parent
9e8db9cf29
commit
59d329b5b0
@ -1,3 +1,9 @@
|
||||
2000-06-09 Jeffrey Stedfast <fejj@helixcode.com>
|
||||
|
||||
* providers/smtp/camel-smtp-transport.c (smtp_connect): Will now always
|
||||
send EHLO first, if that fails it will fall back on HELO.
|
||||
(esmtp_get_authtypes): Should now correctly parse authtypes.
|
||||
|
||||
2000-06-07 Jeffrey Stedfast <fejj@helixcode.com>
|
||||
|
||||
* providers/imap/camel-imap-summary.c: Now builds (not that it's worth much yet).
|
||||
|
||||
@ -635,7 +635,20 @@ message_changed (CamelMimeMessage *m, int type, CamelImapFolder *mf)
|
||||
static CamelMimeMessage *
|
||||
imap_get_message_by_uid (CamelFolder *folder, const gchar *uid, CamelException *ex)
|
||||
{
|
||||
/* NOTE: extremely easy to do in IMAP - just needa code it ;-) */
|
||||
CamelImapFolder *imap_folder = CAMEL_IMAP_FOLDER (folder);
|
||||
CamelImapStore *store = CAMEL_IMAP_STORE (folder->parent_store);
|
||||
CamelImapStream *imap_stream;
|
||||
CamelMimeMessage *message;
|
||||
gchar *cmdid, *cmdbuf;
|
||||
|
||||
|
||||
}
|
||||
|
||||
#if 0
|
||||
static CamelMimeMessage *
|
||||
imap_get_message_by_uid (CamelFolder *folder, const gchar *uid, CamelException *ex)
|
||||
{
|
||||
/* NOTE: oh boy, this is gonna be complicated */
|
||||
CamelImapFolder *imap_folder = CAMEL_IMAP_FOLDER (folder);
|
||||
CamelStreamMem *message_stream = NULL;
|
||||
CamelMimeMessage *message = NULL;
|
||||
@ -726,6 +739,7 @@ imap_get_message_by_uid (CamelFolder *folder, const gchar *uid, CamelException *
|
||||
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
GPtrArray *
|
||||
imap_get_summary (CamelFolder *folder, CamelException *ex)
|
||||
|
||||
@ -128,12 +128,13 @@ camel_smtp_transport_get_type (void)
|
||||
static gboolean
|
||||
smtp_connect (CamelService *service, CamelException *ex)
|
||||
{
|
||||
CamelSmtpTransport *transport = CAMEL_SMTP_TRANSPORT (service);
|
||||
struct hostent *h;
|
||||
struct sockaddr_in sin;
|
||||
gint fd, num, i;
|
||||
guint32 addrlen;
|
||||
gchar *pass = NULL, *respbuf = NULL;
|
||||
CamelSmtpTransport *transport = CAMEL_SMTP_TRANSPORT (service);
|
||||
|
||||
|
||||
if (!service_class->connect (service, ex))
|
||||
return FALSE;
|
||||
@ -188,7 +189,17 @@ smtp_connect (CamelService *service, CamelException *ex)
|
||||
g_free (respbuf);
|
||||
|
||||
/* send HELO (or EHLO, depending on the service type) */
|
||||
smtp_helo (transport, ex);
|
||||
if (!transport->smtp_is_esmtp) {
|
||||
/* If we did not auto-detect ESMTP, we should still send EHLO */
|
||||
transport->smtp_is_esmtp = TRUE;
|
||||
if (!smtp_helo (transport, ex)) {
|
||||
/* Okay, apprently this server doesn't support ESMTP */
|
||||
transport->smtp_is_esmtp = FALSE;
|
||||
smtp_helo (transport, ex);
|
||||
}
|
||||
} else {
|
||||
smtp_helo (transport, ex);
|
||||
}
|
||||
|
||||
/* check to see if AUTH is required, if so...then AUTH ourselves */
|
||||
if (transport->smtp_is_esmtp && transport->esmtp_supported_authtypes) {
|
||||
@ -239,11 +250,11 @@ static GList
|
||||
GList *ret = NULL;
|
||||
gchar *start, *end;
|
||||
|
||||
if (!(start = strstr (buffer, " AUTH ")))
|
||||
if (!(start = strstr (buffer, "AUTH")))
|
||||
return NULL;
|
||||
|
||||
/* advance to the first token */
|
||||
for (start += 6; *start && *start != ' '; start++);
|
||||
for (start += 4; *start && *start != ' ' && *start != '='; start++);
|
||||
|
||||
for ( ; *start; ) {
|
||||
/* advance to the end of the token */
|
||||
|
||||
Reference in New Issue
Block a user