exim.git
4 years agoAdd option commandline_checks_require_admin
Phil Pennock [Tue, 9 May 2017 20:00:58 +0000 (16:00 -0400)]
Add option commandline_checks_require_admin

May help with scenarios already so broken that bug report 2118 is
actually an issue (Wordpress vuln).

4 years agoTestsuite: add DANE cases for DNS secure no-TLSA lookups
Jeremy Harris [Sun, 7 May 2017 16:40:41 +0000 (17:40 +0100)]
Testsuite: add DANE cases for DNS secure no-TLSA lookups

4 years agoTestsuite: add DANE testcase for TLSA lookup SERVFAIL
Jeremy Harris [Sun, 7 May 2017 14:37:18 +0000 (15:37 +0100)]
Testsuite: add DANE testcase for TLSA lookup SERVFAIL

4 years agoDANE: do not trust a non-dnssec NXDOMAIN return for the TLSA lookup
Jeremy Harris [Sun, 7 May 2017 16:49:58 +0000 (17:49 +0100)]
DANE: do not trust a non-dnssec NXDOMAIN return for the TLSA lookup

4 years agoDANE: avoid info leak by checking TLSA dnssec before connecting to MX
Jeremy Harris [Sun, 7 May 2017 16:46:49 +0000 (17:46 +0100)]
DANE: avoid info leak by checking TLSA dnssec before connecting to MX

4 years agotidying
Jeremy Harris [Sun, 7 May 2017 13:41:49 +0000 (14:41 +0100)]
tidying

4 years agoTestsuite: fix fakens to not claim that an unsupported NXDOMAIN is dnssec-AD
Jeremy Harris [Sun, 7 May 2017 15:55:12 +0000 (16:55 +0100)]
Testsuite: fix fakens to not claim that an unsupported NXDOMAIN is dnssec-AD

4 years agoEnable use of sendfile on FreeBSD
Jeremy Harris [Sat, 6 May 2017 20:57:46 +0000 (21:57 +0100)]
Enable use of sendfile on FreeBSD

4 years agoEnable use of sendfile on FreeBSD
Jeremy Harris [Sat, 6 May 2017 19:19:31 +0000 (20:19 +0100)]
Enable use of sendfile on FreeBSD

4 years agoTeach SMTP input sync check ("input sent too soon") about SMTP input buffering
Jeremy Harris [Sat, 6 May 2017 20:01:45 +0000 (21:01 +0100)]
Teach SMTP input sync check ("input sent too soon") about SMTP input buffering

4 years agoDocs: add note on Received-By: header creation under cutthrough
Jeremy Harris [Sat, 6 May 2017 17:51:02 +0000 (18:51 +0100)]
Docs: add note on Received-By: header creation under cutthrough

4 years agotestsuite: tidying
Jeremy Harris [Thu, 4 May 2017 17:39:44 +0000 (18:39 +0100)]
testsuite: tidying

4 years agoCHUNKING / wire-format spool: use block-copies for receiption
Jeremy Harris [Thu, 4 May 2017 15:59:46 +0000 (16:59 +0100)]
CHUNKING / wire-format spool: use block-copies for receiption

4 years agotestsuite output changes
Jeremy Harris [Mon, 1 May 2017 13:13:57 +0000 (14:13 +0100)]
testsuite output changes

4 years agotestsuite: tidying
Jeremy Harris [Mon, 1 May 2017 11:42:32 +0000 (12:42 +0100)]
testsuite: tidying

4 years agotidying: coverity
Jeremy Harris [Mon, 1 May 2017 11:08:17 +0000 (12:08 +0100)]
tidying: coverity

4 years agoFix continue_more on TLS connection. Bug 2104
Jeremy Harris [Sun, 30 Apr 2017 21:11:27 +0000 (22:11 +0100)]
Fix continue_more on TLS connection.  Bug 2104

4 years agoDocs: more info on wire-format spoolfiles
Jeremy Harris [Sun, 30 Apr 2017 13:39:37 +0000 (14:39 +0100)]
Docs: more info on wire-format spoolfiles

