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.
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.
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.
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.
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.
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).
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
test/runalltests.
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. ;-) )
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).
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 <philipp@bureaucracy.de>. Thanks.
Additionally: use `test -z'.
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.
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.
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 <philipp@bureaucracy.de> for discovering this
improvement possibility and for preparing a patch.
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 ...
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 <philipp@bureaucracy.de>.
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 <philipp@bureaucracy.de>.
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.
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
strings.h.
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.
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.
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 <philipp@bureaucracy.de>
for discovering and reporting the bug.
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.
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.
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.
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
output.
There's more rework of show needed.
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.
markus schnalke [Sat, 7 Jul 2012 08:14:03 +0000 (10:14 +0200)]
whatnow: Re-integrated whom(1); cleanups.
Removed reference to `send -watch', which was removed in 9677896bbb11f7b49ca3e1665601407b6c7a459f
Reordered the options.
markus schnalke [Fri, 6 Jul 2012 15:51:37 +0000 (17:51 +0200)]
Re-added whom(1). This implementation is written from scratch.
This new version of whom(1) is quite different to the old one,
yet it serves the same purpose: listing the recipients of a message.
It still misses the ability to process +folder and msgs arguments.
As this implementation is new and not much practically tested,
it may change in the future, if flaws appear.
markus schnalke [Thu, 28 Jun 2012 22:20:45 +0000 (00:20 +0200)]
Completely removed the backup-prefix (,). We move to +trash instead.
mhbuild does not create `,foo.orig' but `foo.orig' now. Maybe it should
move the file to +trash as well ... this is likely to be changed.
Temporary files of bcc mails get removed now.
markus schnalke [Thu, 28 Jun 2012 21:45:01 +0000 (23:45 +0200)]
mhbuild: Fixed order of file names in error messages.
(The argument order is: rename(src, dest) and admonish("foo", "%s", "bar")
produces: ``bar foo''.)