anti-RFE

From: Daniel Black <daniel.subs_at_internode.on.net>
Date: Sun, 27 Jun 2010 15:06:29 +1000

Early on, in dkim-milter/opendkim features were added for probably some not so
common causes. This has increases our user base at the expense of code
complexity. The additions of lua, dataset abstraction and
SigningTable/KeyTable has created a very generic interface. The generic
interfaces can do some of what has already been added as features earlier.

I propose that we look through the less significant features we have an replace
them with lua script if possible, and if not, look at expanding the lua
interfaces in a generic way to support them.

Increasing the simplicity of the code make it more appealing to use. Even some
of the below items I've suggested moving to a lua script will be more readable
as an lua script that a config option I suspect.

As a first rough cut:

ADSPNoSuchDomain - could be done in lua with a
odkim.get_policy=DKIMF_POLICY_NXDOMAIN comparison

AllowSHA1Only - is this still needed?

AuthservIDWithJobID -needed as option? can this just default to true?

BodyLengths - probably on the lower priority list of things to remove.

BodyLengthDBFile - was designed to do l= for mailing lists. Once SF #2964366
is done this should be an easy lua.

DontSignMailTo - seems like a simple lua script

ExemptDomains - seems like it can be done in lua with the right logic.
I assume this is done it lua with a odkim.set_result(ctx,SMFIS_ACCEPT).

IdentityHeader/IdentityHeaderRemove - could be scriptable. needs
odkim.sig_setidentity function though

LocalADSP - probably useful as a config option even though it is scriptable

MaximumSignedBytes - still useful? Missing lua function to implement there
however.

Minimum - looks like an advanced filter function.

POPDBFile - with luadb access this could be done in lua. Seems like an
advanced option to me.

Quarantine - can "quarantine" be added to the accept,discard,tempfail,reject
list of options associated with On-* ?

ReplaceRules - seems like an advanced option. It was also suggested to me that
adding a [listid] to a subject line may improve acceptance. Needs lua function
for it though.

RemoveARFrom - is this is still desired? remove_header is missing from lua.

RemoveOldSignatures - is this still desired?

Reputation* - is this something that is advanced scripting? While there is an
add_header function is adding a AR header a worthy function to introduce?

SelectorHeader/SelectorHeaderRemove - seems like advanced functionality

SenderHeaders - what was the purpose here?

SubDomains - sounds like something that can be done with regex

TrustSignaturesFrom - I'm a little unsure what this is but is seems like
something a advanced lua script should do.

VBR* - seem like Reputation* as an advanced selection criteria.
a generic DNS interface and async callback is probably desirable

Even if these don't end up being removed having lua scripts by comparison will
demonstrate the flexibility of options available to the user.
Received on Sun Jun 27 2010 - 05:07:34 PST

This archive was generated by hypermail 2.3.0 : Mon Oct 29 2012 - 23:32:53 PST