users/heiko/exim.git
13 years agoDeal with maildir quota file races.
Phil Pennock [Mon, 21 Feb 2011 05:38:07 +0000 (00:38 -0500)]
Deal with maildir quota file races.

Based on patch from Heiko Schlittermann.
Fixes bug 1086.

13 years agoImproved spamd server selection.
Phil Pennock [Mon, 21 Feb 2011 05:11:32 +0000 (00:11 -0500)]
Improved spamd server selection.

Patch from Mark Zealey.
Fixes bug 1056.

13 years agoUpdate $message_linecount for maildir_tag.
Phil Pennock [Mon, 21 Feb 2011 04:44:50 +0000 (23:44 -0500)]
Update $message_linecount for maildir_tag.

Patch from Mark Zealey.
Fixes bug 1055.

13 years agoMinor robustness fixes for debugging.
Phil Pennock [Mon, 21 Feb 2011 04:28:45 +0000 (23:28 -0500)]
Minor robustness fixes for debugging.

sig_atomic_t for signal-handlers.
getgroups() return value checking.
Developed for bug 927.

13 years agoBugZilla 1006 - recommit patch from Micha Lenk
Tom Kistner [Mon, 14 Feb 2011 19:24:00 +0000 (19:24 +0000)]
BugZilla 1006 - recommit patch from Micha Lenk

13 years agoMove lookup extern decls to file scope.
Phil Pennock [Sun, 13 Feb 2011 05:45:12 +0000 (00:45 -0500)]
Move lookup extern decls to file scope.

Should permit building on old gcc which dislikes extern inside function
scope.

Patch from Oliver Fleischmann, who encountered this with gcc 2.95.2.

13 years agoImplement %M datestamping in log filenames.
Phil Pennock [Sun, 13 Feb 2011 05:31:49 +0000 (00:31 -0500)]
Implement %M datestamping in log filenames.

Patch from Simon Arlott.

fixes bug 486

13 years agoDon't reveal SQL expansion failure details in SMTP.
Phil Pennock [Sun, 13 Feb 2011 05:19:26 +0000 (00:19 -0500)]
Don't reveal SQL expansion failure details in SMTP.

fixes bug 1061

13 years agoImplement freeze_signal on pipe transport.
Phil Pennock [Sun, 13 Feb 2011 05:09:18 +0000 (00:09 -0500)]
Implement freeze_signal on pipe transport.

Patch from Jakob Hirsch.

fixes bug 1042

13 years agoEscape lookup deferral error message when logging.
Phil Pennock [Sun, 13 Feb 2011 02:49:36 +0000 (21:49 -0500)]
Escape lookup deferral error message when logging.

closes bug 1083

Patch from John Horne.

13 years agoRC releases get marked as such in version.h.
Phil Pennock [Mon, 7 Feb 2011 01:50:09 +0000 (20:50 -0500)]
RC releases get marked as such in version.h.

Release-tools only, no NewStuff/ChangeLog

13 years agoFix exiqgrep issue where malformed lines not parsed
Nigel Metheringham [Sun, 6 Feb 2011 19:20:06 +0000 (19:20 +0000)]
Fix exiqgrep issue where malformed lines not parsed

Fixes bug 943
Lightly tested, but not with report error condition,
would like reporter to check this fix on their system.

13 years agoStrip \x{c2} from .txt files and audit.
Phil Pennock [Sat, 5 Feb 2011 05:23:31 +0000 (00:23 -0500)]
Strip \x{c2} from .txt files and audit.

Am unable to keep the build process from inserting spurious \x{c2}
characters into the created .txt files.

Strip the characters in Tidytxt.

Add SanityTestText to do a final audit for non-ASCII characters in the
.txt files.  Dependency: pcregrep if available, else uses Perl.

13 years agoLDAP TLS negotiation support.
Phil Pennock [Sat, 5 Feb 2011 05:22:28 +0000 (00:22 -0500)]
LDAP TLS negotiation support.

closes bug 230
Applies patches provided by Adam Ciarcinski of NetBSD in bug 230.
Adds documentation.

