markus schnalke [Fri, 9 Mar 2012 11:25:06 +0000 (12:25 +0100)]
Added new helper `print-mimetype' and added Mime-Type-Query to man page.
Print-mimetype is useful if you don't have GNU file(1).
markus schnalke [Mon, 13 Feb 2012 13:16:45 +0000 (14:16 +0100)]
Removed support for Encrypted: headers, which were removed in RFC 2822.
This is a relict from RFC 822.
markus schnalke [Mon, 13 Feb 2012 12:58:13 +0000 (13:58 +0100)]
Trivial whitespace changes.
markus schnalke [Mon, 13 Feb 2012 12:51:53 +0000 (13:51 +0100)]
Now, spost should be quite usable.
Make use of m_mktemp2(), like elsewhere in the mmh code base.
Various rework of the Bcc handling code.
Still to do:
- Fcc handling needs improvements.
- Draft files for Bcc recipients are left existing in /tmp.
markus schnalke [Sun, 12 Feb 2012 16:49:57 +0000 (17:49 +0100)]
Various rework in spost.
- Removed some unused flags.
- Don't care for multiple Subject: headers. They aren't allowed.
- Correctly handle headers that are folded before the first word of the value.
- Outsourced code from putfmt() into new process_fcc().
markus schnalke [Sun, 12 Feb 2012 15:45:26 +0000 (16:45 +0100)]
Changed the Fcc handling code in spost.
Both, the new as well as the old approach have their limitations. I'm far
from confident with the new approach. At least it's simpler. It should be
good enough for now.
markus schnalke [Sun, 12 Feb 2012 11:31:01 +0000 (12:31 +0100)]
Temporary state of spost rework: Things should work if you don't use Bcc: hdrs.
The simple changes: Removed -[no]filter and did some minor refactoring.
The complex changes: First steps in reworking the Bcc-related code.
Don't use Bcc: headers with this state of code. They simply are ignored.
markus schnalke [Sat, 11 Feb 2012 21:29:39 +0000 (22:29 +0100)]
Now truly: Removed the unused variable mhlforward.
markus schnalke [Sat, 11 Feb 2012 21:28:00 +0000 (22:28 +0100)]
Revert "Removed unused mhlforward var."
It had been the wrong variable...
This reverts commit
4fbe60b6406be5253f50cc35b9d10e11f244da6f.
markus schnalke [Sat, 11 Feb 2012 21:24:21 +0000 (22:24 +0100)]
Removed unused mhlforward var.
markus schnalke [Sat, 11 Feb 2012 21:22:09 +0000 (22:22 +0100)]
Added absolute path to match the common style.
markus schnalke [Sat, 11 Feb 2012 21:16:56 +0000 (22:16 +0100)]
Removed unused stuff from makefile.
markus schnalke [Sat, 11 Feb 2012 21:02:27 +0000 (22:02 +0100)]
Removed unused catproc.
markus schnalke [Sat, 11 Feb 2012 19:18:43 +0000 (20:18 +0100)]
Made show(1) the default lproc. `list' and `display' changed a bit.
Already in 1984, MTR stated, that lproc should be show. I agree with him
on this point, but I strongly disagree there: ``if lproc is "mhl", use
mhlproc for consistency''. I thus removed this part and even more around it.
The code became simpler but additional arguments to `list' and `display'
are not recognized anymore. That won't be much inconvenience.
markus schnalke [Sat, 11 Feb 2012 10:53:04 +0000 (11:53 +0100)]
Removed the -width option from ap and dp. Always print the whole string now.
markus schnalke [Sat, 11 Feb 2012 10:29:26 +0000 (11:29 +0100)]
Removed the now unused SOprint().
markus schnalke [Sat, 11 Feb 2012 10:17:53 +0000 (11:17 +0100)]
Merged picksbr.c into pick.c.
markus schnalke [Fri, 10 Feb 2012 18:46:18 +0000 (19:46 +0100)]
Removed now unused dependencies (distsbr.o) in makefile.
markus schnalke [Fri, 10 Feb 2012 16:10:48 +0000 (17:10 +0100)]
Removed any knowledge of a screen length from mhl.
Pagination is to be done by some pager.
markus schnalke [Fri, 10 Feb 2012 15:43:55 +0000 (16:43 +0100)]
Removed the -clear switch from mhl.
This stuff is the task of the pager, not the one of the formater mhl.
markus schnalke [Fri, 10 Feb 2012 15:18:22 +0000 (16:18 +0100)]
Removed the -bell option from mhl.
markus schnalke [Fri, 10 Feb 2012 15:05:20 +0000 (16:05 +0100)]
moreproc will always be set in config/config.c, thus eliminated the ISTTY case.
markus schnalke [Fri, 10 Feb 2012 14:42:19 +0000 (15:42 +0100)]
Removed the check for hardcopy terminals. There won't be any today.
If you though do have one, then set moreproc to cat.
markus schnalke [Fri, 10 Feb 2012 14:33:50 +0000 (15:33 +0100)]
Removed the -nomoreproc switch from mhl, show, mhshow.
We'll go for always having a moreproc after mhl. If you just want to cat out,
then use `-moreproc cat'. mhl's very basic paging facility will be removed.
markus schnalke [Fri, 10 Feb 2012 14:12:59 +0000 (15:12 +0100)]
Merged mhlsbr.c into mhl.c.
Also removed the unused function mhlsbr(). (It had been used by msh.)
markus schnalke [Fri, 10 Feb 2012 13:54:26 +0000 (14:54 +0100)]
show: Special-cased -show(mime)proc for mhshow: it needs msgs not file args.
A similar test had already been there before the last rework.
markus schnalke [Fri, 10 Feb 2012 13:25:28 +0000 (14:25 +0100)]
show: Never call internal mhl(); always construct absolute argument paths.
We don't want those fat binaries that call internal versions of unrelated
tools. I.e. we do want modularization! No, fork() and exec() aren't too
expensive ... but heavily interweaved code is!
markus schnalke [Fri, 10 Feb 2012 11:00:28 +0000 (12:00 +0100)]
scan: Don't fflush manually. Let stdio care for this.
Common stdio implementations flush stdout-on-TTY automatically on newline.
markus schnalke [Fri, 10 Feb 2012 10:55:48 +0000 (11:55 +0100)]
Removed the -clear switch from scan(1).
If you want to have a clear or form-feed, call `clear' or `printf "\f"' at
the shell level. Anyway, what's the sense of a clear *after* the scan output?
markus schnalke [Fri, 10 Feb 2012 10:14:13 +0000 (11:14 +0100)]
Minor fix in man page.
markus schnalke [Fri, 10 Feb 2012 10:13:25 +0000 (11:13 +0100)]
Updated shell completion files to recent changes in the programs.
Well, some of the changes were not so recent.
markus schnalke [Fri, 10 Feb 2012 09:56:19 +0000 (10:56 +0100)]
Removed rcvtty.
Its use cases disappeared over time. And as asyncron notifications rip you out
of your working flow, you usually don't want to have them. If you need this
function though, then you can make use of write(1).
markus schnalke [Fri, 10 Feb 2012 09:33:23 +0000 (10:33 +0100)]
Updated man page to recent changes.
markus schnalke [Fri, 10 Feb 2012 09:20:47 +0000 (10:20 +0100)]
Removed `-format string' switches but made -form accept `=formatstring'.
For all tools that take `-from file' or `-format string' switches, those
were merged: `-format string' went away, but one may supply any such string
to the -form switch by prepending it with an equal sign `='. Thus
scan -format '%(msg) %{from}'
is now written as
scan -form '=%(msg) %{from}'
Note: mhl isn't adjusted this way, yet. It's too complex to be understood
by me, now. Thus, it still remains as it was: Any parameter to -form will be
interepreted as a filter *file*. As show and mhshow use mhl, they are
affected, too.
In the same go: Compactified the new_fs() function: folded the arguments.
markus schnalke [Thu, 9 Feb 2012 20:22:35 +0000 (21:22 +0100)]
Replaced open_form() with new_fs() for the last time and dropped the function.
markus schnalke [Thu, 9 Feb 2012 20:12:58 +0000 (21:12 +0100)]
Fixed dist(1): The link() must fail, because m_mktemp2() creates the file.
I've decided to take the easy way: simply copy.
markus schnalke [Thu, 9 Feb 2012 19:48:26 +0000 (20:48 +0100)]
Replaced open_form() with new_fs() in forw.c.
markus schnalke [Thu, 9 Feb 2012 18:31:44 +0000 (19:31 +0100)]
Augmented new_fs() with an additional argument for a default form.
This balances the arguments: user-form, user-string, def-form, def-string.
In comp.c I've already replaced open_form() with new_fs(). forw.c and
dist.c are to follow.
markus schnalke [Thu, 9 Feb 2012 18:08:37 +0000 (19:08 +0100)]
Removed the interactive prompt from comp when disposing an existing message.
It became useless in the restructuring of the draft facility but remained
until now. Also refactored this part of the code.
markus schnalke [Thu, 9 Feb 2012 17:06:58 +0000 (18:06 +0100)]
Cosmetic refactoring in fmt_new.c.
markus schnalke [Thu, 9 Feb 2012 16:48:03 +0000 (17:48 +0100)]
Updated mh-chart(1) for spost.
The man page post(8) still waits to be replaced by one for spost(8).
markus schnalke [Thu, 9 Feb 2012 16:38:27 +0000 (17:38 +0100)]
Removed -format and -filter from send(1); they were just passed to (s)post(8).
-(no)format switches normalization of addresses on/off. If spost would
support address normalization, then it should be always enabled or disabled.
But as spost doesn't support it it's a no-op in mmh anyway.
-filter is for generating non-MIME messages for Bcc recipients. We'll use
MIME in this case ... as soon as this code is written.
Note: spost is still lagging behind the current development.
markus schnalke [Thu, 9 Feb 2012 16:22:52 +0000 (17:22 +0100)]
repl: renamed -noformat to -nofilter; removed -format; default to -filter.
The new default: Filter with the default filter file.
markus schnalke [Thu, 9 Feb 2012 15:51:27 +0000 (16:51 +0100)]
repl: Changed the meaning of -mime: It's now orthogonal to -format/-filter.
See changes in man page repl(1) for explanations.
markus schnalke [Thu, 9 Feb 2012 15:25:08 +0000 (16:25 +0100)]
Merged replsbr.c into repl.c.
markus schnalke [Thu, 9 Feb 2012 15:14:46 +0000 (16:14 +0100)]
Added a note about formataddr(), because this had confused me.
markus schnalke [Thu, 9 Feb 2012 14:47:14 +0000 (15:47 +0100)]
Removed the -fcc switch from repl(1).
None of comp, dist, forw has it, why should repl then have it?
It likely had been added as the replcomps are not just copied but processed.
It had been quite easy to add this feature but nobody went far enough to
process components, distcomps, forwcomps as well to be able to have such
an -fcc switch for those tools as well.
markus schnalke [Thu, 9 Feb 2012 14:31:20 +0000 (15:31 +0100)]
Minor cleanups.
markus schnalke [Thu, 9 Feb 2012 14:29:53 +0000 (15:29 +0100)]
Moved mhl(1) from libdir to bindir.
The user should be able to use this tool normally, without inconveniences.
markus schnalke [Thu, 9 Feb 2012 14:06:49 +0000 (15:06 +0100)]
forw(1) does always MIMEify now.
Removed the -(no)mime, -(no)format, -filter switches. If you like to forward
messages in non-MIME format, then manually read in the output of:
mhl -forwall -form mhl.forward `mhpath MSGS...`
Digest do get MIMEified too. To send non-MIME digests use:
mhl -forwall -from mhl.digest -digest X -volume Y -issue Z `mhpath ...`
markus schnalke [Thu, 9 Feb 2012 13:00:37 +0000 (14:00 +0100)]
Removed the -file switch from forw(1).
markus schnalke [Thu, 9 Feb 2012 12:51:11 +0000 (13:51 +0100)]
comp(1) has no -file switch anymore.
markus schnalke [Thu, 9 Feb 2012 10:58:47 +0000 (11:58 +0100)]
Updated man pages: Removed the notice that whatnow could be called internally.
This bug had been solved within the previous commits.
markus schnalke [Wed, 8 Feb 2012 21:36:04 +0000 (22:36 +0100)]
Removed unnecessary dependencies from Makefile (annosbr.o).
markus schnalke [Wed, 8 Feb 2012 21:30:30 +0000 (22:30 +0100)]
Call anno(1) instead of compiling annosbr.c into send(1).
This time we don't even get slower. Not that I'd care for speed ...
markus schnalke [Wed, 8 Feb 2012 20:47:20 +0000 (21:47 +0100)]
Annotations will always be done inplace from now on.
markus schnalke [Wed, 8 Feb 2012 20:17:43 +0000 (21:17 +0100)]
Removed left-overs from the -idanno removal.
post (not spost) had written into a temp file those addresses to which it
had delivered mail. annoaux() in send had read from this temp file and
annotated the original message with each of those addresses. Now, no
addresses at all get annotated, but only the date of the action.
markus schnalke [Wed, 8 Feb 2012 19:18:32 +0000 (20:18 +0100)]
Removed unnecessary prototypes.
markus schnalke [Wed, 8 Feb 2012 19:10:43 +0000 (20:10 +0100)]
Cosmetic changes.
markus schnalke [Wed, 8 Feb 2012 17:38:54 +0000 (18:38 +0100)]
Merged h/mts.h into h/prototypes.h.
Note: spost.c is not up to date.
markus schnalke [Wed, 8 Feb 2012 17:04:44 +0000 (18:04 +0100)]
Moved sendsbr.c into send.c as it is not compiled into other binaries anymore.
markus schnalke [Wed, 8 Feb 2012 16:52:49 +0000 (17:52 +0100)]
Updated .gitignore and removed the unused mts.conf.in.
I've forgotten to remove the mts.conf.in some days ago.
markus schnalke [Wed, 8 Feb 2012 16:46:27 +0000 (17:46 +0100)]
Replaced sendfiles with a simpler version that uses send instead of viamail.
Also moved it from etc/ to uip/. Updated man pages.
Note: The splitting of large messages by sendfile/viamail/or elsewhere
seems not to be available anymore, although it had been documented in the
man page. Either the man pages don't match the code or I've not found this
function yet.
markus schnalke [Wed, 8 Feb 2012 15:50:47 +0000 (16:50 +0100)]
Removed viamail.
It is pretty much outdated. We can send files as MIME messages better with
the new attachment system.
markus schnalke [Wed, 8 Feb 2012 14:59:16 +0000 (15:59 +0100)]
comp, dist, forw, repl don't depend on sendsbr anymore.
I had forgotten to remove the deps in the makefile.
markus schnalke [Wed, 8 Feb 2012 14:31:41 +0000 (15:31 +0100)]
Improved the patch for send(1) to handle absolute path name arguments.
See changeset
3df5ab3c116e6d4a2fb4bb5cc9dfc5f781825815
markus schnalke [Wed, 8 Feb 2012 13:58:01 +0000 (14:58 +0100)]
Fixed mhmail. (It wanted to read the profile to create a temp file.)
markus schnalke [Wed, 8 Feb 2012 13:33:30 +0000 (14:33 +0100)]
Removed the `-delete' option from the `quit' command at the whatnow prompt.
There already is a command `delete' that's equal to the removed `quit -delete'.
markus schnalke [Wed, 8 Feb 2012 13:24:08 +0000 (14:24 +0100)]
Separated send from whatnow, similar to the previous commit.
Again, I traded execution speed for less (doubled) code, clearer interfaces,
and modularization. Oh what an improvement!
markus schnalke [Wed, 8 Feb 2012 12:42:11 +0000 (13:42 +0100)]
Always exec whatnow; don't link the code into comp, repl, forw, dist.
Although this might slow it a bit down, it makes the boundaries clearer.
The main problem for me is the interweaving of the parts in nmh. Let's
trade a bit of speed for better modularization.
markus schnalke [Wed, 8 Feb 2012 12:32:06 +0000 (13:32 +0100)]
Cosmetic changes.
markus schnalke [Wed, 8 Feb 2012 10:19:50 +0000 (11:19 +0100)]
Better mime types for attachments. Use some command; e.g. `file --mime'.
Up to now attachments had either been text/plain or application/octet-stream,
if one hadn't added mhshow-suffix- profile entries for any possible type.
Now we call mimetypequeryproc (default: `file -b --mime' for GNU file),
this can be changed with the profile entry `Mime-Type-Query'. This command
will be executed with the attachment filename as last argument. If your
file(1) command does not print MIME types, you can still grep your profile
for matching mhshow-suffix- entries. However, I suggest to store this data
somewhere else. IMO the profile is not the right location for it.
markus schnalke [Wed, 8 Feb 2012 08:41:03 +0000 (09:41 +0100)]
Layouting and comment changes. (minor stuff)
markus schnalke [Sat, 4 Feb 2012 15:19:06 +0000 (16:19 +0100)]
Removed the -backup flag from spost.
Post hadn't had it as renaming the draft is done by send. It appears as
if it were only there for debugging purposes.
markus schnalke [Sat, 4 Feb 2012 15:12:22 +0000 (16:12 +0100)]
Improved quoting the fullname.
markus schnalke [Sat, 4 Feb 2012 12:39:32 +0000 (13:39 +0100)]
Removed the suppress dups feature from slocal for simplicity reasons.
Now we don't need dbm anymore. This removed a heavy dependency and
complicated configure code.
markus schnalke [Sat, 4 Feb 2012 12:08:51 +0000 (13:08 +0100)]
Removed mts.conf; the maildelivery option went into slocal directly.
The MTS is a non-MUA part of MH, which is/gets removed in MMH.
Now, you cannot change the global maildelivery file without changing the
code. You stil can specify -maildelivery to slocal.
I've also remove support for the env vars MHMTSCONF and MHMTSUSERCONF,
which were added by Earl Hood in 2010. We might want to add support
for them again. I need to think about the future of slocal anyway.
markus schnalke [Sat, 4 Feb 2012 10:57:16 +0000 (11:57 +0100)]
Removed the built-in FTP client.
That's another of these things that are not the MUA's tasks.
There are good FTP clients around, just use one of them.
We could provide an external FTP wrapper script around wget or so,
to use with nmh-access-ftp. However, I'm not sure how to deal with
message/external-body in general. Although this concept is great,
I've never seen any such message in all my email life.
markus schnalke [Sat, 4 Feb 2012 09:51:26 +0000 (10:51 +0100)]
Refactoring in spost.
markus schnalke [Fri, 3 Feb 2012 17:42:55 +0000 (18:42 +0100)]
Removed the last masquerading type: username_extension.
If you want some username extension, then change the From: line in the
message draft. If you want real masquerading, then consult your MTA.
mmh is an MUA, no MTA.
(spost hadn't supported username_extension maquerading, anyway.)
markus schnalke [Fri, 3 Feb 2012 17:28:51 +0000 (18:28 +0100)]
Removed draft_from masquerading.
We're an MUA and should not care for SMTP envelopes at all.
markus schnalke [Fri, 3 Feb 2012 17:07:11 +0000 (18:07 +0100)]
Removed mmailid masquerading.
That's an MTA's task, but mmh is an MUA.
markus schnalke [Fri, 3 Feb 2012 16:02:11 +0000 (17:02 +0100)]
Removed unused parameter from mbx_copy().
markus schnalke [Fri, 3 Feb 2012 11:25:42 +0000 (12:25 +0100)]
Major bugfix: inc does not lose data anymore.
What have I done in
70b2643e0da8485174480c644ad9785c84f5bff4 ?
Producing scan listings and inc'ing mail are too closely related.
By removing the body component from scan listings, I also had removed
the ability to copy bodies during inc. Hence this commit undos the
changes. (And reintroduces the body component in scan listings. :-( )
The code is too much interweaved!
markus schnalke [Fri, 3 Feb 2012 10:16:05 +0000 (11:16 +0100)]
Removed the -(no)remove switches from spost.
I wonder why it existed, as the draft can get printed to stdout with -debug.
That should be enough for debugging without modifying source code.
markus schnalke [Fri, 3 Feb 2012 09:50:13 +0000 (10:50 +0100)]
Comment changes.
markus schnalke [Fri, 3 Feb 2012 09:42:49 +0000 (10:42 +0100)]
Fixed abort of e.g. comp when draft folder is empty.
In this case mp->lowoff is 1 but mp->lowmsg equal mp->hghmsg equal 0.
Hence we have an access at mp->msgstats[-1], which corrupted our mem.
Gdb hadn't helped me for this, but valgrind showed me the problem.
markus schnalke [Fri, 3 Feb 2012 09:15:19 +0000 (10:15 +0100)]
Syntactic and comment changes.
markus schnalke [Tue, 31 Jan 2012 23:47:35 +0000 (00:47 +0100)]
spost: refactoring; removed -(no)format switches as they were not used.
markus schnalke [Tue, 31 Jan 2012 23:36:54 +0000 (00:36 +0100)]
spost: refactoring, added comments, removed unused code
markus schnalke [Mon, 30 Jan 2012 15:16:26 +0000 (16:16 +0100)]
Scan listings shall not contain body content. Hence, removed this feature.
Scan listings shall operator on message headers and non-message information
only. Displaying the beginning of the body complicates everything too much.
That's no surprise, because it's something completely different. If you
want to examine the body, then use show(1)/mhshow(1).
Changed the default scan formats accordingly.
markus schnalke [Mon, 30 Jan 2012 13:32:10 +0000 (14:32 +0100)]
Removed another deprecated mhn check.
The comment appeared to be wrong ... maybe inverted. I removed it.
markus schnalke [Mon, 30 Jan 2012 13:27:19 +0000 (14:27 +0100)]
Removed the, in 1997 deprecated, send option -noshowproc and env var NOMHNPROC.
markus schnalke [Mon, 30 Jan 2012 11:42:06 +0000 (12:42 +0100)]
Removed -pause from mhshow(1).
My goal is to have show/mhshow generate a single stream of bytes to be
piped through a pager. Content not convertable to text shall not be displayed
directly. This is my idea currently.
markus schnalke [Mon, 30 Jan 2012 11:00:49 +0000 (12:00 +0100)]
Bugfix: Removed -reverse switch from scan(1).
No more to say but to quote MTR:
-[no]reverse under #ifdef BERK (I really HATE this)
And JLR:
Lists messages in reverse order with the `-reverse' switch.
This should be considered a bug.
markus schnalke [Mon, 30 Jan 2012 10:33:59 +0000 (11:33 +0100)]
Alias: Removed the address group `*', which meant everyone on the system.
Therefore could remove `everyone' and `noshell' from mts.conf.
If one really needs to write mail to everyone on the system (not just
all regular users, which probably are in a group `user'), then he
shurely can invest a bit more effort to do so. Likely, the simple condition
to uids > 200 and not the shell `noshell' would anyways be to limited.
Better use awk or the like and do it by hand.
markus schnalke [Mon, 30 Jan 2012 10:03:29 +0000 (11:03 +0100)]
Rest of the MMDF-style mail drop support removal.
Only Unix-style (mbox) mail drops are supported now. Their location
is in `mailspool', which is reported in the configure summary now.
If users like to have different locations, they can use the environment
variable MAILDROP or the profile entry MailDrop to overrule the default.
From mts.conf, mmdfldir and mmdflfil were removed.
msgchk(1) received several cleanups.
I touched sbr/m_getfld.c ... Wooohh ...
markus schnalke [Sat, 28 Jan 2012 19:46:46 +0000 (20:46 +0100)]
Removed mmdelim[12], which were the delimiters for MMDF-style mail drops.
markus schnalke [Sat, 28 Jan 2012 19:45:13 +0000 (20:45 +0100)]
Removed paragraphs which looked like forgotten to remove.
markus schnalke [Sat, 28 Jan 2012 19:40:31 +0000 (20:40 +0100)]
Removed support for MMDF-style mail drops.
I'm not sure yet if I've removed all of it but it should be most of it.