exim.git
3 years agoExperimental: ESMTP LIMITS extension
Jeremy Harris [Sun, 18 Apr 2021 00:51:28 +0000 (01:51 +0100)]
Experimental: ESMTP LIMITS extension

3 years agoTestsuite: output changes arising
Jeremy Harris [Sat, 17 Apr 2021 23:34:32 +0000 (00:34 +0100)]
Testsuite: output changes arising

Somewhere recently (possibly 3f06b9b4c7) we stopped overwriting errno;
the "Permission denied" seen now in 4520 for the ${bogus} expansion is
as expected.

3 years agoLog queue_time and queue_time_overall exclusive of receive time. Bug 2672
Jeremy Harris [Sun, 11 Apr 2021 15:39:06 +0000 (16:39 +0100)]
Log queue_time and queue_time_overall exclusive of receive time.  Bug 2672

3 years ago taint: allow appendfile create_file option to specify a de-tainting safe path
Jeremy Harris [Wed, 14 Apr 2021 21:21:05 +0000 (22:21 +0100)]
taint: allow appendfile create_file option to specify a de-tainting safe path

3 years agoSet mainlog_name and rejectlog_name unconditionally.
Heiko Schlittermann (HS12-RIPE) [Mon, 12 Apr 2021 06:41:44 +0000 (08:41 +0200)]
Set mainlog_name and rejectlog_name unconditionally.

3 years agoLogging: better tracking of continued-connection use
Jeremy Harris [Sat, 10 Apr 2021 18:36:17 +0000 (19:36 +0100)]
Logging: better tracking of continued-connection use

3 years agoPass proxy addresses/ports to continued trasnports. Bug 2710
Jeremy Harris [Wed, 7 Apr 2021 20:34:42 +0000 (21:34 +0100)]
Pass proxy addresses/ports to continued trasnports.  Bug 2710

3 years agoDocs: add warning note on ${listnamed:} operator
Jeremy Harris [Mon, 5 Apr 2021 20:23:10 +0000 (21:23 +0100)]
Docs: add warning note on ${listnamed:} operator

3 years agoDocs: mention *_environment in "Misc" section"
Heiko Schlittermann (HS12-RIPE) [Mon, 5 Apr 2021 06:24:19 +0000 (08:24 +0200)]
Docs: mention *_environment in "Misc" section"

3 years agoDisable server-side close timing sophistication on MacOS
Jeremy Harris [Mon, 5 Apr 2021 12:41:50 +0000 (13:41 +0100)]
Disable server-side close timing sophistication on MacOS

Broken-by: 001bf8f587
3 years agoDocs: add example for DKIM dual-signing
Jeremy Harris [Mon, 5 Apr 2021 12:06:42 +0000 (13:06 +0100)]
Docs: add example for DKIM dual-signing

3 years agoTLS: harden error-detection in TLS proxy process
Jeremy Harris [Sat, 3 Apr 2021 19:56:50 +0000 (20:56 +0100)]
TLS: harden error-detection in TLS proxy process

3 years agoMake smtp_accept_max_per_connection expanded
Jeremy Harris [Fri, 19 Mar 2021 20:42:25 +0000 (20:42 +0000)]
Make smtp_accept_max_per_connection expanded

3 years agotestsuite: fix runtest (File::Copy used in another place)
Heiko Schlittermann (HS12-RIPE) [Sat, 3 Apr 2021 08:55:03 +0000 (10:55 +0200)]
testsuite: fix runtest (File::Copy used in another place)

3 years agobuild: Allow environment EXIM_RELEASE_VERSION
Heiko Schlittermann (HS12-RIPE) [Fri, 2 Apr 2021 10:37:15 +0000 (12:37 +0200)]
build: Allow environment EXIM_RELEASE_VERSION

This should easy automated testing where no .git directory
is available (as is happens with git worktrees)

Setting this environment variable makes the reversion script
using it instead of searching for version.sh or using `git describe`.

