eQmail 1.09

The response to eQmail-1.08 forces me to improve it and update to the new version eQmail-1.09. Shortening my thoughts there were the following goals:

As a result of these points eQmail-1.09 is still patched conservative. It is well known that many patches can not applied cleanly if other patches are applied already. The qmail-spp patch as fix part of eQmail provides an API for easily calling external programs during the smtp dialogue. This way there can be done tarpitting, greylisting, receipient checks, envelope sender checks (mfcheck), SPF validation and other stuff without patching. Just to mention this here, because it seems not to be known by a lot of people. It depends on the situation also, that some of these functionalities can be done by e.g. Spamdyke (see this article) - btw. eQmail keeps the modularity of qmail and goes close to the original code base. It was clearly deliberated which things should be done and why they are be done.

Download: eqmail-1.09 (sha256sum)

eQmail will be discussed on the openqmail mailing list.

Changes

Maybe somebody is interrested to have a look at these additional tools:

Details

IPv6 implementation

eQmail has now IPv6 support even for remote connections, heavily based on the  qmail-1.03-jms1.7.08-ipv6.patch  by Brandon Turner. This was the main and most important requirement. Due to this it was needed to remove the  qmail-1.03-domainbindings-1.2-20141019.patch  . Remember that IPv6 for incoming connections will be done by tcpserver (or a similar tool).

Authentication and TLS/SSL

eQmail 1.09 was updated to the netqmail-1.06-tls-20151215.patch with some adjustments. Surprisingly this version increases the key sizes which was an important requirement and a projected improvement of eQmail 1.09 too.

The smtp authentication is now qmail-smtpd-auth-0.59 by implementing the submission port feature. It was clearly decided to NOT use a newer authentication patch, because (still keep KISS in mind):

This should not blame anybody or their work in any case! I highly respect the work of others, but keep the right to think by myself and made my own decisions!

Make eQmail-1.09 listen on the submisson port (usually 587) can be done by creating a second instance of  qmail-smtpd  . It should be clear that authentication is required on submission port. The port number can be changed by setting an environment variable  SUBMISSION=<port>  .

TLS required

Basically the idea was “stolen” from the roberto-netqmail-1.06_force-tls.patch by Roberto Puzzanghera ;-). The functionality is a bit different, so it

Hint: By setting TLSREQUIRED through  qmail-spp  therefore it can be changed on-the-fly (this works with some other environment variables too)!

The functionality will be important by using the submission port feature.

qmail-bfrmt plugin

This allows to execute command(s) before qmail-remote will be invoked. It is one more a plugin API. More detailed and separate documentation is available here.

Install/Upgrade

eQmail-1.09 conforms with the traditional routine of qmail:  make  ,  make setup check  and  config/config-fast  . Refer to package documentation or LWQ. Before upgrading it is a good idea always to make a backup of your qmail directory.

Technical notes