./mail/nmh, Cleaned up MH mailer suite

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 1.7.1nb3, Package name: nmh-1.7.1nb3, Maintainer: leot

nmh (new MH) is a powerful electronic mail handling system. It was
originally based on version 6.8.3 of the MH message system developed by
the RAND Corporation and the University of California. It is intended
to be a (mostly) compatible drop-in replacement for MH.

nmh consists of a collection of fairly simple single-purpose programs
to send, receive, save, retrieve, and manipulate e-mail messages. Since
nmh is a suite rather than a single monolithic program, you may freely
intersperse nmh commands with other commands at your shell prompt,
or write custom scripts which use these commands in flexible ways.

Required to build:

Master sites:

SHA1: 441b56502827eb8296745520a243c7d46153ad94
RMD160: 174a5a66d46a42a65adc8382036a48e2dc671255
Filesize: 1367.269 KB

Version history: (Expand)

CVS history: (Expand)

   2018-08-16 20:55:17 by Adam Ciarcinski | Files touched by this commit (653) | Package updated
Log message:
revbump after boost-libs update
   2018-06-04 19:53:33 by Leonardo Taccari | Files touched by this commit (1) | Package updated
Log message:
nmh: Add mhshow.marker, scan.curses and scan.highlighted to CONF_FILES

All of them were accidentally omitted during the nmh-1.6 update on Sep 2014
as part of PR pkg/49166, sorry!

(spotted by reading mhshow(1) man page)
   2018-04-29 23:32:09 by Adam Ciarcinski | Files touched by this commit (629) | Package updated
Log message:
revbump for boost-libs update
   2018-03-09 10:05:37 by Leonardo Taccari | Files touched by this commit (3) | Package updated
Log message:
nmh: Update mail/nmh to 1.7.1

pkgsrc changes:
 - Update patch-ca to avoid patching unused by pkgsrc `uninstall-*'
   targets (not needed) and adjust `installdirs' target to create
   `egdir' (`share/examples/nmh')

1.7.1 is a patch release for 1.7, and includes fixes to a number of
significant bugs we have discovered since releasing 1.7.  Specifically,
this release includes the following bug fixes:

 - A significant memory leak in scan(1)
 - rcvdist(1) not passing arguments to post(8) correctly
 - Number formatting functions in the format engine were not truncating
   numbers correctly
 - Various fixes to the test suite
   2018-01-28 21:11:10 by Thomas Klausner | Files touched by this commit (462) | Package updated
Log message:
Bump PKGREVISION for gdbm shlib major bump
   2018-01-01 22:18:57 by Adam Ciarcinski | Files touched by this commit (629) | Package updated
Log message:
Revbump after boost update
   2017-11-22 09:42:24 by Leonardo Taccari | Files touched by this commit (1)
Log message:
nmh: If the `tls' option isn't requested pass `--without-tls' to CONFIGURE_ARGS

