summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-06-29Remove obsolete $Cambridge$ CVS revision strings.Tony Finch
I have also de-CVSed the ABOUT files and cleaned up a few introductory comments.
2011-06-17doc/doc-txt/NewStuff: note the ratelimit changes.Tony Finch
2011-06-17Improved ratelimit ACL condition.Tony Finch
Replace /noupdate with simpler /readonly option. (/noupdate is supported for backwards compatibility but no longer documented.) Better checking of the compatibility between per_* options and the ACL in which the ratelimit condition appears. Better handling of the start of a burst of email and of very low-rate clients. The new /count= option generalizes the per_byte and per_rcpt options. The new /unique= option is a rather groovy use for a Bloom filter.
2011-06-07exiwhat: Ensure the SIGUSR1 signal handler is safe.Tony Finch
exiwhat sends a SIGUSR1 to all exim processes to make them write their status to the process log. This is all done in the signal handler, but the logging code makes a number of calls that are not signal safe. These can all cause crashes or recursive locking in libc. Firstly, obtaining and formatting the timestamp is not safe. Doing so is unnecessary since exiwhat strips off the timestamp. This change removes timestamps from the process log. Secondly, exim closes all the logs after writing the process log. Closing syslog is not signal safe, and isn't necessary. We now only close the process log after writing to it. Thirdly, exim may calculate the process_log_path inside the signal handler which involves some possibly-unsafe string handling code. This change calculates the path when reading the configuration. Fourthly, when exim creates the process log file it might have to call the unsafe directory_create() though this is unlikely in practice. After this change exim only calls log_create() in a subprocess which is safe - it sometimes needs to do so anyway, if it is running as root and needs to drop privileges. The new code has no process log handling in log.c which eliminates some awkward special cases. It uses very simple code to write to the file in the signal handler, so it is obviously safe by inspection.
2011-06-07Ensure we log the error message when unlink() fails.Tony Finch
See also commit ID 0761d44e
2011-06-05DKIM Verification: Fix relaxed canon for empty headers w/oTom Kistner
whitespace trailer
2011-05-09malware.c: avoid arithmetic on a void pointer.Tony Finch
2011-05-09Solaris build fix for Oracle's LDAP libraries.Phil Pennock
Patch from Stephen Usher. fixes 1109
2011-05-09Testsuite: Compiler info skip; whitespace stupidity.exim-4_76Phil Pennock
2011-05-08ChangeLog updates for the security issues.exim-4_76_RC2Phil Pennock
2011-05-08INT_MIN {/,%} -1 = INT_MAX for our purposes.Phil Pennock
Dodge a SIGFPE on x86.
2011-05-08Merge branch 'tom_dev'Tom Kistner
2011-05-08Don't use match_isinlist() for simple string list matchingTom Kistner
2011-05-07Typo fixes from Andreas Metzler.Phil Pennock
fixes bug 1111
2011-05-06Prep for 4.76 release. Version bumps, ChangeLog update.exim-4_76_RC1Phil Pennock
2011-05-04Fix compile of exim_monitorPhil Pennock
The "Compiler masochism compliance" patch changed the log_write() prototype to use "const char *" instead of "char *"; I don't have X11 on my main box, so neglected to handle exim_monitor's duplicate definition of log_write(). Fixes bug 1107
2011-04-30Bugzilla #1106: Don't pass DKIM compound log line as format stringTom Kistner
2011-04-26Cond !bool{}/!bool_lax{} did not negate. Fixed.Phil Pennock
Fixes bug: 1104
2011-04-12Also ${eval:x % 0} fixed to not SIGFPE.Phil Pennock
Pointed out by: Steven A. Reisman
2011-04-12Catch divide-by-zero in ${eval:...}.Phil Pennock
Fixes 1102
2011-03-26Merge branch 'master' of git://git.exim.org/eximPhil Pennock
2011-03-26Revert "Avoid conflicting prototypes for strsignal()"Tom Kistner
This reverts commit 29f20a41029cc5e36a8756ad8dfda64d0ed314ce. Phil has staged something better.
2011-03-26Merge branch 'master' of /home/git/exim into tom_devTom Kistner
2011-03-26Avoid conflicting prototypes for strsignal()Tom Kistner
2011-03-26Rely on system prototypes if we #define our os funcs.Phil Pennock
The const-ness updates broke systems where `os_strsignal()` gets mapped to `strsignal()`, which does *not* return `const char *` but `char *`. If we #define away, then there should be a prototype from the system headers.
2011-03-25Bugzilla #1097: PDKIM: Update embedded PolarSSL code to 0.14.2, thanks to ↵Tom Kistner
Andreas Metzler for the patch!
2011-03-24Also memset(.., 0, ..) the pre-TLS input buffer.Phil Pennock
2011-03-24Extra paranoia around STARTTLS-with-data-in-buffer.Phil Pennock
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-22Mention dns_use_edns0Phil Pennock
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-22Set "new since" to the 4.75 release.Phil Pennock
Stripped all .new/.wen except the exemplar. 4.75 was a stabilisation release, reset the accumulation of "this is new".
2011-03-22no_freeze_signal in output.exim-4_75Phil Pennock
Pipe transport option added in: 2fe767453007d1b015f52313d16dc61635085621
2011-03-22Fix RFC2047 encoding tests after robustness patch.Phil Pennock
Output changed by: Commit 86ae49a65fce504ebcf9c30ddff213cca71fb872 Fix wide character breakage in the rfc2047 coding Fixes bug 1064 Patch frome Andrey N. Oktyabrski
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-28Fixed previous changelog to Bugzilla 968exim-4_75_RC3Nigel Metheringham
Ugh - typo-ed previous bugzilla id (case of probably shouldn't be let near a keyboard today).
2011-02-28Add missing changelog for Bugzilla 698Nigel Metheringham
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-21Trivial spelling fix in ChangeLogNigel Metheringham
Thanks to Dennis Davis in full pedant mode!
2011-02-21Fix doc/ directory assembly in build-script.Phil Pennock
2011-02-21Fix doc typos. Add freeze_signal to OptionLists.exim-4_75_RC1Phil Pennock