4 years agotidying: coverity fixes
Jeremy Harris [Sat, 29 Apr 2017 12:28:38 +0000 (13:28 +0100)]
tidying: coverity fixes

4 years agoDocs: describe operation of continued-connection TLS
Jeremy Harris [Fri, 28 Apr 2017 23:19:45 +0000 (00:19 +0100)]
Docs: describe operation of continued-connection TLS

4 years agoSupport wire-format spoolfiles
Jeremy Harris [Fri, 28 Apr 2017 22:54:35 +0000 (23:54 +0100)]
Support wire-format spoolfiles

4 years agoEnable use of sendfile
Jeremy Harris [Wed, 26 Apr 2017 14:28:22 +0000 (15:28 +0100)]
Enable use of sendfile

4 years agoTweak debug output
Jeremy Harris [Wed, 26 Apr 2017 19:18:31 +0000 (20:18 +0100)]
Tweak debug output

4 years agoDocs: add 8BITMIME status field to log line info
Jeremy Harris [Mon, 24 Apr 2017 12:41:09 +0000 (13:41 +0100)]
Docs: add 8BITMIME status field to log line info

4 years agoDocs: note that dkim_domain can take a list for signing
Jeremy Harris [Wed, 19 Apr 2017 15:39:23 +0000 (16:39 +0100)]
Docs: note that dkim_domain can take a list for signing

4 years agoFix DISABLE_DKIM biuld
Jeremy Harris [Sun, 23 Apr 2017 12:52:15 +0000 (13:52 +0100)]
Fix DISABLE_DKIM biuld

4 years agoDKIM: avoid use of temporary file for signing
Jeremy Harris [Sun, 23 Apr 2017 11:20:43 +0000 (12:20 +0100)]
DKIM: avoid use of temporary file for signing

4 years agoCHUNKING: pipeline data right after the BDAT command
Jeremy Harris [Tue, 18 Apr 2017 14:13:20 +0000 (15:13 +0100)]
CHUNKING: pipeline data right after the BDAT command

4 years agoReduce number of places knowing about filename-construction for mbox file-for-scanning
Jeremy Harris [Mon, 17 Apr 2017 19:43:23 +0000 (20:43 +0100)]
Reduce number of places knowing about filename-construction for mbox file-for-scanning

4 years agoRework detection of multiple ports on a given IP, for the daemon status line
Jeremy Harris [Sun, 16 Apr 2017 15:32:06 +0000 (16:32 +0100)]
Rework detection of multiple ports on a given IP, for the daemon status line

Previously only spotted adjacent cases in the address list, now a full scan

4 years agotidying
Jeremy Harris [Sun, 16 Apr 2017 16:19:23 +0000 (17:19 +0100)]
tidying

4 years agoTransport: fix smtp under combo of mua_wrapper and limited max_rcpt
Jeremy Harris [Sat, 15 Apr 2017 15:22:52 +0000 (16:22 +0100)]
Transport: fix smtp under combo of mua_wrapper and limited max_rcpt

4 years agoBuiltin macros: note config trigger line in debug output
Jeremy Harris [Fri, 14 Apr 2017 13:29:40 +0000 (14:29 +0100)]
Builtin macros: note config trigger line in debug output

4 years ago$SOURCE_DATE_EPOCH support for build date stamp
Phil Pennock [Thu, 13 Apr 2017 03:22:36 +0000 (23:22 -0400)]
$SOURCE_DATE_EPOCH support for build date stamp

If, and _only_ if, $SOURCE_DATE_EPOCH is found in environ during build,
use it to set the timestamp embedded in the binary instead of using
__DATE__ and __TIME__ cpp directives.

This per <https://reproducible-builds.org/specs/source-date-epoch/>
spec.  It's sane and sensible, without removing date stamping which
matters.  The examples encourage packagers to use timestamps which
do change when they backport patches, so that the date remains useful
for distinguishing builds instead of claiming one date forever across
multiple patchlevels.

This change written so that the old behaviour and code is used if the
environment variable is not found, to better continue to support ancient
platforms with other variants of date(1).

Built with and without an override, on macOS.

4 years agocompiler quietening
Jeremy Harris [Sun, 9 Apr 2017 14:42:49 +0000 (15:42 +0100)]
compiler quietening

