exim.git
4 years agoFix string_copy() macro to not multiple-eval args. Bug 2603
Jeremy Harris [Fri, 19 Jun 2020 23:54:05 +0000 (00:54 +0100)]
Fix string_copy() macro to not multiple-eval args. Bug 2603

Broken-by: a76d120aed
(cherry picked from commit 80c2ec2e47c556daff00c79ee068ce68f25fd264)

4 years agoTaint: fix verify. Bug 2598
Jeremy Harris [Sun, 14 Jun 2020 21:14:11 +0000 (22:14 +0100)]
Taint: fix verify.  Bug 2598

(cherry-picked from 2b60ac1021 and 9eed571fd7)

4 years agosmtp_accept_map_per_host: call search_tidyup in fail path. Bug 2597
Jeremy Harris [Fri, 12 Jun 2020 19:43:43 +0000 (20:43 +0100)]
smtp_accept_map_per_host: call search_tidyup in fail path.  Bug 2597

(cherry-picked from: d3a538c8fe)

4 years agoTaint: fix radius expansion condition
Jeremy Harris [Thu, 11 Jun 2020 23:46:34 +0000 (00:46 +0100)]
Taint: fix radius expansion condition

(cherry picked from commit f91219c114a3d95792d052555664a5a7a3984a8d)

4 years ago TLS: use RFC 6125 rules for certifucate name checks when CNAMES are present....
Jeremy Harris [Thu, 11 Jun 2020 19:45:05 +0000 (20:45 +0100)]
TLS: use RFC 6125 rules for certifucate name checks when CNAMES are present. Bug 2594

    (cherry picked from commit 0851a3bbf4667081d47f5d85b6b3a5cb33cbdba6)

4 years agoFilters: fix "vacation" in Exim filter. Bug 2593
Jeremy Harris [Mon, 8 Jun 2020 12:00:55 +0000 (13:00 +0100)]
Filters: fix "vacation" in Exim filter.  Bug 2593

Broken-by: cfb9cf20cb (4.90)
(cherry picked from commit 59eee1bc902f106d20f507ba16f37cb8ab5a5e8d)

4 years ago Fix -bi. Bug 2590
Jeremy Harris [Thu, 4 Jun 2020 14:28:15 +0000 (15:28 +0100)]
Fix -bi.  Bug 2590

    Actual fix from pierre.labastie@neuf.fr ; additional coding and testcase bu jgh
Broken-by: bdcc6f2bd5
    (Cherry-picked from: 0e0e171628)

4 years agoTaint: fix multiple ACL actions to properly manage tainted argument data
Jeremy Harris [Wed, 3 Jun 2020 10:40:17 +0000 (11:40 +0100)]
Taint: fix multiple ACL actions to properly manage tainted argument data

(cherry picked from commit 12b7f811de4a540d0724585aecfa33b5881e2a30)

4 years agoDocs: typoes
Jeremy Harris [Tue, 2 Jun 2020 15:34:42 +0000 (16:34 +0100)]
Docs: typoes

Cherry-picked from: 1195f8f2a4

4 years agoDocs: fix layout
Jeremy Harris [Tue, 2 Jun 2020 14:39:27 +0000 (15:39 +0100)]
Docs: fix layout

(cherry picked from commit 7090df68161b4ed1c86e5adde7800d9049c47433)

4 years agoDocs: fix mistaken variable name
Patrick Boutilier [Tue, 2 Jun 2020 14:16:10 +0000 (15:16 +0100)]
Docs: fix mistaken variable name

(cherry picked from commit eb55cb1d2c5552209e24345e9d21f83ec1eaccf6)

4 years agoTaint: fix listcount expansion operator. Bug 2586
Jeremy Harris [Tue, 2 Jun 2020 14:03:36 +0000 (15:03 +0100)]
Taint: fix listcount expansion operator.  Bug 2586

(cherry picked from commit 44644c2e404a3ea0191db0b0458e86924fb240bb)

4 years agoTaint: fix pam expansion condition. Bug 2587
Jeremy Harris [Tue, 2 Jun 2020 13:50:31 +0000 (14:50 +0100)]
Taint: fix pam expansion condition.  Bug 2587

