diff options
-rwxr-xr-x | alpine/alpine.exe | bin | 8488960 -> 8494080 bytes | |||
-rw-r--r-- | alpine/arg.c | 3 | ||||
-rw-r--r-- | alpine/imap.c | 2 | ||||
-rw-r--r-- | imap/src/c-client/imap4r1.c | 2 | ||||
-rw-r--r-- | imap/src/osdep/unix/ssl_unix.c | 8 | ||||
-rw-r--r-- | pith/makefile.wnt | 8 | ||||
-rw-r--r-- | pith/pine.hlp | 6 | ||||
-rw-r--r-- | pith/reply.c | 4 |
8 files changed, 23 insertions, 10 deletions
diff --git a/alpine/alpine.exe b/alpine/alpine.exe Binary files differindex d58c8f2f..f8c1f19b 100755 --- a/alpine/alpine.exe +++ b/alpine/alpine.exe diff --git a/alpine/arg.c b/alpine/arg.c index b39b313c..06e974f4 100644 --- a/alpine/arg.c +++ b/alpine/arg.c @@ -978,7 +978,8 @@ process_debug_str(char *debug_str) else if(struncmp(*p, "flush", 5) == 0){ ps_global->debug_flush = 1; } - else if(struncmp(*p, "tcp", 3) == 0){ + else if(struncmp(*p, "tcp", 3) == 0 + || struncmp(*p, "tcpdebug", 8) == 0){ ps_global->debug_tcp = 1; } else if(struncmp(*p, "verbose", 7) == 0){ diff --git a/alpine/imap.c b/alpine/imap.c index 495743e3..c5a79130 100644 --- a/alpine/imap.c +++ b/alpine/imap.c @@ -2636,7 +2636,7 @@ write_passfile(pinerc, l) if(ps_global->pwdcert == NULL){ q_status_message(SM_ORDER, 3, 3, "Attempting to encrypt password file"); i = setup_pwdcert(&ps_global->pwdcert); - if(i == 0 && ps_global->pwdcert == NULL) + if((i == 0 || i == -5) && ps_global->pwdcert == NULL) ps_global->pwdcert = (void *) ALPINE_self_signed_certificate(NULL, 0, ps_global->pwdcertdir, MASTERNAME); } if(ps_global->pwdcert == NULL){ /* we tried but failed */ diff --git a/imap/src/c-client/imap4r1.c b/imap/src/c-client/imap4r1.c index 139137d9..13aaadab 100644 --- a/imap/src/c-client/imap4r1.c +++ b/imap/src/c-client/imap4r1.c @@ -4072,7 +4072,7 @@ void imap_parse_unsolicited (MAILSTREAM *stream,IMAPPARSEDREPLY *reply) unsigned char *txt = reply->text; if ((t = imap_parse_astring (stream,&txt,reply,&j)) && txt && (*txt++ == ' ') && (*txt++ == '(') && (s = strchr (txt,')')) && - (s - txt) && !s[1]) { + (s - txt)) { *s = '\0'; /* tie off status data */ /* initialize data block */ status.flags = status.messages = status.recent = status.unseen = diff --git a/imap/src/osdep/unix/ssl_unix.c b/imap/src/osdep/unix/ssl_unix.c index 9498eb0e..4c4d6ef8 100644 --- a/imap/src/osdep/unix/ssl_unix.c +++ b/imap/src/osdep/unix/ssl_unix.c @@ -36,6 +36,14 @@ #ifdef OPENSSL_1_1_0 #include <rsa.h> #include <bn.h> +#ifdef TLSv1_1_client_method +#undef TLSv1_1_client_method +#endif /* TLSv1_1_client_method */ +#ifdef TLSv1_2_client_method +#undef TLSv1_2_client_method +#endif /* TLSv1_2_client_method */ +#define TLSv1_1_client_method TLS_client_method +#define TLSv1_2_client_method TLS_client_method #endif /* OPENSSL_1_1_0 */ #undef STRING #undef crypt diff --git a/pith/makefile.wnt b/pith/makefile.wnt index 4e5b33f4..48ab5817 100644 --- a/pith/makefile.wnt +++ b/pith/makefile.wnt @@ -45,7 +45,7 @@ HFILES= ../include/system.h ../include/general.h \ init.h keyword.h ldap.h list.h mailcap.h mailcmd.h mailindx.h maillist.h \ mailpart.h mailview.h margin.h mimedesc.h mimetype.h msgno.h newmail.h news.h \ options.h pattern.h pineelt.h pipe.h readfile.h remote.h remtype.h repltype.h reply.h \ - rfc2231.h save.h savetype.h search.h send.h sequence.h signal.h sort.h sorttype.h \ + rfc2231.h save.h savetype.h search.h send.h sequence.h signal.h smime.h smkeys.h sort.h sorttype.h \ state.h status.h store.h stream.h string.h strlst.h takeaddr.h tempfile.h text.h \ thread.h url.h user.h util.h @@ -54,9 +54,9 @@ OFILES= ablookup.obj abdlc.obj addrbook.obj addrstring.obj adrbklib.obj bldaddr. filter.obj flag.obj folder.obj handle.obj help.obj helptext.obj hist.obj icache.obj imap.obj init.obj \ keyword.obj ldap.obj list.obj mailcap.obj mailcmd.obj mailindx.obj maillist.obj mailview.obj \ margin.obj mimedesc.obj mimetype.obj msgno.obj newmail.obj news.obj pattern.obj pipe.obj \ - readfile.obj remote.obj reply.obj rfc2231.obj save.obj search.obj sequence.obj send.obj sort.obj state.obj \ - status.obj store.obj stream.obj string.obj strlst.obj takeaddr.obj tempfile.obj text.obj \ - thread.obj adjtime.obj url.obj util.obj + readfile.obj remote.obj reply.obj rfc2231.obj save.obj search.obj sequence.obj send.obj \ + smime.obj smkeys.obj sort.obj state.obj status.obj store.obj stream.obj string.obj strlst.obj \ + takeaddr.obj tempfile.obj text.obj thread.obj adjtime.obj url.obj util.obj all: libpith.lib diff --git a/pith/pine.hlp b/pith/pine.hlp index 845f6214..c3c2de06 100644 --- a/pith/pine.hlp +++ b/pith/pine.hlp @@ -140,7 +140,7 @@ with help text for the config screen and the composer that didn't have any reasonable place to be called from. Dummy change to get revision in pine.hlp ============= h_revision ================= -Alpine Commit 246 2018-01-08 23:34:22 +Alpine Commit 249 2018-02-24 16:53:18 ============= h_news ================= <HTML> <HEAD> @@ -232,6 +232,10 @@ Bugs that have been addressed include: <LI> TLS 1.2 works does not work if Alpine is compiled with openssl >= 1.1.0. Reported and patched by Kyle George. + + <LI> If the directory where Alpine saves the certificates if empty, + alpine would not create a self-signed certificate to encrypt the + password file. </UL> <P> diff --git a/pith/reply.c b/pith/reply.c index 4c0a6f44..2aa9ba22 100644 --- a/pith/reply.c +++ b/pith/reply.c @@ -2236,8 +2236,8 @@ forward_subject(ENVELOPE *env, int flags) (l < 5 || strcmp(tmp_20k_buf+l-5,"(fwd)"))){ snprintf(tmp_20k_buf+2000, SIZEOF_20KBUF-2000, "%s (fwd)", tmp_20k_buf); tmp_20k_buf[SIZEOF_20KBUF-2000-1] = '\0'; - strncpy(tmp_20k_buf, tmp_20k_buf+2000, SIZEOF_20KBUF); - tmp_20k_buf[SIZEOF_20KBUF-1] = '\0'; + memmove(tmp_20k_buf, tmp_20k_buf+2000, strlen(tmp_20k_buf+2000)); + tmp_20k_buf[strlen(tmp_20k_buf+2000)] = '\0'; } /* |