3 years agoDocs: clarify list-separator requirements
Jeremy Harris [Fri, 2 Apr 2021 11:11:11 +0000 (12:11 +0100)]
Docs: clarify list-separator requirements

3 years agotypoes
Jeremy Harris [Wed, 31 Mar 2021 09:44:07 +0000 (10:44 +0100)]
typoes

3 years agotestsuite: provide cp() if File::Copy is too old.
Heiko Schlittermann (HS12-RIPE) [Thu, 1 Apr 2021 09:33:01 +0000 (11:33 +0200)]
testsuite: provide cp() if File::Copy is too old.

3 years agotestsuite: use File::Copy "cp" to copy the permissions (x-bit)
Heiko Schlittermann (HS12-RIPE) [Wed, 31 Mar 2021 20:46:27 +0000 (22:46 +0200)]
testsuite: use File::Copy "cp" to copy the permissions (x-bit)

3 years agotestsuite: add --fail-any option to runtest
Heiko Schlittermann (HS12-RIPE) [Sun, 28 Mar 2021 17:05:10 +0000 (19:05 +0200)]
testsuite: add --fail-any option to runtest

This option makes runtest's exit status !0 on any failure in any test.
(Useful in -c mode and git-bisect)

3 years agoMemory handling: fix size backoff on store-reset
Jeremy Harris [Sun, 28 Mar 2021 00:56:14 +0000 (00:56 +0000)]
Memory handling: fix size backoff on store-reset

3 years agoMemory debug: do not try to save allocation bytes used for debug as ACL can modify...
Jeremy Harris [Sat, 27 Mar 2021 23:49:50 +0000 (23:49 +0000)]
Memory debug: do not try to save allocation bytes used for debug as ACL can modify debugging status

3 years agotestsuite: make runtest exit(!0) on failure in continue mode
Heiko Schlittermann (HS12-RIPE) [Sat, 27 Mar 2021 11:52:18 +0000 (12:52 +0100)]
testsuite: make runtest exit(!0) on failure in continue mode

This makes it possible to use `runtest -c <xx>` for `git bisect run …`

3 years agotestsuite: tidy runtest
Heiko Schlittermann (HS12-RIPE) [Sat, 27 Mar 2021 11:51:40 +0000 (12:51 +0100)]
testsuite: tidy runtest

3 years agoGnuTLS: use a less bogus-looking temporary filename for DH-parameters
Jeremy Harris [Sat, 27 Mar 2021 17:00:13 +0000 (17:00 +0000)]
GnuTLS: use a less bogus-looking temporary filename for DH-parameters

3 years agoAvoid all tail-end pipelining on retries
Jeremy Harris [Tue, 23 Mar 2021 19:43:43 +0000 (19:43 +0000)]
Avoid all tail-end pipelining on retries

3 years agoBuild: use PHDRS set in the toplevel Makefile
Heiko Schlittermann (HS12-RIPE) [Thu, 25 Mar 2021 11:58:50 +0000 (12:58 +0100)]
Build: use PHDRS set in the toplevel Makefile

They're passed as HDRS, but the lookups/Makefile referenced the PHDRS
(which was empty)

E.g. touch src/functions.h didn't force a rebuild of the lookups.a

3 years agoAvoid building routines calling other not incuded in utilities link stage
Jeremy Harris [Tue, 23 Mar 2021 00:39:54 +0000 (00:39 +0000)]
Avoid building routines calling other not incuded in utilities link stage

This should fix a Solaris build error probably inserted by 92583637b2

3 years agoAvoid clearing first_delivery flag on the initial half of a 2-phase queue run
Jeremy Harris [Mon, 22 Mar 2021 21:47:42 +0000 (21:47 +0000)]
Avoid clearing first_delivery flag on the initial half of a 2-phase queue run

3 years agoBuiltin macros for Experimental features
Jeremy Harris [Fri, 19 Mar 2021 00:44:58 +0000 (00:44 +0000)]
Builtin macros for Experimental features

3 years agoDNS: explicit alloc/free of workspace
Jeremy Harris [Sun, 21 Mar 2021 00:02:07 +0000 (00:02 +0000)]
DNS: explicit alloc/free of workspace

