7 years agoMerge branch 'master' of ssh://
markus schnalke [Sat, 14 Feb 2015 16:44:14 +0000 (17:44 +0100)]
Merge branch 'master' of ssh://


7 years agoRefactor: Use if for two-way branching; Compare against 0 explicitly
markus schnalke [Sat, 14 Feb 2015 16:29:22 +0000 (17:29 +0100)]
Refactor: Use if for two-way branching; Compare against 0 explicitly

I think that the use of switch for the two-way branches could have
been a performance optimization. I think it's clearer to use if,
especially in the fall-through case.

As setjmp() is known to return with either 0 or something else, we
should compare against 0 and not against some define (for which I
again and again wonder if it stands for 0 or for 1).

7 years agoFix minor coding style issues (whitespace)
markus schnalke [Sat, 14 Feb 2015 16:28:05 +0000 (17:28 +0100)]
Fix minor coding style issues (whitespace)

7 years agoRemove unnecessary headers
markus schnalke [Sat, 14 Feb 2015 16:27:11 +0000 (17:27 +0100)]
Remove unnecessary headers

7 years agodistout and ready_msg return NOTOK on error
Philipp Takacs [Fri, 30 Jan 2015 01:25:17 +0000 (02:25 +0100)]
distout and ready_msg return NOTOK on error

If distout or ready_msg fails, the cleanup of send is done.

7 years agomhmail: use execprog()
markus schnalke [Thu, 12 Feb 2015 06:49:33 +0000 (07:49 +0100)]
mhmail: use execprog()

7 years agosbr/execprog.c: Fix the return value
markus schnalke [Thu, 12 Feb 2015 06:40:50 +0000 (07:40 +0100)]
sbr/execprog.c: Fix the return value

Use pidXwait(), which invokes pidstatus(), here for error reporting.
This eases the use of execprog() because we don't have to call it
there everytime. However, it might be unwanted to put the error
printing stuff into execprog() because we might have an invokation
of execprog() that want's to deal with errors itself in a different
way. If this would be the case, then we likely should change
pidXwait() to pidwait() and call pidstatus(execprog()).

7 years agoMinor clarifications in mhmail(1)
markus schnalke [Wed, 11 Feb 2015 07:11:53 +0000 (08:11 +0100)]
Minor clarifications in mhmail(1)

7 years agoUpdate the man pages to the shortened reserved sequence names
markus schnalke [Wed, 11 Feb 2015 07:04:35 +0000 (08:04 +0100)]
Update the man pages to the shortened reserved sequence names

These reserved sequence names were shortened to one character
long ago in the code. Now the docs are adjusted to that change.

Thanks to Marcin for spotting it.

7 years agoInitialize status in uip/send.c
Philipp Takacs [Thu, 29 Jan 2015 22:02:58 +0000 (23:02 +0100)]
Initialize status in uip/send.c

Thanks Marcin Cieslak <> for reporting.

7 years agoMerge ../mmh
markus schnalke [Mon, 26 Jan 2015 17:44:50 +0000 (18:44 +0100)]
Merge ../mmh


7 years agoremove done finaly
Philipp Takacs [Sat, 17 Jan 2015 22:46:30 +0000 (23:46 +0100)]
remove done finaly

removed the used of done in sbr and the dafinition
in the header. Also the source file is removed.

7 years agoremove last rests of done in uip
Philipp Takacs [Sat, 17 Jan 2015 22:43:28 +0000 (23:43 +0100)]
remove last rests of done in uip

At some points done was used as callback funktion.

7 years agoRemove done from mhl pick and send
Philipp Takacs [Fri, 16 Jan 2015 21:31:04 +0000 (22:31 +0100)]
Remove done from mhl pick and send

Second part of removing done, to make the code
better to read. This tools needed some refactoring
before done could removed. Next step is removing
done from sbr.

7 years agoInitialize vecp in send anno()
Philipp Takacs [Sat, 17 Jan 2015 01:00:22 +0000 (02:00 +0100)]
Initialize vecp in send anno()

Access to an uninialized variable can cause
a a buffer overflow or underrun.
(Thanks to the compiler for reporting.)