Tested the negotiation and server verification, not tested the client
certificate presentation but looks sane.

13 years agoAllow underscore in dnslist lookups
Nigel Metheringham [Sun, 30 Jan 2011 19:45:13 +0000 (19:45 +0000)]
Allow underscore in dnslist lookups

Fixes bug 1026
Patch from Graeme Fowler

13 years agoAdded ChangeLog entry for f68cdd
Nigel Metheringham [Sun, 30 Jan 2011 19:43:33 +0000 (19:43 +0000)]
Added ChangeLog entry for f68cdd

13 years agoFix wide character breakage in the rfc2047 coding
Nigel Metheringham [Sun, 30 Jan 2011 15:50:46 +0000 (15:50 +0000)]
Fix wide character breakage in the rfc2047 coding

Fixes bug 1064
Patch frome Andrey N. Oktyabrski

13 years agoMerge branch 'master' of ssh://git.exim.org/home/git/exim
Nigel Metheringham [Sun, 30 Jan 2011 15:33:20 +0000 (15:33 +0000)]
Merge branch 'master' of ssh://git.exim.org/home/git/exim

13 years agochild_open_uid: restore default SIGPIPE handler
Nigel Metheringham [Sun, 30 Jan 2011 15:25:28 +0000 (15:25 +0000)]
child_open_uid: restore default SIGPIPE handler

Fixes bug 968
Merge branch 'sigpipe-fix' of git://github.com/lp0/exim into master

13 years agoTesting: Exim must not use HEADERS_CHARSET UTF-8.
Phil Pennock [Sun, 30 Jan 2011 08:44:24 +0000 (03:44 -0500)]
Testing: Exim must not use HEADERS_CHARSET UTF-8.

Failed at test 178.

13 years agosudo !tty_tickets; correct config file list.
Phil Pennock [Sun, 30 Jan 2011 08:34:31 +0000 (03:34 -0500)]
sudo !tty_tickets; correct config file list.

sudo needs to permit sudo w/o a TTY.
The config file used is the same for each test, the individual config
files are made available under a particular name. Correct that advice.

13 years agoTest suite mostly clean for 4.73/4.74.
Phil Pennock [Sun, 30 Jan 2011 08:13:21 +0000 (03:13 -0500)]
Test suite mostly clean for 4.73/4.74.

With this, I can run the test suite with few enough differences that I
can review and confirm, getting as far as Basic/0094.

Pretty much just dealing with new stderr from debugging.

13 years agomacros_trusted overriden message only if debugging.
Phil Pennock [Sun, 30 Jan 2011 08:04:52 +0000 (03:04 -0500)]
macros_trusted overriden message only if debugging.

DEBUG(D_any) missing.  Fixed.

13 years agoThe test suite dislikes USE_READLINE.
Phil Pennock [Sun, 30 Jan 2011 05:21:20 +0000 (00:21 -0500)]
The test suite dislikes USE_READLINE.

There's a lot of copying of stdin to stdout when using readline for -be,
which breaks the test suite.  The suite now runs well enough for me to
fix the stuff broken by the debugging changes I introduced.

13 years agoIncremental improvement of release build script
Nigel Metheringham [Fri, 28 Jan 2011 13:19:58 +0000 (13:19 +0000)]
Incremental improvement of release build script

13 years agoUse LC_ALL=C for building lookups/Makefile.
Phil Pennock [Fri, 28 Jan 2011 00:11:17 +0000 (19:11 -0500)]
Use LC_ALL=C for building lookups/Makefile.

13 years agoPulled spamd_address-expanded caching fix.
Phil Pennock [Fri, 28 Jan 2011 00:08:45 +0000 (19:08 -0500)]
Pulled spamd_address-expanded caching fix.

Author: Wolfgang Breyha
Bugzilla: 935
Attachment: 378

(looks like it could do with a strcmp check at the end before the extra
 string_copy, but that's a nicety and the author has presumably been
 running with this).

