exim.git
5 years agoFix growable-string sprintf
Jeremy Harris [Thu, 15 Nov 2018 18:55:51 +0000 (18:55 +0000)]
Fix growable-string sprintf

Broken-by d12746bc15

5 years agoOpenBSD: bump dns-result buffer to 64kB
Jeremy Harris [Thu, 15 Nov 2018 17:21:45 +0000 (17:21 +0000)]
OpenBSD: bump dns-result buffer to 64kB

This just to take out a difference in testsuite behaviour.  Builds
for memory-constrained devices could legitimately use 16kB.

5 years agoRecast more internal string routines to use growable-strings
Jeremy Harris [Wed, 14 Nov 2018 22:32:58 +0000 (22:32 +0000)]
Recast more internal string routines to use growable-strings

5 years agotidying
Jeremy Harris [Wed, 14 Nov 2018 20:22:50 +0000 (20:22 +0000)]
tidying

5 years agoDocs: Add cross-refs for $h_<name>
Jeremy Harris [Tue, 13 Nov 2018 11:50:40 +0000 (11:50 +0000)]
Docs: Add cross-refs for $h_<name>

5 years agoTestsuite: account for hostname-dependent output in debug output
Jeremy Harris [Sun, 11 Nov 2018 18:30:22 +0000 (18:30 +0000)]
Testsuite: account for hostname-dependent output in debug output

5 years agoTestsuite: fix testcases for /etc/services not having smtps
Jeremy Harris [Sun, 11 Nov 2018 18:16:29 +0000 (18:16 +0000)]
Testsuite: fix testcases for /etc/services not having smtps

5 years agoDocs: add notes on smtps
Jeremy Harris [Sun, 11 Nov 2018 18:08:05 +0000 (18:08 +0000)]
Docs: add notes on smtps

5 years agoTestsuite: increase retry time (for really slow test host)
Jeremy Harris [Sat, 10 Nov 2018 20:37:31 +0000 (20:37 +0000)]
Testsuite: increase retry time (for really slow test host)

5 years agoTestsuite: avoid time-quantization issue
Jeremy Harris [Fri, 9 Nov 2018 19:56:32 +0000 (19:56 +0000)]
Testsuite: avoid time-quantization issue

5 years agoTestsuite: avoid time-quantization issue
Jeremy Harris [Fri, 9 Nov 2018 17:12:09 +0000 (17:12 +0000)]
Testsuite: avoid time-quantization issue

5 years agoTestsuite: check for conflicting host name
Jeremy Harris [Thu, 8 Nov 2018 12:58:27 +0000 (12:58 +0000)]
Testsuite: check for conflicting host name

5 years agotidying
Jeremy Harris [Sat, 27 Oct 2018 16:03:09 +0000 (17:03 +0100)]
tidying

5 years agoFix build on FreeBSD 11
Jeremy Harris [Tue, 6 Nov 2018 16:00:26 +0000 (16:00 +0000)]
Fix build on FreeBSD 11

5 years agoTestsuite: rework testcases for DSN RCPT options
Jeremy Harris [Tue, 6 Nov 2018 15:18:05 +0000 (15:18 +0000)]
Testsuite: rework testcases for DSN RCPT options

5 years agoMacOS: fix build
Jeremy Harris [Mon, 5 Nov 2018 18:51:16 +0000 (18:51 +0000)]
MacOS: fix build

Broken-by: ee8b809061
5 years agoFix mis-merge
Jeremy Harris [Mon, 5 Nov 2018 18:26:18 +0000 (18:26 +0000)]
Fix mis-merge

Broken-by ee8b809061

5 years agoUnbreak non-PIPE_CONNECT build
Jeremy Harris [Mon, 5 Nov 2018 17:11:27 +0000 (17:11 +0000)]
Unbreak non-PIPE_CONNECT build

Broken-by: ee8b809061
5 years agoSquashed commit of PIPE_CONNECT
Jeremy Harris [Sat, 3 Nov 2018 23:13:34 +0000 (23:13 +0000)]
Squashed commit of PIPE_CONNECT

5 years agoMacOS: TCP Fast Open
Jeremy Harris [Tue, 30 Oct 2018 22:09:15 +0000 (22:09 +0000)]
MacOS: TCP Fast Open

