summaryrefslogtreecommitdiff
path: root/imap/src/c-client/mail.c
diff options
context:
space:
mode:
authorEduardo Chappa <chappa@washington.edu>2013-10-06 23:58:51 -0600
committerEduardo Chappa <chappa@washington.edu>2013-10-06 23:58:51 -0600
commit30a979ab1460a57d466a6a5cc6adb96eac452ce4 (patch)
tree1aec0ebb21be40922bc5a708c7780fb0db602202 /imap/src/c-client/mail.c
parentc5bb25b1320af6cda4cc62ea9e15fbb03ee92026 (diff)
downloadalpine-30a979ab1460a57d466a6a5cc6adb96eac452ce4.tar.xz
* new version 2.11.8
* Fix in configure script for recognition of SSL files in Ubuntu 12.04 * Alpine does not attempt to automatically reopen a collection that was not opened due to cancellation by the user. Instead, the user must try to open it explicitly. * few improvements on new /tls1, /tls1_1, etc. options.
Diffstat (limited to 'imap/src/c-client/mail.c')
-rw-r--r--imap/src/c-client/mail.c29
1 files changed, 18 insertions, 11 deletions
diff --git a/imap/src/c-client/mail.c b/imap/src/c-client/mail.c
index 9b5526b4..0b479a1c 100644
--- a/imap/src/c-client/mail.c
+++ b/imap/src/c-client/mail.c
@@ -815,17 +815,19 @@ long mail_valid_net_parse_work (char *name,NETMBX *mb,char *service)
else if (mailssldriver && !compare_cstring (s,"ssl") && !mb->tlsflag)
mb->sslflag = mb->notlsflag = T;
else if (!compare_cstring(s, "tls1")
- && !mb->tls1_1flag && !mb->tls1_2flag && !mb->dtls1flag)
- mb->sslflag = mb->notlsflag = mb->tls1_1flag = T;
+ && !mb->tls1_1 && !mb->tls1_2 && !mb->dtls1)
+ mb->sslflag = mb->notlsflag = mb->tls1 = T;
+#ifdef TLSV1_2
else if (!compare_cstring(s, "tls1_1")
- && !mb->tls1flag && !mb->tls1_2flag && !mb->dtls1flag)
- mb->sslflag = mb->notlsflag = mb->tls1_1flag = T;
+ && !mb->tls1 && !mb->tls1_2 && !mb->dtls1)
+ mb->sslflag = mb->notlsflag = mb->tls1_1 = T;
else if (!compare_cstring(s, "tls1_2")
- && !mb->tls1flag && !mb->tls1_1flag && !mb->dtls1flag)
- mb->sslflag = mb->notlsflag = mb->tls1_2flag = T;
+ && !mb->tls1 && !mb->tls1_1 && !mb->dtls1)
+ mb->sslflag = mb->notlsflag = mb->tls1_2 = T;
+#endif
else if (!compare_cstring(s, "dtls1")
- && !mb->tls1flag && !mb->tls1_1flag && !mb->tls1_2flag)
- mb->sslflag = mb->notlsflag = mb->dtls1flag = T;
+ && !mb->tls1 && !mb->tls1_1 && !mb->tls1_2)
+ mb->sslflag = mb->notlsflag = mb->dtls1 = T;
else if (mailssldriver && !compare_cstring (s,"novalidate-cert"))
mb->novalidate = T;
/* hack for compatibility with the past */
@@ -1234,9 +1236,10 @@ MAILSTREAM *mail_open (MAILSTREAM *stream,char *name,long options)
if (mb.tlsflag) strcat (tmp,"/tls");
if (mb.notlsflag) strcat (tmp,"/notls");
if (mb.sslflag) strcat (tmp,"/ssl");
- if (mb.tls1_1flag) strcat (tmp,"/tls1_1");
- if (mb.tls1_2flag) strcat (tmp,"/tls1_2");
- if (mb.dtls1flag) strcat (tmp,"/dtls1");
+ if (mb.tls1) strcat (tmp,"/tls1");
+ if (mb.tls1_1) strcat (tmp,"/tls1_1");
+ if (mb.tls1_2) strcat (tmp,"/tls1_2");
+ if (mb.dtls1) strcat (tmp,"/dtls1");
if (mb.trysslflag) strcat (tmp,"/tryssl");
if (mb.novalidate) strcat (tmp,"/novalidate-cert");
strcat (tmp,"/pop3/loser}");
@@ -6170,6 +6173,10 @@ NETSTREAM *net_open (NETMBX *mb,NETDRIVER *dv,unsigned long port,
NETSTREAM *stream = NIL;
char tmp[MAILTMPLEN];
unsigned long flags = mb->novalidate ? NET_NOVALIDATECERT : 0;
+ flags |= mb->tls1 || mb->tlsflag ? NET_TRYTLS1 : 0;
+ flags |= mb->tls1_1 ? NET_TRYTLS1_1 : 0;
+ flags |= mb->tls1_2 ? NET_TRYTLS1_2 : 0;
+ flags |= mb->dtls1 ? NET_TRYDTLS1 : 0;
if (strlen (mb->host) >= NETMAXHOST) {
sprintf (tmp,"Invalid host name: %.80s",mb->host);
MM_LOG (tmp,ERROR);