(cherry picked from commit f7f933a199be8bb7362c715e0040545b514cddca)

4 years agoDocs: ${listitem }
Jeremy Harris [Tue, 2 Jun 2020 12:35:06 +0000 (13:35 +0100)]
Docs: ${listitem }

(cherry picked from commit 29f5141e7cb1ee65369d8e49250134edc4e6120a)

4 years agoTestsuite: munge for Postgres version exim-4.94
Jeremy Harris [Sat, 30 May 2020 20:35:38 +0000 (21:35 +0100)]
Testsuite: munge for Postgres version

4 years agoTestsuite: MySQL: use password on account used for test access
Jeremy Harris [Sat, 30 May 2020 20:05:25 +0000 (21:05 +0100)]
Testsuite: MySQL: use password on account used for test access

Forced on us by security tightning in Mariadb 10.4

4 years agoMake def:<var> compatible between "static" and "dynamic" vars.
Heiko Schlittermann (HS12-RIPE) [Tue, 26 May 2020 10:28:43 +0000 (12:28 +0200)]
Make def:<var> compatible between "static" and "dynamic" vars.

Some variables are simple pointers to internal memory (e.g.
vtype_stringptr), other variables are dynamically filled with content
(e.g. vtype_string_func).

The static variables contain "" if they're not defined yet.
At least on dynamic variable (recipients, backed by fn_recipients())
returned NULL instead of "", which lead to unexpected results on
def:recipients.

To keep the functions usable in places where it makes sense to return
NULL and "" as distinct values, I didn't touch the functions, but the
evaluation logic in find_variable().

4 years agoTestsuite: avoid fail on non-TLS bulid
Jeremy Harris [Mon, 25 May 2020 11:41:20 +0000 (12:41 +0100)]
Testsuite: avoid fail on non-TLS bulid

4 years agoFix listquote expansion item to handle empty-string input
Jeremy Harris [Mon, 25 May 2020 10:38:25 +0000 (11:38 +0100)]
Fix listquote expansion item to handle empty-string input

4 years agoEDITME: Shorten the explanation of <osname> and <build>
Heiko Schlittermann (HS12-RIPE) [Sun, 24 May 2020 20:53:01 +0000 (22:53 +0200)]
EDITME: Shorten the explanation of <osname> and <build>

4 years agoDocs: SPF options
Jeremy Harris [Sun, 24 May 2020 18:17:59 +0000 (19:17 +0100)]
Docs: SPF options

4 years agoDoc: Clarify variables for spf_smtp_comment_template
Heiko Schlittermann (HS12-RIPE) [Sat, 23 May 2020 13:50:23 +0000 (15:50 +0200)]
Doc: Clarify variables for spf_smtp_comment_template

4 years agoSPF: Add main config option "spf_smtp_comment_template exim-4.94-RC2
Heiko Schlittermann (HS12-RIPE) [Fri, 22 May 2020 15:32:33 +0000 (17:32 +0200)]
SPF: Add main config option "spf_smtp_comment_template

4 years agoSPF: Remove the parameters of the broken explanation link
Heiko Schlittermann (HS12-RIPE) [Mon, 18 May 2020 20:40:24 +0000 (22:40 +0200)]
SPF: Remove the parameters of the broken explanation link

The complete www.open-spf.org is a static copy of the formerly working
openspf.org page. The explanation form doesn't work anymore.

4 years agoOpenSSL: clear error stack before avery I/O operation
Jeremy Harris [Wed, 20 May 2020 21:14:59 +0000 (22:14 +0100)]
OpenSSL: clear error stack before avery I/O operation

4 years agoDocs: remove reduundant transport configu lines
Jeremy Harris [Tue, 19 May 2020 00:14:55 +0000 (01:14 +0100)]
Docs: remove reduundant transport configu lines

4 years agoDocs: options on lookups
Jeremy Harris [Sat, 16 May 2020 18:38:59 +0000 (19:38 +0100)]
Docs: options on lookups

4 years agoLog additional command-history on too-many-syntax-errors
Jeremy Harris [Sat, 16 May 2020 15:36:08 +0000 (16:36 +0100)]
Log additional command-history on too-many-syntax-errors

