]>
diplodocus.org Git - nmh/log
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.
Ken Hornstein [Wed, 5 Mar 2014 20:43:33 +0000 (15:43 -0500)]
A more complicated RFC 2231 parsing example.
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.
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.
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.
Ken Hornstein [Wed, 5 Mar 2014 19:04:47 +0000 (14:04 -0500)]
Change disposition output slightly.
Ken Hornstein [Wed, 5 Mar 2014 18:48:45 +0000 (13:48 -0500)]
Update information to mention RFC 2231.
Ken Hornstein [Wed, 5 Mar 2014 18:40:13 +0000 (13:40 -0500)]
Add message/external-body test.
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.
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.
Ken Hornstein [Wed, 5 Mar 2014 04:43:26 +0000 (23:43 -0500)]
Fix up some error reporting, and reassemble partial parameters correctly.
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!
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.
Ken Hornstein [Wed, 5 Mar 2014 00:53:23 +0000 (19:53 -0500)]
A few minor fixups; the parser now passes the test suite!
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.
Ken Hornstein [Tue, 4 Mar 2014 02:52:35 +0000 (21:52 -0500)]
More work on extended parameter parser. Does not compile yet.
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).
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.
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.
Ken Hornstein [Sun, 2 Mar 2014 05:07:10 +0000 (00:07 -0500)]
Whoops, forgot to TEST THIS OUT first.
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.
Ken Hornstein [Sun, 2 Mar 2014 04:51:19 +0000 (23:51 -0500)]
More cleaned and conversion to the new parameter API.
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.
Ken Hornstein [Fri, 28 Feb 2014 02:43:18 +0000 (21:43 -0500)]
Fix iconv return value test warning.
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.
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.
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.
Ken Hornstein [Thu, 27 Feb 2014 02:13:30 +0000 (21:13 -0500)]
Closer, but not quite right yet.
Ken Hornstein [Wed, 26 Feb 2014 02:31:18 +0000 (21:31 -0500)]
Add test for long + encoded line; does not pass right now.
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.
Ken Hornstein [Wed, 26 Feb 2014 02:28:45 +0000 (21:28 -0500)]
Remove unused variable, and make sure we free c_dispo_type.
Ken Hornstein [Wed, 26 Feb 2014 02:15:51 +0000 (21:15 -0500)]
A new test for longer lines.
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.
Ken Hornstein [Tue, 25 Feb 2014 20:23:56 +0000 (15:23 -0500)]
First basic test of extended parameter output: working!
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.
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.
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.
Ken Hornstein [Fri, 21 Feb 2014 19:49:07 +0000 (14:49 -0500)]
Getting closer to getting something working.
Ken Hornstein [Thu, 20 Feb 2014 19:55:01 +0000 (14:55 -0500)]
More work on handling encoded params; still does not compile.
Ken Hornstein [Wed, 12 Feb 2014 20:41:39 +0000 (15:41 -0500)]
More extended parameter work. Still non-functional.
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.
Ken Hornstein [Wed, 12 Feb 2014 04:17:00 +0000 (23:17 -0500)]
Beginnings of RFC 2231 support. Does not compile (yet).
Ken Hornstein [Fri, 7 Feb 2014 20:53:35 +0000 (15:53 -0500)]
Start of changes to support extended parameter parsing and decoding.
Ken Hornstein [Wed, 5 Feb 2014 18:05:21 +0000 (13:05 -0500)]
Fix uninitialized variable warning
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.
Ken Hornstein [Tue, 4 Feb 2014 20:09:12 +0000 (15:09 -0500)]
Add test for -maxunencoded.
Ken Hornstein [Tue, 4 Feb 2014 19:54:16 +0000 (14:54 -0500)]
A few more C-T-E tests.
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.
Ken Hornstein [Tue, 4 Feb 2014 18:34:22 +0000 (13:34 -0500)]
More CTE tests.
Ken Hornstein [Tue, 4 Feb 2014 17:38:34 +0000 (12:38 -0500)]
More fixes (and tests) for the base64 encoder.
Ken Hornstein [Tue, 4 Feb 2014 16:49:49 +0000 (11:49 -0500)]
Add a new base64 CTE test.
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.
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).
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.
Ken Hornstein [Tue, 4 Feb 2014 02:46:33 +0000 (21:46 -0500)]
Add a new (but incomplete) test for mhbuild's new functionality.
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.
Ken Hornstein [Tue, 4 Feb 2014 02:45:41 +0000 (21:45 -0500)]
Document changes to mhbuild.
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.
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.
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.
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.
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.
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).
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.
Ken Hornstein [Sat, 1 Feb 2014 20:57:49 +0000 (15:57 -0500)]
Document changes to base64 encoder/decoder.
Ken Hornstein [Sat, 1 Feb 2014 17:48:20 +0000 (12:48 -0500)]
Merge branch 'base64-text-fixup'
David Levine [Sat, 1 Feb 2014 17:32:53 +0000 (11:32 -0600)]
Removed set +e where not needed in test-mhfixmsg.
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.
David Levine [Sat, 1 Feb 2014 16:11:08 +0000 (10:11 -0600)]
Added note that suffixes were removed from filenames of temporary files.
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.
David Levine [Sat, 1 Feb 2014 16:11:08 +0000 (10:11 -0600)]
Added note that suffixes were removed from filenames of temporary files.
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.
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.
Ken Hornstein [Fri, 31 Jan 2014 20:00:57 +0000 (15:00 -0500)]
Add -width when appropriate for this test.
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.
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.
David Levine [Tue, 28 Jan 2014 00:56:20 +0000 (18:56 -0600)]
mhl() needs to set invo_name, too.
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.
David Levine [Sun, 26 Jan 2014 17:57:29 +0000 (11:57 -0600)]
No longer look at TMP environment variable for temporary file storage.
David Levine [Sun, 26 Jan 2014 17:26:11 +0000 (11:26 -0600)]
Merge branch 'tmpfiles'
David Levine [Sun, 26 Jan 2014 17:23:53 +0000 (11:23 -0600)]
Merge branch 'tmpfiles'
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().
David Levine [Sat, 25 Jan 2014 16:04:19 +0000 (10:04 -0600)]
Replaced nearly all unlink(3) calls with m_unlink().
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().
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.
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.
David Levine [Sat, 25 Jan 2014 02:29:38 +0000 (20:29 -0600)]
Replaced use of mkstemp() with m_mktemp() in lock_file.c.
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.
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().
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.
Ken Hornstein [Fri, 24 Jan 2014 02:48:24 +0000 (21:48 -0500)]
Switch from volatile char * to the more correct char *volatile.
David Levine [Fri, 24 Jan 2014 01:58:41 +0000 (19:58 -0600)]
Separate export from assignment in test-dist and test-attach.
Ken Hornstein [Thu, 23 Jan 2014 19:55:21 +0000 (14:55 -0500)]
Whoops, forgot to initialize the linked list next pointer to NULL.
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.
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??)
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?
Ken Hornstein [Thu, 23 Jan 2014 19:01:53 +0000 (14:01 -0500)]
Whoops, forgot a newline.
Ken Hornstein [Thu, 23 Jan 2014 18:35:31 +0000 (13:35 -0500)]
Merge branch 'mhbuild-always'
Ken Hornstein [Thu, 23 Jan 2014 18:35:03 +0000 (13:35 -0500)]
Document changes to mhbuild and send.
Ken Hornstein [Thu, 23 Jan 2014 05:34:18 +0000 (00:34 -0500)]
Garbage collect unused code.