From: Thomas Roessler Date: Wed, 30 Aug 2000 10:07:23 +0000 (+0000) Subject: SSL unification patch from Vsevolod. X-Git-Tag: mutt-1-3-8-rel~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cd5fe3762a4efd163d7e673e68d92dcef1d88969;p=mutt SSL unification patch from Vsevolod. --- diff --git a/ChangeLog b/ChangeLog index 052a180a..97ca0bad 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,203 @@ +Wed Aug 30 08:43:12 2000 Thomas Roessler + + * imap/command.c, imap/imap.c, imap/message.c, imap/message.h: + patch-bac.expunge-2 + + * muttlib.c: Fix mutt_prety_mailbox. From Vsevolod. + +Tue Aug 29 11:36:25 2000 Thomas Roessler + + * curs_lib.c: + The next version of Byrial Jensen's yesorno patch, this time without + a memory leak. + + * acconfig.h, configure.in, curs_lib.c, main.c: + Use locale for yes/no expressions. + +Mon Aug 28 13:14:55 2000 Thomas Roessler + + * rfc2231.c: Little fix from EGE. + + * po/ru.po: Update from Vsevolod. + + * complete.c: From: EGE + + Fix a buffer overrun in complete.c. + + * imap/auth_sasl.c, imap/command.c, imap/imap_private.h, muttlib.c: + From: Brendan Cully + + The attached small patch adjusts mutt_pretty_mailbox to handle + URLs. + + * browser.c, curs_lib.c, hdrline.c, protos.h, recvattach.c: + From: Edmund GRIMLEY EVANS + + This patch moves hdr_format_s from hdrline.c to curs_lib.c and renames + it to mutt_format_s. The function is then used in various places in + browser.c and recvattach.c where previously there was "%%%ss". + + * rfc2047.c, rfc2047.h, rfc2231.c, rfc2231.h, sendlib.c: + Do character set selection for RFC2231 encodings. From EGE, but + with choose_charset renamed to mutt_choose_charset. + + * mbyte.c, protos.h, utf8.c, wcwidth.c: From: edmundo@rano.org (EGE) + + This is the patch TAKIZAWA Takashi and I came up with in the end. + + When the Charset is euc-jp or shift_jis, iconv is used for mbrtowc + and wcrtomb. The worst part is mbrtowc_iconv(), where I attempted to + make mbrtowc both restartable (it can process part of multibyte + character) and fast in the case where there is nothing left over + from a previous character. Also I try to make no assumptions about + how those character sets work, which is easy, because I know very + little about them ... + + People who don't use one of those two stateless Japanese display + charsets shouldn't be affected. People whose systems provide the + wchar_t functions should be even less affected, because they don't + even get this code in their binary. + +Fri Aug 25 06:28:24 2000 Thomas Roessler + + * imap/imap.c, imap/imap_ssl.c, imap/imap_ssl.h, imap/util.c, account.c, account.h, browser.c, mutt_socket.c, mx.c, url.c, url.h: + patch-bac.imapurl-2, with small modifications. + +Tue Aug 22 22:23:10 2000 Thomas Roessler + + * muttlib.c: Fix #251, from Brendan. + + * main.c, Makefile.am, parse.c, protos.h, url.c, url.h: + Add an URL parser, and support for mailto URLs. + + * doc/manual.sgml.head: Minor fixes from Will Fiveash. + + * po/ru.po: update + + * hdrline.c: Fix %B in index_format. + +Mon Aug 21 19:25:26 2000 Thomas Roessler + + * imap/browse.c, imap/imap.c, muttlib.c, mutt_socket.c: + patch-bac.parsepath-2 + + * doc/manual.sgml.head, doc/manual.sgml.tail: + Documentation patch from Lars Hecking. + + * imap/imap.h, imap/imap_private.h, imap/message.c, imap/util.c, imap/browse.c, imap/command.c, imap/imap.c, doc/manual.sgml.head, browser.c, browser.h, buffy.c, functions.h, globals.h, init.h, OPS: + patch-bac.createplus-1 + + * imap/auth_anon.c, imap/auth_cram.c, imap/auth_gss.c, imap/auth_login.c, imap/auth_sasl.c, imap/browse.c, imap/command.c, imap/imap.c, imap/imap_private.h, imap/message.c: + patch-bac.command-2 + +Thu Aug 17 06:06:02 2000 Thomas Roessler + + * po/zh_CN.GB2312.po, configure.in: Adding zh_CN.GB2312 translation. + + * imap/Makefile.am, doc/Makefile.in, mutt_socket.c, mx.c: + Random cleanup from Brendan Cully. + + * hdrline.c: Fix justification of number formats. (EGE) + +Tue Aug 15 17:21:19 2000 Thomas Roessler + + * po/ru.po: update + + * mbyte.c, pager.c, protos.h: Another charset fix from EGE. + +Thu Aug 10 15:48:13 2000 Thomas Roessler + + * imap/Makefile.am: Fix from Brendan Cully. + + * doc/mutt.man, doc/muttrc.man.tail: More minor fixes. + + * doc/mutt.man: Document $MAILDIR. + + * init.c: + Tell mutt about the MAILDIR environment variable DJB talks about in + maildir (5). + + * doc/muttbug.man: Fix a typo. + + * doc/mbox.man: fix some typos. + +Wed Aug 9 21:14:35 2000 Thomas Roessler + + * doc/Makefile.in, doc/mbox.man: Install mbox (5), and fix a typo. + + * doc/mbox.man: + Document the mbox format in a manual page. There may be some need + for this. + + * configure.in, init.c, main.c, Makefile.am: + Minor portability and compilation fixes. + +Tue Aug 8 18:17:54 2000 Thomas Roessler + + * po/POTFILES.in: Some files were missing. From Vsevolod Volkov. + + * imap/command.c, imap/imap.c, imap/imap_private.h, imap/Makefile.am, imap/message.c, init.c, mutt_socket.c, mx.c: + * handles expunged messages better. Previously mutt's state was only + updated when syncing the mailbox. This was the reason for Bob Bell's + segfault when manipulating mailboxes with multiple simultaneous + clients. + * makes a small adjustment for Sam's weird Courier server, which + returns an OK FETCH completed response even when FETCH fails. I + should probably report that behaviour to him as a bug, though. + * renames IMAP_REOPEN_PENDING to IMAP_EXPUNGE_PENDING + * gets rid of the _("Closing mailbox...") message, which was obscuring + the status updates. + * clears some spurious mutt_clear_error calls in imap_cmd_finish. + * makes socket reads and writes check that they have an open + connection. Shouldn't be necessary (and such calls are logged), but + can happen currently. + * Some SASL vs regular authenticator tweaks in the imap Makefile. + + (From Brendan Cully.) + +Mon Aug 7 08:31:36 2000 Thomas Roessler + + * po/Makefile.in.in, imap/Makefile.am, configure.in, Makefile.am, mapping.h, sort.h: + Cross compilation patches from RĂ¼diger Kuhlmann + . + +Sun Aug 6 14:35:15 2000 Thomas Roessler + + * curs_lib.c: + Return an exit value of 1 if mutt is left via ctrl-c. From Andre + Albsmeier . + +Sat Aug 5 17:50:03 2000 Thomas Roessler + + * imap/imap.c, imap/imap_private.h, imap/message.c, imap/auth_anon.c, imap/auth_cram.c, imap/auth_gss.c, imap/auth_login.c, imap/auth_sasl.c, imap/browse.c, imap/command.c, imap/Makefile.am, mutt_socket.c: + Unified IMAP command code. + + * doc/manual.sgml.head: + Fix keyboard binding documentation. From Thomas Schultz + . + +Fri Aug 4 21:47:11 2000 Thomas Roessler + + * sendlib.c: Fix a character set encoding bug. From EGE. + + * imap/auth_sasl.c, imap/imap_ssl.c, doc/manual.sgml.head, account.c, mutt_sasl.c, mutt_sasl.h, mutt_socket.c, mutt_socket.h: + SASL patch from Brendan Cully. + +Thu Aug 3 22:08:13 2000 Thomas Roessler + + * charset.c: fix a segmentation fault. + + * po/eo.po, po/sv.po: update. + + * po/ru.po, po/sk.po, po/sv.po, po/uk.po, po/zh_TW.Big5.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/fr.po, po/gl.po, po/id.po, po/it.po, imap/Makefile.am, po/cs.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, reldate.h, VERSION, ChangeLog: + automatic post-release commit for mutt-1.3.7 + + * sendlib.c: + Use a correct Envelope from when bouncing with $envelope_from enabled. + + * imap/auth_sasl.c, imap/BUGS, imap/imap.c, imap/imap_ssl.c, mutt_sasl.c: + More IMAP fixes from Brendan. + Thu Aug 3 08:24:55 2000 Thomas Roessler * sendlib.c: diff --git a/Makefile.am b/Makefile.am index 3dfb8a52..9e0aca82 100644 --- a/Makefile.am +++ b/Makefile.am @@ -69,20 +69,20 @@ non_us_sources = pgp.c pgpinvoke.c pgpkey.c pgplib.c sha1dgst.c \ doc/language.txt doc/language50.txt OPS.PGP doc/PGP-Notes.txt \ OPS.MIX remailer.c remailer.h pgpewrap \ contrib/pgp2.rc contrib/pgp5.rc contrib/gpg.rc \ - imap/imap_ssl.c imap/imap_ssl.h README.SSL + mutt_ssl.c mutt_ssl.h README.SSL -EXTRA_mutt_SOURCES = account.c mutt_sasl.c mutt_socket.c pop.c pgp.c \ - pgpinvoke.c pgpkey.c pgplib.c sha1dgst.c gnupgparse.c resize.c \ - dotlock.c remailer.c browser.h mbyte.h remailer.h url.h +EXTRA_mutt_SOURCES = account.c md5c.c mutt_sasl.c mutt_socket.c mutt_ssl.c \ + pop.c pgp.c pgpinvoke.c pgpkey.c pgplib.c sha1dgst.c gnupgparse.c \ + resize.c dotlock.c remailer.c browser.h mbyte.h remailer.h url.h EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP TODO configure acconfig.h account.h \ attach.h buffy.h charset.h copy.h dotlock.h functions.h gen_defs \ globals.h hash.h history.h init.h keymap.h \ - mailbox.h mapping.h mime.h mutt.h mutt_curses.h mutt_menu.h \ - mutt_regex.h mutt_sasl.h mutt_socket.h mx.h pager.h pgp.h protos.h \ - reldate.h rfc1524.h rfc2047.h rfc2231.h rfc822.h sha.h sha_locl.h \ - sort.h mime.types VERSION prepare _regex.h OPS.MIX \ - README.SECURITY remailer.c remailer.h browser.h \ + mailbox.h mapping.h md5.h mime.h mutt.h mutt_curses.h mutt_menu.h \ + mutt_regex.h mutt_sasl.h mutt_socket.h mutt_ssl.h mx.h pager.h \ + pgp.h protos.h reldate.h rfc1524.h rfc2047.h rfc2231.h rfc822.h \ + sha.h sha_locl.h sort.h mime.types VERSION prepare _regex.h \ + OPS.MIX README.SECURITY remailer.c remailer.h browser.h \ mbyte.h lib.h extlib.c pgpewrap pgplib.h Muttrc.head Muttrc \ makedoc.c stamp-doc-rc README.SSL README.UPGRADE checktypes.c \ muttbug diff --git a/VERSION b/VERSION index 3336003d..e05cb332 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.3.7 +1.3.8 diff --git a/configure.in b/configure.in index 9bd00533..2108ad7e 100644 --- a/configure.in +++ b/configure.in @@ -542,9 +542,10 @@ AC_ARG_ENABLE(pop, [ --enable-pop Enable POP3 support], AC_DEFINE(USE_POP) MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS pop.o" need_socket="yes" + need_md5="yes" fi ]) - + AC_ARG_ENABLE(imap, [ --enable-imap Enable IMAP support], [ if test x$enableval = xyes ; then AC_DEFINE(USE_IMAP) @@ -552,6 +553,7 @@ AC_ARG_ENABLE(imap, [ --enable-imap Enable IMAP support], LIBIMAPDEPS="\$(top_srcdir)/imap/imap.h imap/libimap.a" need_imap="yes" need_socket="yes" + need_md5="yes" fi ]) AM_CONDITIONAL(BUILD_IMAP, test x$need_imap = xyes) @@ -631,11 +633,11 @@ AC_ARG_WITH(gss, [ --with-gss[=DIR] Compile in GSSAPI authenticati ]) AM_CONDITIONAL(USE_GSS, test x$need_gss = xyes) -AC_ARG_WITH(ssl, [ --with-ssl[=PFX] Compile in SSL socket support for IMAP], +AC_ARG_WITH(ssl, [ --with-ssl[=PFX] Compile in SSL socket support for POP/IMAP], [ if test "$with_ssl" != "no" then - if test "$need_imap" != "yes"; then - AC_MSG_ERROR([SSL support is only for IMAP, but IMAP is not enabled]) + if test "$need_socket" != "yes"; then + AC_MSG_ERROR([SSL support is only useful with POP or IMAP support]) fi if test "$with_ssl" != "yes" @@ -653,6 +655,7 @@ AC_ARG_WITH(ssl, [ --with-ssl[=PFX] Compile in SSL socket support for AC_DEFINE(USE_SSL) LIBS="$saved_LIBS" MUTTLIBS="$MUTTLIBS -lssl -lcrypto" + MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS mutt_ssl.o" need_ssl=yes dnl Some systems avoid certain patent-encumbered SSL routines @@ -690,10 +693,16 @@ AC_ARG_WITH(sasl, [ --with-sasl[=DIR] Use Cyrus SASL library for POP/I LIBS="$saved_LIBS" AC_DEFINE(USE_SASL) need_sasl=yes + need_md5=no fi ]) AM_CONDITIONAL(USE_SASL, test x$need_sasl = xyes) +if test "$need_md5" = "yes" +then + MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS md5c.o" +fi + dnl -- end socket -- AC_ARG_ENABLE(debug, [ --enable-debug Enable debugging support], diff --git a/curs_main.c b/curs_main.c index a09724de..0006fc98 100644 --- a/curs_main.c +++ b/curs_main.c @@ -23,9 +23,9 @@ #include "mapping.h" #include "sort.h" #include "buffy.h" +#include "mx.h" #ifdef USE_IMAP -#include "mx.h" #include "imap.h" #endif diff --git a/imap/Makefile.am b/imap/Makefile.am index 2321cb60..bbf773b4 100644 --- a/imap/Makefile.am +++ b/imap/Makefile.am @@ -11,22 +11,16 @@ endif if USE_SASL AUTHENTICATORS = auth_sasl.c else -AUTHENTICATORS = auth_anon.c auth_cram.c md5c.c +AUTHENTICATORS = auth_anon.c auth_cram.c endif -if USE_SSL -SSLSOURCES = imap_ssl.c -SSLHEADERS = imap_ssl.h -endif - -EXTRA_DIST = BUGS README TODO imap_ssl.c imap_ssl.h auth_anon.c \ - auth_cram.c auth_gss.c auth_sasl.c md5c.c +EXTRA_DIST = BUGS README TODO auth_anon.c auth_cram.c auth_gss.c auth_sasl.c INCLUDES = -I$(top_srcdir) -I../intl noinst_LIBRARIES = libimap.a -noinst_HEADERS = auth.h imap_private.h md5.h message.h $(SSLHEADERS) +noinst_HEADERS = auth.h imap_private.h message.h libimap_a_SOURCES = auth.c auth_login.c browse.c command.c imap.c imap.h \ - message.c utf7.c util.c $(AUTHENTICATORS) $(SSLSOURCES) $(GSSSOURCES) + message.c utf7.c util.c $(AUTHENTICATORS) $(GSSSOURCES) diff --git a/imap/util.c b/imap/util.c index ecd346dd..fdb540b0 100644 --- a/imap/util.c +++ b/imap/util.c @@ -24,7 +24,7 @@ #include "mx.h" /* for M_IMAP */ #include "url.h" #include "imap_private.h" -#include "imap_ssl.h" +#include "mutt_ssl.h" #include #include diff --git a/init.c b/init.c index 8f45724b..aef04290 100644 --- a/init.c +++ b/init.c @@ -32,8 +32,7 @@ #ifdef USE_SSL -#include "imap.h" -#include "imap_ssl.h" +#include "mutt_ssl.h" #endif diff --git a/imap/md5.h b/md5.h similarity index 100% rename from imap/md5.h rename to md5.h diff --git a/imap/md5c.c b/md5c.c similarity index 100% rename from imap/md5c.c rename to md5c.c diff --git a/mutt_socket.c b/mutt_socket.c index 97d06bb9..9b278525 100644 --- a/mutt_socket.c +++ b/mutt_socket.c @@ -22,7 +22,7 @@ #include "globals.h" #include "mutt_socket.h" #ifdef USE_SSL -# include "imap_ssl.h" +# include "mutt_ssl.h" #endif #include diff --git a/imap/imap_ssl.c b/mutt_ssl.c similarity index 99% rename from imap/imap_ssl.c rename to mutt_ssl.c index 6d362ff6..de0c206a 100644 --- a/imap/imap_ssl.c +++ b/mutt_ssl.c @@ -29,12 +29,10 @@ #include #include "mutt.h" -#include "imap.h" -#include "imap_private.h" #include "mutt_socket.h" #include "mutt_menu.h" #include "mutt_curses.h" -#include "imap_ssl.h" +#include "mutt_ssl.h" #if OPENSSL_VERSION_NUMBER >= 0x00904000L #define READ_X509_KEY(fp, key) PEM_read_X509(fp, key, NULL, NULL) diff --git a/imap/imap_ssl.h b/mutt_ssl.h similarity index 100% rename from imap/imap_ssl.h rename to mutt_ssl.h diff --git a/po/POTFILES.in b/po/POTFILES.in index 64879aee..2a49b08f 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -26,7 +26,6 @@ imap/auth_sasl.c imap/browse.c imap/command.c imap/imap.c -imap/imap_ssl.c imap/message.c imap/util.c init.c @@ -39,6 +38,7 @@ menu.c mh.c muttlib.c mutt_socket.c +mutt_ssl.c mx.c pager.c parse.c diff --git a/reldate.h b/reldate.h index 8aed45b3..841af5ab 100644 --- a/reldate.h +++ b/reldate.h @@ -1 +1 @@ -const char *ReleaseDate = "2000-08-03"; +const char *ReleaseDate = "2000-08-30";