5 years agoadd free_field as standard for struct field
Philipp Takacs [Thu, 26 Nov 2015 22:24:18 +0000 (23:24 +0100)]
add free_field as standard for struct field

this is a easy way to initializ a struct field. ``{{0}}''
can lead to bugs, because NULL is not necesary ``((void *)0)''

5 years agom_getfld2 is more tranceparent on error
Philipp Takacs [Thu, 26 Nov 2015 22:07:12 +0000 (23:07 +0100)]
m_getfld2 is more tranceparent on error

now all read content of the file is given to the caller,
so he can possible fix this error.

5 years agomake m_getfld2() aware of CRLF lineendings
Philipp Takacs [Sat, 21 Nov 2015 11:20:36 +0000 (12:20 +0100)]
make m_getfld2() aware of CRLF lineendings

5 years agomake m_getfld2() called with an error state a noop
Philipp Takacs [Sat, 21 Nov 2015 11:16:01 +0000 (12:16 +0100)]
make m_getfld2() called with an error state a noop

This probduce some code dublication, but the will be
reduced, if we make m_getfld2() more transparent on errors.

5 years agoFinally we get rid of the unmaintainable m_getfld()!
markus schnalke [Thu, 12 Nov 2015 20:48:32 +0000 (21:48 +0100)]
Finally we get rid of the unmaintainable m_getfld()!

m_getfld() was about 700 lines, 300 of them being comments -- that's 42%!
m_getfld2() is 240 lines, 30 of them being comments. That's only half as
much code. Most important, however, is that this code is understandable
and thus maintainable. We escaped the dead end of the heavily optimized
m_getfld() be re-writing it from scratch. (Thanks to Philipp Tacaks!)

m_getfld2() is line-based and not character-based like m_getfld(). This
change spared us to keep digging into stdio internals or implementing
our own I/O buffering. We are now portable to any standard-conforming
stdio implementation.

5 years agoAdjust tests to m_getfld2() and write some more
markus schnalke [Thu, 12 Nov 2015 19:58:03 +0000 (20:58 +0100)]
Adjust tests to m_getfld2() and write some more

m_getfld2() is more strict than m_getfld() and does less guessing.

5 years agoOnly lines consisting of nothing but dashes are body separators
markus schnalke [Thu, 12 Nov 2015 19:12:02 +0000 (20:12 +0100)]
Only lines consisting of nothing but dashes are body separators

This is how the documentation specifies it, see mh-mail(5). The old
m_getfld(), however, was more relaxed and treated any header line that
starts with a dash as the body separator. We are more strict here,
because ``-foo: bar'' is a valid header line (according to RFC 2822),
that should thus not be treated as the body separator, whereas a line
``------'' in the header could only be a format error if we don't
take it as the body separator.

5 years agoConvert inc and scan from m_getfld() to m_getfld2()
markus schnalke [Thu, 12 Nov 2015 16:52:22 +0000 (17:52 +0100)]
Convert inc and scan from m_getfld() to m_getfld2()

The main conversion was done in uip/scansbr.c.

Mbox handling is now completely outside of m_getfld2(), which does not
even know about From_ lines.

No more need to call thisisanmbox() (formerly m_unknown(), ``the magic
invocation'') before calling scan().

The newly introduced gotos should be eliminated ...

5 years agoConvert rcvdist and repl from m_getfld() to m_getfld2()
markus schnalke [Thu, 12 Nov 2015 16:05:53 +0000 (17:05 +0100)]
Convert rcvdist and repl from m_getfld() to m_getfld2()

5 years agom_getfld2: Return line for LENERR2, plus some documentation
markus schnalke [Thu, 12 Nov 2015 16:03:36 +0000 (17:03 +0100)]
m_getfld2: Return line for LENERR2, plus some documentation