7 years agoAdd tests for pick
Philipp Takacs [Sat, 17 Jan 2015 00:01:57 +0000 (01:01 +0100)]
Add tests for pick

Add two patches for pick. One to test the normale behavior,
and one to test if a ``0'' is print to stdout when no message is

7 years agoBugfix in pick.c
Philipp Takacs [Fri, 16 Jan 2015 19:48:09 +0000 (20:48 +0100)]
Bugfix in pick.c

Undo last last commit in uip/pick.c. pick shoud only print "0" if
it exit with a non-zero exit.

7 years agoReplace done with exit at uip
Philipp Takacs [Sun, 14 Dec 2014 13:45:35 +0000 (14:45 +0100)]
Replace done with exit at uip

Replace done with exit in most sourcefiles of uip. This makes the
code better to read. If the done was overwritten by an externel function
atexit() is used instand.

send.c and mhl.c are excluded, because need a bit rewrite first.

7 years agonew: Fix a pointer problem
markus schnalke [Thu, 15 Jan 2015 20:40:53 +0000 (21:40 +0100)]
new: Fix a pointer problem

I should learn to get such stuff right without the need to draw
the memory layout with boxes and lines on paper ...

Thanks to the test suite for catching this one!

7 years agosend: Fix uninitialied variable
markus schnalke [Thu, 15 Jan 2015 20:27:09 +0000 (21:27 +0100)]
send: Fix uninitialied variable

7 years agowhatnow: Use execprog() ... one more time
markus schnalke [Thu, 15 Jan 2015 20:18:03 +0000 (21:18 +0100)]
whatnow: Use execprog() ... one more time

7 years agowhatnow: No need to fork
markus schnalke [Thu, 15 Jan 2015 20:13:08 +0000 (21:13 +0100)]
whatnow: No need to fork

Plus refactoring.

7 years agosbr/ext_hook.c: Use execprog(); Refactoring
markus schnalke [Thu, 15 Jan 2015 19:50:50 +0000 (20:50 +0100)]
sbr/ext_hook.c: Use execprog(); Refactoring

7 years agormm: Use execprog() instead of own fork-exec
markus schnalke [Thu, 15 Jan 2015 19:30:15 +0000 (20:30 +0100)]
rmm: Use execprog() instead of own fork-exec

7 years agoRemove unused variable
markus schnalke [Thu, 15 Jan 2015 17:04:06 +0000 (18:04 +0100)]
Remove unused variable

7 years agoConvert pidXwait() from macro to function
markus schnalke [Thu, 15 Jan 2015 16:53:20 +0000 (17:53 +0100)]
Convert pidXwait() from macro to function

Plus some refactoring and syntactic sugar in pidstatus().

7 years agoDon't save the context within execprog()
markus schnalke [Thu, 15 Jan 2015 16:08:55 +0000 (17:08 +0100)]
Don't save the context within execprog()

This context_save() call was copied there accidently.

7 years agosend: Convert system() to execprog() ... second half
markus schnalke [Wed, 14 Jan 2015 21:24:34 +0000 (22:24 +0100)]
send: Convert system() to execprog() ... second half

Now only uip/spost.c has one left.

7 years agosend: Convert system() to execprog() ... partly
markus schnalke [Wed, 14 Jan 2015 20:56:54 +0000 (21:56 +0100)]
send: Convert system() to execprog() ... partly

7 years agoforw: convert system() to execprog(); fix buffer check
markus schnalke [Wed, 14 Jan 2015 20:22:02 +0000 (21:22 +0100)]
forw: convert system() to execprog(); fix buffer check

7 years agoCleanup of code layout only
markus schnalke [Wed, 14 Jan 2015 07:23:39 +0000 (08:23 +0100)]
Cleanup of code layout only

7 years agoRefactoring in the small
markus schnalke [Wed, 14 Jan 2015 07:08:07 +0000 (08:08 +0100)]
Refactoring in the small

Out-sorting failure cases instead of deep-nesting the success case.

7 years agoRemove verbosity for -noverbose; cleanup in code layout and message texts
markus schnalke [Wed, 14 Jan 2015 06:53:31 +0000 (07:53 +0100)]
Remove verbosity for -noverbose; cleanup in code layout and message texts

