nmh-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nmh-commits] [SCM] The nmh Mail Handling System branch, gmailapis, upda


From: David Levine
Subject: [nmh-commits] [SCM] The nmh Mail Handling System branch, gmailapis, updated. 1.7-branchpoint-858-gaa6cc38a
Date: Sat, 12 Feb 2022 09:02:37 -0500 (EST)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The nmh Mail Handling System".

The branch, gmailapis has been updated
       via  aa6cc38ac9d55c7037b0ae3e0cabd185a572f085 (commit)
       via  63b04e72d29286c892411835325bdd0756056e33 (commit)
       via  7853d43a06e05b8aff20d76c6425bf8039ad1b59 (commit)
       via  0b2a54dd7a2784d27d706a1bebdd138fea4a1fb1 (commit)
       via  fafca9f35e6d09dff0ae919b50e5c601af89eaa0 (commit)
       via  fa8c1842fe02dad6a66aca1f9bd5e5f40ff30f82 (commit)
       via  bdf0b2db22a5eaee95cb75f29d968f9562dfa4ce (commit)
       via  b1704ac6b4b725b7f3a85848eea2fb27738f6510 (commit)
       via  c46f5d5a314bb7fec18cf1eea67b0863d66bcf27 (commit)
       via  01a03f7c9344724a23733d78a5e4c5f3bf649548 (commit)
       via  11be0d6f971eeab1c82f3a49a59a2a9f075315d2 (commit)
       via  1abacba3c43ce23e4c34b2ed37c8add2e60858e2 (commit)
       via  1de383c1bc0de8767ab45359cd7506a57f842dc0 (commit)
       via  8b591361a01aaa982d4fabcada4eb0606c93b0ea (commit)
       via  35bc63734221afa2b7b6f31b467ad163cfd6e00e (commit)
       via  a658e7e88608cd4c564e056a38961a01644319ad (commit)
       via  a4c1104e02fdf999bc846e88be5f1250ecbb7a6e (commit)
       via  65b388b1f994e19ec24b117d501fb3b99900930f (commit)
       via  cd2b4dee4d9957dfecd1f9031f86edb90be4c257 (commit)
       via  82f2ab49b56fe3990ee6a92d66318bcabbf17770 (commit)
       via  5ed25a04768d4ca4f0a3211e5b00254f6fbbefe4 (commit)
       via  5b11076446509c57c86c76b95ba2c2564c1b187c (commit)
       via  041a406f8fe30c063b1ae3b7b074fbe83fe494de (commit)
       via  f9ce1d53aceb159f4bd542d0ecf38f2efd8e5d3d (commit)
       via  28207bedd828fe28189b106ab8c35e78530f66c8 (commit)
       via  3ada5b06e45ad6b2948cdab18de83d9be9a4a26d (commit)
       via  85928fdbe6ddbfa1282bbbf7265226c7177768e5 (commit)
       via  e5698c77d69921a784004fa72a251eacf106b552 (commit)
       via  b336a04fbb7ab4e231875f6a3a92c7de5d04cb1f (commit)
       via  325534ae1c665e3f5f93531489d574b890c4ae5c (commit)
       via  3d012d44729a5d6c3f845884cbedb6c02b167e15 (commit)
       via  7a118f01f211a962f8735cd91edf0356a5a39f7f (commit)
       via  e8adffda9bf8f08813974e8656a7889f56f131d7 (commit)
       via  4f80ee58869a32a15023425e5a177263ddc61b86 (commit)
       via  34d267bebc96543ceeba31a6102f287c61745e86 (commit)
       via  27029be1e5750981400a2a8481f3cbbdfdcae0a0 (commit)
       via  0ace65376f204018a2f18d13757d88bd880a7788 (commit)
       via  af804f74216b743c78a33721b24005e9a86b88f8 (commit)
       via  48d1e2cf4b9adf96a90bbbd38ea72008d70762fe (commit)
       via  c5226e0108048fc22eb4a312ad2b653d0d908f6c (commit)
       via  b5ed93fa6860fc15262ebeb8a9d6c851e2102732 (commit)
       via  9db67f1d385c5988012df22474f3ddf2f98c7862 (commit)
       via  aac7706b689059025782a9fa42ce02dd4c1e6184 (commit)
       via  ff33ae38887f727b1e84f45b520af3be5547d356 (commit)
       via  4ab086d8174e29b428065dd65583a1210d405197 (commit)
       via  514cf7ab09aeeea0c3a50d284e5a9110409cb95f (commit)
       via  536a4fe4d71d3cf7c1bbf4a34bd013ca5f6826d3 (commit)
       via  421c87e75e5f280a1f334c97dd407eeefb400aff (commit)
       via  afe26dec7b7bc6db0ab35103eb30bcfea2437712 (commit)
       via  afee81adee6302bc908b701c2237fa6e4f4752f7 (commit)
       via  b90c0a0fa8b8bf24a7f3c613e1d39f898cdf5311 (commit)
       via  a03874581d484413b8e49c02da47d14e9db89d6f (commit)
       via  05e06e97cfa7168680303ab553855b8b5e68200d (commit)
       via  50572d3d0e188eca7ed269c0515ade81a92d041b (commit)
       via  a2db48cfdd8d38afaec8315e6840339e52446c30 (commit)
       via  a3a6e1da09c69b2916231fdd00d074446fcd6085 (commit)
       via  4bf456ebf8b555a514d10b7da8b0aa544e9ab5e0 (commit)
       via  d0d023770fb1cc778e34433885fa91ab35301aeb (commit)
       via  1e030ec50e1e9f7e133a8809b458c0921821ed9b (commit)
       via  879f2722a10bfa1c8144084880af9247beab0cb8 (commit)
       via  2cbe36eb30da1d27666bf89fac5700f409a7839c (commit)
       via  513d6abd525804efb733f14721f8b32043754f50 (commit)
       via  84a7b7c69d9c1598247aafab1d1d6db9ed8af4ef (commit)
      from  eda899ff748b44dd722c56ecc9ac8adbb3714f49 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit aa6cc38ac9d55c7037b0ae3e0cabd185a572f085
