chiark / gitweb /
summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Mark Wooding [Mon, 28 Sep 2015 09:19:17 +0000 (10:19 +0100)]
user-spam.m4: Look up spam limit for lots of recipient.
If the envelope recipient has been changed by forwarding or aliasing
then look up a spam limit using all of the recipient addresses
available to us at the time.
This is particularly important for users of forwarding services such
as that provided by `odin.gg'.
Mark Wooding [Mon, 28 Sep 2015 09:14:02 +0000 (10:14 +0100)]
spam.m4, user-spam.m4 (COMPATIBILITY): Don't split out prefix/suffix.
Don't pass the local-part prefix and suffix as separate items to the
spam-limit lookups. This doesn't affect the plain file lookup, but it
does change the userv interface, which nobody is currently using.
Mark Wooding [Sun, 27 Sep 2015 22:49:32 +0000 (23:49 +0100)]
base.m4: Slacken off local submission processing some more.
We're already allowing arbitrary envelope senders. Now don't clobber
the `Sender' header.
Mark Wooding [Thu, 24 Sep 2015 22:35:28 +0000 (23:35 +0100)]
lists.m4: Jaguar has a proper certificate now.
Mark Wooding [Thu, 16 Jul 2015 20:34:01 +0000 (21:34 +0100)]
Add warning headers directly.
This means we have to stop renaming them. But if we don't do this then
we can't test the headers in the spam filter.
Mark Wooding [Thu, 16 Jul 2015 20:33:11 +0000 (21:33 +0100)]
defs.m4: Remove spurious initial space.
Mark Wooding [Sat, 20 Jun 2015 16:54:00 +0000 (17:54 +0100)]
config.m4: Allow relaying by chiark over the VPN.
Mark Wooding [Sun, 14 Jun 2015 12:54:40 +0000 (13:54 +0100)]
exchange.m4: Rename X-Distorted-... headers in messages from outside.
They're quite possibly misleading. I don't think there's much harm
which can be done by adding extra X-Distorted-Warning headers, but
certainly we don't want anyone confusing things by adding their own
X-Distorted-SpamAssassin-... headers. (That won't affect the server's
assessment of spamminess in any obvious way, but the purpose of the
header is to give user filters something to act on, so it's important
that they use the true header rather than the wrong one.)
Mark Wooding [Sun, 14 Jun 2015 12:51:55 +0000 (13:51 +0100)]
Delay ACL header edits until transport time.
Don't use the `add_header' ACL control any more. Instead, just
accumulate the desired header additions and removals in variables, and
apply them at transport time.
This way, the headers we see in the message are the unmodified ones, as
the message was originally given to us. We can therefore apply header
/removals/ (which aren't allowed in ACLs, so have to be delayed to
routing/transport time) coherently, without the risk of clobbering
the headers we've added ourselves.
Mark Wooding [Sun, 14 Jun 2015 12:46:06 +0000 (13:46 +0100)]
defs.m4: RENAME_HEADERS_ADD doesn't need separators.
Indeed, everything works much better if we agree to terminate header
lines with a newline rather than separate them.
Mark Wooding [Sat, 13 Jun 2015 23:55:41 +0000 (00:55 +0100)]
Add config variable for the ...-Distorted-... token in headers.
Mark Wooding [Sat, 13 Jun 2015 23:47:59 +0000 (00:47 +0100)]
defs.m4, local.m4: Abstract out machinery for header-renaming lists.
We're going to be renaming some more headers soon...
Mark Wooding [Sat, 13 Jun 2015 10:16:33 +0000 (11:16 +0100)]
spam.m4: Rename X-SpamAssassin-* headers to X-Distorted-SpamAssassin-*.
This makes them less confusing because other mailservers attach their
own SpamAssassin reports.
Mark Wooding [Mon, 1 Jun 2015 01:43:47 +0000 (02:43 +0100)]
base.m4: Only get picky about HELO hostnames from external servers.
Mark Wooding [Mon, 1 Jun 2015 01:24:55 +0000 (02:24 +0100)]
base.m4: Allow arbitrary claimed envelope and header senders.
Mark Wooding [Sun, 31 May 2015 15:48:45 +0000 (16:48 +0100)]
Give up on checking claimed sender addresses.
I'm told that it's more hassle than its worth. I can track down
forgeries sufficiently well by staring at Received headers and staring
at logs.
Mark Wooding [Fri, 10 Apr 2015 14:19:25 +0000 (15:19 +0100)]
Allow satellite hosts to do alias processing.
* Do smarthost relaying after alias processing, by adding a new
diversion for it, rather than reusing the `routers/remote'
diversion.
* Move alias processing to `base.m4', and include a new diversion for
additional options.
* Have `satellite.m4' attach a `domains' condition to the alias
processing, so that we only do this for more-or-less local
addresses.
Mark Wooding [Tue, 12 May 2015 08:37:56 +0000 (09:37 +0100)]
lists.m4: Carve out the administratively anomalous hosts from +allnets.
Now jaguar and richmond can send us mail without a complete disaster
ensuing.
Mark Wooding [Mon, 4 May 2015 10:01:14 +0000 (11:01 +0100)]
local.m4: Rename headers with special significance to Dovecot.
Mark Wooding [Mon, 4 May 2015 10:00:46 +0000 (11:00 +0100)]
defs.m4: New macros for inserting separators into lists.
Mark Wooding [Mon, 4 May 2015 10:00:12 +0000 (11:00 +0100)]
defs.m4: Fix commentary, and add missing descriptions.
Mark Wooding [Sat, 2 May 2015 17:36:18 +0000 (18:36 +0100)]
Makefile: Include satellite rewrite rule in service-host configurations.
Locally-directed mail will need to go to the main hub, and we'll have to
trim off the local hostname to make that happen.
Mark Wooding [Thu, 2 Apr 2015 01:35:19 +0000 (02:35 +0100)]
exchange.m4, lists.m4: Standard routing for `service=no' domains.
Domains listed in `domains.conf' with `service = false' or similar get
the standard routing arrangements, and aren't subject to virtual-host
processing.
Mark Wooding [Thu, 2 Apr 2015 00:00:47 +0000 (01:00 +0100)]
Makefile: New configuration flavour for service-only mailservers.
Mark Wooding [Thu, 2 Apr 2015 00:00:26 +0000 (01:00 +0100)]
base.m4: Exim wants `::0' rather than `::' as the magic IPv6 wildcard.
Mark Wooding [Wed, 1 Apr 2015 18:16:07 +0000 (19:16 +0100)]
config.m4, exchange.m4, lists.m4: Allow optout from serving main domain.
This is useful for hosts which provide external mail service for
special subdomains, but don't provide service for local users.
Mark Wooding [Wed, 1 Apr 2015 18:14:40 +0000 (19:14 +0100)]
Makefile, spam.m4, user-spam.m4: Put user limit config in its own file.
Mark Wooding [Thu, 29 Jan 2015 16:52:17 +0000 (16:52 +0000)]
base.m4, config.m4: Define `trusted_users'.
Mark Wooding [Sat, 20 Dec 2014 19:57:25 +0000 (19:57 +0000)]
Merge branch 'master' of git.distorted.org.uk:~mdw/publish/public-git/exim-config
* 'master' of git.distorted.org.uk:~mdw/publish/public-git/exim-config:
README: Add a bunch of technical documentation.
Mark Wooding [Sat, 20 Dec 2014 19:33:59 +0000 (19:33 +0000)]
README: Add a bunch of technical documentation.
Mark Wooding [Sat, 20 Dec 2014 13:40:23 +0000 (13:40 +0000)]
Merge branch 'master' of git.distorted.org.uk:~mdw/publish/public-git/exim-config
* 'master' of git.distorted.org.uk:~mdw/publish/public-git/exim-config:
base.m4: New `senders' entry in `domains.conf'.
base.m4: Missing subsection name.
spam.m4: No, we can't check domains in the DATA ACL.
spam.m4: Allow virtual domains to opt out of spam checking.
Mark Wooding [Sat, 20 Dec 2014 13:21:58 +0000 (13:21 +0000)]
base.m4: Use certlists including the issuer, rather than bare certificates.
These work better with DANE TLSA records, coming soon. (Maybe.)
Mark Wooding [Sun, 20 Jul 2014 13:53:18 +0000 (14:53 +0100)]
base.m4: New `senders' entry in `domains.conf'.
This is a get-out-of-gaol card for sending domains too badly
misconfigured to manage a valid DNS A or MX record.
Mark Wooding [Sun, 20 Jul 2014 13:53:18 +0000 (14:53 +0100)]
base.m4: Missing subsection name.
Mark Wooding [Wed, 14 May 2014 08:54:56 +0000 (09:54 +0100)]
spam.m4: No, we can't check domains in the DATA ACL.
Whoops. We've been deferring for a while. This is quite bad.
Mark Wooding [Mon, 12 May 2014 19:04:00 +0000 (20:04 +0100)]
spam.m4: Allow virtual domains to opt out of spam checking.
Mark Wooding [Sun, 4 May 2014 21:30:12 +0000 (22:30 +0100)]
base.m4: `helo.conf' entries are `;'-separated.
Mark Wooding [Sat, 3 May 2014 14:04:39 +0000 (15:04 +0100)]
vhost.m4: Configurable spam limit in virtual hosts.
Mark Wooding [Sat, 3 May 2014 14:03:36 +0000 (15:03 +0100)]
spam.m4: Refactor routers with macros.
Split the big router into two separate ones. Arrange that routers don't
set a spam limit if there's already one set (so the first one wins!).
Mark Wooding [Sat, 3 May 2014 14:02:26 +0000 (15:02 +0100)]
config.m4, spam.m4: Hack in configurable Userv options.
Mainly useful so that you can say `--spoof-user Debian-exim' when
testing.
Mark Wooding [Sat, 3 May 2014 12:24:32 +0000 (13:24 +0100)]
spam.m4: The ${run ...} expansion doesn't do PATH lookup.
So we must do this ourselves.
Mark Wooding [Sat, 3 May 2014 12:23:20 +0000 (13:23 +0100)]
spam.m4: Quote the arguments to the Userv service properly.
The Exim specification lies about how ${run ...} works. We have to fix
this in post-production.
Mark Wooding [Tue, 22 Apr 2014 17:18:03 +0000 (18:18 +0100)]
base.m4: Overhaul the relay-permission check.
Don't provide public service to all domains in `domains.conf': check the
`service' property to see whether it should be allowed.
Mark Wooding [Sat, 5 Apr 2014 08:58:02 +0000 (09:58 +0100)]
New file `auth-sender.conf' lists extra allowed senders for users.
This is an escape hatch I'm not using yet.
Mark Wooding [Fri, 4 Apr 2014 18:32:14 +0000 (19:32 +0100)]
base.m4: Check that the ident daemon actually gave us an answer.
Mark Wooding [Tue, 25 Mar 2014 11:48:54 +0000 (11:48 +0000)]
base.m4: Simplify the bare `smtp' router.
It's no longer generated with the `SMTP_TRANS_DHBITS' macro. Since it's
only used when the recipient domain is unknown, the various tunable
parameters are never actually tuned.
This has another happy effect: it bodges around Exim bug #1413.
Mark Wooding [Wed, 19 Mar 2014 16:18:12 +0000 (16:18 +0000)]
base.m4, vhost.m4: Very hacky DH field-size limitation.
We can't set `tls_dh_min_bits' from an expansion. So set up multiple
transports for different thresholds.
Mark Wooding [Tue, 18 Mar 2014 16:32:42 +0000 (16:32 +0000)]
auth.m4, base.m4: Client authentication machinery.
If the server knows secrets for authenticating to a remote server, it
can use them.
Mark Wooding [Mon, 17 Mar 2014 21:30:57 +0000 (21:30 +0000)]
base.m4: Tweakable TLS parameters in `smtp' transport.
Now we can designate particular hosts as requiring TLS, with proper
certificate checking and maybe client certification. No SMTP client
authentication yet.
Mark Wooding [Mon, 17 Mar 2014 21:25:54 +0000 (21:25 +0000)]
base.m4, exchange.m4: Move TLS tweaks to `base.m4'.
Non-hub hosts want this so that they can receive mail for local users.
Mark Wooding [Mon, 17 Mar 2014 21:18:16 +0000 (21:18 +0000)]
vhost.m4: Use `;' to separate hostnames in `route' entries.
Mark Wooding [Mon, 17 Mar 2014 09:55:41 +0000 (09:55 +0000)]
base.m4, exchange.m4: Improve key/value syntax in warnings.
Only just noticed `HELO name=...' which is awful; change to
`helo-name=...'. Also, kill the separating commas.
Mark Wooding [Sun, 16 Mar 2014 14:06:27 +0000 (14:06 +0000)]
auth.m4, base.m4, lists.m4: Allow local submission to port 25.
Extend the current rules for submission to localhost port 25 to all of
the host's local addresses. The server won't try to talk to itself on
this port, so this is sensible, and there's probably crappy software out
there which assume that it works.
Mark Wooding [Sun, 16 Mar 2014 14:05:25 +0000 (14:05 +0000)]
base.m4: Don't report HELO host expicitly.
Exim will report it for us if it's anomalous. (And we'll add a fearsome
warning banner about it.)
Mark Wooding [Sun, 16 Mar 2014 14:04:00 +0000 (14:04 +0000)]
auth.m4, base.m4, exchange.m4: Make sender-address checking universal.
Previously, satellite hosts weren't doing this at all, and usersat hosts
were doing it half-heartedly. Make sure that everyone does it.
Mark Wooding [Sun, 16 Mar 2014 12:54:46 +0000 (12:54 +0000)]
sat-rewrite.m4: On satellite hosts, rewrite ADDR@HOST.distorted.org.uk.
These addresses are simply wrong, but stamping out programs which try to
issue them one by one is too difficult.
Mark Wooding [Thu, 6 Mar 2014 01:59:29 +0000 (01:59 +0000)]
divmap.m4, lists.m4, vhost.m4: End-stop for required local parts.
We really want to support `postmaster' and `abuse' (any maybe other
local parts which every domain should have), so send them to the
domain owner if nobody has accepted them already.
This involves moving the end-stop for `final' domains into a separate
router, which is a little strange in its configuration, but it does
the job.
Mark Wooding [Thu, 6 Mar 2014 01:52:39 +0000 (01:52 +0000)]
divmap.m4: Move descriptions over by a tab stop.
We have some longer names coming.
Mark Wooding [Thu, 6 Mar 2014 01:54:33 +0000 (01:54 +0000)]
vhost.m4: Refactor virtual host routing some more.
Move the does-this-key-exist condition out of the `VHOST' macro and
into `VHOST_FILTER'. Alas, this means we must repeat the logic for
the `virtual_route' router. But we can take the opportunity to elide
the unnecessary existence checks for the domain keys we just tested in
the router conditions.
Also, switch the arguments to `VHOST_FILTER' around. I think they
make more sense like this.
Mark Wooding [Thu, 6 Mar 2014 02:03:28 +0000 (02:03 +0000)]
vhost.m4: Rename `route' to `virtual_route'.
The old name was just way too generic.
Mark Wooding [Wed, 5 Mar 2014 17:36:22 +0000 (17:36 +0000)]
Change how filtering routers work.
Commit
e7b830e7... was overzealous. In particular, it took the
`alias' router from working. Take out `verify = false' from the
`FILTER_TRANSPORT' options, and replace this with a macro
`FILTER_ROUTER' which generates a verify/delivery router pair with the
right stuff in.
This change also introduces verification-time processing for
`~/.mail/forward' and `~/.forward' files, since that's easy and
possibly useful.
Mark Wooding [Sun, 2 Mar 2014 20:26:47 +0000 (20:26 +0000)]
base.m4: Remove spaces around `=' signs in BADHELO warning.
Makes things easier to parse.
Mark Wooding [Sun, 23 Feb 2014 13:56:02 +0000 (13:56 +0000)]
base.m4: Remove <...> from envelope sender address in Received lines.
Mark Wooding [Wed, 12 Feb 2014 12:52:41 +0000 (12:52 +0000)]
vhost.m4: Add transports to the live filter routers.
Mark Wooding [Wed, 12 Feb 2014 12:52:11 +0000 (12:52 +0000)]
base.m4 (FILTER_TRANSPORTS): Don't use these when verifying.
Exim gets very upset.
Mark Wooding [Tue, 4 Feb 2014 18:04:52 +0000 (18:04 +0000)]
base.m4: Fix received line to report HELO names properly.
Mark Wooding [Mon, 3 Feb 2014 15:35:04 +0000 (15:35 +0000)]
base.m4: More subtle handling of HELO greetings.
Rather than rejecting incorrect HELO greetings, we make two adjustments:
* There's now an auxiliary list, `helo.conf', of manually provided
exceptions, for well-known and basically honest hosts which are just
misconfigured.
* A failure to provide a correct HELO greeting now results in a
BADHELO warning header rather than an immediate rejection.
SpamAssassin has been configured to notice these headers and assign
points for them, because they do seem to be a good indicator of
spamminess.
Mark Wooding [Mon, 3 Feb 2014 15:33:56 +0000 (15:33 +0000)]
exchange.m4: Add the relevant information to `RCLNTLSNDR' warnings.
As a general rule, extra data goes on a subsequent line, as
comma-separated KEY=VALUE pairs.
Mark Wooding [Mon, 3 Feb 2014 15:31:08 +0000 (15:31 +0000)]
config.m4, base.m4: Make the `admin_groups' setting a config knob.
It wants to be overridden in testing.
Mark Wooding [Mon, 3 Feb 2014 15:09:02 +0000 (15:09 +0000)]
spam.m4: Don't bother reading custom spam limits in submission mode.
Mark Wooding [Tue, 28 Jan 2014 02:00:41 +0000 (02:00 +0000)]
README: More or less complete.
Mark Wooding [Sun, 26 Jan 2014 16:02:56 +0000 (16:02 +0000)]
config.m4: List `+' suffixes first.
Otherwise `foo+ping-pong' gets delivered to `foo+ping' with suffix
`-pong', which is obviously silly. Maybe we need to do something
cleverer, but this will do for now.
Mark Wooding [Sun, 26 Jan 2014 16:02:17 +0000 (16:02 +0000)]
spam.m4: Allow negative thresholds.
Mark Wooding [Sun, 26 Jan 2014 16:01:17 +0000 (16:01 +0000)]
spam.m4: Check that non-userv spam thresholds are well-formed.
Both are untrustworthy sources.
Mark Wooding [Sun, 26 Jan 2014 15:53:10 +0000 (15:53 +0000)]
local.m4: Switch `aliases' file to `nwildlsearch' and expand the result.
Makes the file much more versatile.
Mark Wooding [Sun, 26 Jan 2014 13:49:48 +0000 (13:49 +0000)]
vhost.m4: New virtual hosting knobs in `domains.conf'.
`final' is a boolean indicating whether local parts should be looked
up using the system-global rules.
`home' is a home directory to set, which is useful if filter files are
being used.
Mark Wooding [Sun, 26 Jan 2014 13:19:42 +0000 (13:19 +0000)]
spam.m4: Don't check submitted messages.
Also, factor out the `do we check this' logic into a separate ACL,
because I got confused during testing and only modified one copy.
Mark Wooding [Sun, 26 Jan 2014 13:05:32 +0000 (13:05 +0000)]
base.m4, exchange.m4, config.m4: Tweak TLS settings.
Mobile devices object to (a) lack of SHA1, (b) lack of TLSv1.0, and (c)
very large (as they see it) Diffie--Hellman groups. Fix these things,
grudgingly.
Mark Wooding [Sun, 26 Jan 2014 05:25:32 +0000 (05:25 +0000)]
base.m4: Get the `authenticated_sender' rune right.
Mark Wooding [Sun, 26 Jan 2014 05:24:15 +0000 (05:24 +0000)]
exchange.m4, config.m4: Arrange to listen on the submission port.
This involves mentioning the SMTP port too, so add a configuration knob
for it.
Mark Wooding [Sun, 26 Jan 2014 05:23:33 +0000 (05:23 +0000)]
base.m4: Twiddle received lines.
Now we don't have the version comment on its own line if we received
with TLS. The code's a bit uglier (because of the repeated
${if def:tls_cipher ...}) but the output is much neater.
Mark Wooding [Sat, 25 Jan 2014 19:59:43 +0000 (19:59 +0000)]
spam.m4: Don't filter messages intended for post
Mark Wooding [Sat, 25 Jan 2014 19:57:53 +0000 (19:57 +0000)]
auth.m4: Ensure that `not_smtp_start' is properly terminated.
ACLs default to `deny' if you don't say anything. It doesn't actually
matter in this case, since the result of `acl_not_smtp_start' is
ignored, but it's the principle of the thing.
Mark Wooding [Sat, 25 Jan 2014 19:53:01 +0000 (19:53 +0000)]
lists.m4: Need separate local-part and address lists for `user_extaddr'.
Since named lists of different types live in separate namespaces, we
have to duplicate. This is a little annoying.
Mark Wooding [Sat, 25 Jan 2014 15:02:25 +0000 (15:02 +0000)]
spam.m4: Fix report generation to cope with negative scores.
Oops!
Mark Wooding [Sat, 25 Jan 2014 14:33:06 +0000 (14:33 +0000)]
spam.m4: Fiddle with blank lines.
Remove a spurious one; put another in.
Mark Wooding [Sat, 25 Jan 2014 14:21:16 +0000 (14:21 +0000)]
base.m4: Fiddle with permissions settings for local delivery transports.
Mark Wooding [Sat, 25 Jan 2014 14:20:51 +0000 (14:20 +0000)]
base.m4: Allow `adm' users to administrate the server.
Mark Wooding [Sat, 25 Jan 2014 13:48:19 +0000 (13:48 +0000)]
vhost.m4: Don't crash if `domains.conf' doesn't exist.
Mark Wooding [Sat, 25 Jan 2014 13:36:05 +0000 (13:36 +0000)]
Makefile: Verify configurations before installing them.
Since we can't always verify them at the origin, this seems like an
important way of avoiding screwing things up badly.
Mark Wooding [Sat, 25 Jan 2014 13:34:05 +0000 (13:34 +0000)]
Makefile: Remove old debugging rule.
Shouldn't have been committed in the first place.
Mark Wooding [Fri, 10 Jan 2014 11:28:46 +0000 (11:28 +0000)]
exchange.m4: Reluctantly accept local senders from remote clients.
Mark Wooding [Fri, 10 Jan 2014 11:27:26 +0000 (11:27 +0000)]
spam.m4: Apply Exim's header validation to incoming messages.
Mark Wooding [Fri, 10 Jan 2014 11:27:07 +0000 (11:27 +0000)]
base.m4: Add some commentary to the `connect-tail' ACL portion.
Mark Wooding [Fri, 10 Jan 2014 11:26:27 +0000 (11:26 +0000)]
Makefile: Improve commentary.
Mark Wooding [Sun, 29 Dec 2013 20:02:14 +0000 (20:02 +0000)]
Makefile: Better `install' targets, with hostnames only.
Including the config mode just makes the user interface awful.
Mark Wooding [Sun, 29 Dec 2013 19:39:09 +0000 (19:39 +0000)]
Initial commit.