3 years agoMemory debug: track max pool order, fix nonpool accounting
Jeremy Harris [Sat, 20 Mar 2021 22:41:50 +0000 (22:41 +0000)]
Memory debug: track max pool order, fix nonpool accounting

3 years agoMemory handling: exponentially-increasing alloc size
Jeremy Harris [Sun, 14 Mar 2021 17:45:27 +0000 (17:45 +0000)]
Memory handling: exponentially-increasing alloc size

3 years agoDKIM: Force use of tainted mem for headers
Jeremy Harris [Sun, 14 Mar 2021 17:37:11 +0000 (17:37 +0000)]
DKIM: Force use of tainted mem for headers

3 years agoAvoid needless alloc for null header
Jeremy Harris [Sun, 14 Mar 2021 15:51:18 +0000 (15:51 +0000)]
Avoid needless alloc for null header

3 years agoDKIM: verify using separate pool-pair, reset per message
Jeremy Harris [Sun, 14 Mar 2021 17:25:11 +0000 (17:25 +0000)]
DKIM: verify using separate pool-pair, reset per message

3 years agotestsuite output changes resulting
Jeremy Harris [Fri, 19 Mar 2021 16:13:51 +0000 (16:13 +0000)]
testsuite output changes resulting

Broken-by: 649c209e19
3 years ago Linux and the BSDs have getifaddrs(). Use it and save a bunch of complex coding.
Jeremy Harris [Wed, 17 Mar 2021 14:33:46 +0000 (14:33 +0000)]
Linux and the BSDs have getifaddrs().  Use it and save a bunch of complex coding.

3 years agotestsuite output changes resulting
Jeremy Harris [Wed, 17 Mar 2021 00:03:50 +0000 (00:03 +0000)]
testsuite output changes resulting

Broken-by: 649c209e19
3 years agoPipeline QUIT after data
Jeremy Harris [Sun, 14 Mar 2021 20:39:03 +0000 (20:39 +0000)]
Pipeline QUIT after data

3 years agoDebug: tag client SMTP output with buffering qualifier
Jeremy Harris [Thu, 11 Mar 2021 22:44:27 +0000 (22:44 +0000)]
Debug: tag client SMTP output with buffering qualifier

3 years agoFix error messages in dbfn_open
Heiko Schlittermann (HS12-RIPE) [Sun, 14 Mar 2021 11:16:57 +0000 (12:16 +0100)]
Fix error messages in dbfn_open

3 years agoDoc: more explicit hinting on tls_try_verify_hosts.
Jeremy Harris [Wed, 17 Feb 2021 12:40:02 +0000 (13:40 +0100)]
Doc: more explicit hinting on tls_try_verify_hosts.

3 years agoFix uClibc build
Bernd Kuhls [Mon, 8 Mar 2021 12:04:34 +0000 (13:04 +0100)]
Fix uClibc build

structs.h:757:18: error: ‘NS_MAXMSG’ undeclared here (not in a function); did you mean ‘N_MASC’?
   uschar  answer[NS_MAXMSG];      /* the answer itself */

3 years agowip
Jeremy Harris [Wed, 17 Feb 2021 20:00:27 +0000 (20:00 +0000)]
wip

3 years agoRevert "Docs: typos"
Jeremy Harris [Sun, 7 Mar 2021 00:07:24 +0000 (00:07 +0000)]
Revert "Docs: typos"

This reverts commit 1ad20e19a669731c19852c865facabe4816ae4f9.
These are not typos; "provably" is a real word and accurate in context.

3 years agoDocs: typos
Jim Pazarena [Sat, 6 Mar 2021 23:36:27 +0000 (00:36 +0100)]
Docs: typos

3 years agoDocs: fix description of hosts_try_dane. Bug 2704
Jeremy Harris [Sat, 27 Feb 2021 19:01:07 +0000 (19:01 +0000)]
Docs: fix description of hosts_try_dane.  Bug 2704