5 years agom_getfld2: ERR2 means a read error, thus name it IOERR2
markus schnalke [Thu, 12 Nov 2015 07:23:04 +0000 (08:23 +0100)]
m_getfld2: ERR2 means a read error, thus name it IOERR2

5 years agom_getfld2: Whitespace in component name is forbidden
markus schnalke [Thu, 12 Nov 2015 07:14:59 +0000 (08:14 +0100)]
m_getfld2: Whitespace in component name is forbidden

Also on style: No function calls should be used to initialize
variables in definition statements. Use separate assignments in
this case.

5 years agoUse continue instead of one long if for the whole loop body
markus schnalke [Wed, 11 Nov 2015 06:31:00 +0000 (07:31 +0100)]
Use continue instead of one long if for the whole loop body

Plus remove unnecessary comments. This improves the signal-noise ratio.
The identifiers are already telling us enough.

5 years agoReturn invalid line for FMTERR in m_getfld2()
markus schnalke [Tue, 10 Nov 2015 19:58:31 +0000 (20:58 +0100)]
Return invalid line for FMTERR in m_getfld2()

This is necessary for mbox handling outside of m_getfld2().

5 years agoNo error-checking for error-checking alloc functions
markus schnalke [Tue, 10 Nov 2015 05:53:44 +0000 (06:53 +0100)]
No error-checking for error-checking alloc functions

The mh_x(m|c|re)alloc function always return successful
... or terminate the program on their own, otherwise.

5 years agocheck for (un)selection befor (un)set
Philipp Takacs [Fri, 6 Nov 2015 10:30:51 +0000 (11:30 +0100)]
check for (un)selection befor (un)set

If you select or unselect the same msgnum
numsel won't be increased/decreased twice.

5 years agohandle hghsel lowsel and numsel in (un)set_selected
Philipp Takacs [Thu, 5 Nov 2015 21:48:34 +0000 (22:48 +0100)]
handle hghsel lowsel and numsel in (un)set_selected

Now you can use this funkitions without taking care
of this values.

Thanks c_14 for reporting this bug.

5 years agoAdjust the tests to less tolerant m_getfld2()
markus schnalke [Mon, 9 Nov 2015 21:08:51 +0000 (22:08 +0100)]
Adjust the tests to less tolerant m_getfld2()

We require the header and body to be separated by an empty line.
We require header lines to end with a newline. m_getfld2() does
not try to guess as much as the old m_getfld() did.

5 years agoConvert most of the tools from m_getfld() to m_getfld2()
markus schnalke [Mon, 9 Nov 2015 21:07:54 +0000 (22:07 +0100)]
Convert most of the tools from m_getfld() to m_getfld2()

5 years agoAdd new implementation m_getfld2()
markus schnalke [Mon, 9 Nov 2015 21:03:40 +0000 (22:03 +0100)]
Add new implementation m_getfld2()

This is mainly Philipp Takacs work.

5 years agoFix minor typo in man page
markus schnalke [Mon, 9 Nov 2015 18:17:09 +0000 (19:17 +0100)]
Fix minor typo in man page

5 years agoBetter description of the Sender header in man page
markus schnalke [Wed, 4 Nov 2015 16:31:50 +0000 (17:31 +0100)]
Better description of the Sender header in man page

Plus wording improvements and other minor stuff.

5 years agoRe-add --with-lockdir=DIR configure option
markus schnalke [Tue, 3 Nov 2015 07:47:26 +0000 (08:47 +0100)]
Re-add --with-lockdir=DIR configure option