13 years agoPermit make values to be indented or in env.
Phil Pennock [Fri, 28 Jan 2011 00:07:05 +0000 (19:07 -0500)]
Permit make values to be indented or in env.

It appears some make(1)s are not complaining about variables defined
with leading whitespace on the line.  Permit that where we can, for the
lookups, but it's not tenable for CFLAGS_DYNAMIC.

Some people are specifying knobs on the make command-line, so we get
them via the environment.

Tested: indented LOOKUP_CDB and commented out LOOKUP_DNSDB, supplying it
via { make LOOKUP_DNSDB=yes }.  { exim -d --version } shows both are
built-in, no results from { fgrep DNSDB build-*/Makefile }.

13 years agoFix portability of Makefiles to HP-UX and other non-extended makes.
Tony Finch [Thu, 27 Jan 2011 16:26:36 +0000 (16:26 +0000)]
Fix portability of Makefiles to HP-UX and other non-extended makes.

13 years agoFix portability bugs in valgrind support.
Tony Finch [Tue, 11 Jan 2011 15:12:56 +0000 (15:12 +0000)]
Fix portability bugs in valgrind support.

Update valgrind.h and memcheck.h to copies from valgrind-3.6.0.
This fixes portability to compilers other than gcc, notably
Solaris CC and HP-UX CC.

Fixes: bug #1050.
13 years agoWorkround compile error with old PCRE versions
Nigel Metheringham [Wed, 26 Jan 2011 11:04:32 +0000 (11:04 +0000)]
Workround compile error with old PCRE versions

Fixes bug #1073

13 years agoBug-fix the xpg4 Solaris logic. exim-4_74
Phil Pennock [Mon, 24 Jan 2011 21:40:38 +0000 (16:40 -0500)]
Bug-fix the xpg4 Solaris logic.

Should not code at 9am when still awake then.
Should sanity-review such code changes before submitting (after sleep).
Should s,/usr/xpg4/bin/sh,/bin/bash, as a convenient test to confirm
what I suspected.  But should do so pre-submit.

Doh.

13 years agoCompatibility fixes for dynlookup makefile builder.
Phil Pennock [Mon, 24 Jan 2011 19:35:04 +0000 (14:35 -0500)]
Compatibility fixes for dynlookup makefile builder.

Don't abort if CFLAGS_DYNAMIC not defined.  Oops!

Attempt to get a POSIX environment on Solaris.

Document POSIXy assumptions going forward.

Problems reported by: Dennis Davis

13 years agoLoadable modules: fix debug invocations
Phil Pennock [Sun, 23 Jan 2011 10:41:55 +0000 (05:41 -0500)]
Loadable modules: fix debug invocations

The new code was calling DEBUG(<n>) for values of n including 4, 5, 9;
that was an Exim 3 API, we now use bits; -v sets bit 0x1, -bP implies
-v, so { exim -bP } was pulling up random debug messages.

Switched all the DEBUG checks to be DEBUG(D_lookup).

13 years agoBug 1071: fix delivery logging with untrusted macros.
Phil Pennock [Sun, 23 Jan 2011 10:44:45 +0000 (05:44 -0500)]
Bug 1071: fix delivery logging with untrusted macros.

If dropping privileges for untrusted macros, we disabled normal logging
on the basis that it would fail; for the Exim run-time user, this is not
the case, and it resulted in successful deliveries going unlogged.
Fixed.  Reported by Andreas Metzler.

13 years agoReport TRUSTED_CONFIG_LIST & WHITELIST_D_MACROS.
Phil Pennock [Sun, 23 Jan 2011 08:26:09 +0000 (03:26 -0500)]
Report TRUSTED_CONFIG_LIST & WHITELIST_D_MACROS.

When invoked { exim -d -bV } show these build-time options that affect
what can be done.

13 years agoDocument 1041 merge (DCC fix).
Phil Pennock [Sun, 23 Jan 2011 08:11:21 +0000 (03:11 -0500)]
Document 1041 merge (DCC fix).