5 years agoTestsuite: adjust for 64b-int compatability
Jeremy Harris [Tue, 30 Oct 2018 18:43:34 +0000 (18:43 +0000)]
Testsuite: adjust for 64b-int compatability

5 years agoTestsuite: more detail in dsearch testcase output
Jeremy Harris [Tue, 30 Oct 2018 14:00:24 +0000 (14:00 +0000)]
Testsuite: more detail in dsearch testcase output

5 years agoTestsuite: ignore TCP Fast Open probe debug output
Jeremy Harris [Tue, 30 Oct 2018 13:59:18 +0000 (13:59 +0000)]
Testsuite: ignore TCP Fast Open probe debug output

5 years agoIncrease size of variables for check_spool_space and check_log_space
Jeremy Harris [Sun, 21 May 2017 13:09:43 +0000 (14:09 +0100)]
Increase size of variables for check_spool_space and check_log_space

5 years agoAvoid trying to talk TLS over a known-closed channel
Jeremy Harris [Sat, 27 Oct 2018 18:28:03 +0000 (19:28 +0100)]
Avoid trying to talk TLS over a known-closed channel

5 years agoTestsuite: fix cmdline option for test flavour
Jeremy Harris [Sat, 27 Oct 2018 17:06:42 +0000 (18:06 +0100)]
Testsuite: fix cmdline option for test flavour

5 years agoTestsuite: resulting output changes.
Jeremy Harris [Sat, 27 Oct 2018 15:04:43 +0000 (16:04 +0100)]
Testsuite: resulting output changes.

Broken-by: fd3cf78930
5 years agotestsuite: diet for aux-fixed/3000.pl
Heiko Schlittermann (HS12-RIPE) [Fri, 26 Oct 2018 20:04:24 +0000 (22:04 +0200)]
testsuite: diet for aux-fixed/3000.pl

5 years agoTestsuite: variances for OpenSSL 1.1.1
Jeremy Harris [Thu, 25 Oct 2018 23:41:36 +0000 (00:41 +0100)]
Testsuite: variances for OpenSSL 1.1.1

5 years agoTidying: char signedness
Jeremy Harris [Tue, 23 Oct 2018 22:45:30 +0000 (23:45 +0100)]
Tidying: char signedness

5 years agoBuild: probe for broken poll() timing implementation
Jeremy Harris [Tue, 23 Oct 2018 21:25:40 +0000 (22:25 +0100)]
Build: probe for broken poll() timing implementation

5 years agoMacOS: probe for a usable TFO system configuration
Jeremy Harris [Tue, 23 Oct 2018 21:23:56 +0000 (22:23 +0100)]
MacOS: probe for a usable TFO system configuration

5 years agoTestsuite: fix debug stream munging for non-autocreate DBM variants, and for no TFO...
Jeremy Harris [Sun, 21 Oct 2018 22:37:14 +0000 (23:37 +0100)]
Testsuite: fix debug stream munging for non-autocreate DBM variants, and for no TFO support

5 years agoMacOS: fix spurious "child process failure"
Jeremy Harris [Sun, 21 Oct 2018 20:59:47 +0000 (21:59 +0100)]
MacOS: fix spurious "child process failure"

5 years agoDebug: provide for SIGALRM tracking
Jeremy Harris [Sun, 21 Oct 2018 20:58:31 +0000 (21:58 +0100)]
Debug: provide for SIGALRM tracking

5 years agoFix bad use of library, copying string over itself
Jeremy Harris [Sat, 20 Oct 2018 20:03:30 +0000 (21:03 +0100)]
Fix bad use of library, copying string over itself

5 years agotidying
Jeremy Harris [Sat, 20 Oct 2018 20:03:22 +0000 (21:03 +0100)]
tidying

5 years agoEnsure unique message-id even for rejected messages
Jeremy Harris [Sat, 20 Oct 2018 19:07:21 +0000 (20:07 +0100)]
Ensure unique message-id even for rejected messages

5 years agoMacOS: fix egid problem
Jeremy Harris [Sun, 21 Oct 2018 13:01:57 +0000 (14:01 +0100)]
MacOS: fix egid problem