Author: David Levine <levinedl@acm.org>
Date:   Sat Feb 12 08:08:31 2022 -0500

    Use full paths for par, fmt, and iconv in mhn.defaults.sh.

commit 63b04e72d29286c892411835325bdd0756056e33
Author: David Levine <levinedl@acm.org>
Date:   Wed Feb 9 07:16:16 2022 -0500

    Added start_test lines.

commit 7853d43a06e05b8aff20d76c6425bf8039ad1b59
Author: David Levine <levinedl@acm.org>
Date:   Sun Feb 6 11:37:22 2022 -0500

    Fixed charset determination code.
    
    Fix to commit 41ce4490ac5d5c6a25240c4101cacefa16d885eb.

commit 0b2a54dd7a2784d27d706a1bebdd138fea4a1fb1
Author: David Levine <levinedl@acm.org>
Date:   Sun Feb 6 10:47:11 2022 -0500

    Fixed mhfixmsg charset determination of content added with -reformat.
    
    Reported by Steven Winikoff on message with ISO-8859-1 content that
    was erroneously converted to UTF-8 twice.

commit fafca9f35e6d09dff0ae919b50e5c601af89eaa0
Author: David Levine <levinedl@acm.org>
Date:   Sun Feb 6 10:41:10 2022 -0500

    Added encoding() function.
    
    By exposing the code that was already in sbr/mime_types.c.

commit fa8c1842fe02dad6a66aca1f9bd5e5f40ff30f82
Author: David Levine <levinedl@acm.org>
Date:   Sun Feb 6 10:39:12 2022 -0500

    Added -display_charset utf-8 to lynx in mhn.defaults.
    
    Only for mhfixmsg-format-text/html.

commit bdf0b2db22a5eaee95cb75f29d968f9562dfa4ce
Author: David Levine <levinedl@acm.org>
Date:   Sat Feb 5 09:35:37 2022 -0500

    Suppress verbose message reporting conversion to same charset.

commit b1704ac6b4b725b7f3a85848eea2fb27738f6510
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Fri Feb 4 21:24:24 2022 -0500

    Change the header file location so object builds work

commit c46f5d5a314bb7fec18cf1eea67b0863d66bcf27
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Fri Feb 4 21:21:34 2022 -0500

    Perform better matching for EHLO keywords
    
    Previously we would look for EHLO keywords based on matching the
    prefix, but this caused to to match "AUTH=" when looking for "AUTH".
    Tighten up the match algorithm so we only match on a full keyword.