13 years agoMerge branch 'master' of git://git.exim.org/exim
Phil Pennock [Sat, 22 Jan 2011 23:40:43 +0000 (18:40 -0500)]
Merge branch 'master' of git://git.exim.org/exim

13 years agoBugzilla 1041: pull patch id=425, DCC fixes.
Phil Pennock [Sat, 22 Jan 2011 23:33:45 +0000 (18:33 -0500)]
Bugzilla 1041: pull patch id=425, DCC fixes.

DCC return codes were not always correct. Patch from DCC code
maintainer, Wolfgang Breyha.

13 years agoSign Script - Take EXIM_KEY from environ.
Phil Pennock [Sat, 22 Jan 2011 21:52:17 +0000 (21:52 +0000)]
Sign Script - Take EXIM_KEY from environ.

13 years agoReworked changebars (still relative to 4.72) in doc source
Nigel Metheringham [Fri, 21 Jan 2011 12:47:01 +0000 (12:47 +0000)]
Reworked changebars (still relative to 4.72) in doc source

13 years agoUpdate dates. exim-4_74_RC1
Phil Pennock [Fri, 21 Jan 2011 13:07:43 +0000 (08:07 -0500)]
Update dates.

Spec: both doc date and release date (plus copyright year).
Filter: only release date (doc not changed, so neither is copyright year)

13 years agoTest suite: make cf 64-bit compat for -exact.
Phil Pennock [Fri, 21 Jan 2011 12:26:27 +0000 (07:26 -0500)]
Test suite: make cf 64-bit compat for -exact.

I assume stdint.h and intptr_t available for any platform where we're
running the test suite.

13 years agoTests compat. setgid failure / dropped_privilege
Phil Pennock [Fri, 21 Jan 2011 11:10:35 +0000 (06:10 -0500)]
Tests compat. setgid failure / dropped_privilege

If we've *dropped* privilege, it's okay to not abort if setgid fails.

Document some of what's now needed for the test suite.
Adjust the test suide for better post-4.73 compat.

13 years agoBump version to 4.74.
Phil Pennock [Fri, 21 Jan 2011 09:33:49 +0000 (04:33 -0500)]
Bump version to 4.74.

Docs deliberately keep changebars since v4.72 as 4.73 has not been out
for long.

OptionLists updates for dynamic modules and for the security changes
from 4.73.

13 years agoIncompatibleChanges out, README.UPDATING updated.
Phil Pennock [Fri, 21 Jan 2011 09:12:15 +0000 (04:12 -0500)]
IncompatibleChanges out, README.UPDATING updated.

I forgot about README.UPDATING and introduced a new txt file with the
4.73 release, noting incompatible changes. Because these weren't
documented in the normal place, some people missed them. Mea culpa.

Integrated the notes from IncompatibleChanges into README.UPDATING.

Added a note on the ABI of the dynlookups.

13 years agoCheck return values of setgid/setuid.
Phil Pennock [Fri, 21 Jan 2011 08:56:02 +0000 (03:56 -0500)]
Check return values of setgid/setuid.

CVE-2011-0017

One assertion of the unimportance of checking the return value was wrong,
in the event of a compromised exim run-time user.

13 years agoVersion reporting & module ABI change.
Phil Pennock [Fri, 21 Jan 2011 08:25:51 +0000 (03:25 -0500)]
Version reporting & module ABI change.

Debug version display reports library info.

Bumps lookup API magic constant, adds new field to module API.

When invoking { exim -d -bV } we can display more version information.
Show versions for many external libraries, including both compile-time
and run-time information if we can.

Optional for modules, may be NULL.  Implemented for MySQL, SQLite &
Whoson lookups.  For all lookups, if dynamically loaded, report the
Exim version number from the build.  (Packagers will bundle stuff, but
dynamic modules are no longer just available for packagers, so we need
to deal with less managed environments and people forgetting to install
new modules).

Suggest in EDITME that users of modules not using package management
consider embedding a version number in the path to the modules.

Should consider removing the TLS (OpenSSL/GnuTLS) reporting from the
default -bV display and moving it into the debug display.  Not done.

