summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2011-01-23Bug 1071: fix delivery logging with untrusted macros.Phil Pennock
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.
2011-01-23Report TRUSTED_CONFIG_LIST & WHITELIST_D_MACROS.Phil Pennock
When invoked { exim -d -bV } show these build-time options that affect what can be done.
2011-01-22Bugzilla 1041: pull patch id=425, DCC fixes.Phil Pennock
DCC return codes were not always correct. Patch from DCC code maintainer, Wolfgang Breyha.
2011-01-21Tests compat. setgid failure / dropped_privilegePhil Pennock
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.
2011-01-21Bump version to 4.74.Phil Pennock
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.
2011-01-21IncompatibleChanges out, README.UPDATING updated.Phil Pennock
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.
2011-01-21Check return values of setgid/setuid.Phil Pennock
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.
2011-01-21Version reporting & module ABI change.Phil Pennock
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.
2011-01-17Module loading working on FreeBSD (and unbreak).Phil Pennock
(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.
2011-01-16Let /dev/null have normal permissions.Phil Pennock
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
2011-01-16Bug-fix for bash and no-dynamic case.Phil Pennock
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.
2011-01-16Bug 139: portability fixes and documentation.Phil Pennock
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.
2011-01-14src/deliver.c: log the error message when unlink(spoolname) failsTony Finch
2011-01-14src/transports/smtp.c: log LMTP confirmation same as SMTPTony Finch
2011-01-14src/dbfn.c: write lock aquisition failures to the panic logTony Finch
2011-01-14CONTRIBUTING: correct expansion of GPLTony Finch
2011-01-12Bugzilla #1067 - DKIM: Fix relaxed header canon for headers ending with ↵Tom Kistner
whitespace.
2011-01-05Include <dlfcn.h> only when necessaryDavid Woodhouse
2011-01-05Add dynamic lookup supportDavid Woodhouse
Fixed: bug #139
2010-12-26Fixes: bug #1002 - Message loss when using multiple deliveriesMiroslav Lichvar
2010-12-26Eximstats documentstion - s/delivery_time/deliver_time/Nigel Metheringham
Fixes: bug #1034
2010-12-21Do not refer to TRUSTED_CONFIG_PREFIX_FILE.Andreas Metzler
Refer to TRUSTED_CONFIG_LIST instead of TRUSTED_CONFIG_PREFIX_FILE in documentation and comments.
2010-12-18Updated version numbers of code and documentationNigel Metheringham
2010-12-16Turn TRUSTED_CONFIG_PREFIX_LIST into TRUSTED_CONFIG_LIST. No prefix or regexesDavid Woodhouse
2010-12-15Allow only Exim or CONFIGURE_OWNER to use whitelisted configs with -CDavid Woodhouse
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.
2010-12-15Kil va_copy(). It isn't present on some ancient systems.David Woodhouse
2010-12-15Implement -D whitelist invoking user restriction.Phil Pennock
Document WHITELIST_D_MACROS.
2010-12-14Implement -D filtering, first pass.Phil Pennock
2010-12-14Change the default for system_filter_user.Phil Pennock
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.
2010-12-12Allow only absolute paths in TRUSTED_CONFIG_PREFIX_LIST, fix store leakDavid Woodhouse
2010-12-12Set FD_CLOEXEC on SMTP sockets after forking to handle the connection.David Woodhouse
2010-12-12Add TRUSTED_CONFIG_PREFIX_FILE optionDavid Woodhouse
(Bug 1044, CVE-2010-4345)
2010-12-12Remove ALT_CONFIG_ROOT_ONLY build option, effectively making it always true.David Woodhouse
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)
2010-12-11Check configure file permissions even for non-default files if still privilegedDavid Woodhouse
(Bug 1044, CVE-2010-4345)
2010-12-11Don't allow a configure file which is writeable by the Exim user or groupDavid Woodhouse
(Bug 1044, CVE-2010-4345)
2010-12-11Add Valgrind hooks for memory poolsDavid Woodhouse
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.
2010-09-05OpenSSL 1.0.0 const fix for SSL_get_current_cipherPhil Pennock
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.
2010-09-05Guidance on contributing to Exim.Phil Pennock
2010-09-05Rework clamd response handling to be more robust.Phil Pennock
In particular, clamd's ExtendedDetectionInfo option broke our parsing.
2010-07-19Bugzilla #1006: Keep EHLO attributes in case STARTTLS errors are ignoredTom Kistner
Applied patch submitted by Micha Lenk. Thanks!
2010-07-04Fix malware regression for cmdline scanner introduced in PP/08.Phil Pennock
Notification from Dr Andrew Aitchison. (Also: make the PP/08 description more complete)
2010-06-13Remove logic branch which can use PRIdMAX for SIZE_T_FMT because it failsPhil Pennock
when size_t is 32-bit but the system supports 64-bit integers.
2010-06-12removed extraneous "\n" from the end of some log_write lines, removed ↵John Jetmore
"magic" string " => " from a non-delivery log line
2010-06-12Add tcp_wrappers_daemon_name (closes: bug #278)John Jetmore
(I honestly have no memory of writing this patch...)
2010-06-12iaddressing bug 966 and my own concerns, stop sending non-panic error to ↵John Jetmore
panic log in dkim.c
2010-06-07Run when EXIM_USER=notroot specified.Phil Pennock
2010-06-07For the new SIZE_T_FMT, if not C99 then our size_t conversion specifierPhil Pennock
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.
2010-06-07Both bool{} and bool_lax{} should ignore trailing whitespace.Phil Pennock
2010-06-07Added bool_lax{} expansion operator, which uses Router condition logic toPhil Pennock
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.
2010-06-07Allow Routers to have multiple conditions, IF each one yields a strict bool.Phil Pennock
Fixes: #816