5 years agoMacOS: support large group-membership counts
Jeremy Harris [Sun, 14 Oct 2018 21:24:41 +0000 (22:24 +0100)]
MacOS: support large group-membership counts

5 years agoRefactor startup error exits
Jeremy Harris [Sat, 20 Oct 2018 15:21:44 +0000 (16:21 +0100)]
Refactor startup error exits

5 years agoTestsuite: force non-TLSv1.3 for (OpenSSL) cert-variable test
Jeremy Harris [Tue, 16 Oct 2018 22:54:28 +0000 (23:54 +0100)]
Testsuite: force non-TLSv1.3 for (OpenSSL) cert-variable test
This maintains visibility of the cert choice required by the auth-method configuration.

Leave the bogus results from pre-1.1.1 OpenSSL library bug while the fixed version is not in common use.

5 years agotidying
Jeremy Harris [Sun, 14 Oct 2018 20:37:49 +0000 (21:37 +0100)]
tidying

5 years agoTestsuite: client script faciility for handling optional reponses
Jeremy Harris [Sun, 14 Oct 2018 14:22:32 +0000 (15:22 +0100)]
Testsuite: client script faciility for handling optional reponses

Use this to deal with fallout from TLS negotiation failure, where the
server sees leftover encrypted data as garbage commands.

5 years agoOpenSSL: Enhance connect/accept-time debug
Jeremy Harris [Sun, 14 Oct 2018 14:21:08 +0000 (15:21 +0100)]
OpenSSL: Enhance connect/accept-time debug

Also, use safer interface for error-strings.

5 years agoTestsuite: tidying
Jeremy Harris [Sat, 13 Oct 2018 17:18:53 +0000 (18:18 +0100)]
Testsuite: tidying

5 years agoFix Mac build
Jeremy Harris [Fri, 12 Oct 2018 21:19:17 +0000 (22:19 +0100)]
Fix Mac build

Broken-by: 75c121f07a
5 years agoFix OpenBSD build.
Jeremy Harris [Fri, 12 Oct 2018 20:15:29 +0000 (21:15 +0100)]
Fix OpenBSD build.

Broken-by: 75c121f07a
5 years agoIncrease buffer size used for DNS responses. Bug 2329
Jeremy Harris [Fri, 12 Oct 2018 19:07:44 +0000 (20:07 +0100)]
Increase buffer size used for DNS responses.  Bug 2329

5 years agotidying
Jeremy Harris [Mon, 8 Oct 2018 13:23:38 +0000 (14:23 +0100)]
tidying

5 years agoRename smtp.client-ip to smtp.remote-ip
Phil Pennock [Fri, 12 Oct 2018 17:35:00 +0000 (13:35 -0400)]
Rename smtp.client-ip to smtp.remote-ip

This tracks changes in the ARC draft.

The Received-SPF headers remain unchanged.

5 years agoDebug: output GnuTLS verbose reason for certificate verify refusal
Jeremy Harris [Sun, 7 Oct 2018 23:12:08 +0000 (00:12 +0100)]
Debug: output GnuTLS verbose reason for certificate verify refusal

5 years agoTestsuite: more TLSv1.3 handling
Jeremy Harris [Sat, 6 Oct 2018 22:22:38 +0000 (23:22 +0100)]
Testsuite: more TLSv1.3 handling

5 years agoDocs: tweak ARC description
Jeremy Harris [Sat, 6 Oct 2018 22:20:07 +0000 (23:20 +0100)]
Docs: tweak ARC description

5 years agoTFO: use enum for client status
Jeremy Harris [Sat, 6 Oct 2018 14:32:14 +0000 (15:32 +0100)]
TFO: use enum for client status

5 years agoDebug: noutf8 selector. Bug 2324
Jeremy Harris [Tue, 2 Oct 2018 18:39:55 +0000 (19:39 +0100)]
Debug: noutf8 selector.  Bug 2324

5 years agoTestsuite: enhance json extract tests
Jeremy Harris [Sun, 30 Sep 2018 20:44:29 +0000 (21:44 +0100)]
Testsuite: enhance json extract tests

5 years agoExpansions: fix json extract for de-wrapping nested objects. Bug 2322
Jeremy Harris [Sun, 30 Sep 2018 20:42:40 +0000 (21:42 +0100)]
Expansions: fix json extract for de-wrapping nested objects.  Bug 2322