3 years agoQueryprogram router: call extract fn directly rather than via string-expansion
Jeremy Harris [Wed, 24 Feb 2021 19:31:48 +0000 (19:31 +0000)]
Queryprogram router: call extract fn directly rather than via string-expansion

This is not only safer (vs. unexpected expansions), but more efficient

3 years agoBulid: fix DISABLE_PIPE_CONNECT build. Bug 270333
Jeremy Harris [Tue, 23 Feb 2021 17:32:04 +0000 (17:32 +0000)]
Bulid: fix DISABLE_PIPE_CONNECT build.  Bug 270333

3 years agoFix list-expansion for various domainlists, having included sublist elements. Bug...
Jeremy Harris [Mon, 22 Feb 2021 21:24:01 +0000 (21:24 +0000)]
Fix list-expansion for various domainlists, having included sublist elements.  Bug 2701

3 years agoTestsuite: fix error message. Bug 2700
Jasen Betts [Mon, 22 Feb 2021 13:37:24 +0000 (13:37 +0000)]
Testsuite: fix error message.  Bug 2700

3 years agospamd: Use macro for default priority. Bug 2694
Heiko Schlichting [Fri, 19 Feb 2021 11:18:04 +0000 (11:18 +0000)]
spamd: Use macro for default priority.  Bug 2694

3 years agoUse random_number rather than random, for external server distribution. Bug 2694
Heiko Schlichting [Fri, 19 Feb 2021 11:16:10 +0000 (11:16 +0000)]
Use random_number rather than random, for external server distribution.  Bug 2694

3 years agoFix weight calculation for socks_proxy. Bug 2694
Heiko Schlichting [Fri, 19 Feb 2021 11:14:36 +0000 (11:14 +0000)]
Fix weight calculation for socks_proxy.  Bug 2694

3 years agoFix weight calculation for spamd_address. Bug 2694
Heiko Schlichting [Fri, 19 Feb 2021 11:11:51 +0000 (11:11 +0000)]
Fix weight calculation for spamd_address.  Bug 2694

3 years agoDocs: yet more on $domain_data
Jeremy Harris [Thu, 18 Feb 2021 22:00:46 +0000 (22:00 +0000)]
Docs: yet more on $domain_data

3 years agoDocs: typo
Jim Pazarena [Thu, 18 Feb 2021 21:23:08 +0000 (21:23 +0000)]
Docs: typo

3 years agoDebugging: avoid expansion problem with foolish-length list output
Jeremy Harris [Thu, 18 Feb 2021 21:17:40 +0000 (21:17 +0000)]
Debugging: avoid expansion problem with foolish-length list output

3 years agoTestsuite: when generating a bounce message, allow time for exec to run before before...
Jeremy Harris [Sat, 13 Feb 2021 20:31:44 +0000 (20:31 +0000)]
Testsuite: when generating a bounce message, allow time for exec to run before before feeding the message

This is to keep debug output in similar order on different platforms

3 years agoFix build for platforms not having ulong
Jeremy Harris [Sat, 13 Feb 2021 17:26:14 +0000 (17:26 +0000)]
Fix build for platforms not having ulong

3 years agowip
Jeremy Harris [Mon, 1 Feb 2021 12:51:24 +0000 (12:51 +0000)]
wip

3 years agoDocs: more notes on dnslists
Jeremy Harris [Sat, 13 Feb 2021 15:16:47 +0000 (15:16 +0000)]
Docs: more notes on dnslists

3 years agoFix error codes in ACL-time quota checking
Jeremy Harris [Fri, 12 Feb 2021 17:48:11 +0000 (17:48 +0000)]
Fix error codes in ACL-time quota checking

3 years agoFix FreeBSD 13 build
Jeremy Harris [Fri, 12 Feb 2021 17:40:28 +0000 (17:40 +0000)]
Fix FreeBSD 13 build

3 years agoTestsuite: expand testcase. Bug 2693
Simon Arlott [Mon, 8 Feb 2021 19:04:30 +0000 (19:04 +0000)]
Testsuite: expand testcase.  Bug 2693