4 years agoRemove references to some csx.cam sites
Nigel Metheringham [Mon, 10 Apr 2017 19:21:36 +0000 (20:21 +0100)]
Remove references to some csx.cam sites

The ftp.csx.cam.ac.uk server is no longer authoratative  not even up to date.

The training courses are no longer happening.

4 years agotypo
Jeremy Harris [Sun, 9 Apr 2017 13:03:31 +0000 (14:03 +0100)]
typo

4 years agotidying
Jeremy Harris [Sat, 8 Apr 2017 20:59:32 +0000 (21:59 +0100)]
tidying

4 years agotidying
Jeremy Harris [Thu, 6 Apr 2017 22:39:16 +0000 (23:39 +0100)]
tidying

4 years agoCallout/hold: ensure TLS-proxy process is not waited for as a transport process
Jeremy Harris [Thu, 6 Apr 2017 21:58:46 +0000 (22:58 +0100)]
Callout/hold: ensure TLS-proxy process is not waited for as a transport process

4 years agoDebug: show error for SMTP read response
Jeremy Harris [Thu, 6 Apr 2017 20:17:29 +0000 (21:17 +0100)]
Debug: show error for SMTP read response

4 years agoCallout/hold: fix uninitialized variable
Jeremy Harris [Wed, 5 Apr 2017 22:37:41 +0000 (23:37 +0100)]
Callout/hold: fix uninitialized variable

4 years agoDocs: expand descriptiong of control=debug
Jeremy Harris [Mon, 3 Apr 2017 17:12:49 +0000 (18:12 +0100)]
Docs: expand descriptiong of control=debug

4 years agoOpenssl: disable session-tickets by default and session-cache always
Jeremy Harris [Sun, 2 Apr 2017 13:54:39 +0000 (14:54 +0100)]
Openssl: disable session-tickets by default and session-cache always

4 years agoDocs: fix definition of msg:fail:delivery event
Jeremy Harris [Sun, 2 Apr 2017 11:50:56 +0000 (12:50 +0100)]
Docs: fix definition of msg:fail:delivery event

4 years agotidying
Jeremy Harris [Sun, 2 Apr 2017 11:12:56 +0000 (12:12 +0100)]
tidying

4 years agoDocumentation: replace http by https where possible
Heiko Schlittermann (HS12-RIPE) [Fri, 24 Mar 2017 21:20:37 +0000 (22:20 +0100)]
Documentation: replace http by https where possible

I didn't change the schema for external links. This
needs further checking if the content of https://…
matches the content of http://…

4 years agotidying
Jeremy Harris [Wed, 22 Mar 2017 21:02:24 +0000 (21:02 +0000)]
tidying

4 years agoDoc: clarify location of DMARC dmarc_tld_file
Heiko Schlittermann (HS12-RIPE) [Wed, 22 Mar 2017 15:44:39 +0000 (16:44 +0100)]
Doc: clarify location of DMARC dmarc_tld_file

4 years agoCallouts: a "hold" option for receipient-verify, which keeps the connection open...
Jeremy Harris [Tue, 21 Mar 2017 16:16:38 +0000 (16:16 +0000)]
Callouts: a "hold" option for receipient-verify, which keeps the connection open both for
further recipients and for eventual delivery.

4 years agoLogging: make cipher info available for continued-TLS connection deliveries
Jeremy Harris [Tue, 21 Mar 2017 15:54:00 +0000 (15:54 +0000)]
Logging: make cipher info available for continued-TLS connection deliveries

4 years agoexigrep: migrate to Getopt::Long, allow --no-pager
Heiko Schlittermann (HS12-RIPE) [Mon, 20 Mar 2017 22:04:44 +0000 (23:04 +0100)]
exigrep: migrate to Getopt::Long, allow --no-pager

This gives us long/more descriptive option names.
Add an option to supress the use of a pager.

4 years agoexigrep: use a pager if stdout is connected to a terminal
Heiko Schlittermann (HS12-RIPE) [Sun, 19 Mar 2017 00:12:38 +0000 (01:12 +0100)]
exigrep: use a pager if stdout is connected to a terminal