4 years agoDocs: DMARC options
Jeremy Harris [Sat, 16 May 2020 12:27:43 +0000 (13:27 +0100)]
Docs: DMARC options

4 years agoDocs: another mention of $local_part_verified
Andreas Metzler [Sat, 16 May 2020 12:02:17 +0000 (13:02 +0100)]
Docs: another mention of $local_part_verified

Broken-by: d8024efa36
4 years agoAdd debug for lookup ret=key
Jeremy Harris [Fri, 15 May 2020 13:15:10 +0000 (14:15 +0100)]
Add debug for lookup ret=key

4 years agoDebug: quieten DSN exim-4.94-RC1
Jeremy Harris [Wed, 13 May 2020 11:15:57 +0000 (12:15 +0100)]
Debug: quieten DSN

4 years agoFix over-long line in DSN
Jeremy Harris [Tue, 12 May 2020 23:58:32 +0000 (00:58 +0100)]
Fix over-long line in DSN

4 years agoDocs: set message after conditions in ACL verb wherever possible
Jeremy Harris [Tue, 12 May 2020 21:20:24 +0000 (22:20 +0100)]
Docs: set message after conditions in ACL verb wherever possible

4 years agoFix build with Radius auth expansion condition support. Bug 2572
= Fabian Groffen [Sat, 9 May 2020 14:06:06 +0000 (15:06 +0100)]
Fix build with Radius auth expansion condition support.  Bug 2572

4 years agoPerformance: workaround Linux kernel bug
Jeremy Harris [Sat, 9 May 2020 14:04:17 +0000 (15:04 +0100)]
Performance: workaround Linux kernel bug

4 years agoDocs: tweaks
Jeremy Harris [Fri, 8 May 2020 10:47:43 +0000 (11:47 +0100)]
Docs: tweaks

4 years agoTestsuite: unbreak testcase
Jeremy Harris [Thu, 7 May 2020 18:02:09 +0000 (19:02 +0100)]
Testsuite: unbreak testcase

Broken-by: 0006e6d8e1
4 years agoLookups: ret=key option
Jeremy Harris [Thu, 7 May 2020 15:38:04 +0000 (16:38 +0100)]
Lookups: ret=key option

4 years agoI18N: change default on smtp transport, to downconvert-when-needed
Jeremy Harris [Thu, 7 May 2020 13:11:49 +0000 (14:11 +0100)]
I18N: change default on smtp transport, to downconvert-when-needed

4 years agoDocs: clarify downconversion of internationalized addresses
Jeremy Harris [Thu, 7 May 2020 12:01:18 +0000 (13:01 +0100)]
Docs: clarify downconversion of internationalized addresses

4 years agoDocs: ESMTP extensions indexing
Jeremy Harris [Thu, 7 May 2020 10:37:48 +0000 (11:37 +0100)]
Docs: ESMTP extensions indexing

4 years agoRework SPA fix to avoid overflows. Bug 2571
Jeremy Harris [Wed, 6 May 2020 21:31:25 +0000 (22:31 +0100)]
Rework SPA fix to avoid overflows.  Bug 2571

Amends: 57aa14b216

4 years agoNumeric variable returns
Jeremy Harris [Wed, 6 May 2020 18:55:17 +0000 (19:55 +0100)]
Numeric variable returns

4 years agotestcases for value return
Jeremy Harris [Wed, 6 May 2020 14:19:24 +0000 (15:19 +0100)]
testcases for value return

4 years agodocs & more debug
Jeremy Harris [Wed, 6 May 2020 13:04:44 +0000 (14:04 +0100)]
docs & more debug

4 years agovalue return
Jeremy Harris [Wed, 6 May 2020 10:56:16 +0000 (11:56 +0100)]
value return

4 years agowip - see failed-summary.log.list_match_value. Pretty much ok.
Jeremy Harris [Tue, 5 May 2020 13:22:45 +0000 (14:22 +0100)]
wip - see failed-summary.log.list_match_value.  Pretty much ok.

tofo: testcases, docs

4 years agoFix SPA authenticator, checking client-supplied data before using it. Bug 2571
Jeremy Harris [Tue, 5 May 2020 20:02:14 +0000 (21:02 +0100)]
Fix SPA authenticator, checking client-supplied data before using it.  Bug 2571