commit 01a03f7c9344724a23733d78a5e4c5f3bf649548
Author: David Levine <levinedl@acm.org>
Date:   Sun Jan 30 09:26:44 2022 -0500

    Updated mhshow(1) helper applications from Old to New as shown below.
    
    [app1, app2, ... appN] shows the order that mhn.defaults.sh uses
    when looking for the helper for the specified content type and
    optional subtype.
    
    Support for audio content is only added if /dev/audioIU or /dev/audio
    exists.
    
    Old helper appplications
    ========================
    [acroread, okular, evince, xpdf, gv]: application/pdf
    [okular, evince, gv]: application/postscript
    [ivs_replay]: application/x-ivs
    [soffice]: application/msword
    [splayer, raw2audio, cat >/dev/audio]: audio/basic
    [adpcm_dec, play]: audio/x-next
    [xv, netpbm + djpeg + xwud]: image
    [w3m, lynx, elinks]: text/html
    [richtext, rt2raw]: text/richtext
    [mpeg_play]: video/mpeg
    
    Changes:
    1. replaced use of netpbm with mpv --keep-open, preferring mpv over xv
    2. replaced mpeg_play with [mpv, mplayer] for video (not just video/mpeg)
    3. moved acroread to end of application/pdf list
    4. removed application/x-ivs support
    5. removed text/richtext support
    6. added mhshow-suffix-video.mp4 to mhn.defaults
    
    New helper appplications
    ========================
    [okular, evince, xpdf, gv, acroread]: application/pdf
    [okular, evince, gv]: application/postscript
    [soffice]: application/msword
    [splayer, raw2audio, cat >/dev/audio]: audio/basic
    [adpcm_dec, play]: audio/x-next
    [mpv --keep-open, xv]: image
    [w3m, lynx, elinks]: text/html
    [mpv, mplayer]: video

commit 11be0d6f971eeab1c82f3a49a59a2a9f075315d2
Author: David Levine <levinedl@acm.org>
Date:   Wed Dec 15 19:42:12 2021 -0500

    Fixed allowable MIME message encodings to get closer to RFC 2046.

commit 1abacba3c43ce23e4c34b2ed37c8add2e60858e2
Author: David Levine <levinedl@acm.org>
Date:   Wed Dec 15 19:37:03 2021 -0500

    Changed a test name to be unique.

commit 1de383c1bc0de8767ab45359cd7506a57f842dc0
Author: David Levine <levinedl@acm.org>
Date:   Mon Nov 15 19:23:19 2021 -0500

    Added -a option to build_nmh to analyze with Clang static analyzer.

commit 8b591361a01aaa982d4fabcada4eb0606c93b0ea
Author: David Levine <levinedl@acm.org>
Date:   Mon Nov 15 19:21:57 2021 -0500

    Removed all traces of FT_LITF format type.
    
    There was no format specifier to make use of it.

commit 35bc63734221afa2b7b6f31b467ad163cfd6e00e
Author: David Levine <levinedl@acm.org>
Date:   Thu Nov 11 22:05:08 2021 -0500

    Removed dead nested assignments reported by Clang Static Analyzer.

commit a658e7e88608cd4c564e056a38961a01644319ad
Author: David Levine <levinedl@acm.org>
Date:   Thu Nov 11 21:56:45 2021 -0500

    Removed unused fdopen() of temporary file fd.
    
    Resolves dead nested assignment reported by Clang Static Analyzer.

commit a4c1104e02fdf999bc846e88be5f1250ecbb7a6e
Author: David Levine <levinedl@acm.org>
Date:   Thu Nov 11 21:45:52 2021 -0500

    Removed unused open() of message file.
    
    Resolves dead nested assignment reported by Clang Static Analyzer.

commit 65b388b1f994e19ec24b117d501fb3b99900930f
Author: David Levine <levinedl@acm.org>
Date:   Thu Nov 11 12:30:32 2021 -0500

    Removed binary files that shouldn't have been committed.
    
    Fix to commit 3b920ec86.

commit cd2b4dee4d9957dfecd1f9031f86edb90be4c257
Author: David Levine <levinedl@acm.org>
Date:   Thu Nov 11 10:17:36 2021 -0500

    Removed unused assignment of local variable c.
    
    Resolves dead nested assignment reported by Clang Static Analyzer.

commit 82f2ab49b56fe3990ee6a92d66318bcabbf17770
Author: David Levine <levinedl@acm.org>
Date:   Thu Nov 11 10:04:08 2021 -0500

    Check result of send_imap_command() call and return NOTOK on failure.
    
    Resolves dead assignment reported by Clang Static Analyzer.

commit 5ed25a04768d4ca4f0a3211e5b00254f6fbbefe4
Author: David Levine <levinedl@acm.org>
Date:   Thu Nov 11 10:00:58 2021 -0500

    Removed final assignment to local startoffset.
    
    Resolves dead assignment reported by Clang Static Analyzer.