We shouldn't print information messages if we run non-verbosely.
In this case, the message appeared not to be helpful because it
suggests to re-run the command with `-verbose' ... but sending the
message again is usually not possible, not wanted or would produce
different results.

This is a cleanup of Philipp's patch.

7 years agoUse execprog() instead of system() ... partly transition
markus schnalke [Wed, 14 Jan 2015 06:31:49 +0000 (07:31 +0100)]
Use execprog() instead of system() ... partly transition

There are several more places where system() should be replaced.

As execprog() does not split strings into multiple arguments,
`listproc' could no longer contain ``show -file''. We need to
rework the concept of these `...proc' entries.

This commit fixes tests/whatnow/test-attach-detach.

7 years agoAdded execprog() and execprogl(), which are safer alternatives to system(3)
markus schnalke [Wed, 14 Jan 2015 06:28:33 +0000 (07:28 +0100)]
Added execprog() and execprogl(), which are safer alternatives to system(3)

This is motivated by the currently failing test case

7 years agomhsign: use the strongest, newest not-expired secret key
markus schnalke [Tue, 13 Jan 2015 22:13:59 +0000 (23:13 +0100)]
mhsign: use the strongest, newest not-expired secret key

Is there no GnuPG option to exclude expired keys from the listing?

7 years agoFix manpages (nroff code), as reported by tests/manpages/test-manpages
markus schnalke [Mon, 22 Dec 2014 14:00:38 +0000 (15:00 +0100)]
Fix manpages (nroff code), as reported by tests/manpages/test-manpages

7 years agoPartly fix tests/whatnow/test-attach-detach: changes in detach and alist
markus schnalke [Mon, 22 Dec 2014 12:07:02 +0000 (13:07 +0100)]
Partly fix tests/whatnow/test-attach-detach: changes in detach and alist

Whatnow's detach and alist commands are different today:
- detach does only take number arguments
- alist prints full path names

7 years agoFix tests/mhbuild/test-forw: rfc934 mode is no longer supported
markus schnalke [Mon, 22 Dec 2014 12:03:50 +0000 (13:03 +0100)]
Fix tests/mhbuild/test-forw: rfc934 mode is no longer supported

7 years agoCheck with witch exit-code sendmail/spost exit and give an better error
Philipp Takacs [Fri, 2 May 2014 21:21:35 +0000 (23:21 +0200)]
Check with witch exit-code sendmail/spost exit and give an better error
message. So the User sees better wat's wrong. At the moment only
exit-code 75 is handlel extra.

7 years agoAdjusted tests/new/test-basic to mmh.
markus schnalke [Sun, 7 Dec 2014 19:32:36 +0000 (20:32 +0100)]
Adjusted tests/new/test-basic to mmh.

7 years agomhparam: Renamed some sequences
markus schnalke [Sun, 7 Dec 2014 19:27:53 +0000 (20:27 +0100)]
mhparam: Renamed some sequences
We should fix these names once and for all!

8 years agotests: Adjusted most of the tests to mmh.
markus schnalke [Fri, 28 Nov 2014 11:21:39 +0000 (12:21 +0100)]
tests: Adjusted most of the tests to mmh.

8 years agotests: Supress progress meter if non-interactive.
markus schnalke [Fri, 28 Nov 2014 10:46:33 +0000 (11:46 +0100)]
tests: Supress progress meter if non-interactive.

8 years agoAdded more include directories to fix building in another directory.
markus schnalke [Fri, 28 Nov 2014 10:05:17 +0000 (11:05 +0100)]
Added more include directories to fix building in another directory.
I discovered these problems when I tried to build from a git clone
(which has no config.h in the source directory).

8 years agoFixed the test framework by adjusting it to mmh.
markus schnalke [Thu, 27 Nov 2014 23:07:13 +0000 (00:07 +0100)]
Fixed the test framework by adjusting it to mmh.
In the same go: Cleaned up its code a bit and added a summary to

Adjusting the individual tests to mmh still needs to be done. ... and
afterwards we can ;dd a lot more of them. :-) (But before we write our
own tests, we first incorporate all the ones they've added to nmh in
the meanwhile. ;-) )

8 years agogitignore: ignore test dir name file
markus schnalke [Thu, 27 Nov 2014 22:35:18 +0000 (23:35 +0100)]
gitignore: ignore test dir name file

8 years agouip/ minor cleanup
markus schnalke [Thu, 27 Nov 2014 22:34:24 +0000 (23:34 +0100)]
uip/ minor cleanup

8 years agoFixed building in different build directory, as described in INSTALL.
markus schnalke [Thu, 27 Nov 2014 21:48:46 +0000 (22:48 +0100)]
Fixed building in different build directory, as described in INSTALL.

8 years agoMerge
markus schnalke [Thu, 27 Nov 2014 19:30:11 +0000 (20:30 +0100)]

8 years agomhsign: Ignore expired, revoked, invalid, and similar public keys.
markus schnalke [Thu, 27 Nov 2014 19:26:36 +0000 (20:26 +0100)]
mhsign: Ignore expired, revoked, invalid, and similar public keys.

8 years agomhparam: Added more items for direct query and -debug listing.
markus schnalke [Thu, 27 Nov 2014 17:30:31 +0000 (18:30 +0100)]
mhparam: Added more items for direct query and -debug listing.
Most new values are not included in the -all listing because they
are not part of the profile or context but are mainly internal
configuration values.

The -debug listing has now section headings (pipe through
`grep -v ^#' to remove them).