4 years agotidying
Jeremy Harris [Tue, 5 May 2020 18:37:00 +0000 (19:37 +0100)]
tidying

4 years ago Ensure lookup-result variables are dropped between messages on a connection
Jeremy Harris [Tue, 5 May 2020 17:47:29 +0000 (18:47 +0100)]
Ensure lookup-result variables are dropped between messages on a connection

4 years agoTestsuite: output changes resulting
Jeremy Harris [Tue, 5 May 2020 14:50:26 +0000 (15:50 +0100)]
Testsuite: output changes resulting

Broken-by: d8024efa36
4 years agoDocs: tweaks
Jeremy Harris [Tue, 5 May 2020 14:36:57 +0000 (15:36 +0100)]
Docs: tweaks

4 years agoConsolidate $local_part_verified into $local_part_data
Jeremy Harris [Mon, 4 May 2020 21:38:08 +0000 (22:38 +0100)]
Consolidate $local_part_verified into $local_part_data

This removes the former; the latter having been around since before the last
release.  The router check_local_user option now writes the latter
and -verified no longer exists.

4 years agoDocs: local-part affix variables
Jeremy Harris [Mon, 4 May 2020 21:12:52 +0000 (22:12 +0100)]
Docs: local-part affix variables

4 years agoTaint: When a non-wildcarded localpart affix is matched in a router,
Jeremy Harris [Mon, 4 May 2020 20:33:59 +0000 (21:33 +0100)]
Taint: When a non-wildcarded localpart affix is matched in a router,
 make affix variables untainted

4 years agoMake {bounce,warn}_message_file expanded. Bug 2522
Jeremy Harris [Mon, 4 May 2020 15:10:57 +0000 (16:10 +0100)]
Make {bounce,warn}_message_file expanded.  Bug 2522

4 years agoTestsuite: bounce_message_file and warn_message_file
Jeremy Harris [Mon, 4 May 2020 11:25:23 +0000 (12:25 +0100)]
Testsuite: bounce_message_file and warn_message_file

4 years agoBuild: fix parallelism problem. Bug 2566
Luca Ceresoli [Sun, 3 May 2020 15:54:28 +0000 (16:54 +0100)]
Build: fix parallelism problem.  Bug 2566

4 years agoFix build on platforms not supporting sockopt SO_PROTOCOL
Jeremy Harris [Sat, 2 May 2020 20:09:38 +0000 (21:09 +0100)]
Fix build on platforms not supporting sockopt SO_PROTOCOL

Broken-by: a8e46b3b71
4 years agoDocs: fix mention of (the nonexistent) $domain_verified. Bug 2567
Andreas Metzler [Sat, 2 May 2020 18:08:55 +0000 (19:08 +0100)]
Docs: fix mention of (the nonexistent) $domain_verified.  Bug 2567

Broken-by: 163144aab0
4 years agoDebug: socket details
Jeremy Harris [Sat, 2 May 2020 13:22:31 +0000 (14:22 +0100)]
Debug: socket details

4 years agoTestsuite: tidying
Jeremy Harris [Fri, 1 May 2020 20:15:12 +0000 (21:15 +0100)]
Testsuite: tidying

4 years agoDocs: fix more uses of $local_part in examples
Jeremy Harris [Fri, 1 May 2020 13:18:55 +0000 (14:18 +0100)]
Docs: fix more uses of $local_part in examples

4 years agoTestsuite: handle RC tagging convention
Jeremy Harris [Fri, 1 May 2020 11:47:25 +0000 (12:47 +0100)]
Testsuite: handle RC tagging convention

4 years agoFix $local_part_verified for remote-delivery routing following local. Bug 2565
Jeremy Harris [Fri, 1 May 2020 10:42:35 +0000 (11:42 +0100)]
Fix $local_part_verified for remote-delivery routing following local.  Bug 2565

4 years agoDocs: use verified version of local_part variable in router require_files example
Andreas Metzler [Fri, 1 May 2020 08:28:30 +0000 (09:28 +0100)]
Docs: use verified version of local_part variable in router require_files example