commit 5b11076446509c57c86c76b95ba2c2564c1b187c
Author: David Levine <levinedl@acm.org>
Date:   Thu Nov 11 09:57:35 2021 -0500

    Removed two assignments to local rc.
    
    Resolves dead assignment and dead nested assignment reported by
    Clang Static Analyzer.

commit 041a406f8fe30c063b1ae3b7b074fbe83fe494de
Author: David Levine <levinedl@acm.org>
Date:   Thu Nov 11 09:47:58 2021 -0500

    Replaced redundant string literal and removed unused local variable.
    
    Resolves dead initialization and dead nested assignment reported by
    Clang Static Analyzer.

commit f9ce1d53aceb159f4bd542d0ecf38f2efd8e5d3d
Author: David Levine <levinedl@acm.org>
Date:   Thu Nov 11 09:40:36 2021 -0500

    Moved *.plist from CLEANFILES and MAINTAINERCLEANFILES to clean-local.
    
    *.plist are directories so they need to be removed with rm -r.

commit 28207bedd828fe28189b106ab8c35e78530f66c8
Author: David Levine <levinedl@acm.org>
Date:   Thu Nov 11 09:33:36 2021 -0500

    Updated thirdparty/jsmn to its commit 25647e692.
    
    jsmn is now entirely within a header file, so removed jsmn.o from libmh.a.
    jsmn_parse() return type was changed from jsmnerr_t to int.
    jsmn repo was moved from mercurial to git.
    Added thirdparty/README-jsmn.txt to track git version.

commit 3ada5b06e45ad6b2948cdab18de83d9be9a4a26d
Author: David Levine <levinedl@acm.org>
Date:   Thu Nov 11 08:09:34 2021 -0500

    Move local buffer to static storage.
    
    This resolves bug found by Clang Static Analyzer of stack address
    stored into global variable.

commit 85928fdbe6ddbfa1282bbbf7265226c7177768e5
Author: David Levine <levinedl@acm.org>
Date:   Tue Nov 9 21:17:03 2021 -0500

    Added assert()'s that specific pointers are non-NULL.
    
    That suppresses report of possible null pointer dereference by Clang
    Static Analyzer.

commit e5698c77d69921a784004fa72a251eacf106b552
Author: David Levine <levinedl@acm.org>
Date:   Tue Nov 9 21:14:57 2021 -0500

    Added NORETURN to compile_error() declaration.
    
    That suppresses report of possible null pointer dereference by Clang
    Static Analyzer.

commit b336a04fbb7ab4e231875f6a3a92c7de5d04cb1f
Author: David Levine <levinedl@acm.org>
Date:   Tue Nov 9 21:13:14 2021 -0500

    Avoid possible dereference of null pointer by checking for null.
    
    Found by Clang Static Analyzer.

commit 325534ae1c665e3f5f93531489d574b890c4ae5c
Author: David Levine <levinedl@acm.org>
Date:   Mon Nov 8 21:46:40 2021 -0500

    Removed free(3) call on memory that is used later.
    
    Resolves use-after-free bug found by Clang Static Analyzer.  The
    memory is used in a die() call so the leak is benign.

commit 3d012d44729a5d6c3f845884cbedb6c02b167e15
Author: David Levine <levinedl@acm.org>
Date:   Mon Nov 8 21:41:07 2021 -0500

    Protect against passing null to argument with 'nonnull' attribute.
    
    Resolves potential bugs found by Clang Static Analyzer.  The one in
    slocal.c is a false positive; adding an assert() got rid of that.

commit 7a118f01f211a962f8735cd91edf0356a5a39f7f
Author: David Levine <levinedl@acm.org>
Date:   Mon Nov 8 21:27:31 2021 -0500

    Ensure that getpwnam(3) is called with non-null argument.
    
    Fix to commit cd2c6750f.  Ralph discovered that a null argument
    would cause a seg fault.  Clang Static Analyzer detected it, too.

commit e8adffda9bf8f08813974e8656a7889f56f131d7
Author: Paul Fox <pgf@foxharp.boston.ma.us>
Date:   Thu Jul 29 09:46:16 2021 -0400

    Better warning about using locking in rcvstore.man

commit 4f80ee58869a32a15023425e5a177263ddc61b86
Author: David Levine <levinedl@acm.org>
Date:   Sun Jun 20 18:22:38 2021 -0400

    Fixed display of iCalendar object with multiple VEVENTS using a VTIMEZONE.
    
    Thanks to Ralph for reporting the bug, with a very detailed analysis.

