eQmail 1.08
Whenever I have to compile qmail from source, I was struggling to search, download and apply needed patches. So I decided to move forward to eQmail as a new version of (net)qmail source code. The new version should have the needed patches included (e.g. the  exit.h 
issue), provide smtp and remote authentication with TLS, have some helpful patches (e.g. for better smtp logging) and last but not least the qmail-spp patch for smtp plugins. Beside this functionality it could be a new base to adapt and apply further patches.
The decision which patches to use was done along my needs. For a better understanding - a typical qmail environment of me uses spamdyke, courier-imap, cmd5checkpw, procmail and clamav. There is a mail relay for incoming mails before (always) and quite often a mail relay where outgoing mails will be forwarded to. Authentication is implemented and needed always. As qmail can handle virtual domains/users there was never seen a need for e.g. vpopmail by me, as well as I have some scripts which can handle qmail and courier-imap users together. I did exclude deliberately some other additional software packages from my environments too - won't refer to them here.
qmail Today
The last release of netqmail was in 2007. For some people it seems that qmail is dead because of this. On the other side are active developed packages, mainly spamdyke moves the usage of qmail to an up-to-date level. Beside to mention that smtp authentication including TLS can be done by spamdyke for qmail, it is not the place to talk about spamdyke here. Nevertheless qmail still works great as MTA and patches provides functionality of newer RfC's. Support of IPv6 can be patched too, but I prefer to use IPv6 tunneling in such cases. And if you have used qmail really, then no other MTA should be satisfactory perhaps.
Name and versioning
The e should stand for extended. Otherwise it could be a reminiscence to Gentoo tools also. Related with the new name, the version number should show that the base was netqmail-1.06, but it is not netqmail-1.07. I don't expect that netqmail will be released in a new version, nevertheless the 1.08 should show the - more or less - independent progress.
The Patches
The existing patches for (net)qmail are some times incompatible together as well there are different patches for one solution. It is mentioned to use the really needed patches only, because of possible bugs. Starting over from netqmail-1.06 I applied the following groups of patches:
Base Patches
These patches slightly changes things to - let's say this way - make qmail work/compile with modern software:
- 1.06-exit.patch
- 1.06-readwrite.patch
- 1.03-qmail.patch
- 1.06-fbsd-utmpx.patch
Authentication
The tls-smtpauth patch, combined by Bill Shupp and mentioned here by Russel Nelson, and a bugfix (VU#555316) of the tls implementation:
- netqmail-1.05-tls-smtpauth-20070417.patch
- vu555316.patch (original download)
For remote authentication I used the following one, provided by “sonni” at the Gentoo buglists:
All these patches until here are available and taken from Gentoo portage and other Gentoo resources.
Should-Have Patches
The next patches make things smoother or prevent trouble:
- any-to-cname.patch (by Jonathan de Boyne Pollard, explanation see here)
- qmail-badmailfrom-wildcard.patch (by Tom Clegg, see here)         adjusted
- big-todo.103.patch
- qmail-date-localtime.patch
- qmail-spp-smtpauth-tls-20060105.diff (see here)        Create the file
 smtpplugins 
during installation!!! - qmail-1.03-domainbindings-1.2.patch (see here, consult the man page of how to use it)        adjusted
- rfc2821-combined-20150305.patch 3)         adjusted
- logging-4.patch by Kyle Wheeler /* Added code for hunks 2-4 by hand! */         adjusted
/* ToDo: (?)
- qmail-1.03-mfcheck.3.patch by jms (not applied yet!)
- ext-todo-20030105.patch        needs adjustment
*/
Epilog
Thanks to all who did work at qmail source code and yield good stuff. I see them all mostly at a higher level of (net)(q)mail as me . Changes made by me are documented in the package.
I don't plan to extend the package - at least at the moment. The qmail-spp patch gives an easy way to implement additional functionality without patching everything. By oneself the source code of qmail-smtpd.c was grown from 11351 to 32578 bytes.
Download latest: eqmail-1.08.1 (md5sum, sha256sum)
eQmail will be discussed on the openqmail mailing list.
Other links
Comments
@Mike: Sure, but for some reasons I decided not to use it. One is that qmail-spp plugins makes it quite easier IMHO to enable/disable/extend functionality - without do re-patch, re-compile and re-install. I am working on more documentation of eqmail, which will explain the background why I do the things like I do. Regards Kai
Hi,
Did you ever look at the combined patch set from John Simpson (https://qmail.jms1.net/)?
The patch is available at: https://qmail.jms1.net/patches/combined.shtml For an overview of patches included: https://qmail.jms1.net/patches/combined-details.shtml
Looking forward to hearing from you.
Regards, Mike