4 years agoCopyright updates: exim-4_94_RC0
Jeremy Harris [Thu, 30 Apr 2020 12:08:07 +0000 (13:08 +0100)]
Copyright updates:

vi $(git log --name-status exim-4.93..master | awk '/^M/{print $2}' | grep -v '^test/' | sort -u)

4 years agoTestsuite: output changes resulting
Jeremy Harris [Mon, 27 Apr 2020 17:56:08 +0000 (18:56 +0100)]
Testsuite: output changes resulting

Broken-by: 26831938fd
4 years agotidying
Jeremy Harris [Sun, 26 Apr 2020 20:40:43 +0000 (21:40 +0100)]
tidying

4 years agoBump buffer size for exiwhat info lines
Jeremy Harris [Sun, 26 Apr 2020 19:58:44 +0000 (20:58 +0100)]
Bump buffer size for exiwhat info lines

4 years agoFix reporting of 2-phase queue-runner daemon, in daemon start log line and in exiwhat
Jeremy Harris [Sun, 26 Apr 2020 19:57:26 +0000 (20:57 +0100)]
Fix reporting of 2-phase queue-runner daemon, in daemon start log line and in exiwhat

4 years agoDKIM: dkim_verify_min_keysizes option
Jeremy Harris [Sat, 25 Apr 2020 19:50:07 +0000 (20:50 +0100)]
DKIM: dkim_verify_min_keysizes option

4 years agoDKIM: fix $dkim_key_length in verify
Jeremy Harris [Sat, 25 Apr 2020 20:03:51 +0000 (21:03 +0100)]
DKIM: fix $dkim_key_length in verify

4 years agoLogging: bump limit on initial-connect synch-error log line
Jeremy Harris [Thu, 23 Apr 2020 16:13:27 +0000 (17:13 +0100)]
Logging: bump limit on initial-connect synch-error log line

4 years agoDebug: internal consistency under testsuite
Jeremy Harris [Wed, 22 Apr 2020 21:03:09 +0000 (22:03 +0100)]
Debug: internal consistency under testsuite

4 years agoTestsuite: more tidying for Alpine
Jeremy Harris [Wed, 22 Apr 2020 20:05:55 +0000 (21:05 +0100)]
Testsuite: more tidying for Alpine

4 years agoreadsocket expansion: response caching
Jeremy Harris [Sat, 18 Apr 2020 14:36:54 +0000 (15:36 +0100)]
readsocket expansion: response caching

4 years agotidying
Jeremy Harris [Tue, 21 Apr 2020 22:21:24 +0000 (23:21 +0100)]
tidying

4 years agoTestsuite: use name for nonexistent host that the testsuite forces to not-resolve
Jeremy Harris [Tue, 21 Apr 2020 22:17:53 +0000 (23:17 +0100)]
Testsuite: use name for nonexistent host that the testsuite forces to not-resolve

Avoids going to the plaform resolver, which can have varying behaviour

4 years agostop-gap: doc glibc 2.31 RES_TRUSTAD/trust-ad
Phil Pennock [Tue, 21 Apr 2020 22:59:15 +0000 (18:59 -0400)]
stop-gap: doc glibc 2.31 RES_TRUSTAD/trust-ad

In glibc from release 2.31 onwards (change added in their commit
446997ff14) setting `dns_dnssec_ok` will not be sufficient.  glibc has
added a new `options trust-ad` toggle for `/etc/resolv.conf` and a C
macro `RES_TRUSTAD`.

This will break existing deployments and binaries.

Our current mechanism for enabling DNSSEC is with an option named to
closely match the DNS feature required, so it is probably inappropriate
to tinker with a second option there.  Instead we probably need a new
meta-option for the concept of DNSSEC, add the second new flag there,
and move `dns_dnssec_ok` to a legacy deprecated option.

That will only work if the machine Exim is built on has the new C macro,
but will need to be conditional upon that macro being defined, so
binaries built aren't going to be forward-compatible to other systems
with newer glibc.  There is no good solution to solve this.

In the meantime, document the issue and point administrators at how to
work around the issue with a setting in `/etc/resolv.conf`

Thanks to Viktor Dukhovni for highlighting the existence of this
problem.

