summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2011-03-22Avoid segfault on ref:name specified as uid.Phil Pennock
If group not also specified, make this a fatal error. If group specified, we'll error out anyway unless the group can be resolved. Approach considered but not followed: fatal config error if built with ref:name where name is a number. fixes bug 1098
2011-03-22Added dns_use_edns0 main option.Phil Pennock
Is int because need a "do not override default" option, but that stops us from using the bool expansion logic and so we need to explicitly set numbers. Should try to find a way around that.
2011-03-22openssl_options: rejig default code & debug prints.Phil Pennock
A couple of debug_printf()s missing trailing \n. Set the default to 0L and |= the one item we default, rather than setting outright, in the hopes of soon also |= setting another option if available (SSL_OP_NO_SSLv2).
2011-03-22New openssl_options items: no_sslv2 no_sslv3 no_ticket no_tlsv1Phil Pennock
(no changes to any defaults).
2011-03-22Harmonised TLS library version reporting.Phil Pennock
Only show if debugging. Layout now matches that introduced for other libraries in 4.74 PP/03.
2011-03-22Make ldap_require_cert work (not segfault).Phil Pennock
The clang complaint, which also triggered a gcc complaint, was legitimate. My first test, which suggested no problem, was flawed. This: ldap_start_tls ldap_require_cert = demand would cause a segfault on LDAP lookup. fixes bug 230
2011-03-22Report compiler in -d -bV. Clang compat.Phil Pennock
Exim successfully builds with clang, albeit with a number of warnings. * Our %n usage in printf() calls appears to be correct and safe, AFAICT. * dummy functions are, unsurprisingly, unused * Valgrind macros cause vociferous complaints * Dynamic modules *not* tested Further clang testing on my part will require an OS update and clang 2.9 to get -rdynamic support.
2011-03-22Compiler masochism compliance.Phil Pennock
Be able to build most of Exim with: -Werror -Wwrite-strings -Wunused-function -Waddress -Wpointer-sign -Wformat -Wuninitialized -Winit-self Skipped a change to auth-spa which I was uncertain of. That is not the most readable of code. Temporarily gave up on src/src/pdkim/pdkim.c, as header_name_match() treats the second param as const or not depending on the third param. (I hacked the build-*/pdkim/Makefile to continue past this) Much of this change is const propagation.
2011-03-03Another valgrind.h portability fix.Tony Finch
C89 compilers do not support variable argument macros. Our copy of valgrind.h now differs from upstream. Reported-by: Heiko Schlichting <heiko.schlichting@fu-berlin.de>
2011-02-23DISABLE_DKIM has never worked. Fix that.Phil Pennock
2011-02-23Work on IRIX by setting _XPG=1Phil Pennock
2011-02-21Don't disable quota when maildirsize lost to races.exim-4_75_RC2Phil Pennock
When maildir_ensure_sizefile() returns -2, we still have size information, so we can still use that. Don't disable quota. As a result, do refrain from potentially calling close(-2). Fixes bug 1086
2011-02-21Moved variable decl to start of block for old gccNigel Metheringham
2011-02-21Exim 4.75.Phil Pennock
Exim 4.75, prepping for release. "Previous" version of docs deliberately remains 4.72.
2011-02-21DKIM multiple signature generation fix.Phil Pennock
Patch from Uwe Doering, sign-off by Michael Haardt. fixes bug 1019
2011-02-21Deal with maildir quota file races.Phil Pennock
Based on patch from Heiko Schlittermann. Fixes bug 1086.
2011-02-21Improved spamd server selection.Phil Pennock
Patch from Mark Zealey. Fixes bug 1056.
2011-02-20Update $message_linecount for maildir_tag.Phil Pennock
Patch from Mark Zealey. Fixes bug 1055.
2011-02-20Minor robustness fixes for debugging.Phil Pennock
sig_atomic_t for signal-handlers. getgroups() return value checking. Developed for bug 927.
2011-02-14BugZilla 1006 - recommit patch from Micha LenkTom Kistner
2011-02-13Move lookup extern decls to file scope.Phil Pennock
Should permit building on old gcc which dislikes extern inside function scope. Patch from Oliver Fleischmann, who encountered this with gcc 2.95.2.
2011-02-13Implement %M datestamping in log filenames.Phil Pennock
Patch from Simon Arlott. fixes bug 486
2011-02-13Don't reveal SQL expansion failure details in SMTP.Phil Pennock
fixes bug 1061
2011-02-13Implement freeze_signal on pipe transport.Phil Pennock
Patch from Jakob Hirsch. fixes bug 1042
2011-02-12Escape lookup deferral error message when logging.Phil Pennock
closes bug 1083 Patch from John Horne.
2011-02-06Fix exiqgrep issue where malformed lines not parsedNigel Metheringham
Fixes bug 943 Lightly tested, but not with report error condition, would like reporter to check this fix on their system.
2011-02-05LDAP TLS negotiation support.Phil Pennock
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.
2011-01-30Allow underscore in dnslist lookupsNigel Metheringham
Fixes bug 1026 Patch from Graeme Fowler
2011-01-30Fix wide character breakage in the rfc2047 codingNigel Metheringham
Fixes bug 1064 Patch frome Andrey N. Oktyabrski
2011-01-30Merge branch 'master' of ssh://git.exim.org/home/git/eximNigel Metheringham
2011-01-30child_open_uid: restore default SIGPIPE handlerNigel Metheringham
Fixes bug 968 Merge branch 'sigpipe-fix' of git://github.com/lp0/exim into master
2011-01-30macros_trusted overriden message only if debugging.Phil Pennock
DEBUG(D_any) missing. Fixed.
2011-01-27Use LC_ALL=C for building lookups/Makefile.Phil Pennock
2011-01-27Pulled spamd_address-expanded caching fix.Phil Pennock
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).
2011-01-27Permit make values to be indented or in env.Phil Pennock
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 }.
2011-01-27Fix portability of Makefiles to HP-UX and other non-extended makes.Tony Finch
2011-01-26Fix portability bugs in valgrind support.Tony Finch
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.
2011-01-26Workround compile error with old PCRE versionsNigel Metheringham
Fixes bug #1073
2011-01-24Bug-fix the xpg4 Solaris logic.exim-4_74Phil Pennock
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.
2011-01-24Compatibility fixes for dynlookup makefile builder.Phil Pennock
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
2011-01-23Loadable modules: fix debug invocationsPhil Pennock
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).
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.