4 years agoexigrep: add POD and -h, -m
Heiko Schlittermann (HS12-RIPE) [Sat, 18 Mar 2017 23:44:06 +0000 (00:44 +0100)]
exigrep: add POD and -h, -m

4 years agoTestsuite: allow --range <number> +
Heiko Schlittermann (HS12-RIPE) [Sat, 18 Mar 2017 17:55:46 +0000 (18:55 +0100)]
Testsuite: allow --range <number> +

Now `runtest <number> +` and `runtest --range <number> +`
do the same.

4 years agoTestsuite: fixup testsuite test about flavours
Heiko Schlittermann (HS12-RIPE) [Sat, 18 Mar 2017 14:34:33 +0000 (15:34 +0100)]
Testsuite: fixup testsuite test about flavours

Support for flavours isn't dropped, but currently
we do not have flavour specific files.

4 years agoExpansions: check numeric values of IPv4 address components
Jeremy Harris [Sat, 18 Mar 2017 14:41:50 +0000 (14:41 +0000)]
Expansions: check numeric values of IPv4 address components

4 years agoLogging: mark continued-TLS connection deliveries with "X-*"
Jeremy Harris [Tue, 14 Mar 2017 16:38:41 +0000 (16:38 +0000)]
Logging: mark continued-TLS connection deliveries with "X-*"

4 years agoTestsuite: add --test and --range options
Heiko Schlittermann (HS12-RIPE) [Wed, 1 Mar 2017 23:00:41 +0000 (00:00 +0100)]
Testsuite: add --test and --range options

4 years agoTestsuite: Getopt::Long, --help, --man for runtest
Heiko Schlittermann (HS12-RIPE) [Wed, 1 Mar 2017 19:22:07 +0000 (20:22 +0100)]
Testsuite: Getopt::Long, --help, --man for runtest

4 years agoMalware: new connection type "f-prot6d" for FPSCAND protocol over TCP
Andrew Colin Kissa [Sun, 12 Mar 2017 19:14:47 +0000 (19:14 +0000)]
Malware: new connection type "f-prot6d" for FPSCAND protocol over TCP

4 years agoDocs: fix description of tls_advertise_hosts
Jeremy Harris [Sat, 11 Mar 2017 20:42:36 +0000 (20:42 +0000)]
Docs: fix description of tls_advertise_hosts

4 years agouClibc does not contain gnu/libc-version.h
Bernd Kuhls [Sun, 12 Mar 2017 02:01:00 +0000 (21:01 -0500)]
uClibc does not contain gnu/libc-version.h

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
4 years agoTestsuite: remove debug "ps" output from 0420
Heiko Schlittermann (HS12-RIPE) [Sat, 11 Mar 2017 10:22:02 +0000 (11:22 +0100)]
Testsuite: remove debug "ps" output from 0420

4 years agoDebug: Use UTF-8 linedrawing, for indent partial-markers
Jeremy Harris [Thu, 9 Mar 2017 09:01:51 +0000 (09:01 +0000)]
Debug: Use UTF-8 linedrawing, for indent partial-markers

4 years agoShorten long daemon-startup log lines
Jeremy Harris [Wed, 8 Mar 2017 16:01:54 +0000 (16:01 +0000)]
Shorten long daemon-startup log lines

4 years agoSome platforms (Solaris) do not have AF_LOCAL; use AF_UNIX
Jeremy Harris [Wed, 8 Mar 2017 12:42:58 +0000 (12:42 +0000)]
Some platforms (Solaris) do not have AF_LOCAL; use AF_UNIX

4 years agoDocs: fix macro typo
Jeremy Harris [Wed, 8 Mar 2017 12:13:18 +0000 (12:13 +0000)]
Docs: fix macro typo

4 years agoDelivery: contined-connection maintaining TLS
Jeremy Harris [Tue, 7 Mar 2017 22:35:18 +0000 (22:35 +0000)]
Delivery: contined-connection maintaining TLS

4 years agoDocs: clean for next release
Jeremy Harris [Tue, 7 Mar 2017 23:18:53 +0000 (23:18 +0000)]
Docs: clean for next release