3 years agoTestsuite: missing file
Jeremy Harris [Sun, 7 Feb 2021 01:19:24 +0000 (01:19 +0000)]
Testsuite: missing file

Broken-by: d6870e76cf
3 years agoDocs: fix bug reference
Jeremy Harris [Sat, 6 Feb 2021 22:35:01 +0000 (22:35 +0000)]
Docs: fix bug reference

3 years agoFix handling of server which follows a RCPT 452 with a 250. Bug 26092
Jeremy Harris [Sat, 6 Feb 2021 21:46:15 +0000 (21:46 +0000)]
Fix handling of server which follows a RCPT 452 with a 250.  Bug 26092

3 years agoFix daemon-SIGHUP on FreeBSD
Jeremy Harris [Sat, 6 Feb 2021 16:04:24 +0000 (16:04 +0000)]
Fix daemon-SIGHUP on FreeBSD

3 years agoTestsuite: fix testcase for SPF empty-mailfrom-use-helo. Bug 467
Jeremy Harris [Tue, 2 Feb 2021 21:30:56 +0000 (21:30 +0000)]
Testsuite: fix testcase for SPF empty-mailfrom-use-helo.  Bug 467

3 years agogsasl authenticator: support client salted-password caching
Jeremy Harris [Sat, 30 Jan 2021 23:59:18 +0000 (23:59 +0000)]
gsasl authenticator: support client salted-password caching

3 years agoFix Freebsd TFO build
Jeremy Harris [Sun, 31 Jan 2021 13:58:26 +0000 (13:58 +0000)]
Fix Freebsd TFO build

Broken-by: 3eb0bcd7a1
3 years agotidying
Jeremy Harris [Sun, 8 Nov 2020 18:11:56 +0000 (18:11 +0000)]
tidying

3 years agoLookups: fix $local_part_data for a match on a filename list element. Bug 2691
Jeremy Harris [Fri, 29 Jan 2021 16:34:27 +0000 (16:34 +0000)]
Lookups: fix $local_part_data for a match on a filename list element.  Bug 2691

3 years agoAUTH: avoid logging creds on ACL denial
Jeremy Harris [Mon, 25 Jan 2021 14:55:06 +0000 (14:55 +0000)]
AUTH: avoid logging creds on ACL denial

3 years agoTFO: cleanup the TCP pure ack of SMTP banner
Jeremy Harris [Sat, 23 Jan 2021 23:15:58 +0000 (23:15 +0000)]
TFO: cleanup the TCP pure ack of SMTP banner

3 years agoMove QUICKACK disable as early as possible in server handling
Jeremy Harris [Sat, 23 Jan 2021 21:28:28 +0000 (21:28 +0000)]
Move QUICKACK disable as early as possible in server handling

3 years agoFix getting non-TLS QUIT in FIN segment
Jeremy Harris [Fri, 22 Jan 2021 19:58:54 +0000 (19:58 +0000)]
Fix getting non-TLS QUIT in FIN segment

Linux was behaving oddly with the TCP_CORK method, and using MSG_MORE
is one fewer syscall.

3 years agoTLS: on Linux when sockopt TCP_FASTOPEN_CONNECT is available, use TFO for TLS-on...
Jeremy Harris [Thu, 21 Jan 2021 22:02:18 +0000 (22:02 +0000)]
TLS: on Linux when sockopt TCP_FASTOPEN_CONNECT is available, use TFO for TLS-on-connect client connections

3 years ago Avoid bare TCP ACKs during TLS-on-connect startup.
Jeremy Harris [Thu, 21 Jan 2021 17:34:55 +0000 (17:34 +0000)]
Avoid bare TCP ACKs during TLS-on-connect startup.

    We can't get the QUICKACK turned off on the accepted socket fast enough to
    stop the ACK for the ClientHello - but we get the rest, under OpenSSL.

