Tell all the people She lives on love street, lingers long on love street. At the first workday after the release v14.6 i've run into a bug that was caused by an oversight, a double-Fclose() that would be harmless if we wouldn't forcefully panic() when we encounter it!
So i've spent another week on a review, and despite fixing many additional notational oversights i haven't found more oversights of newly introduced problems. On the other hand i've found and fixed some old problems during the review, and also tweaked some other things. The release tarballs can be downloaded (e.g., via 'curl -vv -L') from, and their checksums are: <https://downloads.sourceforge.net/project/s-nail/s-nail-14_6.tar.xz> MD5 = 3418f5a829315f40f3d0a7bdaeb765b6 SHA1 = b46808c716c5ae04f0ff51e7f9f4049a7f1dc5c8 SHA256 = d1a16e4020782217032252f837d1d4f6d640a39f9ea11655fe2354312accf883 <https://downloads.sourceforge.net/project/s-nail/s-nail-14_6.tar.gz> MD5 = 0109e91496f704e44865bef9bd83d133 SHA1 = 2315d0c8a28649be72da3df5a88daef6e35b74fe SHA256 = a02e66d54d717380a4f1a6c29d7608204798225ed46b235bd49f90ecb0b29bdc Online manual: <http://sdaoden.users.sourceforge.net/code-nail.html> [Web site : <http://sdaoden.users.sourceforge.net/code.html#s-nail>] git(1) repo : <git.code.sf.net/p/s-nail/code> (git:// or http://) git(1) browse: <http://sourceforge.net/p/s-nail/code/> The complete changelog of commits in between two versions can be inspected by using the git(1) `log' command as shown below, where `OLD' and `NEW' are the two versions to be compared, e.g., v14.5.2 and v14.6.1: # All commits: $ git log --reverse --topo-order OLD..NEW # Only topic branch headers: $ git log --oneline --merges --reverse OLD..NEW # Same, but truly accessible: $ git log --oneline --parents --merges --reverse OLD..NEW | while read c1 c2 c3 c4 c5 c6; do printf "%-24s: \$ git log --oneline --no-merges ${c1} ^${c2}\n" "${c6}"; done v14.6.1, 2014-02-22 ------------------- Thanks to Andy Switala (andy DOT switala AT gmail DOT com). And thanks to all package maintainers for their stamina. - The INSTALL file now has a `Current codebase state' section. (Also on my webpage.) - Commands invoked via `!' should now be interruptable. I'm afraid the exit status of such a command will not be reflected by the return value of the `!' command yet, but hey, at least `!sleep 10' can now be interrupted -- try this with another Berkeley Mail! [381ff46] - All credential prompts should now be interruptable. (Inspired from Andy Switala) [c3bb2a2] - 'make test' will now test a silly S/MIME case when WANT_DEBUG (or 'make devel') was used. [8cff17f] - *batch-exit-on-error* should now look at the exit status of *every* command when the command loop ticks. [c7e7d53] - The new `[?name-list]?search-pattern' search expression has been changed to `[@name-list]@search-pattern' -- like this it doesn't clash with the `?' help command and can thus be used on a line by itself, causing the default command (`next') to be invoked on its' result, shall there be one. Ok, yes, that was surely also an oversight. [8368f70] v14.6, 2014-02-15 ----------------- + With this release the S-nail codebase has been converted to my usual style of function-code-flow and notation. ?0[]$ git diff --shortstat v14.5.2..HEAD 55 files changed, 28065 insertions(+), 25356 deletions(-) ?0[]$ git diff --ignore-all-space --shortstat v14.5.2..HEAD 55 files changed, 14664 insertions(+), 11955 deletions(-) Maildir and S/MIME support have been restored, and a MIME bug that could have led to missing data in header display+ has been fixed. Ah, and users of compressed boxes should now feel luckier, too -- at least once they've realized that the compress extension is no longer appended automatically, but must be given explicitly. Thus: i hope that all those i-am-new-to-the-codebase bugs i've introduced over a year ago have been found and fixed, and that v14.6 is the true "sweet sixteen" (months of maintainership). ChangeLog (packager-affine) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - If WANT_AMALGAMATION is set, `-pipe' will be added to our CFLAGS (which are only honoured with WANT_AUTOCC, of course). [1330411] - New configuration option: WANT_IMAP_SEARCH, enabled by default. The regular expression support for IMAP-style search expressions has been removed again: it changed the IMAP search semantic in that it couldn't be executed on the server, but only local, and the syntax sucked, too. (And we have a new `?' search expression.) [402b7c6] - CONFIG=MEDIUM and CONFIG=NETSEND now both WANT_REGEX. [dee954e] - The `make test' target should *really* work gracefully, now that usage of the `-#' command line option also sets the folder to be opened to `/dev/null'. (Still no `void' box in sight.) [0119d514] - All published patches may also be found in a new [patches] branch. ChangeLog ^^^^^^^^^ - Several fixes that saw published patches (with equivalent functionality), and are thus described in NEWS, are included: . s-nail-14.5.2-sort-alt.patch Fixes a hasty commit that introduced string relaxation in a faulty way. [5e75529] . s-nail-14_5_2-mimeheader.patch Fixes data loss if multiple MIME encoded-words follow each other in header bodies. [c81afce] . s-nail-14_5_2-maildir.patch Effectively restores proper maildir support. [1c2563b, 13f325f] . s-nail-14_5_2-smime.patch Fixes an off-by-one error and, in effect, restores S/MIME sign and encryption etc. support. [e759f75] - The `screen' terminal type is by default recognized as being colour-capable. [e759f75] - With the NCL command line editor and WANT_TABEXPAND hitting <TAB> should now act as if an "implicit asterisk" had been given in case there was no expansion of the original user input; e.g., '? ls <TAB>' may exceed your line limit now ;). [0910a8f] - The S/MIME cipher list was outdated, RFC 5751 requires AES-128 as the default, the RC2 ones are long obsoleted (etc.). Also we now should handle that OpenSSL may not support individual algorithms. Note: we use the option value `des3' for `DES EDE3' from now on! (Maybe see *smime-cipher-user@host* manual entry.) *ssl-method* may now also be assigned the new (default) method `auto' explicitly. [2472670] - Messages will now be stored in a set *record* even if only file or pipe addressees were given. [a11935b] - Support for xz(1) compressed mailboxes has been added. (The `Can't canonicalize' warning for compressed boxes had the same cause that made maildir usage impossible, but i don't feel _too_ bad because looking into the code a bit revealed that the *newmail* mechanism never worked for such boxes anyway. And will for a while.) [7fd9979] - S-nail now supports nested if..else..endif conditionals. [3c22c04] - The NCL command line editor now locks its' history file when it reads and writes it, so as to protect against concurrent usage. [c3a39ce] - You can now say 'fi%', 'fi&', 'p&10' and `ghost ps '!ps axu'' followed by 'ps|grep nail'. [c3266c6] - Invocation cleanup: usage of -f and -u is mutual, -H and -u is ok, -u in send mode not. [fa0a0aa] - New message specification: `[?name-list]?search-string' will search in locally available messages. If the optional `?name-list' part is given, that specifies the (comma-separated list of) header fields to search in. The special names `body' and `text' can be used to search in message bodies alone and bodies including the headers fields, respectively. Note that "message bodies" unfortunately still means "including headers of attachments and attachments themselves", and until some later time. [61bb460] - The new command line option `-L spec-list' prints a header summary of only those messages that comply to the specification list `spec-list'. If -L and -H are used in combination, no summary is printed at all, but the exit status reports wether `spec-list' would have matched some messages or not. [934e12c] ChangeLog (purely technical) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Most of the work was changing the code-flow of the entire codebase to my usual style of programming, with a single function entry and a single function exit, including the addition of N(ot) Y(et) D(ead) points of interest, which finally enabled me to get rid of (sic!) using a debugger for S-nail development. Just compile via 'make devel', and in case of a crash you should get a nice backtrace listing. (You use IMAP, do you?) However, because practically every line of code has been touched, this caused some other changes along the way, e.g., the handling of temporary files was changed completely (the formerly used Ftemp() function has been replaced with a new Ftmp(), which handles unlinking itself as necessary etc.), it was detected that the S/MIME support was no longer compliant to any RFC, some resource leaks have been eliminated... It is likely that a change so large introduced some other flees and flaws, however. But it looks good so far. Thank you. --steffen ------------------------------------------------------------------------------ Managing the Performance of Cloud-Based Applications Take advantage of what the Cloud has to offer - Avoid Common Pitfalls. Read the Whitepaper. http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk _______________________________________________ S-nail-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/s-nail-users