4 years agoDebug: Use UTF-8 linedrawing rather than ASCII lineart for grouping expansion tracing...
Jeremy Harris [Sat, 4 Mar 2017 21:53:33 +0000 (21:53 +0000)]
Debug: Use UTF-8 linedrawing rather than ASCII lineart for grouping expansion tracing messages

4 years agoTestsuite: sys_errlist[] not supported on all platforms
Jeremy Harris [Sat, 4 Mar 2017 18:19:24 +0000 (18:19 +0000)]
Testsuite: sys_errlist[] not supported on all platforms

4 years agoTestsuite: do not wait forever for exim daemon to start up
Jeremy Harris [Sat, 4 Mar 2017 17:02:15 +0000 (17:02 +0000)]
Testsuite: do not wait forever for exim daemon to start up

4 years agoopenssl.txt: stamp RPATH into library too
Phil Pennock [Fri, 3 Mar 2017 07:24:11 +0000 (02:24 -0500)]
openssl.txt: stamp RPATH into library too

4 years agoCoverity fixes
Jeremy Harris [Tue, 28 Feb 2017 23:57:36 +0000 (23:57 +0000)]
Coverity fixes

4 years agoDocument Jeremy's ref-count bug-fix as 4.89 JH/19
Phil Pennock [Tue, 28 Feb 2017 22:39:33 +0000 (17:39 -0500)]
Document Jeremy's ref-count bug-fix as 4.89 JH/19

4 years agoMemory Management: drop another variable ($callout_address) as it goes out of scope.
Jeremy Harris [Tue, 28 Feb 2017 23:15:41 +0000 (23:15 +0000)]
Memory Management: drop another variable ($callout_address) as it goes out of scope.

4 years agoFix child-address counting.
Jeremy Harris [Tue, 28 Feb 2017 18:24:40 +0000 (18:24 +0000)]
Fix child-address counting.

When a new address was created by a routing step it was possible for the parent address in the tree to
be marked as having zero children, despite the new child having a pointer to the parent.  When the child
was then delivered, the count on the parent could go negative or, if other children had been added which
correctly incremented the count, arrive at zero while some children were outstanding.  Fix this to
maintin the invariant.  While there, make the counter unsigned.

4 years agoDocs: add more Redis info
Jeremy Harris [Tue, 28 Feb 2017 09:40:04 +0000 (09:40 +0000)]
Docs: add more Redis info

4 years agoTestsuite: tidying
Heiko Schlittermann (HS12-RIPE) [Mon, 27 Feb 2017 14:11:00 +0000 (15:11 +0100)]
Testsuite: tidying

4 years agoTestsuite: Fix more end-of-input markers (****)
Heiko Schlittermann (HS12-RIPE) [Mon, 27 Feb 2017 07:16:36 +0000 (08:16 +0100)]
Testsuite: Fix more end-of-input markers (****)

These wrong markers didn't have any impact.

4 years agoDocs: tidy a table
Jeremy Harris [Mon, 27 Feb 2017 14:58:08 +0000 (14:58 +0000)]
Docs: tidy a table

4 years agoTestsuite: reduce trailing 0372 subtest to queue-only
Jeremy Harris [Mon, 27 Feb 2017 13:38:53 +0000 (13:38 +0000)]
Testsuite: reduce trailing 0372 subtest to queue-only