5 years agoExpansions: extract methods for JSON objects and arrays. Bug 2282
Jeremy Harris [Sun, 30 Sep 2018 00:08:51 +0000 (01:08 +0100)]
Expansions: extract methods for JSON objects and arrays.  Bug 2282

5 years agoEvents: tests. Bug 2322
Jeremy Harris [Sat, 29 Sep 2018 17:52:20 +0000 (18:52 +0100)]
Events: tests.  Bug 2322

5 years agoEvents: Fire msg:fail:internal for a non-system filter "fail" command. Bug 2322
Matthias Kurz [Fri, 28 Sep 2018 22:05:02 +0000 (23:05 +0100)]
Events:  Fire msg:fail:internal for a non-system filter "fail" command.  Bug 2322

5 years agoEvents: Fire msg:fail:delivery event even when error is being ignored. Bug 2314
Matthias Kurz [Fri, 28 Sep 2018 18:04:55 +0000 (19:04 +0100)]
Events:  Fire msg:fail:delivery event even when error is being ignored.  Bug 2314

5 years agoLogging: do not log a missing proxy address, on delivery non-proxied.
Jeremy Harris [Wed, 26 Sep 2018 09:59:05 +0000 (10:59 +0100)]
Logging: do not log a missing proxy address, on delivery non-proxied.

Broken-by: e6d2a9894d
5 years agoCheck return from asprintf()
Jeremy Harris [Sun, 23 Sep 2018 14:44:15 +0000 (15:44 +0100)]
Check return from asprintf()

5 years agoDSN: tescase for ESMTP DSN extension, RCPT options
Jeremy Harris [Sun, 23 Sep 2018 11:07:26 +0000 (12:07 +0100)]
DSN: tescase for ESMTP DSN extension, RCPT options

5 years agoOpenSSL: Check return value from X509_NAME_oneline(). Bug 2316
Jeremy Harris [Fri, 21 Sep 2018 17:01:57 +0000 (18:01 +0100)]
OpenSSL: Check return value from X509_NAME_oneline().  Bug 2316

It didn't used to be documented as possibly returning NULL, but now it is.

5 years agoDANE: ignore undersized TLSA records
Jeremy Harris [Fri, 21 Sep 2018 11:40:53 +0000 (12:40 +0100)]
DANE: ignore undersized TLSA records

5 years agoTestsuite: output changes resulting
Jeremy Harris [Fri, 21 Sep 2018 10:07:36 +0000 (11:07 +0100)]
Testsuite: output changes resulting

5 years agoTestsuite: timing change needed for debug changes
Jeremy Harris [Fri, 21 Sep 2018 09:14:49 +0000 (10:14 +0100)]
Testsuite: timing change needed for debug changes

Broken-by: 8008accd32
5 years agoTestsuite: handle OpenSSL 1.1.1
Jeremy Harris [Thu, 20 Sep 2018 17:31:36 +0000 (18:31 +0100)]
Testsuite: handle OpenSSL 1.1.1

5 years agoBuiltin macros for OpenSSL options
Jeremy Harris [Thu, 20 Sep 2018 17:19:33 +0000 (18:19 +0100)]
Builtin macros for OpenSSL options

5 years agoConstification
Jeremy Harris [Wed, 19 Sep 2018 11:26:47 +0000 (12:26 +0100)]
Constification

5 years agoTestsuite: output changes resulting from timing change.
Jeremy Harris [Wed, 19 Sep 2018 10:28:59 +0000 (11:28 +0100)]
Testsuite: output changes resulting from timing change.

Broken-by: 8008accd32
5 years agoTestsuite: track newer GnuTLS behaviour
Jeremy Harris [Tue, 18 Sep 2018 17:02:48 +0000 (18:02 +0100)]
Testsuite: track newer GnuTLS behaviour

We have lost one log line, for a ciphers-negotiation failure on an early
host in a list from routing.  We still get something indicative if the
last one fails, so I'm going to let this pass.
Test 2025 will fail on earlier GnuTLS library versions as a result.

NONE no longer works as documented, in priority string for GnuTLS.

