]> diplodocus.org Git - nmh/log
nmh
12 years agoAdd extra argument to add_param() so it can use the passed-in pointers
Ken Hornstein [Wed, 5 Mar 2014 23:22:56 +0000 (18:22 -0500)]
Add extra argument to add_param() so it can use the passed-in pointers
directly without making copies first.

12 years agoA more complicated RFC 2231 parsing example.
Ken Hornstein [Wed, 5 Mar 2014 20:43:33 +0000 (15:43 -0500)]
A more complicated RFC 2231 parsing example.

12 years agoWhoops, a little TOO hasty on the last bugfix; put back an assignment.
Ken Hornstein [Wed, 5 Mar 2014 20:42:59 +0000 (15:42 -0500)]
Whoops, a little TOO hasty on the last bugfix; put back an assignment.

12 years agoSwitch over to using the token parser instead of isspace(), and
Ken Hornstein [Wed, 5 Mar 2014 20:11:54 +0000 (15:11 -0500)]
Switch over to using the token parser instead of isspace(), and
make sure we have our pointer correct when doing an encoded parameter
that isn't the first one.

12 years agoMove language tag parser into the block so it only gets
Ken Hornstein [Wed, 5 Mar 2014 19:36:43 +0000 (14:36 -0500)]
Move language tag parser into the block so it only gets
invoked on index 0.

12 years agoChange disposition output slightly.
Ken Hornstein [Wed, 5 Mar 2014 19:04:47 +0000 (14:04 -0500)]
Change disposition output slightly.

12 years agoUpdate information to mention RFC 2231.
Ken Hornstein [Wed, 5 Mar 2014 18:48:45 +0000 (13:48 -0500)]
Update information to mention RFC 2231.

12 years agoAdd message/external-body test.
Ken Hornstein [Wed, 5 Mar 2014 18:40:13 +0000 (13:40 -0500)]
Add message/external-body test.

12 years agoUpdate mhlist and other relevant utilities to output disposition information
Ken Hornstein [Wed, 5 Mar 2014 18:03:30 +0000 (13:03 -0500)]
Update mhlist and other relevant utilities to output disposition information
with a new -disposition switch.

12 years agoSome tests for RFC 2231 decoding; seems like it works, but need to stress
Ken Hornstein [Wed, 5 Mar 2014 04:44:09 +0000 (23:44 -0500)]
Some tests for RFC 2231 decoding; seems like it works, but need to stress
it some more.

12 years agoFix up some error reporting, and reassemble partial parameters correctly.
Ken Hornstein [Wed, 5 Mar 2014 04:43:26 +0000 (23:43 -0500)]
Fix up some error reporting, and reassemble partial parameters correctly.

12 years agoFix up a few pointer mishaps; this should now get everything right!
Ken Hornstein [Wed, 5 Mar 2014 03:49:13 +0000 (22:49 -0500)]
Fix up a few pointer mishaps; this should now get everything right!

12 years agoWhoops, forgot to set the name element of the partial parameter structure.
Ken Hornstein [Wed, 5 Mar 2014 03:37:10 +0000 (22:37 -0500)]
Whoops, forgot to set the name element of the partial parameter structure.

12 years agoA few minor fixups; the parser now passes the test suite!
Ken Hornstein [Wed, 5 Mar 2014 00:53:23 +0000 (19:53 -0500)]
A few minor fixups; the parser now passes the test suite!

12 years agoFixes for the MIME parser; kinda works for regular parameters, but
Ken Hornstein [Tue, 4 Mar 2014 18:45:19 +0000 (13:45 -0500)]
Fixes for the MIME parser; kinda works for regular parameters, but
still needs some fixes.

12 years agoMore work on extended parameter parser. Does not compile yet.
Ken Hornstein [Tue, 4 Mar 2014 02:52:35 +0000 (21:52 -0500)]
More work on extended parameter parser.  Does not compile yet.