4 years agoDocs: fix mention of deprecated variables. Bug 2534
Heiko Schlichting [Mon, 20 Apr 2020 21:21:35 +0000 (22:21 +0100)]
Docs: fix mention of deprecated variables.  Bug 2534

4 years agoFix spool space check to account for SIZE. Bug 2552
Erik Lax [Mon, 20 Apr 2020 20:34:33 +0000 (21:34 +0100)]
Fix spool space check to account for SIZE.  Bug 2552

4 years agoOpenSSL: fix bulid on older library versions
Jeremy Harris [Mon, 20 Apr 2020 10:30:28 +0000 (11:30 +0100)]
OpenSSL: fix bulid on older library versions

Broken-by: a89b6bd32a
4 years agoEvents: Fix msg:defer event for the hosts_max_try_hardlimit case. Bug 2554
Jeremy Harris [Sun, 19 Apr 2020 20:18:21 +0000 (21:18 +0100)]
Events: Fix msg:defer event for the hosts_max_try_hardlimit case.  Bug 2554

4 years agoOpenSSL: More info on accept "version too low"
Jeremy Harris [Sun, 19 Apr 2020 10:32:57 +0000 (11:32 +0100)]
OpenSSL: More info on accept "version too low"

4 years agoEarly-pipe: invalidate cache on a failure of required-auth
Jeremy Harris [Tue, 14 Apr 2020 20:51:51 +0000 (21:51 +0100)]
Early-pipe: invalidate cache on a failure of required-auth

4 years agoTestsuite: munge for platform variances
Jeremy Harris [Mon, 13 Apr 2020 12:17:51 +0000 (13:17 +0100)]
Testsuite: munge for platform variances

4 years agoBetter fix for crash
Jeremy Harris [Sun, 12 Apr 2020 21:24:21 +0000 (22:24 +0100)]
Better fix for crash

Broken-by: 0b4dfe7aa1
4 years agoOpenSSL: More info on accept "unsupported protocol"
Jeremy Harris [Sun, 12 Apr 2020 15:48:10 +0000 (16:48 +0100)]
OpenSSL: More info on accept "unsupported protocol"

4 years agoTaint: fix parsing of ACL ratelimit condition
Jeremy Harris [Sun, 12 Apr 2020 16:47:27 +0000 (17:47 +0100)]
Taint: fix parsing of ACL ratelimit condition

4 years agoDKIM: Predefined macro for standard headers, oversigned
Jeremy Harris [Sat, 11 Apr 2020 18:12:57 +0000 (19:12 +0100)]
DKIM: Predefined macro for standard headers, oversigned

4 years agotidying
Jeremy Harris [Thu, 9 Apr 2020 13:45:31 +0000 (14:45 +0100)]
tidying

4 years agoC99 initialisers
Jeremy Harris [Thu, 9 Apr 2020 13:39:03 +0000 (14:39 +0100)]
C99 initialisers

4 years agotidying
Jeremy Harris [Tue, 7 Apr 2020 18:41:31 +0000 (19:41 +0100)]
tidying

4 years agoFix crash
Jeremy Harris [Mon, 6 Apr 2020 19:15:47 +0000 (20:15 +0100)]
Fix crash

Broken-by: 0b4dfe7aa1
4 years agoExpansion item ${listquote }. Bug 1066
Jeremy Harris [Mon, 6 Apr 2020 15:20:35 +0000 (16:20 +0100)]
Expansion item ${listquote }.  Bug 1066

4 years agoMySQL, pgsql: per-query server options outside the lookup string. Bug 2546
Jeremy Harris [Sun, 5 Apr 2020 23:28:06 +0000 (00:28 +0100)]
MySQL, pgsql: per-query server options outside the lookup string.  Bug 2546

4 years agoTaint: check on supplied buffer vs. list when extracting elements
Jeremy Harris [Sun, 5 Apr 2020 22:21:40 +0000 (23:21 +0100)]
Taint: check on supplied buffer vs. list when extracting elements

4 years agoAvoid the long whats_supported line being mixed with output from other processes
Jeremy Harris [Sat, 4 Apr 2020 20:27:30 +0000 (21:27 +0100)]
Avoid the long whats_supported line being mixed with output from other processes