5 years agoGnuTLS: simplify cert hostname checking
Jeremy Harris [Tue, 18 Sep 2018 14:05:59 +0000 (15:05 +0100)]
GnuTLS: simplify cert hostname checking

5 years agoConstification
Jeremy Harris [Mon, 17 Sep 2018 16:20:14 +0000 (17:20 +0100)]
Constification

5 years agoDANE: fix TA-mode verify under GnuTLS. Bug 2311
Jeremy Harris [Mon, 17 Sep 2018 15:28:58 +0000 (16:28 +0100)]
DANE: fix TA-mode verify under GnuTLS.  Bug 2311

5 years agoAvoid fixed-size buffers for file paths in DB open
Jeremy Harris [Sun, 16 Sep 2018 23:55:04 +0000 (00:55 +0100)]
Avoid fixed-size buffers for file paths in DB open

5 years agoEvents: raise msg:fail:internal & msg:complete for -Mrm. Bug 2310
Matthias Kurz [Sun, 16 Sep 2018 23:20:24 +0000 (00:20 +0100)]
Events: raise msg:fail:internal & msg:complete for -Mrm.  Bug 2310

5 years agotestsuite output changes
Jeremy Harris [Sun, 16 Sep 2018 21:40:22 +0000 (22:40 +0100)]
testsuite output changes

5 years agoFix filter noerror command. Bug 2318
Matthias Kurz [Sun, 16 Sep 2018 20:20:44 +0000 (21:20 +0100)]
Fix filter noerror command.  Bug 2318

5 years agoTidying and compiler-silencing
Jeremy Harris [Sun, 16 Sep 2018 19:50:04 +0000 (20:50 +0100)]
Tidying and compiler-silencing

5 years agotests: propagate CPPFLAGS into build invocations
Phil Pennock [Sat, 15 Sep 2018 00:55:33 +0000 (20:55 -0400)]
tests: propagate CPPFLAGS into build invocations

With openssl installed by brew on macOS, OpenSSL headers are not in a
normal place.  I can fiddle with LDFLAGS/CPPFLAGS to get them available,
but then the `./configure` step succeeds and build fails.

Propagating the CPPFLAGS into the generated Makefile lets the build
succeed and we get a `client-ssl` binary output.

5 years agoRestore Darwin OS configuration
Phil Pennock [Fri, 14 Sep 2018 17:43:02 +0000 (13:43 -0400)]
Restore Darwin OS configuration

MacStadium are providing us with free Mac Mini hosting as part of their
FOSS support.  I'm about to set it up.  Let's have out-of-repo tuning in
place before I begin.

5 years agoCheck returncode from SSL_CTX_set_cipher_list()
Jeremy Harris [Thu, 13 Sep 2018 16:17:22 +0000 (17:17 +0100)]
Check returncode from SSL_CTX_set_cipher_list()

5 years agoUnbreak test 0600 (copy/paste error)
Phil Pennock [Tue, 11 Sep 2018 00:28:34 +0000 (20:28 -0400)]
Unbreak test 0600 (copy/paste error)

5 years agoDocs: document ancillary info for more event types. Bug 2313
Matthias Kurz [Mon, 10 Sep 2018 13:40:38 +0000 (14:40 +0100)]
Docs: document ancillary info for more event types.  Bug 2313

Patch from Matthias, with additional code indentation tweaks from JGH

5 years agodocs: unbreak spec build
Phil Pennock [Mon, 10 Sep 2018 02:24:39 +0000 (22:24 -0400)]
docs: unbreak spec build

I've created a homebrew tap with sdop and xfpt in it, so I can install
those more easily on macOS in the future, and now have bothered actually
building the docs.  `.url()` should have been `&url()` in two places.

The `make spec.pdf` pipeline yields a document where those are not
clickable links, but if i use `make spec.ps` and let macOS auto-convert
to PDF upon open, those are proper clickable hyperlinks.  So this switch
is definitely for the better.

5 years agoDANE - testcase for fail under GnuTLS with TA-mode to a selfsigned server cert
Jeremy Harris [Sat, 8 Sep 2018 18:31:49 +0000 (19:31 +0100)]
DANE - testcase for fail under GnuTLS with TA-mode to a selfsigned server cert

