Age | Commit message (Collapse) | Author |
|
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.
|
|
When invoked { exim -d -bV } show these build-time options that affect
what can be done.
|
|
DCC return codes were not always correct. Patch from DCC code
maintainer, Wolfgang Breyha.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
(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.
|
|
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
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
whitespace.
|
|
|
|
Fixed: bug #139
|
|
|
|
Fixes: bug #1034
|
|
Refer to TRUSTED_CONFIG_LIST instead of TRUSTED_CONFIG_PREFIX_FILE in
documentation and comments.
|
|
|
|
|
|
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.
|
|
|
|
Document WHITELIST_D_MACROS.
|
|
|
|
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.
|
|
|
|
|
|
(Bug 1044, CVE-2010-4345)
|
|
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)
|
|
(Bug 1044, CVE-2010-4345)
|
|
(Bug 1044, CVE-2010-4345)
|
|
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.
|
|
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.
|
|
|
|
In particular, clamd's ExtendedDetectionInfo option broke our parsing.
|
|
Applied patch submitted by Micha Lenk. Thanks!
|
|
Notification from Dr Andrew Aitchison.
(Also: make the PP/08 description more complete)
|
|
when size_t is 32-bit but the system supports 64-bit integers.
|
|
"magic" string " => " from a non-delivery log line
|
|
(I honestly have no memory of writing this patch...)
|
|
panic log in dkim.c
|
|
|
|
should use PRIdMAX; this was disabled because I was testing the other logic
and forgot to restore before commit. Bleh, sorry.
Add #if to protect against unused variable complaints for this too.
|
|
|
|
determine whether or not a string is true.
Switch the multiple-condition logic to use bool_lax{}.
Add note where we combine multiple conditions regarding the memory leak.
|
|
Fixes: #816
|