summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEduardo Chappa <chappa@washington.edu>2013-02-04 23:48:14 -0700
committerEduardo Chappa <chappa@washington.edu>2013-02-04 23:48:14 -0700
commitdc6c0f8d846e14fc6841516ad772553fc5975bd6 (patch)
tree95dd7acafea7def35a7aee1e8b77c26da5795498
parent90af71abbc09fc4a4aa9e4817f9f6cd03ea9edb5 (diff)
downloadalpine-dc6c0f8d846e14fc6841516ad772553fc5975bd6.tar.xz
Fix SMTP bug
-rw-r--r--imap/src/c-client/smtp.c28
-rw-r--r--pith/pine.hlp31
2 files changed, 40 insertions, 19 deletions
diff --git a/imap/src/c-client/smtp.c b/imap/src/c-client/smtp.c
index 0a3cf489..1b748b71 100644
--- a/imap/src/c-client/smtp.c
+++ b/imap/src/c-client/smtp.c
@@ -420,34 +420,36 @@ SENDSTREAM *smtp_close (SENDSTREAM *stream)
long smtp_mail (SENDSTREAM *stream,char *type,ENVELOPE *env,BODY *body)
{
RFC822BUFFER buf;
- char tmp[SENDBUFLEN+1];
+ char tmp[SENDBUFLEN+1], smtpserver[SENDBUFLEN+1];
long error = NIL;
long retry = NIL;
buf.f = smtp_soutr; /* initialize buffer */
buf.s = stream->netstream;
buf.end = (buf.beg = buf.cur = tmp) + SENDBUFLEN;
tmp[SENDBUFLEN] = '\0'; /* must have additional null guard byte */
+ smtpserver[SENDBUFLEN] = '\0';
if (!(env->to || env->cc || env->bcc)) {
/* no recipients in request */
smtp_seterror (stream,SMTPHARDERROR,"No recipients specified");
return NIL;
}
- do { /* make sure stream is in good shape */
+ /* get this now in case the rug is pulled from under us */
+ sprintf (smtpserver,"{%.200s/smtp%s}<none>",
+ (long) mail_parameters (NIL,GET_TRUSTDNS,NIL) ?
+ ((long) mail_parameters (NIL,GET_SASLUSESPTRNAME,NIL) ?
+ net_remotehost (stream->netstream) :
+ net_host (stream->netstream)) :
+ stream->host,
+ (stream->netstream->dtb ==
+ (NETDRIVER *) mail_parameters (NIL,GET_SSLDRIVER,NIL)) ?
+ "/ssl" : "");
+ do {
smtp_send (stream,"RSET",NIL);
if (retry) { /* need to retry with authentication? */
NETMBX mb;
/* yes, build remote name for authentication */
- sprintf (tmp,"{%.200s/smtp%s}<none>",
- (long) mail_parameters (NIL,GET_TRUSTDNS,NIL) ?
- ((long) mail_parameters (NIL,GET_SASLUSESPTRNAME,NIL) ?
- net_remotehost (stream->netstream) :
- net_host (stream->netstream)) :
- stream->host,
- (stream->netstream->dtb ==
- (NETDRIVER *) mail_parameters (NIL,GET_SSLDRIVER,NIL)) ?
- "/ssl" : "");
- mail_valid_net_parse (tmp,&mb);
- if (!smtp_auth (stream,&mb,tmp)) return NIL;
+ mail_valid_net_parse (smtpserver,&mb);
+ if (!smtp_auth (stream,&mb,smtpserver)) return NIL;
retry = NIL; /* no retry at this point */
}
diff --git a/pith/pine.hlp b/pith/pine.hlp
index 3af1062e..b4cb5283 100644
--- a/pith/pine.hlp
+++ b/pith/pine.hlp
@@ -3,8 +3,8 @@
# T H E A L P I N E M E S S A G E S Y S T E M
#
#/* ========================================================================
-# * Copyright 2006-2008 University of Washington
# * Copyright 2013 Eduardo Chappa
+# * Copyright 2006-2008 University of Washington
# *
# * Licensed under the Apache License, Version 2.0 (the "License");
# * you may not use this file except in compliance with the License.
@@ -155,8 +155,8 @@ Version <!--#echo var="ALPINE_VERSION"-->(<!--#echo var="ALPINE_REVISION"-->)
<!--chtml if pinemode="running"-->
(built <!--#echo var=ALPINE_COMPILE_DATE-->)
<!--chtml endif-->
-<BR>Copyright 2006-2008 University of Washington
<BR>Copyright 2013 Eduardo Chappa
+<BR>Copyright 2006-2008 University of Washington
</DIV>
<P>
@@ -180,6 +180,25 @@ Additions include:
<P>
<UL>
+ <LI> Quota command includes subcommands for printing, forwarding, etc.
+</UL>
+
+<P>
+Bugs that have been addressed include:
+<P>
+<UL>
+ <LI> Crash when a non-compliant SMTP server closes a connection without a LOGOUT
+</UL>
+
+<P>
+Version 2.10 addresses bugs found in previous releases and has a few
+additions as well.
+
+<P>
+Additions include:
+<P>
+
+<UL>
<LI> Quota report for IMAP folders that support it (press the &quot;@&quot; command in the index screen of such folder).
<LI> Search a folder for the content of any header with the &quot;;&quot; command.
<LI> Foreign characters are decoded correctly in IMAP folders.
@@ -544,8 +563,8 @@ page at
<CENTER><A HREF="http://www.washington.edu/alpine/credits.html">http://www.washington.edu/alpine/credits</A></CENTER>
<P>
-Alpine Copyright 2006-2008 University of Washington,
-Copyright 2013 Eduardo Chappa.
+Alpine Copyright 2013 Eduardo Chappa,
+Copyright 2006-2008 University of Washington.
<P>
Additional legal notices can be found <A HREF="h_news_legal">here</A>
@@ -1415,8 +1434,8 @@ Version <!--#echo var="ALPINE_VERSION"-->
<BR>(built <!--#echo var=ALPINE_COMPILE_DATE-->)
<!--chtml endif-->
</DIV>
-<CENTER>Copyright 2006-2008 University of Washington
-<BR> Copyright 2013 Eduardo Chappa
+<CENTER>Copyright 2013 Eduardo Chappa,
+<BR>Copyright 2006-2008 University of Washington.
</CENTER>
<P>