Everyone has patches

You've been running qmail, so you've got a local set of patches you rely on. Your patches will mostly continue to apply to notqmail. (See #17 for more about our intent.) As notqmail gains features, you'll need fewer patches.

notqmail might break patches by mistake

If your local patches apply, but compiling fails, it might be due to a deprecated function. Add -DDEPRECATED_FUNCTIONS_AVAILABLE to conf-cc and try again. If this makes your build succeed, we need to know! Please file an issue with the build error you had seen and the patch(es) involved.

Everyone maintains patches

When qmail stopped being updated, your patches stopped needing updating. As notqmail's code evolves, your local patches may need to be "rebased". 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.

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-dns-oversize Christopher K. Davis's oversize DNS packet
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