commit 34d267bebc96543ceeba31a6102f287c61745e86
Author: Paul Fox <pgf@foxharp.boston.ma.us>
Date:   Mon May 31 12:51:37 2021 -0400

    Correct typo in sortm.man, which affected formatting

commit 27029be1e5750981400a2a8481f3cbbdfdcae0a0
Author: David Levine <levinedl@acm.org>
Date:   Tue May 25 21:33:10 2021 -0400

    More rework of etcpath() and its test.
    
    Fix to commit 20702cc3.  Thanks to Ralph for pointing out
    deficiencies in that commit.

commit 0ace65376f204018a2f18d13757d88bd880a7788
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Tue May 25 14:39:16 2021 +0100

    uip/popsbr.c: replace TRUNCCPY() with ABORTCPY() in multiline().
    
    If the full line from the server can't be returned because the buffer is
    too small then abort.  It shouldn't be possible with the current sizes
    of the two buffers involved.

commit af804f74216b743c78a33721b24005e9a86b88f8
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Tue May 25 14:36:53 2021 +0100

    uip/popsbr.c: replace trunccpy() with abortcpy() for SASL mechanisms.
    
    Don't continue if the SASL capability mechanisms can't be fully copied
    for later parsing.

commit 48d1e2cf4b9adf96a90bbbd38ea72008d70762fe
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Tue May 25 14:33:17 2021 +0100

    uip/mhstoresbr.c: replace trunccpy() with abortcpy() for ‘%f’ expansion.
    
    When expanding a storage string, a truncated filename shouldn't proceed
    through the system.

commit c5226e0108048fc22eb4a312ad2b653d0d908f6c
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Tue May 25 14:31:49 2021 +0100

    uip/mhshowsbr.c: replace trunccpy() with abortcpy() for ‘%f’ expansion.
    
    When expanding a display string, a truncated filename shouldn't proceed
    through the system.

commit b5ed93fa6860fc15262ebeb8a9d6c851e2102732
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Tue May 25 14:27:08 2021 +0100

    uip/mhbuildsbr.c: replace trunccpy() with abortcpy() for ‘%f’ expansion.
    
    When expanding a composition string, a truncated filename shouldn't
    proceed through the system.

commit 9db67f1d385c5988012df22474f3ddf2f98c7862
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Tue May 25 14:04:28 2021 +0100

    sbr/seq_list.c: replace trunccpy() with abortcpy() in seq_list().
    
    For truncation to occur, MAXBUFFER must be too small to hold the current
    message.

commit aac7706b689059025782a9fa42ce02dd4c1e6184
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Tue May 25 11:07:02 2021 +0100

    uip/popsbr.c: replace trunccpy() in pop_init() with TRUNCCPY().
    
    Fixes 7f565b90.

commit ff33ae38887f727b1e84f45b520af3be5547d356
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Tue May 25 10:59:35 2021 +0100

    uip/imaptest.c: replace mh_xmalloc() and trunccpy() with xmemtostr().
    
    parse_capability() takes a pointer to a run of char and their length; they
    may not be NUL-terminated.  The code was and still does copy them into
    newly malloc'd memory and appends a NUL.  The copy was using trunccpy()
    knowing it would copy all the needed source bytes before stopping as no
    source NUL was found and putting its own NUL at the end, but that's a bit
    obscure and duplicates effort as the number of bytes to copy is known.
    Instead, use the new xmemtostr() to replace both calls.  It also has
    the advantage of spotting an overflow of the length, say when pointer
    arithmetic produces -1 AKA SIZE_MAX without which the bytes would be
    copied to mh_xmalloc(0).

commit 4ab086d8174e29b428065dd65583a1210d405197
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Tue May 25 10:16:11 2021 +0100

    sbr/utils.c: add xmemtostr() to malloc string from run of bytes.
    
    Copies the source bytes into a new destination sized for them plus a
    terminating NUL which it appends.

commit 514cf7ab09aeeea0c3a50d284e5a9110409cb95f
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Tue May 25 13:53:56 2021 +0100

    sbr/escape_addresses.c: replace literal tab in string with ‘\t’.
    
    Makes it easier to observe and removes the risk of erroneous switch to
    one or more spaces.