Created version.h, now support a version extension string for
distributors who patch heavily. Henceforth release engineer should
change the version in version.h not version.c.

13 years agoModule loading working on FreeBSD (and unbreak).
Phil Pennock [Mon, 17 Jan 2011 13:43:35 +0000 (08:43 -0500)]
Module loading working on FreeBSD (and unbreak).

(1) Commit eec525c43adade97ff94d839810faf7cb35bd87f broke module
    support, because we *do* still need some exported variable
    definitions, as for a module to actually work, we need the
    per-module _INCLUDE/_LIBS settings.

(2) FreeBSD's nsdispatch() will leave dlerror() returning a complaint
    about "_nss_cache_cycle_prevention_function"; we need to clear the
    error state before the dlsym() call, so that any error found
    afterwards must have come from that dlsym() call.  Fix is just an
    extra call to dlerror(), which should be portable.

I can now use sqlite3 from a module, in FreeBSD.

13 years agoMention new dlopen functionality.
Phil Pennock [Mon, 17 Jan 2011 06:57:28 +0000 (01:57 -0500)]
Mention new dlopen functionality.

13 years agoClarify: tls_verify_certificates is for CA certs.
Phil Pennock [Mon, 17 Jan 2011 03:21:37 +0000 (22:21 -0500)]
Clarify: tls_verify_certificates is for CA certs.

It can be used for individual user certs but is really intended for
CAs.  Note this, and explain that if the tls_verify_certificates value
is a file, then the certs within are sent from the server to clients,
thus is public data.

13 years agoLet /dev/null have normal permissions.
Phil Pennock [Mon, 17 Jan 2011 02:54:53 +0000 (21:54 -0500)]
Let /dev/null have normal permissions.

The 4.73 fixes were a little too stringent and complained about the
permissions on /dev/null.  Exempt it from some checks.
Reported by Andreas M. Kirchwitz

13 years agoBug-fix for bash and no-dynamic case.
Phil Pennock [Sun, 16 Jan 2011 23:36:55 +0000 (18:36 -0500)]
Bug-fix for bash and no-dynamic case.

When writing the patch, originally nothing other than a cp was needed if
there were no dynamic modules.  That changed, but the guard at the top
did not.  Remove that check.

bash does not like a block which consists solely of a comment.  Provide
a ':' invocation.

Both problems spotted by Simon Arlott -- thanks.

13 years agoBug 139: portability fixes and documentation.
Phil Pennock [Sun, 16 Jan 2011 07:15:53 +0000 (02:15 -0500)]
Bug 139: portability fixes and documentation.

Document the dynamic lookup module capability in spec.xfpt.
Include a ChangeLog item.

Avoid the GNU-specific "export" make(1) directive.
Build the lookups Makefile using the existing framework.
Build with BSD Make once more.

The src/lookups/Makefile that is used at build time now has the dynamic
content come from scripts/lookups-Makefile.

Add CFLAGS_DYNAMIC support, which can be set in Local/Makefile.
Provide defaults for Linux & FreeBSD.

Ensure that build fails early if a dynamic module is requested but
CFLAGS_DYNAMIC is not defined.

13 years agosrc/deliver.c: log the error message when unlink(spoolname) fails
Tony Finch [Fri, 14 Jan 2011 14:19:40 +0000 (14:19 +0000)]
src/deliver.c: log the error message when unlink(spoolname) fails

13 years agosrc/transports/smtp.c: log LMTP confirmation same as SMTP
Tony Finch [Fri, 14 Jan 2011 14:16:53 +0000 (14:16 +0000)]
src/transports/smtp.c: log LMTP confirmation same as SMTP

13 years agosrc/dbfn.c: write lock aquisition failures to the panic log
Tony Finch [Fri, 14 Jan 2011 14:12:23 +0000 (14:12 +0000)]
src/dbfn.c: write lock aquisition failures to the panic log

