Skip to content

Latest commit

 

History

History
54 lines (43 loc) · 3.67 KB

patches.md

File metadata and controls

54 lines (43 loc) · 3.67 KB

[[!meta title="Patches"]]

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 [[!template id=issue number=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:

[[!table data=""" Branch | Original Patch [[!template id=patch name=big-concurrency]] | Johannes Erdfelt's big-concurrency [[!template id=patch name=big-todo]] | Russell Nelson's big-todo [[!template id=patch name=dkim]] | Manvendra Bhangui's dkim [[!template id=patch name=ext-todo]] | Claudio Jeker's and André Oppermann's ext-todo (for "silly qmail syndrome") [[!template id=patch name=maildir-uniqueness]] | Toby Betts' maildir-uniq [[!template id=patch name=remote-outgoingip]] | Sergio Gelato's and Andy Repton's outgoingip [[!template id=patch name=smtp-auth]] | Erwin Hoffmann's smtpauth [[!template id=patch name=smtp-tls]] | Frederik Vermeulen's qmail-smtp-tls [[!template id=patch name=smtpd-badmailfrom-wildcard]] | Tom Clegg's badmailfrom wildcard [[!template id=patch name=smtpd-badmailfrom-x-relayclient]] | Jeremy Kitchen's badmailfrom-x-relayclient [[!template id=patch name=smtpd-logging]] | Andrew Richards' qmail-logmsg [[!template id=patch name=smtpd-rcptcheck]] | Jay Soffian's rcptcheck [[!template id=patch name=smtpd-spf]] | Jana Saout's qmail-spf [[!template id=patch name=smtpd-spp]] | Paweł Foremski's qmail-spp [[!template id=patch name=tai-leapsecs]] | Toby Betts' tai-leapsecs """]]

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 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.