commit 536a4fe4d71d3cf7c1bbf4a34bd013ca5f6826d3
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Tue May 25 13:56:34 2021 +0100

    uip/flist.c: replace literal tab in string with three spaces.
    
    A string of spaces was being printed in lieu of ‘ (private)’ to maintain
    columnar output.  This was changed, probably by a faulty editor
    configuration, to replace the initial spaces with a tab character.
    The source code's layout didn't change, but the tab isn't sufficient to
    keep the columns aligned in flist's output.
    
    Fixes e491542d.

commit 421c87e75e5f280a1f334c97dd407eeefb400aff
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Tue May 25 14:23:11 2021 +0100

    sbr/seq_print.c: delete preprocessed-out code; no longer used.
    
    Commit 31441ee8 commented it out but it still remains in git-grep(1)'s
    output, etc., and also hides that seq_printall() and seq_print() were
    removed in the commit's diff.

commit afe26dec7b7bc6db0ab35103eb30bcfea2437712
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Tue May 25 10:26:38 2021 +0100

    uip/folder.c: don't copy folder name just to tack a ‘+’ on the end.
    
    Instead, print the ‘+’ or ‘ ’ as part of the format string in one of
    two printf()s.  Avoids a TRUNCCPY() or snprintf() to a fixed-size buffer.

commit afee81adee6302bc908b701c2237fa6e4f4752f7
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Tue May 25 11:50:39 2021 +0100

    uip/flist.c: fix left-alignment of current folder ‘+’.
    
    The padding with spaces of the folder name to make it left-justified
    in a column was between the folder name and the ‘+’ to mark the
    current folder.
    
    Fixes 2df6d337.

commit b90c0a0fa8b8bf24a7f3c613e1d39f898cdf5311
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Sun May 23 14:32:39 2021 +0100

    sbr/utils.c: add abortcpy() which prefers to abort than to overflow.
    
    This is the partner to trunccpy().  If truncation is valid, e.g. passing
    on the first part of a long string in an error message, then trunccpy()
    should be used instead of strncpy(3).  Else abortcpy() should be used
    as it will abort(3) rather than overflow the destination or leave the
    destination not terminated.
    
    (strncpy() is rarely wanted as its NUL-padding is only useful to pad
    fixed-width fields, e.g. an old 14-byte filename which sits alongside
    the 16-bit inode number in a directory entry.)
    
    The creation of abortcpy() and its environment-variable workaround was
    discussed on nmh-workers around 2016-10-29, in particular message-ID
    <20161029214059.1046247BE8@pb-smtp2.pobox.com> at 21:40:58 UTC.

commit a03874581d484413b8e49c02da47d14e9db89d6f
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Sun May 23 12:27:32 2021 +0100

    uip/flist.c: hush compiler by using int for precision specifier.
    
    size_ts were used for tracking the length of strings and the maximum
    seen, but printf(3)'s ‘*’ precision-specifier requires an int.
    Instead of adding a cast, assign strlen(3)'s size_t return value to an
    int as it's unlikely a folder or sequence name will ever exceed INT_MAX.
    Also, using ‘i = strnlen(s, INT_MAX)’ in addition would just confuse.

commit 05e06e97cfa7168680303ab553855b8b5e68200d
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Sun May 23 12:16:24 2021 +0100

    uip/flist.c: don't copy folder name just to tack a ‘+’ on the end.
    
    Instead, print the ‘+’ or ‘ ’ as a separate ‘%c’ format 
specifier.
    Avoids a TRUNCCPY() or snprintf() to a fixed-size buffer.

commit 50572d3d0e188eca7ed269c0515ade81a92d041b
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Sun May 23 11:55:26 2021 +0100

    uip/mhfixmsg.c: hush compiler by enlarging snprintf() destination.
    
    Alter the destination array's definition to use sizeof on a string
    constant which shows the maximum which could be produced.  Don't use
    stdint.h's SIZE_MAX in the string as that comes with extra noise like
    a trailing ‘UL’ and parenthesis.
    
    A size_t is being printed so use ‘%zu’ rather than cast to unsigned.

commit a2db48cfdd8d38afaec8315e6840339e52446c30
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Sun May 23 11:26:44 2021 +0100

    sbr/netsec.c: hush compiler by replacing fprintf() with fwrite().
    
    A printf(3) precision-specifier of ‘*’ takes an int but an unsigned was
    being passed.  Given the intent of ‘"%.*s\n", outlen, snoopoutbuf’ was
    to write outlen bytes of snoopoutbuf and a linefeed, replace it with an
    fwrite() and putc().  Examining the code shows no NUL is expected in
    snoopoutbuf within its first outlen bytes so using ‘%s’ is a bit
    misleading in isolation to the reader and makes more work for stdio.