13 years agoCONTRIBUTING: correct expansion of GPL
Tony Finch [Fri, 14 Jan 2011 13:44:41 +0000 (13:44 +0000)]
CONTRIBUTING: correct expansion of GPL

13 years agoBugzilla #1067 - DKIM: Fix relaxed header canon for headers ending with whitespace.
Tom Kistner [Wed, 12 Jan 2011 20:48:22 +0000 (20:48 +0000)]
Bugzilla #1067 - DKIM: Fix relaxed header canon for headers ending with whitespace.

13 years agoInclude <dlfcn.h> only when necessary
David Woodhouse [Wed, 5 Jan 2011 23:58:37 +0000 (23:58 +0000)]
Include <dlfcn.h> only when necessary

13 years agoAdd dynamic lookup support
David Woodhouse [Wed, 5 Jan 2011 22:55:50 +0000 (22:55 +0000)]
Add dynamic lookup support

Fixed: bug #139

13 years agoDKIM ACL Documentation exim-4_73
Nigel Metheringham [Sun, 26 Dec 2010 18:17:23 +0000 (18:17 +0000)]
DKIM ACL Documentation

Fixes: bug #929
13 years agoFixes: bug #1002 - Message loss when using multiple deliveries
Miroslav Lichvar [Sun, 26 Dec 2010 18:10:29 +0000 (18:10 +0000)]
Fixes: bug #1002 - Message loss when using multiple deliveries
13 years agoLDAP Authetication documentation example syntax fix
Nigel Metheringham [Sun, 26 Dec 2010 18:04:08 +0000 (18:04 +0000)]
LDAP Authetication documentation example syntax fix

Fixes: bug #999
13 years agoReword BSMTP ACL documentation
Nigel Metheringham [Sun, 26 Dec 2010 18:01:47 +0000 (18:01 +0000)]
Reword BSMTP ACL documentation

Fixes: bug #974
13 years agoEximstats documentstion - s/delivery_time/deliver_time/
Nigel Metheringham [Sun, 26 Dec 2010 17:44:58 +0000 (17:44 +0000)]
Eximstats documentstion - s/delivery_time/deliver_time/

Fixes: bug #1034
13 years agodrop unwanted paragraph break.
Andreas Metzler [Sun, 26 Dec 2010 15:10:51 +0000 (16:10 +0100)]
drop unwanted paragraph break.

Fixes: bug #1052
Signed-off-by: Nigel Metheringham <nigel@exim.org>
13 years agofix grammar error: s/this/that/
Andreas Metzler [Sun, 26 Dec 2010 13:55:59 +0000 (14:55 +0100)]
fix grammar error: s/this/that/

Fixes: bug #1051
Signed-off-by: Nigel Metheringham <nigel@exim.org>
13 years agoMerge branch 'master' of ssh://git.exim.org/home/git/exim exim-4_73_RC1
Nigel Metheringham [Thu, 23 Dec 2010 14:19:35 +0000 (14:19 +0000)]
Merge branch 'master' of ssh://git.exim.org/home/git/exim

13 years agoDo not refer to TRUSTED_CONFIG_PREFIX_FILE.
Andreas Metzler [Tue, 21 Dec 2010 14:40:42 +0000 (15:40 +0100)]
Do not refer to TRUSTED_CONFIG_PREFIX_FILE.

Refer to TRUSTED_CONFIG_LIST instead of TRUSTED_CONFIG_PREFIX_FILE in
documentation and comments.

13 years agoInserted change notifications into the documentation source
Nigel Metheringham [Sun, 19 Dec 2010 11:05:19 +0000 (11:05 +0000)]
Inserted change notifications into the documentation source

13 years agoMake the documentation cleared that TRUSTED_CONFIG_LIST is pathname one per line
David Woodhouse [Sat, 18 Dec 2010 23:22:17 +0000 (23:22 +0000)]
Make the documentation cleared that TRUSTED_CONFIG_LIST is pathname one per line

13 years agoRelease script now generates the HTML documentation
Nigel Metheringham [Sat, 18 Dec 2010 19:52:54 +0000 (19:52 +0000)]
Release script now generates the HTML documentation