The motivation for this change was querying the default inbox
name. If `Inbox' wasn't set in the profile, `mhparam inbox' had
failed. Now it prints `+inbox' (if the defaultfolder has not been
changed on your installation).

8 years agomhpgp: Bugfix for 2932d136debcf53a45c44891ee80e6d34e61f109
markus schnalke [Tue, 25 Nov 2014 07:47:31 +0000 (08:47 +0100)]
mhpgp: Bugfix for 2932d136debcf53a45c44891ee80e6d34e61f109
(I should do better testing ...)

8 years agomhpgp: remove unused sed label
markus schnalke [Tue, 25 Nov 2014 07:21:12 +0000 (08:21 +0100)]
mhpgp: remove unused sed label
OpenBSD complained about it.
Reported by Dominik Lang <>. Thanks.

8 years agopick: Clarified the man page with respect to -ddd.
markus schnalke [Tue, 25 Nov 2014 06:43:56 +0000 (07:43 +0100)]
pick: Clarified the man page with respect to -ddd.
-ddd is an argument to e.g. -after, not a separate switch.

8 years agomhsign: Bugfix: Don't ignore MMHPGPKEY and the Pgpkey profile entry.
markus schnalke [Tue, 25 Nov 2014 06:01:31 +0000 (07:01 +0100)]
mhsign: Bugfix: Don't ignore MMHPGPKEY and the Pgpkey profile entry.
Bugreport and patch by Philipp Takacs <>. Thanks.
Additionally: use `test -z'.

8 years agoMerge branch 'master' of ssh://
markus schnalke [Fri, 21 Nov 2014 11:06:40 +0000 (12:06 +0100)]
Merge branch 'master' of ssh://

8 years agospost: If we add a From header, we add a qualified email address.
markus schnalke [Fri, 21 Nov 2014 10:55:22 +0000 (11:55 +0100)]
spost: If we add a From header, we add a qualified email address.
Also clarified a comment and changed the description for blind
distribution lists to the one that is most common today.

