Jeremy Harris [Sat, 27 Oct 2018 17:06:42 +0000 (18:06 +0100)]
Testsuite: fix cmdline option for test flavour
Jeremy Harris [Sat, 27 Oct 2018 15:04:43 +0000 (16:04 +0100)]
Testsuite: resulting output changes.
Broken-by: fd3cf78930
Heiko Schlittermann (HS12-RIPE) [Fri, 26 Oct 2018 20:04:24 +0000 (22:04 +0200)]
testsuite: diet for aux-fixed/3000.pl
Jeremy Harris [Thu, 25 Oct 2018 23:41:36 +0000 (00:41 +0100)]
Testsuite: variances for OpenSSL 1.1.1
Jeremy Harris [Tue, 23 Oct 2018 22:45:30 +0000 (23:45 +0100)]
Tidying: char signedness
Jeremy Harris [Tue, 23 Oct 2018 21:25:40 +0000 (22:25 +0100)]
Build: probe for broken poll() timing implementation
Jeremy Harris [Tue, 23 Oct 2018 21:23:56 +0000 (22:23 +0100)]
MacOS: probe for a usable TFO system configuration
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
Jeremy Harris [Sun, 21 Oct 2018 20:59:47 +0000 (21:59 +0100)]
MacOS: fix spurious "child process failure"
Jeremy Harris [Sun, 21 Oct 2018 20:58:31 +0000 (21:58 +0100)]
Debug: provide for SIGALRM tracking
Jeremy Harris [Sat, 20 Oct 2018 20:03:30 +0000 (21:03 +0100)]
Fix bad use of library, copying string over itself
Jeremy Harris [Sat, 20 Oct 2018 20:03:22 +0000 (21:03 +0100)]
tidying
Jeremy Harris [Sat, 20 Oct 2018 19:07:21 +0000 (20:07 +0100)]
Ensure unique message-id even for rejected messages
Jeremy Harris [Sun, 21 Oct 2018 13:01:57 +0000 (14:01 +0100)]
MacOS: fix egid problem
Jeremy Harris [Sun, 14 Oct 2018 21:24:41 +0000 (22:24 +0100)]
MacOS: support large group-membership counts
Jeremy Harris [Sat, 20 Oct 2018 15:21:44 +0000 (16:21 +0100)]
Refactor startup error exits
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.
Jeremy Harris [Sun, 14 Oct 2018 20:37:49 +0000 (21:37 +0100)]
tidying
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.
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.
Jeremy Harris [Sat, 13 Oct 2018 17:18:53 +0000 (18:18 +0100)]
Testsuite: tidying
Jeremy Harris [Fri, 12 Oct 2018 21:19:17 +0000 (22:19 +0100)]
Fix Mac build
Broken-by: 75c121f07a
Jeremy Harris [Fri, 12 Oct 2018 20:15:29 +0000 (21:15 +0100)]
Fix OpenBSD build.
Broken-by: 75c121f07a
Jeremy Harris [Fri, 12 Oct 2018 19:07:44 +0000 (20:07 +0100)]
Increase buffer size used for DNS responses. Bug 2329
Jeremy Harris [Mon, 8 Oct 2018 13:23:38 +0000 (14:23 +0100)]
tidying
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.
Jeremy Harris [Sun, 7 Oct 2018 23:12:08 +0000 (00:12 +0100)]
Debug: output GnuTLS verbose reason for certificate verify refusal
Jeremy Harris [Sat, 6 Oct 2018 22:22:38 +0000 (23:22 +0100)]
Testsuite: more TLSv1.3 handling
Jeremy Harris [Sat, 6 Oct 2018 22:20:07 +0000 (23:20 +0100)]
Docs: tweak ARC description
Jeremy Harris [Sat, 6 Oct 2018 14:32:14 +0000 (15:32 +0100)]
TFO: use enum for client status
Jeremy Harris [Tue, 2 Oct 2018 18:39:55 +0000 (19:39 +0100)]
Debug: noutf8 selector. Bug 2324
Jeremy Harris [Sun, 30 Sep 2018 20:44:29 +0000 (21:44 +0100)]
Testsuite: enhance json extract tests
Jeremy Harris [Sun, 30 Sep 2018 20:42:40 +0000 (21:42 +0100)]
Expansions: fix json extract for de-wrapping nested objects. Bug 2322
Jeremy Harris [Sun, 30 Sep 2018 00:08:51 +0000 (01:08 +0100)]
Expansions: extract methods for JSON objects and arrays. Bug 2282
Jeremy Harris [Sat, 29 Sep 2018 17:52:20 +0000 (18:52 +0100)]
Events: tests. 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
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
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
Jeremy Harris [Sun, 23 Sep 2018 14:44:15 +0000 (15:44 +0100)]
Check return from asprintf()
Jeremy Harris [Sun, 23 Sep 2018 11:07:26 +0000 (12:07 +0100)]
DSN: tescase for ESMTP DSN extension, RCPT options
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.
Jeremy Harris [Fri, 21 Sep 2018 11:40:53 +0000 (12:40 +0100)]
DANE: ignore undersized TLSA records
Jeremy Harris [Fri, 21 Sep 2018 10:07:36 +0000 (11:07 +0100)]
Testsuite: output changes resulting
Jeremy Harris [Fri, 21 Sep 2018 09:14:49 +0000 (10:14 +0100)]
Testsuite: timing change needed for debug changes
Broken-by: 8008accd32
Jeremy Harris [Thu, 20 Sep 2018 17:31:36 +0000 (18:31 +0100)]
Testsuite: handle OpenSSL 1.1.1
Jeremy Harris [Thu, 20 Sep 2018 17:19:33 +0000 (18:19 +0100)]
Builtin macros for OpenSSL options
Jeremy Harris [Wed, 19 Sep 2018 11:26:47 +0000 (12:26 +0100)]
Constification
Jeremy Harris [Wed, 19 Sep 2018 10:28:59 +0000 (11:28 +0100)]
Testsuite: output changes resulting from timing change.
Broken-by: 8008accd32
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.
Jeremy Harris [Tue, 18 Sep 2018 14:05:59 +0000 (15:05 +0100)]
GnuTLS: simplify cert hostname checking
Jeremy Harris [Mon, 17 Sep 2018 16:20:14 +0000 (17:20 +0100)]
Constification
Jeremy Harris [Mon, 17 Sep 2018 15:28:58 +0000 (16:28 +0100)]
DANE: fix TA-mode verify under GnuTLS. Bug 2311
Jeremy Harris [Sun, 16 Sep 2018 23:55:04 +0000 (00:55 +0100)]
Avoid fixed-size buffers for file paths in DB open
Matthias Kurz [Sun, 16 Sep 2018 23:20:24 +0000 (00:20 +0100)]
Events: raise msg:fail:internal & msg:complete for -Mrm. Bug 2310
Jeremy Harris [Sun, 16 Sep 2018 21:40:22 +0000 (22:40 +0100)]
testsuite output changes
Matthias Kurz [Sun, 16 Sep 2018 20:20:44 +0000 (21:20 +0100)]
Fix filter noerror command. Bug 2318
Jeremy Harris [Sun, 16 Sep 2018 19:50:04 +0000 (20:50 +0100)]
Tidying and compiler-silencing
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.
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.
Jeremy Harris [Thu, 13 Sep 2018 16:17:22 +0000 (17:17 +0100)]
Check returncode from SSL_CTX_set_cipher_list()
Phil Pennock [Tue, 11 Sep 2018 00:28:34 +0000 (20:28 -0400)]
Unbreak test 0600 (copy/paste error)
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
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.
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
Jeremy Harris [Thu, 6 Sep 2018 12:18:45 +0000 (13:18 +0100)]
Docs: more indexing of affix-related bits
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).
Jeremy Harris [Fri, 31 Aug 2018 21:41:02 +0000 (22:41 +0100)]
DEBUG: db functions
Jeremy Harris [Wed, 29 Aug 2018 18:10:41 +0000 (19:10 +0100)]
Refactor authenticators API to take an (opaque) smtp connection context
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.
Jeremy Harris [Thu, 23 Aug 2018 11:34:38 +0000 (12:34 +0100)]
Use single-bit fields for file-global flags in smtp_in
Jeremy Harris [Wed, 22 Aug 2018 23:05:28 +0000 (00:05 +0100)]
DMARC: Fix forensic-report envelopes to permit non-null. Bug 1896
Jeremy Harris [Wed, 22 Aug 2018 22:01:53 +0000 (23:01 +0100)]
Fix no-SSL, with-SOCKS build
Jeremy Harris [Wed, 22 Aug 2018 22:01:30 +0000 (23:01 +0100)]
Testsuite: fix CHUNKING tests for no-DKIM build
Jeremy Harris [Wed, 22 Aug 2018 19:46:11 +0000 (20:46 +0100)]
Use single-bit fields for global flags
Jeremy Harris [Wed, 22 Aug 2018 12:20:54 +0000 (13:20 +0100)]
Logging: server pipelining offer but no uptake
Jeremy Harris [Tue, 21 Aug 2018 21:31:27 +0000 (22:31 +0100)]
tidying
Jeremy Harris [Mon, 20 Aug 2018 11:46:16 +0000 (12:46 +0100)]
Builtin macros for log_selector values
Jeremy Harris [Sun, 19 Aug 2018 18:29:30 +0000 (19:29 +0100)]
Tidying: indentation
Jeremy Harris [Sun, 19 Aug 2018 13:53:40 +0000 (14:53 +0100)]
Debug: indent builtin-DB operations
Jeremy Harris [Sat, 18 Aug 2018 18:45:36 +0000 (19:45 +0100)]
Logging: pipelining log_selector
Phil Pennock [Mon, 20 Aug 2018 18:09:14 +0000 (14:09 -0400)]
unbreak test: s/log_write/logwrite/
Phil Pennock [Sat, 18 Aug 2018 02:06:48 +0000 (22:06 -0400)]
UTF8/locale: document constraints on current expansions.
Phil Pennock [Fri, 17 Aug 2018 01:17:32 +0000 (21:17 -0400)]
Fix utf8clean not replacing incomplete final character
Before, it was just dropped, but we document that it's replaced by ?.
Tests updated, manual test-case for -be prompt is:
${utf8clean:${length_1:フィル}}
Jeremy Harris [Sat, 11 Aug 2018 13:45:42 +0000 (14:45 +0100)]
Fix logging all_parents for cutthrough delivery. Bug 2296
Jeremy Harris [Thu, 9 Aug 2018 19:37:42 +0000 (20:37 +0100)]
Fix cutthrough delivery for more than one iteration of address redirection. Bug 2296
Jeremy Harris [Sun, 5 Aug 2018 12:58:40 +0000 (13:58 +0100)]
Docs: add explicit warning on spoolfile formats
Gedalya [Sat, 4 Aug 2018 13:27:46 +0000 (14:27 +0100)]
18N: fix docs for option name. Bug 2246
Incorrect at introduction in
71c158466d.
Jeremy Harris [Sun, 29 Jul 2018 14:27:03 +0000 (15:27 +0100)]
REQUIRETLS: amplify docs discussion
Phil Pennock [Tue, 31 Jul 2018 19:54:17 +0000 (15:54 -0400)]
Make -n work with macros too
Have `exim -n -bP macro FOO` just print the value of the macro `FOO`,
without the `name=` prefix.
This is the same handling as used for option values.
If the invoker asks for multiple macros in one invocation, with `-n`,
then that's their problem.
Jeremy Harris [Sat, 28 Jul 2018 19:48:19 +0000 (20:48 +0100)]
I18N: add a utf8_downconvert option to the smtp transport. Bug 2248
Jeremy Harris [Fri, 27 Jul 2018 16:56:39 +0000 (17:56 +0100)]
Support REQUIRETLS
Jeremy Harris [Fri, 20 Jul 2018 15:19:34 +0000 (16:19 +0100)]
Fix non-EVENTS build
Broken-by: c4b57fddca
Jeremy Harris [Wed, 18 Jul 2018 22:13:54 +0000 (23:13 +0100)]
Testsuite: restore rspamd testcase
Missed from
611b1961b8.
Jeremy Harris [Wed, 18 Jul 2018 21:59:14 +0000 (22:59 +0100)]
I18N: reject SMTPUTF8 MAIL command when facility not advertised
Jeremy Harris [Wed, 18 Jul 2018 21:16:38 +0000 (22:16 +0100)]
I18N: Fix protocol recorded for a multi-SMTPUTF8-message connection. Bug 2287
Jeremy Harris [Wed, 18 Jul 2018 20:44:56 +0000 (21:44 +0100)]
Docs: clarify rolled-up dkim status availability in data ACL
Phil Pennock [Fri, 13 Jul 2018 16:24:26 +0000 (12:24 -0400)]
doc: DANE: don't claim TA can be elided from chain
While technically an implementation can choose to use a public TA from
DNS or elsewhere to populate a missing TA from the chain, that creates
interoperability issues and the OpenSSL integration code, at least,
doesn't support that and after a bit of work drilling through layers of
abstraction, I've not figured out what GnuTLS does and I've decided I
don't care.
So I'm heeding Viktor's advice and changing the docs to just say to
publish the TA in the chain sent by the server.
Phil Pennock [Wed, 11 Jul 2018 00:16:23 +0000 (20:16 -0400)]
nit typo
Phil Pennock [Tue, 10 Jul 2018 18:35:58 +0000 (14:35 -0400)]
Document problems with SHA-1 in certs with DANE-TA
Very few domains are using SHA-1 in EE certs issued from a CA used in
DANE-TA anchoring, but some are. Meanwhile apparently GnuTLS now
defaults to disabling SHA-1 in chains. Which is eminently reasonable.
I do not believe that Exim should re-enable use of SHA-1 here. Let it
die. Document with warnings that folks using a private CA for certs to
be publicly trusted via DANE-TA should follow decent operational
issuance practices.
Also update my Channel Binding docs for GSASL to warn that Channel
Binding is Broken™.
Jeremy Harris [Thu, 28 Jun 2018 21:07:28 +0000 (22:07 +0100)]
Callouts: enhance debug message