commit a3a6e1da09c69b2916231fdd00d074446fcd6085
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Fri May 21 22:46:50 2021 +0100

    uip/mkstemp.c: if advise() is available then use it.
    
    Also, return ASAP on error so the main body of the function isn't
    conditional.

commit 4bf456ebf8b555a514d10b7da8b0aa544e9ab5e0
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Fri May 21 22:38:51 2021 +0100

    all *.c: hush compiler by passing unsigned for ‘%x’ and similar.
    
    The printf(3) family expect an unsigned integer for ‘%x’ so ensure they
    get it to stop the compiler warning that a signed is being passed.  Each
    case was considered rather than just mechanically adding a cast to
    ‘unsigned’.

commit d0d023770fb1cc778e34433885fa91ab35301aeb
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Tue May 18 14:34:42 2021 +0100

    uip/mkstemp.c: use memcpy(3) instead of strncpy(3) to hush compiler.
    
    strncpy() was being used to copy the source string apart from its
    terminating NUL, and sometimes the source string could be empty so the
    destination wouldn't be written at all; gcc noticed.
    
    The length to copy is known, there is no risk of stopping early on an
    unexpected NUL, so use memcpy() to clarify intent.
    
    Also, avoid copying the NUL of prefix[].

commit 1e030ec50e1e9f7e133a8809b458c0921821ed9b
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Mon May 17 16:00:01 2021 +0100

    uip/popsbr.c: replace a strncpy(s, …, sizeof s) with TRUNCCPY().
    
    It silences a compiler warning and it's likely the buffer is expected to
    be NUL terminated based on nearby code.

commit 879f2722a10bfa1c8144084880af9247beab0cb8
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Mon May 17 15:58:50 2021 +0100

    test/runpty.c: add function attributes to die() to silence warnings.
    
    Added attributes ‘__noreturn__’ and ‘format(printf)’ if gcc is 
recent
    enough to support them.  Copies h/mh.h's logic.

commit 2cbe36eb30da1d27666bf89fac5700f409a7839c
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Mon May 17 14:03:05 2021 +0100

    all *.c: join lines ‘}’ and ‘else’ into one: ‘} else’.
    
    That seems to be the predominant style and there were only a few left
    which put the ‘else’ under and aligned with the ‘}’.

commit 513d6abd525804efb733f14721f8b32043754f50
Author: Ralph Corderoy <ralph@inputplus.co.uk>
Date:   Mon May 17 13:45:30 2021 +0100

    uip/mhlsbr.c: fix indentation in putcomp().
    
    Faulty since RCS revision 1.1 of
    docs/historical/mh-6.8.5/uip/RCS/mhlsbr.c,v.

commit 84a7b7c69d9c1598247aafab1d1d6db9ed8af4ef
Author: David Levine <levinedl@acm.org>
Date:   Sun May 16 22:16:16 2021 -0400

    sbr/path.c: reworked etcpath() of paths that start with ~.
    
    The initial motivation was to clean up a couple of warnings with
    -Wstringop-overflow from gcc 11 with optimization enabled.  For
    an input of ~user/file when that user does not exist, the old code
    would restore the first '/' after having removed it earlier, to
    isolate ~user.  Changed the code to not remove it if that user
    doesn't exist.
    
    Added test that exercises that code to test/mhical/test-mhical.

-----------------------------------------------------------------------

