markus schnalke [Sun, 20 Nov 2011 11:38:17 +0000 (12:38 +0100)]
The existence of the profile entry Path is already enforced by context_read().
Hence, removed the obscure ``free(path("./", TFOLDER));'' calls.
Still I don't see the sense in these lines, but they won't get executed,
as the condition is checked before (and the program aborts then).
Probably that's obsolete stuff that remained through several reworks.
markus schnalke [Sat, 5 Nov 2011 16:56:07 +0000 (17:56 +0100)]
Introduced FDEF and FCUR for speaking arguments to getfolder().
Maybe it would be better to two separate functions, but I cannot
imagine good names for them ... :-(
markus schnalke [Sat, 5 Nov 2011 13:04:02 +0000 (14:04 +0100)]
Renamed r1bindex() to mhbasename(), to make its function becomes clear.
All calls to r1bindex() had '/' as second argument. For everything else
one can use strrchr(3) instead of r1bindex().
markus schnalke [Tue, 1 Nov 2011 08:29:08 +0000 (09:29 +0100)]
Don't call writev() anymore.
It might be a sexy syscall, but it's not portable and more complex than
the mainstream solution. For sexy source program, go elsewhere!
markus schnalke [Sun, 30 Oct 2011 10:35:54 +0000 (11:35 +0100)]
Removed the draft message in favor for a consistent draft folder facility
- reworked sbr/m_draft.c (of course)
- removed the -draftfolder/-draftmessage/-nodraftfolder switches
- removed the -draft switch from anno and refile
- no more need to question on existing draft message - yay!
Everything is more consistent now. Cornercases went away. :-)
(Also fixed the switch numbering, as already done for other files earlier.)
markus schnalke [Sun, 16 Oct 2011 09:48:09 +0000 (11:48 +0200)]
Removed the whom program, which relayed on post(8) functionality.
We can later add one again, which only expands aliases but does not
require the MTA to support -bv.
markus schnalke [Sun, 16 Oct 2011 08:47:04 +0000 (10:47 +0200)]
Removed the split feature of send.
It would split large messages into several partial ones, using MIME.
But if a message contains one large file attached, it won't solve the
problem. We better go without this feature and leave it to the user.
markus schnalke [Fri, 7 Oct 2011 06:35:27 +0000 (08:35 +0200)]
Rearranged whitespace (and comments) in all the code!
The primary goal was to only indent with tabs and not mix them with spaces.
Also, no more tabs should appear past the first printable char on each line.
Now editing the sources will be much easier, no matter which editor one uses,
and rearranging won't break aligned code.
(Beware, the changeset is huge, but the `diff -w' changes are moderate.)
markus schnalke [Wed, 5 Oct 2011 17:09:27 +0000 (19:09 +0200)]
Removed msh, vmh and wmh.
The latter ones were long time obsolete; now they went away.
Msh has hardly to do with everyday mmh usage, and we don't support bboards
anymore.
This one changeset saves us about 7,000 lines of code. *yay*
markus schnalke [Wed, 5 Oct 2011 09:28:46 +0000 (11:28 +0200)]
Removed --with-{editor,pager} configure options.
We keep defaulting to vi and more, but search in PATH at run time.
Nowadays, both programs should be available via PATH everywhere.
Otherwise, the the path in the profile.
markus schnalke [Tue, 4 Oct 2011 16:36:14 +0000 (18:36 +0200)]
Removed the MTS and post; now we always use /usr/sbin/sendmail -t
Mmh won't talk SMTP (nor POP).
Also moved OfficialName() from /mts/smtp/hosts.c to sbr/addrsbr.c.
Peter Maydell [Tue, 21 Dec 2010 16:50:24 +0000 (16:50 +0000)]
Clean up code in inc.c
Clean up the confusing use of a variable 'i' in inc.c.
The case where it was being used as 'an error occurred
which means we should not truncate the mailspool' is now
called 'incerr' and merged with the equivalent 'p' variable
used in the POP-specific code. Cases where it was being
used as a random temporary are still called 'i' but now
declared with a much more restricted scope.
This fixes a compilation warning for some compilers.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Peter Maydell [Mon, 20 Dec 2010 21:13:32 +0000 (21:13 +0000)]
Suppress tsort diagnostic waffle
tsort produces waffle to standard error if it detects loops in its input.
For our purposes in ordering object files this is harmless, so just send
it all to /dev/null.
Signed-off-by: Peter Maydell <pmaydell@chiark.greenend.org.uk>
Peter Maydell [Mon, 20 Dec 2010 21:13:32 +0000 (21:13 +0000)]
Fix unused-function warnings in lex output
Fix the unused-function warnings in the output of lex. In particular, we
silence a warning about yyunput being static but unused by exposing it as
a global function. This costs us a few hundred bytes in the binary but
the other available solutions are flex-specific or more complicated.
YY_NO_UNPUT used to silence this but no longer works in recent flex.
On the other hand YY_NO_INPUT does work to silence warnings about input().
Signed-off-by: Peter Maydell <pmaydell@chiark.greenend.org.uk>
Peter Maydell [Mon, 20 Dec 2010 21:13:32 +0000 (21:13 +0000)]
Fix used-uninitialised warning in fmt_rfc2047.c
Fix a used-uninitialised warning in fmt_rfc2047.c.
I don't think it can actually be used uninitialised, but the
code is too complicated for the compiler to realise this.
Signed-off-by: Peter Maydell <pmaydell@chiark.greenend.org.uk>
Peter Maydell [Mon, 20 Dec 2010 21:13:32 +0000 (21:13 +0000)]
Fix used-uninitialised warning in new.c
Fix a used-uninitialised warning in new.c by having the check_folders()
routine return first=last=NULL for empty folder lists. This is a more
sensible API anyway. (It would not actually have been possible for
the code to try to use last while it was uninitialised, as it happens.)
Signed-off-by: Peter Maydell <pmaydell@chiark.greenend.org.uk>
Peter Maydell [Mon, 20 Dec 2010 19:54:43 +0000 (19:54 +0000)]
Fix warning in sbr/folder_addmsg.c by code cleanup
Clean up some rather oddly written code in folder_addmsg()
so it is easier to understand for both humans and for the
compiler (and the compiler thus stops complaining about an
uninitialised variable).
Signed-off-by: Peter Maydell <pmaydell@chiark.greenend.org.uk>
David Levine [Wed, 8 Dec 2010 16:47:03 +0000 (10:47 -0600)]
man/send.man: added name= portion to Content-Type
headers to reflect 2006-10-24 change to uip/sendsbr.c.
That change allowed mhstore to use the (file)name when
extracting attachments.
Ken Hornstein [Fri, 19 Nov 2010 20:13:39 +0000 (20:13 +0000)]
(Minor) cleanup of some of the autoconf code with respect to the handling
of compiler flags for SASL, and also rototill (and simplify) the autoconf
handling for the same.
Peter Maydell [Fri, 12 Nov 2010 23:28:26 +0000 (23:28 +0000)]
man/slocal.man: fix formatting error that meant a subsection heading
wasn't displayed as such. Followon cleanup: since the new heading is too
wide to fit in the margin, tidy the margin to 4 characters wide so we
are consistent with how all the headings are displayed.
Earl Hood [Sat, 6 Feb 2010 07:45:47 +0000 (07:45 +0000)]
Fixed variable declaration so older compilers will not complain.
I.e. Older compilers may not support C99, so variables must be
declared at the beginning of a block.
Earl Hood [Thu, 4 Feb 2010 01:39:21 +0000 (01:39 +0000)]
* Bug #15213, #18635: The use of the insecure m_scratch() and
m_tmpfil() functions have been replaced by m_mktemp()
or m_mktemp2() functions (defined in sbr/m_mktemp.c).
The new functions use mkstemp() to securely create
temporary files to avoid the numerous race conditions
that exist with the old functions. This does assume
that mkstemp() is available. Unsure if we need to
create an alternative implementation if mkstemp() is
not available. More information about new temp file
functions in m_mktemp.c, including the support for
MHTMPDIR, TMPDIR, and TMP envvars.
NOTE: The files sbr/m_scratch.c and sbr/m_tmpfil.c should be removed.
Until more testing verifies changes to support new functions have not
broken functionality, the files are be left in the tree, but comments
have been added stating the functions in them should not be called.
Earl Hood [Wed, 3 Feb 2010 05:56:56 +0000 (05:56 +0000)]
* mts/smtp/smtp.c: added SASL support if mts configuration
setting is set to "sendmail". This is useful if sendmail
conf option is to a custom script that creates a proxy
connection to an smtp server.
* sbr/mts.c: added support for MHMTSCONF and MHMTSUSERCONF
envvars. The former specifies an alternative system
mts.conf to use. The later specifies a user-specific
mts.conf to use. This one will be read after the system
conf, so the user's conf only needs to set options they
want to override. The MHMTSUSERCONF allows a user to set
personal alternative mail submission methods w/o affecting
other users on the system.
* uip/whom.c: added SASL-based options so address checking
can work against a server that requires SASL.
David Levine [Wed, 30 Dec 2009 01:42:45 +0000 (01:42 +0000)]
* uip/mhlistsbr.c, uip/mhlsbr.c, uip/picksbr.c: cast
pointers to unsigned long before casting to unsigned int
to avoid warnings on 64-bit about casting from pointer
to int of different size.
David Levine [Fri, 25 Dec 2009 14:47:39 +0000 (14:47 +0000)]
* uip/inc.c: gcc 4.4.1 noticed that maildir could have been
used before initialization. In fact, if that code was ever
reached, maildir would never have been initialized. It's in
an adios call, so replaced with NULL.
David Levine [Mon, 21 Dec 2009 17:18:04 +0000 (17:18 +0000)]
* mts/smtp/smtp.c: In sm_auth_sasl (), removed zeroing of
sasl_inbuffer because it could be used in sm_fget (). Also,
removed allocation of sasl_inbuffer because that was done in
either smtp_init () or sendmail_init ().
Eric Gillespie [Sat, 17 Jan 2009 16:47:29 +0000 (16:47 +0000)]
* test/runtest, test/tests/inc/test-deb359167,
test/tests/inc/test-eom-align, test/tests/manpages/test-manpages:
Load common.sh via absolute path, otherwise some /bin/sh
(e.g. dash) can't load it.
* uip/Makefile.in, uip/new.c, test/tests/new/test-basic: Add new
program, and fn/fp/unseen symlinks.
* test/{runtest,setup-test}: Move MH profile under Mail directory
so each test script will have its own to muck with, if needed.
* h/Makefile.in, h/crawl_folders.h, sbr/Makefile.in,
sbr/crawl_folders.c, uip/folder.c: Extract the folder crawling
code from folder.c into new crawl_folders function, using a
callback to assemble the folder info in folder.c. Drop compare
function and use strcmp instead. Rename addfold and addir to
add_folder and add_children (add dir vs. add folder?
confusing names).
Ken Hornstein [Fri, 16 Jan 2009 02:28:54 +0000 (02:28 +0000)]
Massive overhaul of networking code. Changes:
- All networking interfaces now converted to new APIs (getaddrinfo() and
the like). All networking now supports IPv6 (with the exception of
the built-in FTP client).
- SASL security layers are now supported for SMTP.
- Command-line and profile-based selection of the SMTP server and port.
Peter Maydell [Fri, 26 Dec 2008 21:54:19 +0000 (21:54 +0000)]
* sbr/m_getfld.c: fix two bugs which could cause us to walk off
the beginning of the stdio or prefix-string buffer when checking
for presence of the end-of-message delimiter in some situations.
This might cause inc to dump core if you were unlucky. (This was
Debian bug 359167.)
* test/tests/inc/{md5sums,msgheader.txt,test-deb359167,
test-eom-align,fromline.txt,filler.txt,deb359167.mbox}: new tests
both for the specific problem and to try to check various alignments
of the eom string with the stdio buffer ending.
* test/common.sh: Added some functions for doing progress indicators.