This is really rather crude... but should work.

13 years agoUpdated version numbers of code and documentation exim-4_73_RC00
Nigel Metheringham [Sat, 18 Dec 2010 19:48:06 +0000 (19:48 +0000)]
Updated version numbers of code and documentation

13 years agoMerge branch 'master' of ssh://git.exim.org/home/git/exim
David Woodhouse [Fri, 17 Dec 2010 19:03:37 +0000 (19:03 +0000)]
Merge branch 'master' of ssh://git.exim.org/home/git/exim

13 years agoStripped old HTML doc generation - will add new HTML gen soon exim-4_73_RC0
Nigel Metheringham [Fri, 17 Dec 2010 13:03:21 +0000 (13:03 +0000)]
Stripped old HTML doc generation - will add new HTML gen soon

13 years agoTurn TRUSTED_CONFIG_PREFIX_LIST into TRUSTED_CONFIG_LIST. No prefix or regexes
David Woodhouse [Thu, 16 Dec 2010 22:29:53 +0000 (22:29 +0000)]
Turn TRUSTED_CONFIG_PREFIX_LIST into TRUSTED_CONFIG_LIST. No prefix or regexes

13 years agoUpdated mk_exim_release.pl to work with git
Nigel Metheringham [Thu, 16 Dec 2010 13:19:14 +0000 (13:19 +0000)]
Updated mk_exim_release.pl to work with git

However this still builds docs as before - ie it does
not use the new HTML generation.  Will work on that next.

13 years agoAllow only Exim or CONFIGURE_OWNER to use whitelisted configs with -C
David Woodhouse [Wed, 15 Dec 2010 13:47:46 +0000 (13:47 +0000)]
Allow only Exim or CONFIGURE_OWNER to use whitelisted configs with -C

We only added TRUSTED_CONFIG_PREFIX_FILE to compensate for the enforcing
of ALT_CONFIG_ROOT_ONLY. Let's not open it up any further than we need to;
other users don't get to make use of it.

13 years agoKil va_copy(). It isn't present on some ancient systems.
David Woodhouse [Wed, 15 Dec 2010 13:24:00 +0000 (13:24 +0000)]
Kil va_copy(). It isn't present on some ancient systems.

13 years agoImplement -D whitelist invoking user restriction.
Phil Pennock [Wed, 15 Dec 2010 07:43:33 +0000 (02:43 -0500)]
Implement -D whitelist invoking user restriction.

Document WHITELIST_D_MACROS.

13 years agodoc-txt updates for the security changes
Phil Pennock [Wed, 15 Dec 2010 01:02:24 +0000 (20:02 -0500)]
doc-txt updates for the security changes

13 years agoImplement -D filtering, first pass.
Phil Pennock [Tue, 14 Dec 2010 08:42:36 +0000 (03:42 -0500)]
Implement -D filtering, first pass.

13 years agoDocument the change to system_filter_user's default.
Phil Pennock [Tue, 14 Dec 2010 07:17:32 +0000 (02:17 -0500)]
Document the change to system_filter_user's default.

13 years agoChange the default for system_filter_user.
Phil Pennock [Tue, 14 Dec 2010 05:30:30 +0000 (00:30 -0500)]
Change the default for system_filter_user.

If the system filter needs to be run as root, let that be explicitly
configured.  The default is now the Exim run-time user.

Document this, and a couple of other points, in IncompatibleChanges.

13 years agoAllow only absolute paths in TRUSTED_CONFIG_PREFIX_LIST, fix store leak
David Woodhouse [Sun, 12 Dec 2010 10:18:48 +0000 (10:18 +0000)]
Allow only absolute paths in TRUSTED_CONFIG_PREFIX_LIST, fix store leak

13 years agoSet FD_CLOEXEC on SMTP sockets after forking to handle the connection.
David Woodhouse [Sun, 12 Dec 2010 02:48:18 +0000 (02:48 +0000)]
Set FD_CLOEXEC on SMTP sockets after forking to handle the connection.

