Heiko Schlittermann (HS12-RIPE) [Wed, 23 Nov 2016 11:02:26 +0000 (12:02 +0100)]
Fix memory leak on (Gnu)TLS close.
This leak doesn't show up under normal operation, as the process
normally dies right after closing the session.
But during callout repetitive TLS sessions are opened and closed from
the same process (the process receiving the message). Depending on
the amount of RAM and the number of callouts the same process does,
this may be a problem. (On an amd64 machine with 4GB RAM, at about 1000
recipients the memory is exhausted.)
Heiko Schlittermann (HS12-RIPE) [Wed, 23 Nov 2016 09:51:51 +0000 (10:51 +0100)]
Fix crash in (Gnu)TLS debug output
Heiko Schlittermann (HS12-RIPE) [Mon, 21 Nov 2016 22:41:16 +0000 (23:41 +0100)]
Testsuite: prepare shadow (vpath) builds
Jeremy Harris [Sat, 19 Nov 2016 20:58:18 +0000 (20:58 +0000)]
Testsuite: fix for not-previously-existing logfile
Jeremy Harris [Sat, 19 Nov 2016 20:44:05 +0000 (20:44 +0000)]
Testsuite: output a machine-readable results summary file
The intent is for finegrain results display in the buildfarm.
Jeremy Harris [Sat, 19 Nov 2016 17:35:12 +0000 (17:35 +0000)]
Testsuite another platform difference in errstr
Jeremy Harris [Sat, 19 Nov 2016 14:11:03 +0000 (14:11 +0000)]
Testsuite: fix platforn TFO nonsupprt munge
Jeremy Harris [Sat, 19 Nov 2016 13:37:02 +0000 (13:37 +0000)]
Testsuite: Munge for platform TFO nonsupport
Jeremy Harris [Tue, 15 Nov 2016 14:32:40 +0000 (14:32 +0000)]
Callout: wait for response to QUIT before closing
Heiko Schlittermann (HS12-RIPE) [Mon, 14 Nov 2016 21:04:17 +0000 (22:04 +0100)]
Testsuite: tidyup runtest (quotes and some my variables)
Heiko Schlittermann (HS12-RIPE) [Mon, 14 Nov 2016 20:18:01 +0000 (21:18 +0100)]
Testsuite: make 4009,4015 independend on user name length
Heiko Schlittermann (HS12-RIPE) [Sat, 12 Nov 2016 12:42:20 +0000 (13:42 +0100)]
Testsuite: Add verbose comments to 5840
Heiko Schlittermann (HS12-RIPE) [Sat, 12 Nov 2016 12:36:38 +0000 (13:36 +0100)]
Testsuite: enable verbose comments
Comments in script files, matching /^###\s/, will be copied
to test-{stdout,err}{,-server}. This is intended to ease the
mapping between error messages (failed comparisons) to the script part,
causing the failure.
Heiko Schlittermann (HS12-RIPE) [Sat, 12 Nov 2016 12:34:22 +0000 (13:34 +0100)]
Testsuite: tidy-up runtest
This will be done step by step, to get a more readable(?)
version. At least the result will be more consistent in coding style
somewhen
Jeremy Harris [Tue, 8 Nov 2016 23:40:09 +0000 (23:40 +0000)]
Tidying: coverity issues
Jeremy Harris [Sun, 13 Nov 2016 16:33:03 +0000 (16:33 +0000)]
OpenSSL 1.1 - update testsuite for retired ciphers
Heiko Schlittermann (HS12-RIPE) [Sat, 12 Nov 2016 21:48:37 +0000 (22:48 +0100)]
Testsuite: Assume '' for missing VERSION_ID
Jeremy Harris [Sat, 12 Nov 2016 20:50:21 +0000 (20:50 +0000)]
OpenLLS 1.1 - Testsuite
Jeremy Harris [Sat, 12 Nov 2016 20:16:31 +0000 (20:16 +0000)]
DANE: Bitrot: Port to OpenSSL >= 1.1.0
Jeremy Harris [Sat, 12 Nov 2016 19:13:25 +0000 (19:13 +0000)]
OpenSSL 1.1 - STORE_CTX accessor functions
Jeremy Harris [Sat, 12 Nov 2016 15:44:51 +0000 (15:44 +0000)]
OpenSSL 1.1 - rework OCSP proof verification at load time in server
Jeremy Harris [Fri, 11 Nov 2016 16:11:00 +0000 (16:11 +0000)]
Revert "Testsuite: tidyup runtest"
This reverts commit
2d47f67729aecd3dcbacdfd303b719893f2d61fa.
Fails on some buildfarm animals (older perl version?); the "r" option on a / edit
Jeremy Harris [Tue, 8 Nov 2016 23:04:56 +0000 (23:04 +0000)]
Testsuite: 4509 independent of calling user
Jeremy Harris [Tue, 8 Nov 2016 22:56:13 +0000 (22:56 +0000)]
Testsuite: 2091,5403 independent of calling user
Heiko Schlittermann (HS12-RIPE) [Tue, 8 Nov 2016 21:28:05 +0000 (22:28 +0100)]
Testsuite: 2191 independend on calling user
Heiko Schlittermann (HS12-RIPE) [Tue, 8 Nov 2016 21:22:11 +0000 (22:22 +0100)]
Testsuite: tidyup runtest
Jeremy Harris [Sun, 6 Nov 2016 23:10:34 +0000 (23:10 +0000)]
Ensure socket is nonblocking before draining. Bug 1914
Jeremy Harris [Sun, 6 Nov 2016 13:56:46 +0000 (13:56 +0000)]
tidying
Heiko Schlittermann (HS12-RIPE) [Fri, 4 Nov 2016 23:57:23 +0000 (00:57 +0100)]
Testsuite: use @ISA instead of 'parent'
Use parent is available on Perl >= 5.10.1, some old CentOS
do not have it.
Heiko Schlittermann (HS12-RIPE) [Fri, 4 Nov 2016 23:50:37 +0000 (00:50 +0100)]
Testsuite: limited support for Content-length:
The simulation of the rspamd protocol needs this, as rspamd-client
sends this Content-length header and newer rspamd-servers
honour this header in favour of a half closed connection.
Heiko Schlittermann (HS12-RIPE) [Fri, 4 Nov 2016 23:49:52 +0000 (00:49 +0100)]
Testsuite: remove \r line endings from script file
Heiko Schlittermann (HS12-RIPE) [Fri, 4 Nov 2016 15:27:50 +0000 (16:27 +0100)]
Testsuite: Update debian8 flavour
Heiko Schlittermann (HS12-RIPE) [Fri, 4 Nov 2016 14:36:50 +0000 (15:36 +0100)]
Testsuite: Add flavour detection
Heiko Schlittermann (HS12-RIPE) [Fri, 4 Nov 2016 14:02:47 +0000 (15:02 +0100)]
Testsuite: fixe lower/upper case fix in OpenSSL munging
Heiko Schlittermann (HS12-RIPE) [Fri, 4 Nov 2016 13:26:35 +0000 (14:26 +0100)]
Add syslog_pid option.
This option suppresses the PID duplication to syslog. As syslog/systemd
add the PID of the logging process automatically.
Heiko Schlittermann (HS12-RIPE) [Fri, 4 Nov 2016 11:02:32 +0000 (12:02 +0100)]
Testsuite: tidyup
Andrew Lewis [Tue, 11 Oct 2016 15:48:23 +0000 (17:48 +0200)]
Do not use shutdown() when talking to rspamd. Fixes 1802
Heiko Schlittermann (HS12-RIPE) [Thu, 3 Nov 2016 23:08:59 +0000 (00:08 +0100)]
Introduce EXIM_BUILD_SUFFIX for src/Makefile and testsuite
This enables parallel builds in a shared directory, if they have
the same os-type and arch-type. Think about EXIM_BUILD_SUFFIX
as 'name of your linux distro'
Heiko Schlittermann (HS12-RIPE) [Thu, 3 Nov 2016 19:19:06 +0000 (20:19 +0100)]
Testsuite: Exim::Runtest uses parent Exporter
Heiko Schlittermann (HS12-RIPE) [Thu, 3 Nov 2016 09:15:16 +0000 (10:15 +0100)]
Testsuite: Add more tests to Exim::Runtest tests
Heiko Schlittermann (HS12-RIPE) [Thu, 3 Nov 2016 09:14:54 +0000 (10:14 +0100)]
Testsuite: Add POD to Exim::Runtest
Heiko Schlittermann (HS12-RIPE) [Thu, 3 Nov 2016 08:45:17 +0000 (09:45 +0100)]
Testsuite: check dynamic port >= 1024 to avoid permission problems
Heiko Schlittermann (HS12-RIPE) [Thu, 3 Nov 2016 08:37:02 +0000 (09:37 +0100)]
Testsuite: move dynamic_socket to Exim::Runtest
Heiko Schlittermann (HS12-RIPE) [Thu, 3 Nov 2016 08:36:25 +0000 (09:36 +0100)]
Testsuite: structure the testsuite test
Heiko Schlittermann (HS12-RIPE) [Wed, 2 Nov 2016 22:19:31 +0000 (23:19 +0100)]
Testsuite: README for t/
Heiko Schlittermann (HS12-RIPE) [Wed, 2 Nov 2016 22:16:49 +0000 (23:16 +0100)]
Testsuite: started t/ to add tests for the testsuite
Jeremy Harris [Wed, 2 Nov 2016 21:30:16 +0000 (21:30 +0000)]
Fix OCSP proof verification for direct-signed proofs. Bug 1909
Jeremy Harris [Wed, 2 Nov 2016 21:25:49 +0000 (21:25 +0000)]
Testsuite: replicate testcases for LE OCSP
Jeremy Harris [Tue, 1 Nov 2016 18:35:39 +0000 (18:35 +0000)]
Testsuite: regen certs, now with additional LetsEncrypt-style OCSP proofs
Jeremy Harris [Sun, 30 Oct 2016 19:05:26 +0000 (19:05 +0000)]
Reverse the scan direction for option-table builtin macros
so that names with substring-names work usefully
Heiko Schlittermann (HS12-RIPE) [Wed, 2 Nov 2016 21:28:18 +0000 (22:28 +0100)]
Testsuite: find a group name if 'mail' is not available.
If the group 'mail' does not exist (as on some *BSD systems),
test 0001 fails. We now use a randomly choosen group, if necessary.
The group name isn't used for anything else than testing the config
file parser.
Heiko Schlittermann (HS12-RIPE) [Tue, 1 Nov 2016 12:58:36 +0000 (13:58 +0100)]
Testsuite: do not attempt to open /dev/tty if in -CONTINUE mode
Jeremy Harris [Sat, 29 Oct 2016 22:06:49 +0000 (23:06 +0100)]
Testsuite: tidying
Jeremy Harris [Sat, 29 Oct 2016 19:51:44 +0000 (20:51 +0100)]
Tidying: coverity issues
Jeremy Harris [Sat, 29 Oct 2016 17:54:49 +0000 (18:54 +0100)]
Fix dns authority-name lookup
Jeremy Harris [Sat, 29 Oct 2016 16:51:38 +0000 (17:51 +0100)]
constification
Jeremy Harris [Sat, 29 Oct 2016 14:22:23 +0000 (15:22 +0100)]
Testsuite: tidying
Jeremy Harris [Sat, 29 Oct 2016 12:35:52 +0000 (13:35 +0100)]
Testsuite: tidying
Jeremy Harris [Sun, 23 Oct 2016 17:15:26 +0000 (18:15 +0100)]
tidying
Jeremy Harris [Tue, 25 Oct 2016 22:48:23 +0000 (23:48 +0100)]
Testsuite: for $parm_hostname use method more similar to readconf() $primary_hostname coding
Jeremy Harris [Tue, 25 Oct 2016 13:59:44 +0000 (14:59 +0100)]
TFO: use IPPROTO_TCP not SOL_TCL for setsockopt, being present on more platforms
Also downgrade errors from panic-log to debug
Jeremy Harris [Tue, 25 Oct 2016 13:58:03 +0000 (14:58 +0100)]
Testsuite: make common-code config usable in non-TLS builds
Phil Pennock [Mon, 24 Oct 2016 01:59:30 +0000 (21:59 -0400)]
Update README.UPDATING; fix typos in ChangeLog/NewStuff
Heiko Schlittermann (HS12-RIPE) [Sun, 23 Oct 2016 21:43:18 +0000 (22:43 +0100)]
Testsuite: account for platforms not supporting TFO, redux
Jeremy Harris [Sun, 23 Oct 2016 16:57:43 +0000 (17:57 +0100)]
TFO: feature advertisement
Jeremy Harris [Sun, 23 Oct 2016 16:23:49 +0000 (17:23 +0100)]
Testsuite: account for platforms not supporting TFO
Jeremy Harris [Sun, 23 Oct 2016 13:09:55 +0000 (14:09 +0100)]
Fix bug with aborted server TLS connection, under GnuTLS
Longstanding, but exposed by
60d10ce
Jeremy Harris [Sat, 22 Oct 2016 21:40:39 +0000 (22:40 +0100)]
TFO: Support compilation on systems which define TCP_FASTOPEN but not MSG_FASTOPEN
RHEL 7.0 does that, oddly
Jeremy Harris [Sat, 22 Oct 2016 20:12:52 +0000 (21:12 +0100)]
Testsuite: Add testcase for GnuTLS disconnect after STARTTLS
Jeremy Harris [Sat, 22 Oct 2016 20:44:46 +0000 (21:44 +0100)]
Testsuite: More help with getting testsuite running
Jeremy Harris [Sat, 22 Oct 2016 13:47:59 +0000 (14:47 +0100)]
tidying
Jeremy Harris [Thu, 20 Oct 2016 23:26:14 +0000 (00:26 +0100)]
TCP Fast Open
Jeremy Harris [Fri, 21 Oct 2016 11:36:55 +0000 (12:36 +0100)]
Expansions: errorcheck use of crypt() in the open-coded version of crypteq/crypt16
Previously, bad arguments crashed under OpenBSD
Jeremy Harris [Wed, 19 Oct 2016 20:55:44 +0000 (21:55 +0100)]
tidying
Jeremy Harris [Thu, 20 Oct 2016 20:49:50 +0000 (21:49 +0100)]
Testsuite: munge for platform errno variance
Heiko Schlittermann (HS12-RIPE) [Thu, 20 Oct 2016 14:53:32 +0000 (16:53 +0200)]
Testsuite: use /usr/bin/env perl to get Perl from $PATH
Some buildfarm animals may have more recent versions of Perl
installed in some directory accessable via $PATH. So we don't hardwire
/usr/bin/perl. (e.g. verily)
Heiko Schlittermann (HS12-RIPE) [Thu, 20 Oct 2016 14:46:10 +0000 (16:46 +0200)]
Testsuite: Add doc for PORT_DYNAMIC
Heiko Schlittermann (HS12-RIPE) [Wed, 19 Oct 2016 22:15:03 +0000 (00:15 +0200)]
Testsuite: cosmetical change
Heiko Schlittermann (HS12-RIPE) [Wed, 19 Oct 2016 22:14:08 +0000 (00:14 +0200)]
Testsuite: Use .editorconfig for test/runtest
Heiko Schlittermann (HS12-RIPE) [Wed, 19 Oct 2016 14:56:37 +0000 (16:56 +0200)]
Testsuite: Add PORT_DYNAMIC (Bug 1775)
This avoids problems on OpenBSD with SO_REUSEADDR.
On OpenBSD SO_REUSEADDR only works if the IP address AND the EUID
of the bind(2) calls match. In 0562 Exim binds to 1225 as euid=0,
in 0564 runtest tries to bind to 01225 as the user running the tests.
Thanks to Kirill Miazine for working this out.
Heiko Schlittermann (HS12-RIPE) [Wed, 19 Oct 2016 21:13:20 +0000 (23:13 +0200)]
Testsuite: Fix IPv4 address detection.
Broken-by: d63a95630
Heiko Schlittermann (HS12-RIPE) [Tue, 18 Oct 2016 20:16:24 +0000 (22:16 +0200)]
Testsuite: Test for existence if 'ip'
Phil Pennock [Wed, 19 Oct 2016 03:22:03 +0000 (23:22 -0400)]
Unbreak build: crypto hdrs not in system includes
If using pkg-config to get the paths for various packages and the crypto
library headers are not in the system headers, then the hash work broke
the Exim build by requiring the CFLAGS manipulation for _all_ builds,
not just the TLS libraries.
Shows up on MacOS where there's a system OpenSSL but not system OpenSSL
headers (because only SecureTransport is supported) and using
brew-installed OpenSSL.
I've also coded the fix for GnuTLS on the same basis, but that's
untested.
Fixes bug 1906
Jeremy Harris [Tue, 18 Oct 2016 22:35:35 +0000 (23:35 +0100)]
Avoid pure-ACK TCP segments during command phase
Heiko Schlittermann (HS12-RIPE) [Sun, 16 Oct 2016 22:14:55 +0000 (00:14 +0200)]
Testsuite: Check version of binary against current git revision
Jeremy Harris [Sun, 16 Oct 2016 18:28:01 +0000 (19:28 +0100)]
Tidying: coverity issues
Jeremy Harris [Sun, 16 Oct 2016 17:08:33 +0000 (18:08 +0100)]
Fix sender-verify callout to not use trigger-message SIZE
Broken-by: 9094b84b4cce
Jeremy Harris [Sun, 16 Oct 2016 15:34:18 +0000 (16:34 +0100)]
Tidying: coverity issues
Jeremy Harris [Sun, 16 Oct 2016 14:29:20 +0000 (15:29 +0100)]
Queuefile: avoid using buffered I/O - no point for a block-copy
and it meant (an admittedly ingnorable) Coverity whine about a FILE leak
Take the oppurtunity to constify a utility function
Heiko Schlittermann (HS12-RIPE) [Sat, 15 Oct 2016 22:26:31 +0000 (00:26 +0200)]
Testsuite: revert some of the modernish Perl constructs
Solaris10 needs to be supported, they use Perl 5.8
Heiko Schlittermann (HS12-RIPE) [Sat, 15 Oct 2016 21:51:43 +0000 (23:51 +0200)]
Testsuite: re-insert munge expression about size/inode
Heiko Schlittermann (HS12-RIPE) [Sat, 15 Oct 2016 21:01:36 +0000 (23:01 +0200)]
Testsuite: detect "hidden" IPs
`ifconfig -a` doesn't show all addresses, it skippes addresses that
do not have a label. `ip a` show even these.
Bonus: some small cosmetical changes to get a more modern Perl
style.
Heiko Schlittermann (HS12-RIPE) [Sat, 15 Oct 2016 20:48:26 +0000 (22:48 +0200)]
Testsuite: stabilize disk space/inode munging
Heiko Schlittermann (HS12-RIPE) [Sat, 15 Oct 2016 20:52:23 +0000 (22:52 +0200)]
Testsuite: add tests/munges for configure owner
Heiko Schlittermann (HS12-RIPE) [Sat, 15 Oct 2016 19:53:47 +0000 (21:53 +0200)]
Include 'Configure owner' in -bV output
Heiko Schlittermann (HS12-RIPE) [Sat, 15 Oct 2016 13:38:21 +0000 (15:38 +0200)]
Testsuite: add clarification about the permissions of the trusted-configs file
Jeremy Harris [Sat, 1 Oct 2016 18:50:24 +0000 (19:50 +0100)]
tidying
Jeremy Harris [Sat, 15 Oct 2016 19:29:30 +0000 (20:29 +0100)]
Queuefile: refactor
Jeremy Harris [Sat, 15 Oct 2016 17:56:16 +0000 (18:56 +0100)]
Testsuite: for queuefile transport, avoid using named-queues as part of test
Also avoid using aux-var as a testing temporary area
Andrew Colin Kissa [Sat, 15 Oct 2016 17:33:31 +0000 (18:33 +0100)]
New: queuefile transport, under EXPERIMENTAL_QUEUEFILE