X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=ChangeLog;h=6847b8f7efc604428a274179eb26c80cba376f17;hp=cc54aebf4e87813d220cd882d6436c5bf0905e78;hb=3bf07d227725f798f654ac09f015f35d27ab83cb;hpb=84591551ae36c592f59bd369027397ef9f934602 diff --git a/ChangeLog b/ChangeLog index cc54aeb..6847b8f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,600 @@ +2010-08-31 David Levine + + * uip/.cvsignore: added "new". + +2010-02-03 Earl Hood + + * Bug #15213, #18635: The use of the insecure m_scratch() and + m_tmpfil() functions have been replaced by m_mktemp() + or m_mktemp2() functions (defined in sbr/m_mktemp.c). + The new functions use mkstemp() to securely create + temporary files to avoid the numerous race conditions + that exist with the old functions. This does assume + that mkstemp() is available. Unsure if we need to + create an alternative implementation if mkstemp() is + not available. More information about new temp file + functions in m_mktemp.c, including the support for + MHTMPDIR, TMPDIR, and TMP envvars. + +2010-02-02 Earl Hood + + * mts/smtp/smtp.c: added SASL support if mts configuration + setting is set to "sendmail". This is useful if sendmail + conf option is to a custom script that creates a proxy + connection to an smtp server. + + * sbr/mts.c: added support for MHMTSCONF and MHMTSUSERCONF + envvars. The former specifies an alternative system + mts.conf to use. The later specifies a user-specific + mts.conf to use. This one will be read after the system + conf, so the user's conf only needs to set options they + want to override. The MHMTSUSERCONF allows a user to set + personal alternative mail submission methods w/o affecting + other users on the system. + + * uip/whom.c: added SASL-based options so address checking + can work against a server that requires SASL. + +2009-12-29 David Levine + + * uip/mhlistsbr.c, uip/mhlsbr.c, uip/picksbr.c: cast + pointers to unsigned long before casting to unsigned int + to avoid warnings on 64-bit about casting from pointer + to int of different size. + + * uip/new.c: cast folder_len to int to avoid warning on + 64-bit about passing a size_t to an int conversion specifier. + +2009-12-25 David Levine + + * uip/inc.c: gcc 4.4.1 noticed that maildir could have been + used before initialization. In fact, if that code was ever + reached, maildir would never have been initialized. It's in + an adios call, so replaced with NULL. + +2009-12-21 David Levine + + * mts/smtp/smtp.c: In sm_auth_sasl (), removed zeroing of + sasl_inbuffer because it could be used in sm_fget (). Also, + removed allocation of sasl_inbuffer because that was done in + either smtp_init () or sendmail_init (). + +2009-01-17 Eric Gillespie + + * etc/mhn.defaults.sh: Never try to make mhshow start xterm. + +2009-01-16 Eric Gillespie + + * test/runtest, test/tests/inc/test-deb359167, + test/tests/inc/test-eom-align, test/tests/manpages/test-manpages: + Load common.sh via absolute path, otherwise some /bin/sh + (e.g. dash) can't load it. + + * uip/Makefile.in, uip/new.c, test/tests/new/test-basic: Add new + program, and fn/fp/unseen symlinks. + + * test/{runtest,setup-test}: Move MH profile under Mail directory + so each test script will have its own to muck with, if needed. + + * h/Makefile.in, h/crawl_folders.h, sbr/Makefile.in, + sbr/crawl_folders.c, uip/folder.c: Extract the folder crawling + code from folder.c into new crawl_folders function, using a + callback to assemble the folder info in folder.c. Drop compare + function and use strcmp instead. Rename addfold and addir to + add_folder and add_children (add dir vs. add folder? + confusing names). + +2008-12-26 Peter Maydell + + * sbr/m_getfld.c: fix two bugs which could cause us to walk off + the beginning of the stdio or prefix-string buffer when checking + for presence of the end-of-message delimiter in some situations. + This might cause inc to dump core if you were unlucky. (This was + Debian bug 359167.) + * test/tests/inc/{md5sums,msgheader.txt,test-deb359167, + test-eom-align,fromline.txt,filler.txt,deb359167.mbox}: new tests + both for the specific problem and to try to check various alignments + of the eom string with the stdio buffer ending. + * test/common.sh: new file for common utility functions for the + test scripts. Moved findprog out of manpage test script into this + new file. Added some functions for doing progress indicators. + +2008-12-25 Peter Maydell + + * test/runtest: automatically run setup-test if it hasn't already + been done. Improve error handling in test script with 'set -e'. + +2008-10-23 David Levine + + * h/mh.h: raised NAMESZ from 128 to 999. RFC 2822 limits line + lengths to 998 characters, so a header name can be at most that long. + m_getfld limits header names to 2 less than NAMESZ, which is fine, + because header names must be followed by a colon. Add one for + terminating NULL. + +2008-10-23 David Levine + + * sbr/m_getfld.c: in warning message, use NAMESZ-2 instead of + NAMESZ-1 bytes because the message says "exceeds", not + "is greater than or equal to". + +2008-10-23 David Levine + + * docs/MAIL.FILTERING: added note on removing procmail -f or + -r options to try to suppress generation of a "From " line on + incoming messages. + +2008-08-14 Eric Gillespie + + * test/setup-test: Don't run autogen.sh unless needed. Build in a + blddir under the temporary directory so as not to interfere with + whatever the developer may be doing in the source directory. + If the temporary directory already exists, rebuild and install it. + +2008-08-13 Eric Gillespie + + * sbr/ambigsw.c: Send print_sw output to stderr. This avoids + strange problems with scan `pick -bogus`, not to mention being + nicer anyway. + + * sbr/getans.c, sbr/print_help.c, uip/msh.c: Send print_sw output + to stdout. + + * h/prototypes.h, sbr/print_sw.c (print_sw): Add FILE * argument + and send output there rather than to stdout. + + * test/tests/pick/test-stderr: Add test that error messages don't + end up going to stdout. + +2008-08-13 Eric Gillespie + + * uip/pick.c: Print matching messages immediately, instead of + waiting until the very end to print anything. + Ensure valid sequence name as soon as we parse it from command, + instead of searching the messages first. + +2008-08-13 Eric Gillespie + + * uip/Makefile.in, uip/popi.c: Remove popi.c, which has been dead + since PatchSet 257 (2000/06/12 11:07:34 UTC). + +2008-08-13 Eric Gillespie + + * h/mhparse.h: Move interfaces also used by mhbuildsbr.c here + from mhparse.c. + + * uip/Makefile.in (mhbuild): Build with mhparse.o. + + * uip/mhbuildsbr.c: Drop the duplication of mhparse.c. + + * uip/mhbuild.c, uip/mhlist.c, uip/mhn.c, uip/mhshow.c, + uip/mhstore.c, uip/mhtest.c: Drop check swdeclaration, which is + now in mhparse.h. + + * uip/mhparse.c: Move some declarations to mhparse.h, and remove + 'static' from the definitions here. + (get_ctinfo): Take magic mhbuild support from mhbuildsbr.c's copy, + and adapt callers. + (incl_name_value, extract_name_value): Move from mhbuildsbr.c to + support get_ctinfo change). + (get_content, open7Bit): Add Content-Disposition support, added to + mhbuildsbr.c's copy in mhbuildsbr.c r1.12 (PatchSet 549). + (InitText): Default to CHARSET_UNSPECIFIED instead of "US-ASCII", + as mhbuildsbr.c's copy did. Explain termproc. + (openBase64, openQuoted, open7Bit): Fix comment from r1.5: + suffixes, not prefixes. + (openMail): Explain showproc. + + * test/tests/mhshow/test-cte-binary: Add test for + Content-Transfer-Encoding: binary (Debian #136976). + + * test/tests/mhbuild/test-forw: Add an mhbuild test, testing forw + with and without RFC-934 mode. More mhbuild tests would be nice. + +2008-08-13 Eric Gillespie + + * test/tests/bad-input/test-header: Add test for it. + + * sbr/m_getfld.c: If we reach the end of the line without finding + a ':' when parsing a header field, treat that line as the + beginning of the body rather than blowing up. These messages are + usually spam, but it's nice to be able to at least scan them. + +2008-08-12 Eric Gillespie + + * test/tests/mhshow/test-qp: Test various valid and invalid + escape sequences. + + * uip/mhparse.c (openQuoted): Simplify the decode-or-show for loop by + peeking ahead to the next byte(s) when encountering '=', and just let + invalid escape sequences through as literals (fixes bug #15245). + +2008-08-12 Peter Maydell + + * autogen.sh (new file): add script for running the GNU + autotools in the right order + * INSTALL: mention that you need to run autogen.sh if you + got nmh from CVS + * docs/README.developers: mention autogen.sh rather than + suggesting running autoheader and autoconf by hand. + * test/setup-test: run autotools via autogen.sh + +2008-08-08 Eric Gillespie + + * sbr/discard.c, sbr/m_getfld.c, uip/scansbr.c: Add support for + DragonFlyBSD stdio (from NetBSD pkgsrc). + +2008-08-05 Eric Gillespie + + * uip/folder.c: chdir(nmhdir) in main rather than in dodir, which + is called many times. Drop the chdir in get_folder_info, which + served no purpose at all. If struct stat has d_type (BSD), use + that to skip processing (strcmp, stat, and so on) of message + files, mostly undoing the slow-down from the last change. + + * configure.in: Call CHECK_TYPE_STRUCT_DIRENT_D_TYPE. + + * aclocal.m4: Add CHECK_TYPE_STRUCT_DIRENT_D_TYPE from + GNU coreutils. + +2008-08-04 Eric Gillespie + + * uip/folder.c: Simplify dodir/addir/addfold. Dump hacky + over-optimization in addir that tried to avoid readdir after all + child directories had been read; this was also trying to support + symlinks to directories, but would have been failing (because + nlink may have gone to 0 with symlinks to directories remaining) + had the lstat usage been correct (lstat doesn't fail for normal + directories; should have used S_ISLNK). + +2008-08-03 Peter Maydell + + * test/setup-test: use 'set -e' so we stop on compile failure. + Configure --enable-debug for convenience in debugging. + + * uip/whatnowsbr.c: bug #23319: rework the way we handle the working + directory when invoking the user's shell, so that we don't have + issues when the cwd contains a space or shell special character. + * test/tests/whatnow/test-attach-detach, test/tests/whatnow/test-cd, + test/tests/whatnow/test-ls: test cases for this. + + * sbr/fmt_compile.c: add 'do { ... } while (0)' wrappers + to various multi-statement macros to avoid nasty surprises + if the macros are used in if() clauses. + + * bug #23436: man/scan.man, man/forw.man, man/inc.man, + man/mh-chart.man, man/mhmail.man, man/mhshow.man, + man/mhstore.man, man/msgchk.man, man/packf.man, man/scan.man: + fix minor syntax errors groff warns about. + * test/runtest, test/README: allow test cases to report + that they have been SKIPped as well as PASS/FAIL + * test/tests/manpages/test-manpages - new test which runs groff + on the manpages and checks that there are no warnings. + * test/runalltests: ignore editor backup files + +2008-08-03 Eric Gillespie + + * etc/replcomps, etc/replgroupcomps: Trim trailing whitespace from + Subject field. + +2008-08-03 Peter Maydell + + * sbr/fmt_compile.c: when doing an if-test on the result + of a function which returns a string result, check whether + the string is non-empty (as the documentation says we do). + Previously we were always testing the integer 'value'. Bug + spotted by Eric Gillespie. + * test/tests/repl/test-if-str: test case for this bug + +2008-07-24 Eric Gillespie + + * test/setup-test: Run 'make clean' before building + +2008-07-24 Eric Gillespie + + * test/runtest: cat test-temp-dir only once. Destroy and create + test Mail hierarchy here, so each test has its own independent + test data. + + * test/setup-test: Drop needless pushd/popd, which don't exist in + sh anyway. Don't use aclocal, which is part of automake. + Don't create Mail hierarchy here (see test/runtest). + + * test/tests/folder/test-create, tests/folder/test-total: Drop + unused BINDIR. + + * tests/pick/test-pick: Remove failing no-op test. + + * test/tests/scan/test-scan: Write expected and actual output to + files and diff them. This way, if the output differs, diff + provides the FAILing exit code and shows the differences. + +2008-06-12 Josh Bressers + * man/repl.man, etc/mhl.reply: + Add an attribution line when replying to messages. + +2008-06-02 Peter Maydell + + * h/mh.h, h/prototypes.h, sbr/done.c, uip/inc.c, + uip/mhbuild.c, uip/mhlist.c, uip/mhn.c, uip/mhshow.c, + uip/mhstore.c, uip/mhtest.c, uip/packf.c, uip/pick.c, + uip/rcvdist.c, uip/rcvstore.c, uip/sendsbr.c: when + building on gcc, use the noreturn attribute on various + functions (should improve code and avoid some spurious + 'uninitialized variable' warnings). + +2008-06-01 Peter Maydell + + * docs/README.developers: update the bits about doing a + release announcement, now I've actually done one. + +2008-05-22 Peter Maydell + + * uip/scansbr.c: don't use MB_CUR_MAX if we aren't compiled + with multibyte support. + + * uip/whatnowsbr.c: factor out common code for writing ls + shell command, and make it do more sensible buffer length + checks. Also avoid relying on the return value of sprintf(), + as some old systems don't return number of characters written. + +2008-05-21 Peter Maydell + + * sbr/utils.c (mh_xrealloc): don't assume realloc() can + handle NULL pointers; some non-POSIX realloc()s can't. + + * sbr/dtimep.lex: add some table size declarations for the + benefit of elderly lexes with small defaults. + +2008-05-18 David Levine + + * sbr/addrsbr.c: removed "err" from conditional, because gcc + correctly warned that it would always evaluate as true. It's + the address of a static array. + +2008-05-16 Oliver Kiddle + + * sbr/Makefile.in, config/Makefile.in: Don't use $< in target rules + in makefiles, as POSIX says it's only defined in inference rules. + +2008-05-13 David Levine + + * configure.in, INSTALL: if --enable-masquerade is not + specified to configure, enable all supported masquerade forms. + This allows users to masquerade with the default + configuration. That seems to be more worthwhile now than + trying to prevent users from using it, especially with + single-user installations or those where a user can edit + etc/mts.conf. + +2008-05-04 Peter Maydell + + * bug #23167: sbr/ruserpass.c (ruserpass): make bad permissions + on .netrc be an instantly fatal error. Previously we returned + an error value; however, no caller was checking it. So now + ruserpass() has a void return type. + + * bug #23163: various minor fixes for the benefit of + older Unixes (specifically SunOS 4): + reintroduce strerror() substitute implementation + provide memmove() substitute implementation + + * bug #23163: fix accidentally broken 'build outside + source directory' feature + + * bug #23162: sbr/dtime.c: fix stray HAVE_TM_GMTOFF that + wasn't updated to the new macro name. + +2008-04-30 Peter Maydell + + * mts/smtp/smtp.c: provide a callback for SASL_CB_AUTHNAME + (fixes issue with SASL sending the wrong username in some + circumstances). Thanks to + for the patch. + +2008-04-29 Peter Maydell + + * Revert previous attempt at fix for SASL issue as it + is the wrong approach. + + * Fix in correct manner, by making sm_rrecord() and thus + sm_hear() set the length of the reply string correctly + (the SASL libraries now care if you pass in the wrong + length). + + * Correct various places in smtp.c where the reply string + might not have been correctly NUL-terminated. Includes a + fix for a particularly nasty and long standing screwup + where the buffer length counting in smhear() was totally + broken for continued lines from the server. + +2008-04-29 Peter Maydell + + * Cope with sasl_decode64() returning SASL_CONTINUE, as + happens with newer sasl libraries and LOGIN auth. + +2008-04-27 Peter Maydell + + * Updated some of the 'how to do a release' documentation. + + * Upped the VERSION string to '1.3-dev', since 1.3-RC1 has + been branched off. + +2008-04-27 Peter Maydell + + * Released nmh-1.3 RC1. + +2008-04-11 Oliver Kiddle + + * acconfig.h, configure.in, sbr/dtime.c, sbr/pidwait.c, + uip/mhshowsbr.c, uip/rcvtty.c, uip/slocal.c, uip/termsbr.c: + move most remaining macros out of acconfig.h which is an + obsolete feature of autoconf + +2008-04-05 Peter Maydell + + * bug #18655: fix use of admonish() for a fatal error (should + be adios(); only actual effect would be wrong exit code). + Thanks to Craig Leres for spotting this. + +2008-04-05 Peter Maydell + + * bug #20028 (Debian bug 399271): fix code assuming that pointer + differences were 32 bits -- thanks to Dean Gaudet for the patch. + +2008-01-25 Josh Bressers + + * uip/mhshowsbr.c (show_all_messages): Be more generous when parsing + multipart messages. + +2007-11-04 Joel Reicher + + * Changed done() link overriding to function pointer. Return type + is now void so that exit() can be used as done() callback. Dead + code return from all done()s removed, with return 1 in main() + following done() (should never be reached). + +2007-08-21 Josh Bressers + + * Red Hat Bug #253342: inc.c, utils.c, utils.h: When inc is run with + the -silent flag, don't exit(1) for no apparent reason. + +2007-03-12 Peter Maydell + + * bug #18630, #18631, #18632, #18634: various patches from + Craig Leres fixing error message argument problems. + +2007-03-12 Peter Maydell + + * bug #15212: configure.in, acconfig.h: remove configure test for + broken AT&T vi. This test was broken (it was always returning + failure even for non-broken vi implementations) and + unfixable. Nobody should be using AT&T vi any more so I have + simply moved it back to being a setting you can put manually into + acconfig.h if you must. + +2006-10-24 David Levine + + * uip/sendsbr.c: with attachformat values of 1 or 2, add + name= portion to Content-Type header. This makes them + consistent with attachformat value 0. And it allows mhstore + to use that (file)name when extracting attachments. + +2006-08-26 Josh Bressers + + * configure.in: If we're not using dotlocking, there is no need to set + inc sgid. + +2006-03-30 David Levine + + * uip/sendsbr.c: with attachformat values of 1 or 2, only + generate Content-Disposition headers for MIME attachments, not + for the message contents themselves. Microsoft Outlook Build + 10.0.6626, at least, doesn't show the message contents if they + have Content-Disposition. + +2006-03-09 Josh Bressers + + * sbr/fmt_rfc2047.c (decode_rfc2047): Don't close the iconv descriptor + if it isn't valid. + +2006-03-08 Josh Bressers + + * (mh_strcasecmp): Rename the private strcasecmp function to + mh_strcasecmp. This keeps the newer gnu linker happy. + +2006-03-05 Oliver Kiddle + + * sbr/fmt_rfc2047.c: don't try to malloc 0 bytes if an RFC2047 + encoded block is empty + +2006-03-04 Peter Maydell + + * etc/Makefile.in: use INSTALL_SCRIPT to install scripts; + this allows INSTALL_PROGRAM to be set to 'install -s' so + binaries are stripped on installation. Apparently the BSDs + do this. + +2006-02-25 David Levine + + * uip/sendsbr.c: replaced st_mtim with st_mtime, that's what + it should have been. Added #include of h/tws.h to pick up + dtime() prototype. + +2006-02-20 David Levine + + * h/mh.h, h/prototypes.h, uip/mhbuildsbr.c, uip/send.c, + uip/sendsbr.c, uip/viamail.c, uip/whatnowsbr.c, man/send.man: + added -attachformat switch to send, to support alternate MIME + header contents when using -attach. See send man page for + description. + + * man/mhbuild.man: wrapped one appearance of "Content-Disposition" + with quotes, to be consistent with others. + +2006-02-20 Josh Bressers + + * h/utils.h, sbr/utils.c, uip/flist.c, uip/folder.c: Move duplicate + function num_digits into utils.c + +2006-02-19 Josh Bressers + + * sbr/m_draft.c, sbr/utils.c, uip/folder.c, uip/inc.c, + uip/mhstoresbr.c, uip/popi.c, uip/refile.c: Add create_folder() + function, replacing duplicate code during folder creation. + +2006-02-18 David Levine + + * h/mime.h, h/mhparse.h, uip/mhbuildsbr.c, uip/mhfree.c, + man/mhbuild.man, docs/TODO: added support for an optional + Content-Disposition header in mhbuild (only). Its contents + are supplied between {}, positioned after the optional [], in + a mhbuild directive. If the contents do not contain a + "filename=" parameter, and the directive has a filename, or + something else that ends with "name=", then that will be used + to add a "filename=" parameter to the header. + +2006-02-12 David Levine + + * docs/TODO: added RFC2183 to reference of RFC1806 for + Content-Disposition header. + +2006-01-31 David Levine + + * uip/mhbuild.c, uip/mhbuildsbr.c, man/mhbuild.man: added + -nocontentid switch, to disable generation of Content-ID: + header in MIME messages. (Also added -contentid for + symmetry.) The default configuration of Microsoft Outlook, + Build 10.0.3416 in particular, doesn't see attachments in + incoming messages if there are Content-ID headers, see + http://home.cwru.edu/~wrv/eudoraoutlookfix.html. This allows + users to easily accomodate that by adding + mhbuild: -nocontentid to their .mh_profile. + +2006-01-29 Oliver Kiddle + + * bug 4360: uip/replsbr.c: remove trailing newlines from components + to fix bug with spaces at the end of Subject/References in replies + +2006-01-18 Oliver Kiddle + + * configure.in: use AS_HELP_STRING for formatting help messages + + * configure.in, sbr/fmt_scan.c: add autoconf magic to support + old systems that don't support multibyte character sets + + * sbr/fmt_scan.c: fix bug with insertion of newline being wrong if + the num function was used at the end of the format buffer + +2006-01-17 David Levine + + * uip/post.c, uip/spost.c: in make_bcc_file (), use same + logic as in finish_headers () to detect whether there is an + existing From: line in the draft. If draft_from masquerade + flag is enabled, this allows the From: to be obeyed in the + Bcc, instead of the old behavior of always replacing it with + the signature. + 2006-01-17 Oliver Kiddle * sbr/fmt_scan.c: more robust multi-byte/column support for field