Everyone has patches
You've been running qmail, so you've got a local set of patches you rely on. In the years when qmail wasn't being updated, your patches easily applied (and re-applied) to a non-moving target. As notqmail's code evolves, some of your patches will no longer be needed, and others may need to be "rebased" to apply. (Sometimes this is easy and mechanical. Other times it will require deeper understanding of C, Unix, and qmail's design and implementation. In either case, Git can be a helpful tool.)
On balance, over time, we intend to reduce your patch-related maintenance effort. For more about our intent, see #17.
Check our work
Once your patched notqmail is happily compiling, please help it stay
that way: add -DDEPRECATED_FUNCTIONS_REMOVED
to conf-cc
and
report an issue
if the build now fails.
Otherwise, we may unknowingly remove functions your patches are relying on in an upcoming release.
Let us help
For your convenience, we've rebased several popular patches onto notqmail, each on its own git branch:
Branch | Original Patch |
---|---|
big-concurrency | Johannes Erdfelt's big-concurrency |
big-todo | Russell Nelson's big-todo |
dkim | Manvendra Bhangui's dkim |
ext-todo | Claudio Jeker's and André Oppermann's ext-todo (for "silly qmail syndrome") |
maildir-uniqueness | Toby Betts' maildir-uniq |
remote-outgoingip | Sergio Gelato's and Andy Repton's outgoingip |
smtp-auth | Erwin Hoffmann's smtpauth |
smtp-tls | Frederik Vermeulen's qmail-smtp-tls |
smtpd-badmailfrom-wildcard | Tom Clegg's badmailfrom wildcard |
smtpd-badmailfrom-x-relayclient | Jeremy Kitchen's badmailfrom-x-relayclient |
smtpd-logging | Andrew Richards' qmail-logmsg |
smtpd-rcptcheck | Jay Soffian's rcptcheck |
smtpd-spf | Jana Saout's qmail-spf |
smtpd-spp | Paweł Foremski's qmail-spp |
tai-leapsecs | Toby Betts' tai-leapsecs |
How to use:
- Make sure the first commit on the branch is identical to the patch you were trying to apply.
- Read the subsequent commits on the branch to see what we've changed and why.
- Diff the branch against
main
, and apply that patch to notqmail.
Please note that the patch branches are likely to be re-rebased from time to time (for instance, around notqmail release time). Take care when fetching these branches, especially if you have local changes you need to preserve.