Suboptimal, but sufficient to regression-test the reason it was added (a live acl_m_
variable being store_reset over, after reception (and ACLs) and then referenced
later.  The problem was, child procs of the daemon were still running as the following
0373 started up, and left unexpected output files there.

4 years agoTestsuite: Terminate the client input properly
Heiko Schlittermann (HS12-RIPE) [Sun, 26 Feb 2017 22:22:18 +0000 (23:22 +0100)]
Testsuite: Terminate the client input properly

4 years agoTestsuite: Add EXIM_TEST_NUMBER to the environment
Heiko Schlittermann (HS12-RIPE) [Sun, 26 Feb 2017 22:20:36 +0000 (23:20 +0100)]
Testsuite: Add EXIM_TEST_NUMBER to the environment

4 years agoAdd option to control use of shutdown by ${readsocket }. Bug 400
Jeremy Harris [Sun, 26 Feb 2017 18:53:06 +0000 (18:53 +0000)]
Add option to control use of shutdown by ${readsocket }.  Bug 400

4 years agoChangeLog entry JH/18; applying to 4.89 release
Phil Pennock [Sun, 26 Feb 2017 18:31:28 +0000 (13:31 -0500)]
ChangeLog entry JH/18; applying to 4.89 release

4 years agoDKIM: rework error logging - compiler quietening. Bug 966
Jeremy Harris [Sun, 26 Feb 2017 14:58:54 +0000 (14:58 +0000)]
DKIM: rework error logging - compiler quietening.  Bug 966

4 years agoTestsuite: in force-continue mode, always dump any unexpected paniclog files
Jeremy Harris [Sun, 26 Feb 2017 14:19:27 +0000 (14:19 +0000)]
Testsuite: in force-continue mode, always dump any unexpected paniclog files

4 years agoTestsuite: regression test for Bug 2061
Jeremy Harris [Sun, 26 Feb 2017 13:34:10 +0000 (13:34 +0000)]
Testsuite: regression test for Bug 2061

4 years agoFix ${extract } corrupting an enclosing ${reduce } $value. Bug 2061
Jeremy Harris [Sun, 26 Feb 2017 01:07:47 +0000 (01:07 +0000)]
Fix ${extract } corrupting an enclosing ${reduce }  $value.  Bug 2061

Broken-by: 20fcb1e7be45 - Bug 1870
4 years agoPoint at readline fix on macOS
Phil Pennock [Sun, 26 Feb 2017 01:18:08 +0000 (20:18 -0500)]
Point at readline fix on macOS

dlopen() without a qualified path searches env vars and paths stamped
into the binary; Exim is usually setuid, so this becomes just the paths
stamped into the binary.  On some platforms (*cough* macOS) libreadline
is not in the usual places.

So show how to stamp the Homebrew location of libreadline into the Exim
binary.

4 years agoTestsuite: set cmdline before running testcase not after
Jeremy Harris [Sat, 25 Feb 2017 21:36:12 +0000 (21:36 +0000)]
Testsuite: set cmdline before running testcase not after

4 years agoDKIM: rework error logging to pass strings back to caller for logging. Bug 966
Jeremy Harris [Sat, 25 Feb 2017 18:42:51 +0000 (18:42 +0000)]
DKIM: rework error logging to pass strings back to caller for logging.  Bug 966

4 years agoTestsuite: add file-inclusion facility to "client" scripts
Jeremy Harris [Sat, 25 Feb 2017 18:32:11 +0000 (18:32 +0000)]
Testsuite: add file-inclusion facility to "client" scripts

4 years agoMemory Management: new main-section config option "debug_store" to control extra...
Jeremy Harris [Sat, 11 Feb 2017 16:36:23 +0000 (16:36 +0000)]
Memory Management: new main-section config option "debug_store" to control extra internal checking

(cherry picked from commit 10919584f8ad580434442c7d971083f91c315bc0)
Signed-off-by: Phil Pennock <pdp@exim.org>
4 years agoPull in vdukhovni/ssl_dane 8270afba fix
Phil Pennock [Sat, 25 Feb 2017 03:39:02 +0000 (22:39 -0500)]
Pull in vdukhovni/ssl_dane 8270afba fix

Negating an int and comparing to another int was a bug which we got
lucky on.

4 years agotidying
Jeremy Harris [Mon, 6 Feb 2017 13:07:42 +0000 (13:07 +0000)]
tidying

4 years agoMemory management: drop $acl_m_ variables explicitly as they go out-of-scope
Jeremy Harris [Fri, 24 Feb 2017 15:00:40 +0000 (15:00 +0000)]
Memory management: drop $acl_m_ variables explicitly as they go out-of-scope
between message receptions in an SMTP connection

4 years agoDocs: clarify non-applicability of the tls_eccurve option to GnuTLS
Jeremy Harris [Thu, 23 Feb 2017 09:34:12 +0000 (09:34 +0000)]
Docs: clarify non-applicability of the tls_eccurve option to GnuTLS