markus schnalke [Sat, 24 Mar 2012 14:58:50 +0000 (15:58 +0100)]
Merged folder_pack.c into folder.c.
markus schnalke [Sat, 24 Mar 2012 14:47:11 +0000 (15:47 +0100)]
Replaced folder_exists() by a call to create_folder().
Changed inc(1) to create non-existing folders with -silent, instead of
silently failing in this case. I consider the new behavior to follow the POLS.
markus schnalke [Sat, 24 Mar 2012 14:41:46 +0000 (15:41 +0100)]
Fixed `inc -silent' by not building a scan line if we don't want to print it.
scan() is still ugly and I'm still not pleased with the scan/inc merge,
but I don't see a better solution yet.
markus schnalke [Sat, 24 Mar 2012 13:02:18 +0000 (14:02 +0100)]
In-sourced copyip() and could make the code simpler.
The function had had a bad name and it's use in mhl.c was complex, anyway.
markus schnalke [Sat, 24 Mar 2012 11:28:35 +0000 (12:28 +0100)]
closefds() doesn't seem relevant or large enough to be a function.
I should beware in-sourcing too much ...
markus schnalke [Sat, 24 Mar 2012 11:14:00 +0000 (12:14 +0100)]
Replaced atooi() with strtoul(..., 8). That's part of C89 and thus okay for us.
markus schnalke [Sat, 24 Mar 2012 10:14:42 +0000 (11:14 +0100)]
whatnow: alist will now always list in long and numbered format.
markus schnalke [Sat, 24 Mar 2012 10:04:47 +0000 (11:04 +0100)]
etcpath(): The unchanged argument is the ultimate fall-back.
markus schnalke [Fri, 23 Mar 2012 15:17:43 +0000 (16:17 +0100)]
Merged annosbr.c into anno.c, as it is no longer used be the other tools.
markus schnalke [Fri, 23 Mar 2012 15:07:02 +0000 (16:07 +0100)]
We need to fix `anno -list -number'. Seems anno needs some more rework.
markus schnalke [Fri, 23 Mar 2012 15:06:23 +0000 (16:06 +0100)]
whatnow: call external anno(1) instead of internal annotate().
markus schnalke [Fri, 23 Mar 2012 14:05:49 +0000 (15:05 +0100)]
whatnow: Some minor refactoring.
markus schnalke [Fri, 23 Mar 2012 14:01:34 +0000 (15:01 +0100)]
forw,repl: Replaced internal annotate() call with invokation of anno(1).
markus schnalke [Fri, 23 Mar 2012 13:39:25 +0000 (14:39 +0100)]
anno: Can annotate files now too. This feature is yet hidden and will change.
markus schnalke [Fri, 23 Mar 2012 11:20:01 +0000 (12:20 +0100)]
Fixed building in a separate build directory.
Like this:
mkdir /tmp/foo
cd /tmp/foo
/path/to/sources/configure -q
make
If you want to know more, search for VPATH.
markus schnalke [Fri, 23 Mar 2012 11:07:44 +0000 (12:07 +0100)]
Make mhn.defaults a static file and removed the scripts that built it.
This concept its likely to change in future anyway.
markus schnalke [Fri, 23 Mar 2012 09:49:52 +0000 (10:49 +0100)]
Removed unused defines.
markus schnalke [Fri, 23 Mar 2012 09:27:18 +0000 (10:27 +0100)]
mhmail: If spost fails, preseverve draft by hand, not with mv(1).
markus schnalke [Fri, 23 Mar 2012 08:43:17 +0000 (09:43 +0100)]
makedir(): Removed the strange RUID!=EUID code and the access(2) call.
Dan couldn't find a reason for the code neither, hence I assume it's save
to simply remove it.
Ummm, why do we want to avoid creating directories
with the effective user ID? None of the nmh tools are
installed such that the effective should be different
from the real, and if some parent process made the two
be different, I don't see why it should be our job to
enforce the real UID. Also, why the heck do we call
the mkdir executable rather than the library function in
this case?? If we do want to call the mkdir executable,
we should at least be giving it -p (and change the single
chmod() call below) so it can successfully create nested
directories like the above code can.
-- Dan Harkless <dan-nmh@dilvish.speed.net>
Concerning access(2): We should better always just try the action instead
of first asking if we are allowed to do it.
markus schnalke [Fri, 23 Mar 2012 08:17:21 +0000 (09:17 +0100)]
scan(): Symbolic names instead of magic numbers.
markus schnalke [Thu, 22 Mar 2012 21:51:28 +0000 (22:51 +0100)]
Removed the trivial peekc() and put the code at the appropriate places.
markus schnalke [Thu, 22 Mar 2012 21:42:03 +0000 (22:42 +0100)]
Removed now unused OfficialName(). (Had been for UUCP, AFAIK.)
markus schnalke [Thu, 22 Mar 2012 21:38:41 +0000 (22:38 +0100)]
Remove accidentally added files.
markus schnalke [Thu, 22 Mar 2012 21:34:45 +0000 (22:34 +0100)]
Removed unused fdcompare().
markus schnalke [Thu, 22 Mar 2012 20:49:27 +0000 (21:49 +0100)]
Insourced push() into send.
markus schnalke [Thu, 22 Mar 2012 20:40:36 +0000 (21:40 +0100)]
scansbr: Minor refactoring.
markus schnalke [Thu, 22 Mar 2012 20:27:53 +0000 (21:27 +0100)]
scansbr: Removed the ``performance hack'' for inc as it wasn't faster.
I tested a 150MB/500msgs mbox but couldn't see any time differences. In both
cases it took 2-5s on my machine. Hence, I go for the much simpler and not
``we use strange internals'' version. If you really inc much larger mboxes,
then just take some time. ;-)
The explaining comment for the hack had been:
Performance hack: some people like to run "inc" on things like
net.sources or large digests. We do a copy directly into the output
buffer rather than going through an intermediate buffer.
We need the amount of data m_getfld found & don't want to do a
strlen on the long buffer so there's a hack in m_getfld to save the
amount of data it returned in the global "msg_count".
markus schnalke [Thu, 22 Mar 2012 20:07:50 +0000 (21:07 +0100)]
scansbr: Fixed scan and inc.
Writing to /dev/null had it's sense, as for scanning mboxes, the message size
had been determined this way and the file pointer had been pushed forward.
This is now done using the input file pointer instead of the output fp.
markus schnalke [Thu, 22 Mar 2012 19:30:56 +0000 (20:30 +0100)]
scansbr: Minor refactoring and some comments.
markus schnalke [Thu, 22 Mar 2012 18:54:12 +0000 (19:54 +0100)]
Remove remainings from scan format `body' pseudo-component.
Also, folded constant rlwidth var.
markus schnalke [Thu, 22 Mar 2012 18:05:02 +0000 (19:05 +0100)]
scansbr: Further refactoring.
markus schnalke [Thu, 22 Mar 2012 17:50:10 +0000 (18:50 +0100)]
scansbr: Only write to file if we're incing, but not when scanning.
If the original author would have used logical flags instead of magic
values in `outnum', the code wouldn't have been broken all the time.
Writing to /dev/null instead of not writing at all ... oh my! :-/
markus schnalke [Thu, 22 Mar 2012 17:46:33 +0000 (18:46 +0100)]
Refactoring in scansbr.c. Especially, took the logic out of `outnum'.
There's more to do here.
markus schnalke [Thu, 22 Mar 2012 16:46:06 +0000 (17:46 +0100)]
Removed the DBMPWD (aka. DBM) define. It was per default enabled, anyway.
The explanation of this option is:
For sites with a dbm-style password file (such as with Yellow Pages),
MH will not read the entire passwd file into a cache. At one site
that runs YP on a large passwd file, using this showed a 6:1 performance
improvement.
I don't like performance optimization, but if the non-cached version is
faster, then we surely take that one.
markus schnalke [Thu, 22 Mar 2012 16:17:58 +0000 (17:17 +0100)]
Merged mhstoresbr.c into mhstore.c, cause it's not used elsewhere.
markus schnalke [Thu, 22 Mar 2012 16:07:25 +0000 (17:07 +0100)]
Merged mhbuildsbr.c into mhbuild.c, cause it is not used elsewhere.
markus schnalke [Thu, 22 Mar 2012 14:26:19 +0000 (15:26 +0100)]
Rewrote late declations, which are part of C99, but not C89.
markus schnalke [Thu, 22 Mar 2012 14:25:41 +0000 (15:25 +0100)]
Added a note that I autoconf-2.59 should be enough.
markus schnalke [Thu, 22 Mar 2012 14:25:19 +0000 (15:25 +0100)]
Distribute autogen.sh in the tarballs.
markus schnalke [Thu, 22 Mar 2012 13:59:24 +0000 (14:59 +0100)]
Updated message, as `install-mh' had been replaced by `mmh'.
markus schnalke [Thu, 22 Mar 2012 13:44:00 +0000 (14:44 +0100)]
Moved and renamed some documentation files.
markus schnalke [Thu, 22 Mar 2012 12:57:24 +0000 (13:57 +0100)]
Removed remaining absolute mmh program path names from the binaries.
The mmh bindir must to be in PATH, but we are able to move the programs now.
The etcdir is still compiled into the binaries.
markus schnalke [Thu, 22 Mar 2012 12:33:49 +0000 (13:33 +0100)]
Call send directly, not via sendproc. Removed its profile entry, too.
markus schnalke [Thu, 22 Mar 2012 12:30:06 +0000 (13:30 +0100)]
Call spost directly, not via postproc. Remove the postproc profile entry.
markus schnalke [Thu, 22 Mar 2012 12:23:44 +0000 (13:23 +0100)]
Hardcoded mhmail instead of mailproc.
markus schnalke [Thu, 22 Mar 2012 12:18:23 +0000 (13:18 +0100)]
Removed the mhlproc profile entry. Call mhl directly.
markus schnalke [Thu, 22 Mar 2012 12:09:14 +0000 (13:09 +0100)]
Defined show(mime)proc locally and removed their profile entries.
Their paths are relative now, too.
markus schnalke [Thu, 22 Mar 2012 11:08:47 +0000 (12:08 +0100)]
Remove the rcvstoreproc/rcvpackproc vars.
markus schnalke [Thu, 22 Mar 2012 11:04:59 +0000 (12:04 +0100)]
Removed absolute path from mailproc.
The goal is to have as few path names compiled into the binaries.
markus schnalke [Thu, 22 Mar 2012 10:58:31 +0000 (11:58 +0100)]
s/lproc/listproc/
markus schnalke [Thu, 22 Mar 2012 10:51:14 +0000 (11:51 +0100)]
Removed the now unused incproc var.
markus schnalke [Thu, 22 Mar 2012 10:46:47 +0000 (11:46 +0100)]
mhmail: Don't invoke inc when called without arguments.
We can't provide a full mailx-replacement anyways. By magically invoking
inc(1), we likely confuse the user. Instead tell him that he can invoke
inc(1) himself. This doesn't mess with the important property: mhmail is
a mailx replacement for scripts to send mail.
markus schnalke [Thu, 22 Mar 2012 10:18:00 +0000 (11:18 +0100)]
Updated the INSTALL file.
markus schnalke [Thu, 22 Mar 2012 10:03:52 +0000 (11:03 +0100)]
Removed the `mhbuild' indirection via `buildmimeproc'.
We expect BINDIR to be in PATH if one executes mmh programs.
markus schnalke [Thu, 22 Mar 2012 09:56:46 +0000 (10:56 +0100)]
Querying the pager here is not necessary.
markus schnalke [Thu, 22 Mar 2012 09:52:49 +0000 (10:52 +0100)]
Rework of Editor/defaulteditor, similar to Pager/defaultpager; new env vars.
The priority order is: MMHEDITOR (env) > Editor (profile) > VISUAL (env)
EDITOR (env) > vi
markus schnalke [Thu, 22 Mar 2012 09:18:23 +0000 (10:18 +0100)]
moreproc is now Pager/defaultpager; removed -moreproc flags; added env vars.
The priority order is: MMHPAGER (env) > Pager (profile) > PAGER (env) > more
markus schnalke [Thu, 22 Mar 2012 08:00:22 +0000 (09:00 +0100)]
slocal: Updated man page to recent change.
markus schnalke [Thu, 22 Mar 2012 07:49:57 +0000 (08:49 +0100)]
slocal: Don't remove $PATH from env. Now execvp() searches as expected.
Stripping the environment may rather keep the user from doing sensible
things than it increases the security. Maybe we shouldn't strip it at all.
markus schnalke [Thu, 22 Mar 2012 06:51:27 +0000 (07:51 +0100)]
slocal: must not read profile (indirectly through m_mktemp2()).
markus schnalke [Thu, 22 Mar 2012 06:40:35 +0000 (07:40 +0100)]
slocal: use mhetcdir instead of NMHETCDIR.
markus schnalke [Wed, 21 Mar 2012 20:59:15 +0000 (21:59 +0100)]
Ignore distribution tarballs in the git status listing.
markus schnalke [Wed, 21 Mar 2012 19:47:48 +0000 (20:47 +0100)]
On today's systems fork() will hardly fail, thus removed the fork retry loops.
markus schnalke [Wed, 21 Mar 2012 19:43:27 +0000 (20:43 +0100)]
Minor refactoring.
markus schnalke [Wed, 21 Mar 2012 19:27:03 +0000 (20:27 +0100)]
Rework in dist tools: removed -file switch; don't fork(); refactoring.
markus schnalke [Wed, 21 Mar 2012 16:50:59 +0000 (17:50 +0100)]
mh-format.man5: Restored the warning placeholder.
We must have lost it somewhen.
markus schnalke [Wed, 21 Mar 2012 16:44:36 +0000 (17:44 +0100)]
configure.ac: Don't check for vfork and wait3 when we don't use them (anymore).
markus schnalke [Wed, 21 Mar 2012 16:03:53 +0000 (17:03 +0100)]
Removed unused code.
markus schnalke [Wed, 21 Mar 2012 15:54:24 +0000 (16:54 +0100)]
Removed support for UUCP bang path addresses.
If you still rely on UUCP, use nmh, not mmh.
markus schnalke [Wed, 21 Mar 2012 15:25:08 +0000 (16:25 +0100)]
Made DUMB the default and removed the the #ifdefs.
DUMB had been the default and forces MH to use a full RFC 822 address
parser instead of guessing on addresses.
markus schnalke [Wed, 21 Mar 2012 15:06:32 +0000 (16:06 +0100)]
Removed the not-used REALLYDUMB config option.
markus schnalke [Wed, 21 Mar 2012 15:04:10 +0000 (16:04 +0100)]
Removed the not-used FIX_NON_Y2K_COMPLIANT_MUA_DATES config option.
markus schnalke [Wed, 21 Mar 2012 14:59:09 +0000 (15:59 +0100)]
Made the RPATHS config option the default and removed the #ifdefs.
markus schnalke [Wed, 21 Mar 2012 14:52:15 +0000 (15:52 +0100)]
Slocal uses rcvpack now. Code beautification in slocal.
markus schnalke [Wed, 21 Mar 2012 13:25:55 +0000 (14:25 +0100)]
Renamed the mbx_* functions to mbox_*, because mbx is another mail box format.
markus schnalke [Wed, 21 Mar 2012 10:38:23 +0000 (11:38 +0100)]
packf prints to stdout now.
markus schnalke [Wed, 21 Mar 2012 10:19:50 +0000 (11:19 +0100)]
If rcvpack missed file argument, it prints to stdout; Removed unused code.
The mbox variant we use is called `mboxo'.
markus schnalke [Wed, 21 Mar 2012 08:43:45 +0000 (09:43 +0100)]
Makefile: inc does not depend on dropsbr.
markus schnalke [Tue, 20 Mar 2012 22:10:29 +0000 (23:10 +0100)]
Makefiles: s/nmh/mmh/; fixed generation of mmhdist.
markus schnalke [Tue, 20 Mar 2012 21:51:04 +0000 (22:51 +0100)]
Replaced mkinstalldirs with `mkdir -p'.
markus schnalke [Tue, 20 Mar 2012 21:12:51 +0000 (22:12 +0100)]
Minor refactoring.
markus schnalke [Tue, 20 Mar 2012 20:58:17 +0000 (21:58 +0100)]
Ensured clean uninstall.
markus schnalke [Tue, 20 Mar 2012 20:39:17 +0000 (21:39 +0100)]
A bit refactoring.
markus schnalke [Tue, 20 Mar 2012 20:07:58 +0000 (21:07 +0100)]
anno: Undid the ``preserve argument hack''.
markus schnalke [Tue, 20 Mar 2012 18:26:48 +0000 (19:26 +0100)]
Updated the BUGS sections in the man pages.
I expect users to know that they might need quoting in the shell.
markus schnalke [Tue, 20 Mar 2012 18:06:44 +0000 (19:06 +0100)]
s/nfs/fmtstr/
and s/c_nfs/c_fstr/ in uip/mhl.c
markus schnalke [Tue, 20 Mar 2012 17:02:32 +0000 (18:02 +0100)]
scan(): Replaced explicit noisy parameter with implicit nfs check.
nfs is the ``new format string'' if it is NULL, we don't (and actually
can't) print a scan line.
markus schnalke [Tue, 20 Mar 2012 16:36:02 +0000 (17:36 +0100)]
Removed special `folder' and `dtimenow' format escapes from scan listings.
Also removed the unused parameter `size'.
markus schnalke [Tue, 20 Mar 2012 15:14:53 +0000 (16:14 +0100)]
Removed internal version of fputs().
markus schnalke [Fri, 9 Mar 2012 16:04:46 +0000 (17:04 +0100)]
Fixed paths (libdir->bindir); removed the now unused libdir reference.
markus schnalke [Fri, 9 Mar 2012 12:27:35 +0000 (13:27 +0100)]
Moved conflict, rcv*, slocal, spost from libdir to bindir.
We should not hide them from the users.
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.