8 years agoTODO: removed the double-dash TODO item, because it will not be done
markus schnalke [Thu, 20 Nov 2014 10:38:28 +0000 (11:38 +0100)]
TODO: removed the double-dash TODO item, because it will not be done
The GNU style double-dashes collide with MH's command line concepts.
It makes no sense to simply allow a second dash, because all the
rest is different. (Think of `pick --component'.) It's more important
to keep the concepts clean than trying to imitate different concepts.

8 years agormm: Use `refile -src' instead of a folder changing hack.
markus schnalke [Thu, 20 Nov 2014 10:27:49 +0000 (11:27 +0100)]
rmm: Use `refile -src' instead of a folder changing hack.
This is a cleanup for a ``hackish'' solution.
Thanks to Philipp Takacs <> for discovering this
improvement possibility and for preparing a patch.

8 years agoFixed a possible uninitialized variable access.
markus schnalke [Thu, 20 Nov 2014 09:57:46 +0000 (10:57 +0100)]
Fixed a possible uninitialized variable access.
(Thanks to the compiler for reporting.)

8 years agocoding style: Added braces even for one-line blocks
markus schnalke [Thu, 20 Nov 2014 06:06:31 +0000 (07:06 +0100)]
coding style: Added braces even for one-line blocks
This commit changes only uip/rmm.c. It would be tedious to
change it everywhere. We can do this bit by bit as we go ...

8 years agoConverted msgstats macros & Co. to functions and added range checks
markus schnalke [Mon, 3 Nov 2014 06:33:54 +0000 (07:33 +0100)]
Converted msgstats macros & Co. to functions and added range checks
This change is a reaction to bug, fixed in changeset 5b093c3. Although
the bug was fixed on a higher level, it would have been detected much
earlier if we would have had the range checks that we now have.

This patch was prepared by Philipp Takacs <>.

8 years agosend: Check the draft folder only if we send msgs, not when sneding files.
markus schnalke [Fri, 26 Sep 2014 13:38:18 +0000 (15:38 +0200)]
send: Check the draft folder only if we send msgs, not when sneding files.
Send can send files (specified by Unix path names) or messages (specified
by MH message names/sequences. (NB: It cannot send msgs from other folders
yet.) In case we've only specified files (this is done by whatnow, for
instance) we don't need to care if there is a draft folder and if it
contains any msgs.
This commit probably fixes a problem discovered by <>.

8 years agostringdex(): Clarified what it does
markus schnalke [Thu, 25 Sep 2014 11:17:14 +0000 (13:17 +0200)]
stringdex(): Clarified what it does
`stringdex' stands for `string index'. (See Changlog for why the `g'
was added.) This function is different to strcasestr() ... in the
order of the arguments and in the return value.

8 years agouprf: We don't have to implement it ourselves but can use strncasecmp()
markus schnalke [Thu, 25 Sep 2014 11:04:24 +0000 (13:04 +0200)]
uprf: We don't have to implement it ourselves but can use strncasecmp()
Also clarified what an ``unsigned prefix'' really is.
I haven't changed all uses of uprf() in the code to strncasecmp(). This
could be done. I'm not sure if it would enhance the clarity of the code.
We don't need a prototype for strncasecmp(), because it's declared in

8 years agoUse trim() to strip whitespace from the end of header fields
markus schnalke [Thu, 25 Sep 2014 10:23:19 +0000 (12:23 +0200)]
Use trim() to strip whitespace from the end of header fields
The main motivation was to ease adding attachments. You'll easy happen
to have trailing whitespace there, whereas you'll probably never want
to send files that have a name with whitespace at the end ... at least
you should never want to have or even send such files.
I don't know if it is a good idea to strip the trailing whitespace
in `anno -list' as well. I couldn't come up with an example when I
would want to keep it, hence I decided to remove it. This can be
changed back, if needed.

8 years agosbr/trim.c: New helper function trim(). Strips whitespace from a string.
markus schnalke [Thu, 25 Sep 2014 10:20:11 +0000 (12:20 +0200)]
sbr/trim.c: New helper function trim(). Strips whitespace from a string.
There is already trimcpy(), which does a bit more work, but adding trim()
appears to be a useful investment.
The static function trim() in slocal needed to be renamed to not collide.

8 years agomhbuild: Transfer-encode MIME parts of type application always with base64
markus schnalke [Wed, 24 Sep 2014 14:38:06 +0000 (16:38 +0200)]
mhbuild: Transfer-encode MIME parts of type application always with base64
Application files likely contain NUL bytes. scan_content(), however, uses
stdio to check the files to attach. NUL bytes break these checks. Instead
of improving the checks to allow e.g. application/x-tex files to be sent
using 7bit or QP encoding, it was chosen to take the easy way and send
application files base64-encoded.

This solves a bug when attaching tar files. (tar files begin with a
header mostly filled with NUL bytes). Thanks to <>
for discovering and reporting the bug.

8 years agoprint-mimetype: fixed a syntax error
markus schnalke [Wed, 24 Sep 2014 09:32:48 +0000 (11:32 +0200)]
print-mimetype: fixed a syntax error

8 years agorepl: use different format as the lead-in to quotes in replies
markus schnalke [Wed, 24 Sep 2014 07:58:55 +0000 (09:58 +0200)]
repl: use different format as the lead-in to quotes in replies
This format is prefered because it does not include words and is
thus independent of the language of the user.

9 years agomhbuild: Don't fail if one attaches an rfc822 message as a file
markus schnalke [Mon, 27 May 2013 19:28:24 +0000 (21:28 +0200)]
mhbuild: Don't fail if one attaches an rfc822 message as a file
Although the form
attach: +folder 1234
is preferred, one may as well use
attach: /path/to/message.rfc822
A warning is printed though.

9 years agoBump version number.
markus schnalke [Sat, 8 Dec 2012 22:25:26 +0000 (23:25 +0100)]
Bump version number.
This is version 0.1 plus some development changes.

9 years agoThis is mmh-0.1. mmh-0.1
markus schnalke [Sat, 8 Dec 2012 22:14:36 +0000 (23:14 +0100)]
This is mmh-0.1.
Eventually, I managed to release it ...

9 years agodocs/README.developers: minor cleanups.
markus schnalke [Sat, 8 Dec 2012 22:12:32 +0000 (23:12 +0100)]
docs/README.developers: minor cleanups.

9 years agoAdded docs/DIFFERENCES_mmh_nmh.
markus schnalke [Sat, 8 Dec 2012 22:05:26 +0000 (23:05 +0100)]
Added docs/DIFFERENCES_mmh_nmh.
The list is not perfect, but better than nothing.
Also added docs/schnalke-mmh.pdf to the distributed files.

9 years agoAdded my master's thesis, which explains mmh.
markus schnalke [Sat, 8 Dec 2012 11:01:42 +0000 (12:01 +0100)]
Added my master's thesis, which explains mmh.
See also:

9 years agoREADME.developers: Various minor updates.
markus schnalke [Sat, 8 Dec 2012 10:17:05 +0000 (11:17 +0100)]
README.developers: Various minor updates.
I also dropped the ugly double-spacing.

9 years agosbr/getpass.c: Removed nmh_getpass() for it is not used anymore.
markus schnalke [Sat, 8 Dec 2012 10:15:12 +0000 (11:15 +0100)]
sbr/getpass.c: Removed nmh_getpass() for it is not used anymore.

9 years agoUpdated the list of documentation files to be distributed.
markus schnalke [Sat, 8 Dec 2012 09:59:18 +0000 (10:59 +0100)]
Updated the list of documentation files to be distributed.

9 years Removed mmhrelease target because it's not used for mmh.
markus schnalke [Sat, 8 Dec 2012 09:57:47 +0000 (10:57 +0100)] Removed mmhrelease target because it's not used for mmh.

9 years agoReworked docs/README.developes to match mmh.
markus schnalke [Fri, 7 Dec 2012 22:51:46 +0000 (23:51 +0100)]
Reworked docs/README.developes to match mmh.

9 years agoDelete docs/pending-release-notes as this is without value for mmh.
markus schnalke [Fri, 7 Dec 2012 22:04:43 +0000 (23:04 +0100)]
Delete docs/pending-release-notes as this is without value for mmh.

9 years agoCOPYRIGHT: Add a note to include mmh into nmh.
markus schnalke [Fri, 7 Dec 2012 22:02:55 +0000 (23:02 +0100)]
COPYRIGHT: Add a note to include mmh into nmh.
This appears to be most simple.
The remaining question: How to handle the year of the copyright notice?

9 years agoUpdated the installation instructions in INSTALL.
markus schnalke [Fri, 7 Dec 2012 22:02:20 +0000 (23:02 +0100)]
Updated the installation instructions in INSTALL.

9 years agoIncluded the relevant parts of docs/README.about into README.
markus schnalke [Fri, 7 Dec 2012 22:00:57 +0000 (23:00 +0100)]
Included the relevant parts of docs/README.about into README.
Also updated the information to mmh.

9 years agoUpdated man page mh-profile(5): file(1) is not from GNU.
markus schnalke [Tue, 4 Dec 2012 22:04:08 +0000 (23:04 +0100)]
Updated man page mh-profile(5): file(1) is not from GNU.
btw: Thanks to Dennis Herrmann (dhn) for pointing me to the whole issue.

9 years agoReport useful error message on broken file(1).
markus schnalke [Tue, 4 Dec 2012 21:45:23 +0000 (22:45 +0100)]
Report useful error message on broken file(1).
GNU file-4.26, for instance, is known to be broken.
file(1) is the default Mime-Type-Query program.

10 years agoUpdated man page mmh-intro(7): Replaced obsolete sequence names. mmh-thesis-end
markus schnalke [Mon, 16 Jul 2012 08:29:07 +0000 (10:29 +0200)]
Updated man page mmh-intro(7): Replaced obsolete sequence names.
Plus further minor cleanups.

10 years agoUpdated DATE, finally.
markus schnalke [Mon, 16 Jul 2012 08:15:37 +0000 (10:15 +0200)]
Updated DATE, finally.

10 years agomhl forms: Display the sender header before the recipient headers.
markus schnalke [Mon, 16 Jul 2012 08:09:31 +0000 (10:09 +0200)]
mhl forms: Display the sender header before the recipient headers.
This is the more natural order.

10 years agoMinor man page fix.
markus schnalke [Tue, 10 Jul 2012 18:54:48 +0000 (20:54 +0200)]
Minor man page fix.

10 years agoAdded Neil Rickert's mhpgp, the companion to mhsign.
markus schnalke [Tue, 10 Jul 2012 18:53:05 +0000 (20:53 +0200)]
Added Neil Rickert's mhpgp, the companion to mhsign.
Currently it is only usable on the command line directly.
In the future, it should be invoked by show(1) as needed.

10 years agoImproved portability of mhsend(1).
markus schnalke [Mon, 9 Jul 2012 21:59:34 +0000 (23:59 +0200)]
Improved portability of mhsend(1).
Thanks to Dennis Herrmann for the bug report and patch.

10 years agoshow: Print type of MIME part instead of error message if not displayable.
markus schnalke [Sat, 7 Jul 2012 13:30:29 +0000 (15:30 +0200)]
show: Print type of MIME part instead of error message if not displayable.
A further step in the general rework of show/mhshow. Print less error
messages. Not being able to directly display some attachment is no
exceptional event, but quite normal. Therefore, no error message should
be printed but an information message that there is a MIME part.
Printing to stdout makes the message to be integrated into the normal
There's more rework of show needed.

10 years agospost: Don't send Sign: or Enc: headers out.
markus schnalke [Sat, 7 Jul 2012 10:33:31 +0000 (12:33 +0200)]
spost: Don't send Sign: or Enc: headers out.
Also, fixed the format of header fields with empty values. The trailing
newline is no longer stripped.

10 years agosend: Sign and encrypt messages automatically, based on Sign: and Enc: Hdrs.
markus schnalke [Sat, 7 Jul 2012 10:31:38 +0000 (12:31 +0200)]
send: Sign and encrypt messages automatically, based on Sign: and Enc: Hdrs.
Currently, the value of the header fields is ignored. The sole presence
of such a header caused signing or encryption.

10 years agoRemoved old man page of whom.
markus schnalke [Sat, 7 Jul 2012 09:14:20 +0000 (11:14 +0200)]
Removed old man page of whom.

10 years agowhom: Suppress the separator if no hidden rcpts are present.
markus schnalke [Sat, 7 Jul 2012 09:13:18 +0000 (11:13 +0200)]
whom: Suppress the separator if no hidden rcpts are present.

10 years agoAdded Neil Rickert's mhsign.
markus schnalke [Sat, 7 Jul 2012 08:54:20 +0000 (10:54 +0200)]
Added Neil Rickert's mhsign.
It is adjusted to mmh and thus somehow different to the original version.
mhpgp will follow soon.