(Previosly if selected or not *always* `--with-tls' was accidently passed to the

Pointed out by Joyent SmartOS bulk builds.
   2017-11-21 11:32:02 by Leonardo Taccari | Files touched by this commit (6) | Package updated
Log message:
nmh: Update mail/nmh to 1.7

pkgsrc changes:
 - Update MASTER_SITES (use https:// and avoid redirects)

 - Delete (a bit outdated) comment about locking mechanisms

   Since 02 Feb 2014 (post-1.6) the default locking mechanisms are
   (directly from m4/locking.m4):

    - aix*|cygwin*|linux*: fcntl
    - freebsd*|*netbsd*|openbsd*|darwin*: flock
    - everything else: dot

   The original comment was probably about just NetBSD and maybe Solaris
   (it's dated 1999). Solaris still uses the `dot' mechanisms by default
   but we no longer have any local patches about locking.

 - Delete (no more needed) `-O1' hack to CFLAGS

   mh_strcasecmp() was completely replaced by strcasecmp() on 24 Mar 2013, and
   hence present in 1.6. Forcing `-O1' for gcc is no longer needed.

 - Adjust --sysconfdir CONFIGURE_ARGS per-upstream change, now the nmh
   directory is created by nmh's configure so pass PKG_SYSCONFBASE instead of

 - Add support for the `test' phase

   Add support for nmh tests. Modify patches/patch-ca accordingly in order to
   adjust TEST_ENVIRONMENT to use the configuration files in $egdir instead of the
   ones in $nmhetcdir.
   Actually all tests are passed except an mhparam test that sposts the
   $egdir/$nmetcdir kludge.

 - Do not include bsd.prefs.mk two times (NFC)

 - Add `oauth' PKG_OPTIONS (disabled by default) to enable OAuth2 support in
   SMTP and POP auth via curl

Release notes for nmh 1.7
Welcome to nmh, the new version of the classic MH mail handling system.
It's been over three years since the last release of nmh, and there have
been a number of significant changes since the last release.  Long-time
MH and nmh uses should read careful the NOTEABLE CHANGES section, as there
are some significant changes to nmh behavior.  Otherwise, please see the
README and INSTALL files for help on getting started with nmh.

For news of future releases, subscribe to the low-volume


The largest notable changes in the 1.7 release are:

- Complete unification of network security support.  All network protocols
  (currently, POP and SMTP) have been refactored to use a common set of
  security routines.  This means all protocols support all SASL mechanisms
  (via the Cyrus-SASL library) and TLS.  TLS support has been strengthened
  to perform certificate name validation and to require TLS 1.1 as a
  minimum protocol.  Also, all protocols can make use of the OAuth2/XOAUTH
  SASL mechanism, which is supported by Gmail.
- send(1) now supports adding switches to post(8) based on the address or
  domain of the email address in the From: header; this more easily allows
  users to support multiple identities.
- A generic facility for passing arguments to filter programs in repl(1)
  by use of the -convertargs switch.
- Native support for the manipulation of iCalendar requests; see mhical(1)
  for more details.


The following are new features for the 1.7 release of nmh:

- When building from source, configure will derive ${prefix} from an existing
  nmh installation if it finds one in your $PATH.
- Added welcome message when nmh detects that its version changed.
- The default locations for configuration files and support binaries
  have been changed.  Configuration files now install into ${sysconfdir}/nmh,
  and support binaries are placed in ${libexecdir}/nmh.  If you are upgrading
  an existing installation you should look for old configuration files in
  ${sysconfdir} and merge any local customizations into the new files in
  ${sysconfdir}/nmh, then remove the old files.  ${libdir} will also contain
  obsolete support programs that should be removed.
- All TLS connections now perform certificate validation (including hostname
  matching) by default; can be disabled on a per-application basis.
- post now defaults to port 587 on 'smtp' message submission.
- A value of 0 for the width switch of scan(1), inc(1), ap(1), dp(1),
  fmttest(1), and mhl(1) now means as many characters as the format
  engine can produce [Bug #15274].  That amount is limited by internal
- If a component has trailing whitespace, e.g., body:component="> ",
  mhl now trims that whitespace off when filtering blank text lines.
- An "rtrim" flag has been added to mhl to remove any trailing
  whitespace from filtered text lines.  A corresponding "nortrim" flag
  has also been added.
- Added getmymbox and getmyaddr mh-format(5) function escapes.
- New -[no]changecur, -fixtype, -decodetypes, and -[no]crlflinebreaks switches
  have been added to mhfixmsg(1).
- mhfixmsg now removes an extraneous trailing semicolon from header
  parameter lists.
- Added -convertargs switch to repl(1), to pass arguments to programs
  specified in the user's profile or mhn.defaults to convert message
- Added mhical(1), to display, reply to, and cancel iCalendar (RFC 5545)
  event requests.
- Added multiply mh-format(5) function.
- "mhparam bindir" prints the path to the directory containing the public
  executables (${bindir}).
- New "-prefer" switch for mhshow (and mhlist and mhshow), to allow \ 
  the preferred content types to show, if present in a multipart alternative.
- mh-format now has %(kilo) and %(kibi) functions, to allow printing
  numbers with SI or IEC quantities, e.g. "10K", "2.3Mi".
- Support for the -sendmail flag to send/post to change the sendmail
  binary when using the sendmail/pipe MTS.
- Added support to send(1) to specify switches to post(1) based on address or
  domain name in From: header line in message draft.
- post(8) -snoop now attempts to decode base64-encoded SMTP traffic.
- folder(1) -nocreate now prints a warning message for a non-existent folder.
- mhfixmsg(1) now allows -decodetext binary, though 8bit is still the default.
- inc(1) and msgchk(1) now support TLS encryption natively.
- All network protocols support the XOAUTH authentication mechanism.
- Support for SMTPUTF8 (RFC 6531) has been added.  mhshow(1) already supported
  RFC 6532, assuming all 8-bit message header field bodies are UTF-8 and use
  of a UTF-8 locale.
- mhfixmsg now replaces RFC 2047 encoding with RFC 2231 encoding of name and
  filename parameters in Content-Type and Content-Disposition headers,
- If a message body contains 8-bit bytes, post(8) uses SMTP 8BITMIME if the
  server supports it.  If not, post fails with a message to the user to
  encode the message for 7-bit transport.
- Fewer lseek(2)s will be used when reading headers in the common case.
- ./configure's --enable-debug has been removed;  it did nothing.
- configure now defaults to enabling each of TLS and Cyrus SASL if the
  necessary headers and libraries are found.
- Moved build_nmh to top-level directory.
- Better error reporting for connections to network services.


- The format scanner no longer subtracts 1 from the width.  This has the
  effect of no longer counting the trailing newline in the output of
  scan(1), inc(1), and the other programs that rely on the format scanner.
- The first character of some very short (less than 4 characters) message
  bodies is no longer dropped.
- Single-character headers can be reliably formatted, etc., instead of
  apparently being missing.
- mhfixmsg now adds a Content-Transfer-Encoding header at the message level,
  if needed after decoding text parts.
- mhbuild now checks whether all text parts need a Content-Transfer-Encoding
  header, not just those with a character set not specified.
- mhbuild no longer parses lines that start with # as directives with
- repl now makes sure that any Fcc header in a replied-to message is not
  copied into the outgoing draft by default, and that the -fcc switch
  actually works in the absence of a Fcc header in the replied-to message.
- A Content-ID is generated for message/external-body entities as required
  by RFC 2045, even if -nocontentid is supplied to mhbuild.
- post will now expand aliases on a "From" line when doing a BCC [Bug \ 
- scan can now handle empty files without violating an assert [Bug #51693].
- An error when writing an error message, e.g. EPIPE, no longer causes
  recursion until the stack is exhausted.


- Support for the MHPDEBUG environment variable is deprecated and will be
  removed from a future nmh release.  Instead, use the -debug switch to pick.
- With the move of support binaries from ${libdir} to ${libexecdir}/nmh, the
  mostly undocumented 'libdir' mhparam(1) component has been replaced by a
  new 'libexecdir' component.  'libdir' will be removed in a future release.


- The undocumented -queue switch to post was deprecated in nmh 1.6, and was
  removed in this release.
- conflict(8) was deprecated in nmh 1.6, and was removed in this release.
- mhtest(8) was deprecated in nmh 1.6, and was removed in this release.
- msh(1) was deprecated in nmh 1.6, and was removed in this release.
- Support in alias files for the the "*" address-group (everyone) was
  deprecated in nmh 1.6, and was removed in this release.
- Support for multiple hostnames in the "servers" entry of mts.conf has
  been removed.
- Support in alias files for expanding aliases based on group membership
  (=) and primary group (+) has been removed.

As always, feedback is welcome.