13 years agoAdd TRUSTED_CONFIG_PREFIX_FILE option
David Woodhouse [Sun, 12 Dec 2010 02:41:37 +0000 (02:41 +0000)]
Add TRUSTED_CONFIG_PREFIX_FILE option

(Bug 1044, CVE-2010-4345)

13 years agoRemove ALT_CONFIG_ROOT_ONLY build option, effectively making it always true.
David Woodhouse [Sat, 11 Dec 2010 23:39:54 +0000 (23:39 +0000)]
Remove ALT_CONFIG_ROOT_ONLY build option, effectively making it always true.

We *never* want the Exim user to be able to specify arbitrary configuration
files. Don't let them build it that way.

(Bug 1044, CVE-2010-4345)

13 years agoCheck configure file permissions even for non-default files if still privileged
David Woodhouse [Sat, 11 Dec 2010 14:09:17 +0000 (14:09 +0000)]
Check configure file permissions even for non-default files if still privileged

(Bug 1044, CVE-2010-4345)

13 years agoDon't allow a configure file which is writeable by the Exim user or group
David Woodhouse [Sat, 11 Dec 2010 13:44:55 +0000 (13:44 +0000)]
Don't allow a configure file which is writeable by the Exim user or group

(Bug 1044, CVE-2010-4345)

13 years agoAdd Valgrind hooks for memory pools
David Woodhouse [Thu, 9 Dec 2010 16:53:40 +0000 (16:53 +0000)]
Add Valgrind hooks for memory pools

It's useful to tell Valgrind when memory is undefined because it's been
freed by store_reset(), and when it's not supposed to be accessed because
although it's been allocated for the store it hasn't actually been given
out by store_get() yet.

14 years agoOpenSSL and XSL changes documented.
Phil Pennock [Sun, 5 Sep 2010 23:08:48 +0000 (19:08 -0400)]
OpenSSL and XSL changes documented.

Plus typo fixed.

14 years agoDocument the ClamAV ExtendedDetectionInfo response handling.
Phil Pennock [Sun, 5 Sep 2010 22:59:38 +0000 (18:59 -0400)]
Document the ClamAV ExtendedDetectionInfo response handling.

14 years agoOpenSSL 1.0.0 const fix for SSL_get_current_cipher
Phil Pennock [Sun, 11 Jul 2010 07:19:56 +0000 (00:19 -0700)]
OpenSSL 1.0.0 const fix for SSL_get_current_cipher

OpenSSL 1.0.0 changes SSL_get_current_cipher()'s return value to include
const.  It looks like a safe change for older OpenSSL, so treat it
appropriately and cast as needed.

14 years agoGuidance on contributing to Exim.
Phil Pennock [Wed, 7 Jul 2010 21:00:40 +0000 (14:00 -0700)]
Guidance on contributing to Exim.

14 years agoUse public http: URLs for XSL includes.
Phil Pennock [Tue, 6 Jul 2010 03:31:07 +0000 (20:31 -0700)]
Use public http: URLs for XSL includes.

Adjust OS-Fixups, document how this works in HowItWorks.txt

14 years agoRework clamd response handling to be more robust.
Phil Pennock [Sun, 5 Sep 2010 20:29:07 +0000 (16:29 -0400)]
Rework clamd response handling to be more robust.

In particular, clamd's ExtendedDetectionInfo option broke our parsing.

14 years agoMerge ssh://tahini.csx.cam.ac.uk/home/git/exim
John Jetmore [Tue, 20 Jul 2010 02:18:51 +0000 (21:18 -0500)]
Merge ssh://tahini.csx.cam.ac.uk/home/git/exim

14 years agoSomehow in learning how to use git I lost half the changes needed to fix the collisio...
John Jetmore [Tue, 20 Jul 2010 02:10:33 +0000 (21:10 -0500)]
Somehow in learning how to use git I lost half the changes needed to fix the collision between 0383.f and 0383.F on HFS+.  this is the second half of 04a45836676516936d791202928e249b711c03ee