At the same time eliminate acconfig.h (and thus the autoreconf

Include the lock dir string only if we use dot locking.

5 years agoMore sensible check for 7bit ASCII
markus schnalke [Tue, 3 Nov 2015 07:37:57 +0000 (08:37 +0100)]
More sensible check for 7bit ASCII

Always true condition reported by -Wextra -pendatic.

5 years agoRemove unused parameter
markus schnalke [Tue, 3 Nov 2015 07:36:45 +0000 (08:36 +0100)]
Remove unused parameter

Reported by -Wextra -pedantic.

5 years agoRemove dead code: FLDEOF and BODYEOF are never set
markus schnalke [Tue, 3 Nov 2015 09:57:07 +0000 (10:57 +0100)]
Remove dead code: FLDEOF and BODYEOF are never set

5 years agoBump version number
markus schnalke [Mon, 2 Nov 2015 16:51:32 +0000 (17:51 +0100)]
Bump version number

5 years agoThis is mmh-0.2 mmh-0.2
markus schnalke [Mon, 2 Nov 2015 16:38:44 +0000 (17:38 +0100)]
This is mmh-0.2

5 years agoDecode address headers in replcomps
markus schnalke [Mon, 2 Nov 2015 16:37:13 +0000 (17:37 +0100)]
Decode address headers in replcomps

5 years agoUpdate README and release howto to new NEWS file
markus schnalke [Mon, 2 Nov 2015 16:17:40 +0000 (17:17 +0100)]
Update README and release howto to new NEWS file

Also reorder the release steps to first check the tarball and
then tag it as final.

5 years agoAdd NEWS file, which summarizes changes per release
markus schnalke [Mon, 2 Nov 2015 16:06:32 +0000 (17:06 +0100)]
Add NEWS file, which summarizes changes per release

5 years agoInclude a static copy of the CVS log in the dist tarball
markus schnalke [Mon, 2 Nov 2015 07:16:10 +0000 (08:16 +0100)]
Include a static copy of the CVS log in the dist tarball

5 years agoTeach spost to handle address groups
Philipp Takacs [Sun, 1 Nov 2015 21:35:29 +0000 (22:35 +0100)]
Teach spost to handle address groups

Plus more tests for address groups.

5 years agotest Group Addresses in spost
Philipp Takacs [Fri, 30 Oct 2015 20:41:31 +0000 (21:41 +0100)]
test Group Addresses in spost

5 years agocatch unparsable addresses
Philipp Takacs [Sat, 31 Oct 2015 15:40:20 +0000 (16:40 +0100)]
catch unparsable addresses

Now spost don't coredump if an address can't be parsed

5 years agotest if spost catch bad addresses
Philipp Takacs [Sat, 31 Oct 2015 15:39:40 +0000 (16:39 +0100)]
test if spost catch bad addresses

5 years agotest if aliasing work in spost
Philipp Takacs [Sat, 31 Oct 2015 14:52:31 +0000 (15:52 +0100)]
test if aliasing work in spost

5 years agoFix warning
markus schnalke [Wed, 28 Oct 2015 22:43:02 +0000 (23:43 +0100)]
Fix warning

5 years agoRemove check for not used networking libraries in
markus schnalke [Wed, 28 Oct 2015 22:39:50 +0000 (23:39 +0100)]
Remove check for not used networking libraries in

Mmh does no more contain networking code, hence we don't need this.
This way, we can also get rid of aclocal.m4.

5 years agoBuild the release tarball from git, not manually
markus schnalke [Wed, 28 Oct 2015 22:19:14 +0000 (23:19 +0100)]
Build the release tarball from git, not manually

Previously the Makefiles contained lists of files to distribute.
They built the release tarball manually. It's much easier to just
use git, which knows which files are the relevant files, because
it's the ones that are under version control. We just need to
add some additional, pre-generated files for convenience, so that
the user does not need to have auto* and lex installed.

The release tarball is now fully assembled in the top-level
Makefile. (The only tricky part is sbr/dtimep.c, because that
needs to be generated in the subdirectory.)

5 years agoMerge
markus schnalke [Wed, 28 Oct 2015 18:02:13 +0000 (19:02 +0100)]

5 years agoInclude `test' dir in release tarball
markus schnalke [Wed, 28 Oct 2015 16:50:24 +0000 (17:50 +0100)]
Include `test' dir in release tarball

The subdirectories `docs' and `test' are managed by the top-level
Makefile now, because there's nothing to do in them but to copy
them for the distribution tarball. (This way, we also don't have
to include each new file in these directories to the file list in

5 years agoUpdate lists of files to distribute
markus schnalke [Wed, 28 Oct 2015 16:15:42 +0000 (17:15 +0100)]
Update lists of files to distribute

Also partly reordered the lists.

5 years agoinitialize mp in ismymbox
Philipp Takacs [Wed, 28 Oct 2015 11:19:05 +0000 (12:19 +0100)]
initialize mp in ismymbox

5 years agoDrop the SYNOPSIS section from some man pages
markus schnalke [Wed, 28 Oct 2015 06:55:10 +0000 (07:55 +0100)]
Drop the SYNOPSIS section from some man pages

For some man pages this section makes few sense.

Plus some minor formating stuff on the way ...

5 years agoMinor clarification in mh-alias(5)
markus schnalke [Wed, 28 Oct 2015 06:47:15 +0000 (07:47 +0100)]
Minor clarification in mh-alias(5)

5 years agoSilence the output of `cd -' in the tests
markus schnalke [Wed, 28 Oct 2015 05:59:03 +0000 (06:59 +0100)]
Silence the output of `cd -' in the tests

5 years agoUse cksum(1) instead of md5sum(1) in the tests
markus schnalke [Tue, 27 Oct 2015 22:11:51 +0000 (23:11 +0100)]
Use cksum(1) instead of md5sum(1) in the tests

cksum(1) is part of POSIX; md5sum(1) is not.

5 years agoRun the tests in defined (i.e. sorted) order
markus schnalke [Tue, 27 Oct 2015 21:30:30 +0000 (22:30 +0100)]
Run the tests in defined (i.e. sorted) order

5 years agoMerge
markus schnalke [Tue, 27 Oct 2015 21:20:28 +0000 (22:20 +0100)]

5 years agoconsider Default-From as own address
Philipp Takacs [Sun, 25 Oct 2015 19:57:23 +0000 (20:57 +0100)]
consider Default-From as own address

5 years agoRemove outcommented code (C99 comment)
markus schnalke [Tue, 27 Oct 2015 06:50:33 +0000 (07:50 +0100)]
Remove outcommented code (C99 comment)

Our code should be clean C89 (ANSI C). There's no reason to
keep this C99 comment.

5 years agoEnsure $SHELL is set for the tests
markus schnalke [Tue, 27 Oct 2015 06:43:58 +0000 (07:43 +0100)]
Ensure $SHELL is set for the tests

Non-interactive shells might not set it (this is true for dash
and mksh, at least). Currently we use $SHELL in whatnow(1).
Although we likely remove this use, it's rather worthwhile to
have $SHELL available in the test scripts.

5 years agoUpdate mmh-intro(7) man page
markus schnalke [Tue, 27 Oct 2015 06:30:14 +0000 (07:30 +0100)]
Update mmh-intro(7) man page

5 years agoRemove mh-tailor(5) man page
markus schnalke [Tue, 27 Oct 2015 06:29:34 +0000 (07:29 +0100)]
Remove mh-tailor(5) man page

5 years agoSplit the releasing instructions into own document
markus schnalke [Tue, 27 Oct 2015 06:17:09 +0000 (07:17 +0100)]
Split the releasing instructions into own document

This makes them better visible.

5 years agoUpdates README, INSTALL, and docs/MACHINES
markus schnalke [Tue, 27 Oct 2015 06:16:00 +0000 (07:16 +0100)]

5 years agoUpdate TODO list
markus schnalke [Mon, 26 Oct 2015 07:04:55 +0000 (08:04 +0100)]
Update TODO list

Some comments on the removed items:
- Mmh's show does already invoke a pager
- The reverse action of `rmm' is: refile -src +trash l @
- Disjunct contexts are already possible (just set MMHC accordingly)
- We already generate the mh-chart man page
- Prompter can already be used to input the recipients. Use:
        Editor: prompter
        prompter: -nobody
        prompter-next: vi
- Comp: -nowhatnowproc is obsolete; use `-whatnowproc true' instead.
  (It puts an empty draft into the drafts folder.)
- Forw: Since we use MIME to forward messages, these todos are obsolete
- Mhmail is not considered to be a full-featured interface to MH
- We now do have RFC 2047 encoding of headers

5 years agoadd the mmh mailing list to the doc mmh-0.2-RC1
Philipp Takacs [Sun, 25 Oct 2015 14:10:11 +0000 (15:10 +0100)]
add the mmh mailing list to the doc

5 years agoremove docs/README.SASL
Philipp Takacs [Sun, 25 Oct 2015 13:37:51 +0000 (14:37 +0100)]
remove docs/README.SASL

we don't need it, because smtp support is gone.

5 years agoadd mailsync description
Philipp Takacs [Sun, 25 Oct 2015 13:36:51 +0000 (14:36 +0100)]
add mailsync description

5 years agoremove TODOs for not supportet programms
Philipp Takacs [Sun, 25 Oct 2015 13:21:55 +0000 (14:21 +0100)]
remove TODOs for not supportet programms

5 years agosend: MIMEify with non-ascii header and ascii body!
markus schnalke [Sun, 25 Oct 2015 20:34:20 +0000 (21:34 +0100)]
send: MIMEify with non-ascii header and ascii body!

This code is not perfect, as it scans body lines twice. We might
want to rework it someday. But, ignoring the minor performance
issue, it ensures, that we MIMEify in the case when some headers
contain non-ASCII text but the body does not.

5 years agoremove variable mp2 from spost in putadr
Philipp Takacs [Sun, 25 Oct 2015 20:27:58 +0000 (21:27 +0100)]
remove variable mp2 from spost in putadr

This variable is set but not used. Thanks gcc for the warning.

5 years agoAdd DCC support into whom
markus schnalke [Sun, 25 Oct 2015 19:42:52 +0000 (20:42 +0100)]
Add DCC support into whom

Plus a test for it.

5 years agoMerge
markus schnalke [Sun, 25 Oct 2015 19:02:33 +0000 (20:02 +0100)]

5 years agoDCC contains invisible (not visible) recipients
markus schnalke [Sun, 25 Oct 2015 19:00:50 +0000 (20:00 +0100)]
DCC contains invisible (not visible) recipients

Added new test for BCC and DCC headers, which discovered the bug.

5 years agoadd config.o and version.o to libmh.a
Philipp Takacs [Sun, 25 Oct 2015 12:45:42 +0000 (13:45 +0100)]
add config.o and version.o to libmh.a

Now you can easy link against libmh.a with -lmh

5 years agoAdd test for sender header in spost
markus schnalke [Sun, 25 Oct 2015 18:38:33 +0000 (19:38 +0100)]
Add test for sender header in spost

(Fails currently, because default-from is not part of alternate-mailboxes.)

5 years agoAdjust coding style from nmh to mmh
markus schnalke [Sun, 25 Oct 2015 17:54:23 +0000 (18:54 +0100)]
Adjust coding style from nmh to mmh

5 years agofix the prompter test
Philipp Takacs [Sun, 25 Oct 2015 16:25:16 +0000 (17:25 +0100)]
fix the prompter test

5 years agoset psigint befor the setjmp in prompter
Philipp Takacs [Sat, 24 Oct 2015 10:16:58 +0000 (12:16 +0200)]
set psigint befor the setjmp in prompter

this mutes a Compielerwarning.

5 years agoRework in the test framework; updated and new tests
markus schnalke [Fri, 23 Oct 2015 13:30:10 +0000 (15:30 +0200)]
Rework in the test framework; updated and new tests

Many tests were ported from nmh.

Two tests fail at the moment:
- tests/ali/test-ali:  needs porting the bugfix from nmh
- tests/prompter/test-prompter:  needs further investigation

5 years agoMerge branch 'master'
markus schnalke [Fri, 23 Oct 2015 12:26:49 +0000 (14:26 +0200)]
Merge branch 'master'

5 years agoMove chdir() call so -recurse option works again
Eric Schnoebelen [Fri, 31 Aug 2012 13:49:37 +0000 (09:49 -0400)]
Move chdir() call so -recurse option works again

This commit is ported from nmh.

5 years agoFix off-by-one error (CPERLIN)
markus schnalke [Fri, 23 Oct 2015 07:52:55 +0000 (09:52 +0200)]
Fix off-by-one error (CPERLIN)

CPERLIN is the chars per line without the line break chars (\r\n),
at least would that match the description in RFC 2822. Actually,
however, the max SHOULD line length (excluding line break chars)
is 78 according to the RFC. Therefore it seems as if we should
set CPERLIN to 78. (This is open to decide and to do.)

5 years agoMerge
markus schnalke [Wed, 21 Oct 2015 15:39:15 +0000 (17:39 +0200)]

5 years agoCoding style adjustments for nmh-imported code
markus schnalke [Wed, 21 Oct 2015 15:35:14 +0000 (17:35 +0200)]
Coding style adjustments for nmh-imported code

- No documentation in h/prototypes.h, but rather in the sbr/*.c files

- Convert coding style from nmh to mmh:
  + indent with tabs only not with a tab-spaces-mixture
  + no space between function name and opening parenthesis
  + no space on the inner side of parens
  + no trailing space
  + different comment style

- Variable definition at the beginning of the block only (ANSI C)

- Choose meaningful identifier name rather than add a comment to a
  meaningless name

5 years agoDon't remove the draft on SIGQUIT to allow debugging
markus schnalke [Wed, 21 Oct 2015 15:13:35 +0000 (17:13 +0200)]
Don't remove the draft on SIGQUIT to allow debugging

5 years agoexport MM_CHARSET in mhbuild test
Philipp Takacs [Sun, 18 Oct 2015 11:25:33 +0000 (13:25 +0200)]
export MM_CHARSET in mhbuild test

The test has some UTF-8 charracter to test the encoding.

5 years agouse anno and mhparam in sendfiles
Philipp Takacs [Wed, 23 Sep 2015 11:15:31 +0000 (13:15 +0200)]
use anno and mhparam in sendfiles

5 years agodecode recipient-fields by default
Philipp Takacs [Sat, 10 Oct 2015 12:19:07 +0000 (14:19 +0200)]
decode recipient-fields by default

5 years agoadd a test for mhbuild rfc2047-support
Philipp Takacs [Fri, 25 Sep 2015 10:50:56 +0000 (12:50 +0200)]
add a test for mhbuild rfc2047-support

This is only the first test, more come later.

5 years agoporte encode_rfc2047 from nmh
Philipp Takacs [Sat, 19 Sep 2015 21:25:57 +0000 (23:25 +0200)]
porte encode_rfc2047 from nmh

Now a user can add any nonascii in header-fields.
mhbuild now encode this acourding to rfc2047.

Thanks Ken Hornstein <>

5 years agomhbuild: Avoid a dot on a line on its own
markus schnalke [Fri, 2 Oct 2015 17:49:38 +0000 (19:49 +0200)]
mhbuild: Avoid a dot on a line on its own

mhbuild's quoted-printable encoder breaks lines to have at most
CPERLIN chars. If the it happens that the last character on the
line is a dot (`.') and the line is broken just before it, then
the following line contains nothing but one single dot. This
currently leads to problems in mmh ... but it may cause problems
to other mail software as well. Hence we avoid it by encoding
any dot at the beginning of a line, just to be sure.

5 years agoSleep only 1 sec before retry to lock the file
markus schnalke [Fri, 2 Oct 2015 17:24:28 +0000 (19:24 +0200)]
Sleep only 1 sec before retry to lock the file

The previous 5 seconds might have been appropriate on old, heavy
loaded systems, but they will hardly be necessary on modern ones.

5 years agoShow the date hdr in local time in the default scan listing
markus schnalke [Fri, 2 Oct 2015 17:18:32 +0000 (19:18 +0200)]
Show the date hdr in local time in the default scan listing

5 years agoImprove wording and more description in man page spost(8)
markus schnalke [Fri, 2 Oct 2015 06:22:53 +0000 (08:22 +0200)]
Improve wording and more description in man page spost(8)

5 years agoBreak out the unquote functionality to a separate function.
Ken Hornstein [Thu, 14 Nov 2013 16:43:33 +0000 (11:43 -0500)]
Break out the unquote functionality to a separate function.

5 years agopick(1) decode rfc2047-fields
David Levine [Sun, 25 Nov 2012 15:06:20 +0000 (09:06 -0600)]
pick(1) decode rfc2047-fields

Attempt to decode each header field as if it were
MIME encoded.

5 years agoinclude h/utils.h
Philipp Takacs [Sun, 6 Sep 2015 21:29:21 +0000 (23:29 +0200)]
include h/utils.h

I forgot uip/ap.c and uip/burst.c, too

5 years agoinclude h/utils.h
Philipp Takacs [Sun, 6 Sep 2015 21:11:15 +0000 (23:11 +0200)]
include h/utils.h

I forgot to add it in sbr/addrsbr.c sbr/fmt_compile.c

5 years agoreplaced calloc with mh_xcalloc
Philipp Takacs [Sat, 5 Sep 2015 23:09:15 +0000 (01:09 +0200)]
replaced calloc with mh_xcalloc

This finished the work of David Levine,
which was portet in the last commit.

5 years agoAdded mh_xcalloc().
David Levine [Sat, 11 Oct 2014 14:22:52 +0000 (09:22 -0500)]
Added mh_xcalloc().

5 years agofix open up to 4 times on mbox_open()
Philipp Takacs [Sat, 29 Aug 2015 09:56:34 +0000 (11:56 +0200)]
fix open up to 4 times on mbox_open()

Befor this lkopen was only called ones.

5 years agoreimplement Dcc-field
Philipp Takacs [Thu, 27 Aug 2015 19:59:11 +0000 (21:59 +0200)]
reimplement Dcc-field

Dcc is like Bcc but don't send an extra message
with the orginal message attched. See FAQ for
more details.

5 years agofind recipients for sendmail
Philipp Takacs [Sun, 28 Jun 2015 22:42:31 +0000 (00:42 +0200)]
find recipients for sendmail

Recipients are given as comandline arguments to sendmail.
Also do aliasing on every header which contain an address.

5 years agoRevert "Remove stdio internals manipulation in sbr/m_getfld.c"
Philipp Takacs [Sat, 5 Sep 2015 11:10:33 +0000 (13:10 +0200)]
Revert "Remove stdio internals manipulation in sbr/m_getfld.c"

This only temporaly, to ensure mmh is working correct.

This reverts commit 976303d04d3bc2cad0afd5e3d364264783da56c2.

5 years agoRemove stdio internals manipulation in sbr/m_getfld.c
David Levine [Tue, 25 Dec 2012 17:57:31 +0000 (11:57 -0600)]
Remove stdio internals manipulation in sbr/m_getfld.c

Replaced all the stdio buffer access in sbr/m_getfld.c with a single call
to fread() and then some almost straightforward buffer manipulations.

This commit is ported to mmh.

5 years agoMake msg_delim file static to sbr/m_getfld.c
markus schnalke [Sat, 29 Aug 2015 14:39:59 +0000 (16:39 +0200)]
Make msg_delim file static to sbr/m_getfld.c

Thanks to David Levine <> for nmh commit