5 years agoDocs: more indexing of affix-related bits
Jeremy Harris [Thu, 6 Sep 2018 12:18:45 +0000 (13:18 +0100)]
Docs: more indexing of affix-related bits

5 years agoFix broken doc links and http→https where possible
Phil Pennock [Fri, 7 Sep 2018 17:56:27 +0000 (13:56 -0400)]
Fix broken doc links and http→https where possible

I got a cookie-cutter email from folks noting the modssl.org doc links
were broken and asking us to use their site instead, which was both
helpful and a rather heavy page with advertising on it, so not something
I want our docs to link to.

Fixed the modssl link to point to the correct current Apache docs, since
mod_ssl has not been a separate project for … a very long time.

Audited every `http:` link in the Spec, replacing with https if
available, updating URLs as needed, or trimming deadwood as appropriate.
This did edit one license text, but in a way which I believe is
reasonable and in the license holder's best interests.

* Use comments with a datestamp for any remaining http: URLs, showing
  when they were last audited
* Suggest migrating away from Berkeley DB.
* Drop mention of a patched `pam_unix` module which is no longer available.
* In revamping the CDB tools links, add my own tools.
* Redo the intro text for the mod_ssl stuff (first person voice of PH).
* Rescorla's book's online examples appear to be gone; drop mention of
  them and point to Ristić's more recent book too.
* Point to wikipedia list of DNSxL services as an overview, in part
  because I dropped the reference to the defunct rfc-ignorant.org and
  there was no good candidate as an exemplar for domain-based lists.
* Note that mksd is a candidate for removal from Exim since mks_vir
  is dead.
* Drop LogReport/lire reference (dead/gone and can't find it).
* Redo proxy protocol spec-linking text.
* Replace FAQ A1701 with text saying "don't do that" (self-signed certs)
  and just telling people to use a CA instead, pointing strongly to
  Let's Encrypt.  We did nobody any favors with that old text still
  being present today (it was entirely appropriate when written).

5 years agoDEBUG: db functions
Jeremy Harris [Fri, 31 Aug 2018 21:41:02 +0000 (22:41 +0100)]
DEBUG: db functions

5 years agoRefactor authenticators API to take an (opaque) smtp connection context
Jeremy Harris [Wed, 29 Aug 2018 18:10:41 +0000 (19:10 +0100)]
Refactor authenticators API to take an (opaque) smtp connection context

5 years agoDo not use arc4random_stir() directly (Bug 2304)
Xin Li [Mon, 27 Aug 2018 09:32:51 +0000 (11:32 +0200)]
Do not use arc4random_stir() directly (Bug 2304)

arc4random_stir should not be used directly (it's fully automated after
FreeBSD r227520, or approximately __FreeBSD_version 1000002), the
interface will be removed from FreeBSD soon (bugs.freebsd.org/230756).

Patch was from bugs.freebsd.org/230826.

5 years agoUse single-bit fields for file-global flags in smtp_in
Jeremy Harris [Thu, 23 Aug 2018 11:34:38 +0000 (12:34 +0100)]
Use single-bit fields for file-global flags in smtp_in

5 years agoDMARC: Fix forensic-report envelopes to permit non-null. Bug 1896
Jeremy Harris [Wed, 22 Aug 2018 23:05:28 +0000 (00:05 +0100)]
DMARC: Fix forensic-report envelopes to permit non-null.  Bug 1896

5 years agoFix no-SSL, with-SOCKS build
Jeremy Harris [Wed, 22 Aug 2018 22:01:53 +0000 (23:01 +0100)]
Fix no-SSL, with-SOCKS build

5 years agoTestsuite: fix CHUNKING tests for no-DKIM build
Jeremy Harris [Wed, 22 Aug 2018 22:01:30 +0000 (23:01 +0100)]
Testsuite: fix CHUNKING tests for no-DKIM build

5 years agoUse single-bit fields for global flags
Jeremy Harris [Wed, 22 Aug 2018 19:46:11 +0000 (20:46 +0100)]
Use single-bit fields for global flags

5 years agoLogging: server pipelining offer but no uptake
Jeremy Harris [Wed, 22 Aug 2018 12:20:54 +0000 (13:20 +0100)]
Logging: server pipelining offer but no uptake