3 years agoTestsuite: TLS server testcase consolidation
Jeremy Harris [Thu, 21 Jan 2021 13:06:31 +0000 (13:06 +0000)]
Testsuite: TLS server testcase consolidation

3 years agoTestsuite: shuffling
Jeremy Harris [Thu, 21 Jan 2021 12:23:41 +0000 (12:23 +0000)]
Testsuite: shuffling

3 years agoTestsuite: TLS client testcase consolidation
Jeremy Harris [Wed, 20 Jan 2021 20:44:21 +0000 (20:44 +0000)]
Testsuite: TLS client testcase consolidation

3 years agoTestsuite: case for TLS client tls-on-connect
Jeremy Harris [Tue, 19 Jan 2021 22:12:16 +0000 (22:12 +0000)]
Testsuite: case for TLS client tls-on-connect

3 years agomalware: use sendfile for ClamAV TCP
Jeremy Harris [Sun, 17 Jan 2021 20:42:10 +0000 (20:42 +0000)]
malware: use sendfile for ClamAV TCP

3 years agoTestsuite: testcase for ClamAV over TCP
Jeremy Harris [Sun, 17 Jan 2021 19:59:51 +0000 (19:59 +0000)]
Testsuite: testcase for ClamAV over TCP

3 years agomalware: fix ClamAV file send corking
Jeremy Harris [Sat, 16 Jan 2021 21:00:34 +0000 (21:00 +0000)]
malware: fix ClamAV file send corking

3 years agodocs infrastructure notes
Jeremy Harris [Sat, 16 Jan 2021 12:59:19 +0000 (12:59 +0000)]
docs infrastructure notes

3 years agoDocs: indexing
Jeremy Harris [Sat, 16 Jan 2021 11:46:56 +0000 (11:46 +0000)]
Docs: indexing

3 years agoHints DB: harden against corrupt files by ignoring unexpected size records
Jeremy Harris [Mon, 11 Jan 2021 19:48:12 +0000 (19:48 +0000)]
Hints DB: harden against corrupt files by ignoring unexpected size records

3 years agoAuths: in plaintext authenticator, fix parsing of consecutive circuflex. Bug 2687
Jeremy Harris [Tue, 12 Jan 2021 15:36:09 +0000 (15:36 +0000)]
Auths: in plaintext authenticator, fix parsing of consecutive circuflex.  Bug 2687

3 years agoDocs: change note
Jeremy Harris [Tue, 12 Jan 2021 15:33:54 +0000 (15:33 +0000)]
Docs: change note

3 years agochannel binding notes
Jeremy Harris [Sun, 10 Jan 2021 20:10:21 +0000 (20:10 +0000)]
channel binding notes

3 years agoUtilities: harden exim_tidydb against corrupt wait-records. Bug 2343
Jeremy Harris [Sat, 9 Jan 2021 13:08:35 +0000 (13:08 +0000)]
Utilities: harden exim_tidydb against corrupt wait-records.  Bug 2343

3 years agoBSD: avoid delay on continued-connection
Jeremy Harris [Mon, 4 Jan 2021 17:59:23 +0000 (17:59 +0000)]
BSD: avoid delay on continued-connection

Broken-by: 6454662ecb
3 years agoAuthenticators: feature handling for upcoming GSASL version
Jeremy Harris [Fri, 1 Jan 2021 17:31:04 +0000 (17:31 +0000)]
Authenticators: feature handling for upcoming GSASL version

3 years agoFreeBSD: packet coalescing
Jeremy Harris [Fri, 1 Jan 2021 14:43:04 +0000 (14:43 +0000)]
FreeBSD: packet coalescing

3 years agomalware: avoid partial packets, sending to ClamAV
Jeremy Harris [Fri, 1 Jan 2021 14:31:14 +0000 (14:31 +0000)]
malware: avoid partial packets, sending to ClamAV

3 years agoFreeBSD: harden against ClamAV connection errors
Jeremy Harris [Fri, 1 Jan 2021 13:25:29 +0000 (13:25 +0000)]
FreeBSD: harden against ClamAV connection errors