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. How to use:

  1. Make sure the first commit on the branch is identical to the patch you were trying to apply.
  2. Read the subsequent commits on the branch to see what we've changed and why.
  3. Diff the branch against master, and apply that patch to notqmail.

notqmail patch branches

Branch Original Patch
notqmail-badmailfrom-wildcard Tom Clegg's badmailfrom wildcard
notqmail-badmailfrom-x-relayclient Jeremy Kitchen's badmailfrom-x-relayclient
notqmail-big-concurrency Johannes Erdfelt's big-concurrency
notqmail-big-todo Russell Nelson's big-todo
notqmail-ext-todo André Opperman's ext_todo or "silly qmail syndrome"
notqmail-smtp-auth Erwin Hoffmann's smtpauth
notqmail-smtp-tls Frederik Vermeulen's qmail-smtp-tls
notqmail-smtpd-logging Andrew Richards' qmail-logmsg
notqmail-smtpd-spf Jana Saout's qmail-spf
qmail-spp-0.42 qmail spp
rcptcheck Jay Soffian's rcptcheck