Summary of changes:
 Makefile.am                        |   4 +-
 build_nmh                          |  18 +-
 docs/pending-release-notes         |   9 +
 etc/mhn.defaults.sh                | 171 ++++-------
 man/fmttest.man                    |   1 -
 man/mhfixmsg.man                   |  39 ++-
 man/rcvstore.man                   |  23 +-
 man/sortm.man                      |   2 +-
 mts/smtp/smtp.c                    |  14 +-
 sbr/client.c                       |   5 +-
 sbr/context_read.c                 |   3 +-
 sbr/datetime.c                     |   6 +-
 sbr/escape_addresses.c             |   2 +-
 sbr/fmt_compile.c                  |  22 +-
 sbr/fmt_compile.h                  |   2 +-
 sbr/fmt_scan.c                     |  18 +-
 sbr/folder_addmsg.c                |   6 +-
 sbr/getpass.c                      |   3 +-
 sbr/icalendar.l                    |   2 +-
 sbr/icalparse.y                    |   4 +-
 sbr/m_convert.c                    |  17 +-
 sbr/m_getfld.c                     |   5 +-
 sbr/m_popen.c                      |   3 +-
 sbr/mf.c                           |   3 +-
 sbr/mime_type.c                    |  41 ++-
 sbr/mime_type.h                    |  15 +
 sbr/netsec.c                       |   6 +-
 sbr/oauth.c                        |   2 +-
 sbr/path.c                         |  20 +-
 sbr/pidstatus.c                    |   2 +-
 sbr/seq_list.c                     |   2 +-
 sbr/seq_print.c                    |  49 ---
 sbr/snprintb.c                     |   3 +-
 sbr/utils.c                        |  90 +++++-
 sbr/utils.h                        |   9 +-
 test/getcwidth.c                   |   5 +-
 test/mhbuild/test-attach           |  19 +-
 test/mhbuild/test-ext-params       |  13 +-
 test/mhfixmsg/test-mhfixmsg        | 128 ++++++--
 test/mhical/test-mhical            |  22 ++
 test/mhlist/test-mhlist            |  98 ++++++
 test/mhparam/test-etcpath          |  78 +++--
 test/runpty.c                      |   9 +-
 thirdparty/README-jsmn.txt         |   1 +
 thirdparty/jsmn/.clang-format      |  90 ++++++
 thirdparty/jsmn/.hg_archival.txt   |   5 -
 thirdparty/jsmn/.travis.yml        |   4 +
 thirdparty/jsmn/Makefile           |  53 ++--
 thirdparty/jsmn/README.md          |  75 +++--
 thirdparty/jsmn/example/jsondump.c | 204 +++++++------
 thirdparty/jsmn/example/simple.c   | 118 +++----
 thirdparty/jsmn/jsmn.c             | 311 -------------------
 thirdparty/jsmn/jsmn.h             | 462 ++++++++++++++++++++++++++--
 thirdparty/jsmn/jsmn_test.c        | 608 -------------------------------------
 thirdparty/jsmn/library.json       |  16 +
 thirdparty/jsmn/test/test.h        |  31 ++
 thirdparty/jsmn/test/tests.c       | 359 ++++++++++++++++++++++
 thirdparty/jsmn/test/testutil.h    |  96 ++++++
 uip/aliasbr.c                      |  10 +-
 uip/annosbr.c                      |   5 +-
 uip/ap.c                           |   3 +-
 uip/dist.c                         |   3 -
 uip/flist.c                        |  29 +-
 uip/fmtdump.c                      |  13 +-
 uip/fmttest.c                      |   9 -
 uip/folder.c                       |  19 +-
 uip/forw.c                         |   1 +
 uip/imaptest.c                     |   5 +-
 uip/mhbuild.c                      |   7 +-
 uip/mhbuildsbr.c                   |   6 +-
 uip/mhfixmsg.c                     | 194 ++++++++----
 uip/mhical.c                       |  30 +-
 uip/mhlistsbr.c                    |   4 +-
 uip/mhlsbr.c                       |  29 +-
 uip/mhoutsbr.c                     |  14 +-
 uip/mhparse.c                      |  47 +--
 uip/mhshowsbr.c                    |   2 +-
 uip/mhstoresbr.c                   |   2 +-
 uip/mkstemp.c                      |  67 ++--
 uip/msgchk.c                       |   3 +-
 uip/picksbr.c                      |   6 +-
 uip/popsbr.c                       |   9 +-
 uip/post.c                         |  21 +-
 uip/replsbr.c                      |   2 +-
 uip/send.c                         |   4 +-
 uip/sendsbr.c                      |   4 +-
 uip/slocal.c                       |  13 +-
 uip/sortm.c                        |   3 +-
 uip/whatnowsbr.c                   |  12 +-
 uip/whom.c                         |   4 +-
 90 files changed, 2216 insertions(+), 1790 deletions(-)
 create mode 100644 thirdparty/README-jsmn.txt
 create mode 100644 thirdparty/jsmn/.clang-format
 delete mode 100644 thirdparty/jsmn/.hg_archival.txt
 create mode 100644 thirdparty/jsmn/.travis.yml
 delete mode 100644 thirdparty/jsmn/jsmn.c
 delete mode 100644 thirdparty/jsmn/jsmn_test.c
 create mode 100644 thirdparty/jsmn/library.json
 create mode 100644 thirdparty/jsmn/test/test.h
 create mode 100644 thirdparty/jsmn/test/tests.c
 create mode 100644 thirdparty/jsmn/test/testutil.h


hooks/post-receive
-- 
The nmh Mail Handling System



reply via email to

[Prev in Thread] Current Thread [Next in Thread]