12 years agoMake parse_header_attrs() a private function (there are no longer any
Ken Hornstein [Mon, 3 Mar 2014 05:43:46 +0000 (00:43 -0500)]
Make parse_header_attrs() a private function (there are no longer any
public consumers of it).

12 years agoConvert unqp() to decode_qp(), and make it a public function. Also,
Ken Hornstein [Mon, 3 Mar 2014 05:42:56 +0000 (00:42 -0500)]
Convert unqp() to decode_qp(), and make it a public function.  Also,
handle the case where decode_qp() is passed a character outside of
the normal ASCII range.

12 years agoSwitch over get_ctinfo() to determine the filename based on the filename if
Ken Hornstein [Mon, 3 Mar 2014 02:04:55 +0000 (21:04 -0500)]
Switch over get_ctinfo() to determine the filename based on the filename if
one was not provided.  Remove some unneeded functions as part of this work.

12 years agoWhoops, forgot to TEST THIS OUT first.
Ken Hornstein [Sun, 2 Mar 2014 05:07:10 +0000 (00:07 -0500)]
Whoops, forgot to TEST THIS OUT first.

12 years agoFor some reason viamail listed mhoutsbr as a dependency. It turned out it
Ken Hornstein [Sun, 2 Mar 2014 05:06:13 +0000 (00:06 -0500)]
For some reason viamail listed mhoutsbr as a dependency.  It turned out it
wasn't required, so we removed it so we don't have to pull in a complete MIME
parser into viamail.

12 years agoMore cleaned and conversion to the new parameter API.
Ken Hornstein [Sun, 2 Mar 2014 04:51:19 +0000 (23:51 -0500)]
More cleaned and conversion to the new parameter API.

12 years agoAdd a new get_param_value(); redo iconv() parameter conversion code.
Ken Hornstein [Sun, 2 Mar 2014 04:24:47 +0000 (23:24 -0500)]
Add a new get_param_value(); redo iconv() parameter conversion code.
Start having code use get_param() and get_param_value() rather than
walking the whole parameter linked list.

12 years agoFix iconv return value test warning.
Ken Hornstein [Fri, 28 Feb 2014 02:43:18 +0000 (21:43 -0500)]
Fix iconv return value test warning.

12 years agoSupport complete encoding for encoding Content-Type parameters. Start
Ken Hornstein [Fri, 28 Feb 2014 02:38:09 +0000 (21:38 -0500)]
Support complete encoding for encoding Content-Type parameters.  Start
work on retrieving parameters and converting them to the correct charset.

12 years agoUse RFC 2047 encoding for Content-Description, and make sure to encode
Ken Hornstein [Thu, 27 Feb 2014 16:50:33 +0000 (11:50 -0500)]
Use RFC 2047 encoding for Content-Description, and make sure to encode
MIME parameters correctly when building the Content-Disposition header.

12 years agoRe-do length calculation for parameter output, and adapt test for new code.
Ken Hornstein [Thu, 27 Feb 2014 03:58:26 +0000 (22:58 -0500)]
Re-do length calculation for parameter output, and adapt test for new code.

12 years agoCloser, but not quite right yet.
Ken Hornstein [Thu, 27 Feb 2014 02:13:30 +0000 (21:13 -0500)]
Closer, but not quite right yet.

12 years agoAdd test for long + encoded line; does not pass right now.
Ken Hornstein [Wed, 26 Feb 2014 02:31:18 +0000 (21:31 -0500)]
Add test for long + encoded line; does not pass right now.

12 years agoMake sure we include space in the list of characters we need to encode in
Ken Hornstein [Wed, 26 Feb 2014 02:30:52 +0000 (21:30 -0500)]
Make sure we include space in the list of characters we need to encode in
a parameter line.

12 years agoRemove unused variable, and make sure we free c_dispo_type.
Ken Hornstein [Wed, 26 Feb 2014 02:28:45 +0000 (21:28 -0500)]
Remove unused variable, and make sure we free c_dispo_type.

12 years agoA new test for longer lines.
Ken Hornstein [Wed, 26 Feb 2014 02:15:51 +0000 (21:15 -0500)]
A new test for longer lines.

12 years agoCalculate "characters to use in for current line" based on starting a new
Ken Hornstein [Wed, 26 Feb 2014 02:14:51 +0000 (21:14 -0500)]
Calculate "characters to use in for current line" based on starting a new
line, rather than the number of characters in the previous line.

12 years agoFirst basic test of extended parameter output: working!
Ken Hornstein [Tue, 25 Feb 2014 20:23:56 +0000 (15:23 -0500)]
First basic test of extended parameter output: working!

12 years agoBeginnings of test suite for RFC 2231 support; does not work yet.
Ken Hornstein [Tue, 25 Feb 2014 02:34:12 +0000 (21:34 -0500)]
Beginnings of test suite for RFC 2231 support; does not work yet.

12 years agoMake sure we don't modify the original text when processing the disposition
Ken Hornstein [Mon, 24 Feb 2014 18:39:19 +0000 (13:39 -0500)]
Make sure we don't modify the original text when processing the disposition
header.

12 years agoIt compiles now! And actually sort of works, but still a LOT more
Ken Hornstein [Sat, 22 Feb 2014 05:07:55 +0000 (00:07 -0500)]
It compiles now!  And actually sort of works, but still a LOT more
that needs to be done before it is complete.

12 years agoGetting closer to getting something working.
Ken Hornstein [Fri, 21 Feb 2014 19:49:07 +0000 (14:49 -0500)]
Getting closer to getting something working.

12 years agoMore work on handling encoded params; still does not compile.
Ken Hornstein [Thu, 20 Feb 2014 19:55:01 +0000 (14:55 -0500)]
More work on handling encoded params; still does not compile.

12 years agoMore extended parameter work. Still non-functional.
Ken Hornstein [Wed, 12 Feb 2014 20:41:39 +0000 (15:41 -0500)]
More extended parameter work.  Still non-functional.

12 years agoMove contains8bit() to a common file, and make it a bit more general.
Ken Hornstein [Wed, 12 Feb 2014 20:41:04 +0000 (15:41 -0500)]
Move contains8bit() to a common file, and make it a bit more general.

12 years agoBeginnings of RFC 2231 support. Does not compile (yet).
Ken Hornstein [Wed, 12 Feb 2014 04:17:00 +0000 (23:17 -0500)]
Beginnings of RFC 2231 support.  Does not compile (yet).

12 years agoStart of changes to support extended parameter parsing and decoding.
Ken Hornstein [Fri, 7 Feb 2014 20:53:35 +0000 (15:53 -0500)]
Start of changes to support extended parameter parsing and decoding.

12 years agoFix uninitialized variable warning
Ken Hornstein [Wed, 5 Feb 2014 18:05:21 +0000 (13:05 -0500)]
Fix uninitialized variable warning

12 years agoAdjust the quoted-printable output routine to continue when the end of
Ken Hornstein [Wed, 5 Feb 2014 16:02:01 +0000 (11:02 -0500)]
Adjust the quoted-printable output routine to continue when the end of
the buffer is reached, rather than adding a soft line break.

12 years agoAdd test for -maxunencoded.
Ken Hornstein [Tue, 4 Feb 2014 20:09:12 +0000 (15:09 -0500)]
Add test for -maxunencoded.

12 years agoA few more C-T-E tests.
Ken Hornstein [Tue, 4 Feb 2014 19:54:16 +0000 (14:54 -0500)]
A few more C-T-E tests.

12 years agoStill more CTE tests to cover (hopefully) all of tbe base64 cases.
Ken Hornstein [Tue, 4 Feb 2014 18:36:29 +0000 (13:36 -0500)]
Still more CTE tests to cover (hopefully) all of tbe base64 cases.

12 years agoMore CTE tests.
Ken Hornstein [Tue, 4 Feb 2014 18:34:22 +0000 (13:34 -0500)]
More CTE tests.

12 years agoMore fixes (and tests) for the base64 encoder.
Ken Hornstein [Tue, 4 Feb 2014 17:38:34 +0000 (12:38 -0500)]
More fixes (and tests) for the base64 encoder.

12 years agoAdd a new base64 CTE test.
Ken Hornstein [Tue, 4 Feb 2014 16:49:49 +0000 (11:49 -0500)]
Add a new base64 CTE test.

12 years agoFix encoder so at least one case of LF -> CR LF conversion happens correctly.
Ken Hornstein [Tue, 4 Feb 2014 16:19:24 +0000 (11:19 -0500)]
Fix encoder so at least one case of LF -> CR LF conversion happens correctly.

12 years agoReordered a bit of code in signal handler. Noted in comment that
David Levine [Tue, 4 Feb 2014 04:48:38 +0000 (22:48 -0600)]
Reordered a bit of code in signal handler.  Noted in comment that
NetBSD doesn't have mkstemps(3).

12 years agoUse rename(2), not link(2), in m_mktemps() if mkstemps() is not
David Levine [Tue, 4 Feb 2014 03:42:44 +0000 (21:42 -0600)]
Use rename(2), not link(2), in m_mktemps() if mkstemps() is not
available.

12 years agoAdd a new (but incomplete) test for mhbuild's new functionality.
Ken Hornstein [Tue, 4 Feb 2014 02:46:33 +0000 (21:46 -0500)]
Add a new (but incomplete) test for mhbuild's new functionality.

12 years agoFix up mhbuild so the character set is always output when needed, even
Ken Hornstein [Tue, 4 Feb 2014 02:46:08 +0000 (21:46 -0500)]
Fix up mhbuild so the character set is always output when needed, even
when the CTE is specified.

12 years agoDocument changes to mhbuild.
Ken Hornstein [Tue, 4 Feb 2014 02:45:41 +0000 (21:45 -0500)]
Document changes to mhbuild.

12 years agoSupport for selectable Content-Transfer-Encoding.
Ken Hornstein [Tue, 4 Feb 2014 01:14:55 +0000 (20:14 -0500)]
Support for selectable Content-Transfer-Encoding.
Now default to 8bit for CTE for text types.

12 years agonetbsd uses flock by default for mail spool locking, as reported
David Levine [Mon, 3 Feb 2014 04:34:14 +0000 (22:34 -0600)]
netbsd uses flock by default for mail spool locking, as reported
by Robert Elz.  Use *netbsd* to also include knetbsd, though I
don't know for sure that it uses flock.

12 years agoRestored setuid/setgid to slocal: it needs them when run as root,
David Levine [Mon, 3 Feb 2014 04:16:25 +0000 (22:16 -0600)]
Restored setuid/setgid to slocal:  it needs them when run as root,
as a mail delivery agent.

12 years agoRemoved some unused code that forked /bin/mkdir to make a new
David Levine [Sun, 2 Feb 2014 22:45:23 +0000 (16:45 -0600)]
Removed some unused code that forked /bin/mkdir to make a new
directory if an the effective and real uids differed.  There are no
setuid executables in nmh.

12 years agoRemoved all unnecessary setuid/setgid calls. Using setuid as an
David Levine [Sun, 2 Feb 2014 15:58:45 +0000 (09:58 -0600)]
Removed all unnecessary setuid/setgid calls.  Using setuid as an
example and not showing the setgid analogues:

    1) setuid(getuid());
    This dropped privileges before an exec and is normally a
    good thing.  Except here, the return value isn't checked.
    And, we don't have any setuid programs in nmh now, so it was
    unnecessary.

    2) if (geteuid() == 0) setuid(pw->pw_uid);
    This would have been a security hole if the executable was
    setuid root because the user specifies the source of the pw
    data.  This was in slocal(1), which is not setuid, so this
    was certainly not needed.

    3) setuid(geteuid());
    This was in post(8) for when it called the sendmail
    executable directly (-mts sendmail or -mts sendmail/pipe.
    It's not necessary with modern sendmail or replacements.

12 years agoAdded m_mktemps(), which creates a temporary file with a specified
David Levine [Sun, 2 Feb 2014 14:46:25 +0000 (08:46 -0600)]
Added m_mktemps(), which creates a temporary file with a specified
suffix.  It uses mkstemps(3) where available, which should be most
modern platforms.  If not available, it tries link(2), and if that
fails, rename(2).

12 years agoChange mhstore test slightly to test canonical line ending handling for
Ken Hornstein [Sat, 1 Feb 2014 21:13:00 +0000 (16:13 -0500)]
Change mhstore test slightly to test canonical line ending handling for
text MIME parts that are encoded with base64.

12 years agoDocument changes to base64 encoder/decoder.
Ken Hornstein [Sat, 1 Feb 2014 20:57:49 +0000 (15:57 -0500)]
Document changes to base64 encoder/decoder.

12 years agoMerge branch 'base64-text-fixup'
Ken Hornstein [Sat, 1 Feb 2014 17:48:20 +0000 (12:48 -0500)]
Merge branch 'base64-text-fixup'

12 years agoRemoved set +e where not needed in test-mhfixmsg.
David Levine [Sat, 1 Feb 2014 17:32:53 +0000 (11:32 -0600)]
Removed set +e where not needed in test-mhfixmsg.

12 years agoFixed test-mhfixmsg check attempted -decode of binary text to
David Levine [Sat, 1 Feb 2014 17:24:16 +0000 (11:24 -0600)]
Fixed test-mhfixmsg check attempted -decode of binary text to
work with the fixed base64 decoder.

12 years agoAdded note that suffixes were removed from filenames of temporary files.
David Levine [Sat, 1 Feb 2014 16:11:08 +0000 (10:11 -0600)]
Added note that suffixes were removed from filenames of temporary files.

12 years agoLook for w3m if lynx isn't available for mhshow-show-text.
David Levine [Sat, 1 Feb 2014 16:09:13 +0000 (10:09 -0600)]
Look for w3m if lynx isn't available for mhshow-show-text.

12 years agoAdded note that suffixes were removed from filenames of temporary files.
David Levine [Sat, 1 Feb 2014 16:11:08 +0000 (10:11 -0600)]
Added note that suffixes were removed from filenames of temporary files.

12 years agoLook for w3m if lynx isn't available for mhshow-show-text.
David Levine [Sat, 1 Feb 2014 16:09:13 +0000 (10:09 -0600)]
Look for w3m if lynx isn't available for mhshow-show-text.

12 years agoFix base64 to handle text parts properly; currently this breaks mhfixmsg,
Ken Hornstein [Fri, 31 Jan 2014 20:53:04 +0000 (15:53 -0500)]
Fix base64 to handle text parts properly; currently this breaks mhfixmsg,
and I'm not sure why yet.

12 years agoAdd -width when appropriate for this test.
Ken Hornstein [Fri, 31 Jan 2014 20:00:57 +0000 (15:00 -0500)]
Add -width when appropriate for this test.

12 years agoBeginnings of selectable CTE; allow specification in mhbuild directives,
Ken Hornstein [Wed, 29 Jan 2014 20:56:01 +0000 (15:56 -0500)]
Beginnings of selectable CTE; allow specification in mhbuild directives,
but it doesn't do anything quite yet.

12 years agoUnset LANG, LC_ALL, and LC_TYPE in common.sh so that the tests
David Levine [Wed, 29 Jan 2014 03:36:05 +0000 (21:36 -0600)]
Unset LANG, LC_ALL, and LC_TYPE in common.sh so that the tests
don't accidentally rely on any of the user's settings.

12 years agomhl() needs to set invo_name, too.
David Levine [Tue, 28 Jan 2014 00:56:20 +0000 (18:56 -0600)]
mhl() needs to set invo_name, too.

12 years agoWhatNow needs to set invo_name so that switches are interpreted properly.
David Levine [Mon, 27 Jan 2014 18:53:03 +0000 (12:53 -0600)]
WhatNow needs to set invo_name so that switches are interpreted properly.

12 years agoNo longer look at TMP environment variable for temporary file storage.
David Levine [Sun, 26 Jan 2014 17:57:29 +0000 (11:57 -0600)]
No longer look at TMP environment variable for temporary file storage.

12 years agoMerge branch 'tmpfiles'
David Levine [Sun, 26 Jan 2014 17:26:11 +0000 (11:26 -0600)]
Merge branch 'tmpfiles'

12 years agoMerge branch 'tmpfiles'
David Levine [Sun, 26 Jan 2014 17:23:53 +0000 (11:23 -0600)]
Merge branch 'tmpfiles'

12 years agoAdded unregister_for_removal(0) calls to the couple of children
David Levine [Sat, 25 Jan 2014 16:50:29 +0000 (10:50 -0600)]
Added unregister_for_removal(0) calls to the couple of children
that don't exec() or _exit() after fork().

12 years agoReplaced nearly all unlink(3) calls with m_unlink().
David Levine [Sat, 25 Jan 2014 16:04:19 +0000 (10:04 -0600)]
Replaced nearly all unlink(3) calls with m_unlink().

12 years agoRestored the unlinks of temporary files immediately after their
David Levine [Sat, 25 Jan 2014 15:26:13 +0000 (09:26 -0600)]
Restored the unlinks of temporary files immediately after their
creation in rcvtty.c, now that we have m_unlink().

12 years agoReplaced boilerplate at beginning of each nmh program with new
David Levine [Sat, 25 Jan 2014 15:15:05 +0000 (09:15 -0600)]
Replaced boilerplate at beginning of each nmh program with new
nmh_init() function.  It sets up an atexit() function and signal
handlers so that all temporary files are removed when the program
terminates, however that happens.  It relies on a call in m_mktemp()
to register each temporary file for removal.  See new "nmh temporary
files" section in README.developers and comments in m_mktemp.c.

12 years agoRemoved 3 renames of temporary files in mhparse.c. They added
David Levine [Sat, 25 Jan 2014 03:10:03 +0000 (21:10 -0600)]
Removed 3 renames of temporary files in mhparse.c.  They added
unnecessary filename extensions to the temp files.  They weren't good
from a security standpoint and added a failure mode.

12 years agoReplaced use of mkstemp() with m_mktemp() in lock_file.c.
David Levine [Sat, 25 Jan 2014 02:29:38 +0000 (20:29 -0600)]
Replaced use of mkstemp() with m_mktemp() in lock_file.c.

12 years agoMove uip/attach.c to sbr/mime_type.c; it was used by enough programs
Ken Hornstein [Fri, 24 Jan 2014 18:17:56 +0000 (13:17 -0500)]
Move uip/attach.c to sbr/mime_type.c; it was used by enough programs
that it deserved to be in libmh.

12 years agoIn my over-eager trimming I didn't realize the fallback code that
Ken Hornstein [Fri, 24 Jan 2014 17:38:03 +0000 (12:38 -0500)]
In my over-eager trimming I didn't realize the fallback code that
used the mhshow-suffix configuration information to determine the
MIME type was removed; put that back into mime_type().

12 years agoReplaced use of mkstemp() with m_mktemp2() in header_fd() of
David Levine [Fri, 24 Jan 2014 04:16:34 +0000 (22:16 -0600)]
Replaced use of mkstemp() with m_mktemp2() in header_fd() of
rcvtty.c.  It never would have worked, anyway, because it had 5
instead of 6 X's in the template.

12 years agoSwitch from volatile char * to the more correct char *volatile.
Ken Hornstein [Fri, 24 Jan 2014 02:48:24 +0000 (21:48 -0500)]
Switch from volatile char * to the more correct char *volatile.

12 years agoSeparate export from assignment in test-dist and test-attach.
David Levine [Fri, 24 Jan 2014 01:58:41 +0000 (19:58 -0600)]
Separate export from assignment in test-dist and test-attach.

12 years agoWhoops, forgot to initialize the linked list next pointer to NULL.
Ken Hornstein [Thu, 23 Jan 2014 19:55:21 +0000 (14:55 -0500)]
Whoops, forgot to initialize the linked list next pointer to NULL.

12 years agoMake sure we include tiny.jpg we need for the test suite.
Ken Hornstein [Thu, 23 Jan 2014 19:55:06 +0000 (14:55 -0500)]
Make sure we include tiny.jpg we need for the test suite.

12 years agoTry to suppress warnings from changes (but why is this thing complaining
Ken Hornstein [Thu, 23 Jan 2014 19:40:44 +0000 (14:40 -0500)]
Try to suppress warnings from changes (but why is this thing complaining
about drft being clobbered now??)

12 years agoHm, maybe I can't put environment variable assignments in front of
Ken Hornstein [Thu, 23 Jan 2014 19:24:35 +0000 (14:24 -0500)]
Hm, maybe I can't put environment variable assignments in front of
functions?

12 years agoWhoops, forgot a newline.
Ken Hornstein [Thu, 23 Jan 2014 19:01:53 +0000 (14:01 -0500)]
Whoops, forgot a newline.

12 years agoMerge branch 'mhbuild-always'
Ken Hornstein [Thu, 23 Jan 2014 18:35:31 +0000 (13:35 -0500)]
Merge branch 'mhbuild-always'

12 years agoDocument changes to mhbuild and send.
Ken Hornstein [Thu, 23 Jan 2014 18:35:03 +0000 (13:35 -0500)]
Document changes to mhbuild and send.

12 years agoGarbage collect unused code.
Ken Hornstein [Thu, 23 Jan 2014 05:34:18 +0000 (00:34 -0500)]
Garbage collect unused code.