Version 1. My patch is the union of several patchs of qmail-1.03, upgraded for netqmail-1.05. To install, get netqmail 1.05, my patch V1 and then set it up: mkdir -p /usr/src/qmailsource/patches cd /usr/src/qmailsource wget http://qmail.org/netqmail-1.05.tar.gz cd /usr/src/qmailsource/patches wget http://www.linuxti.pro.br/patches/netqmail-1.05-but3k4-V1.patch cd /usr/src/qmailsource tar -xzf netqmail-1.05.tar.gz cd netqmail-1.05 ./collate.sh cd netqmail-1.05 patch -p0 < ../../patches/netqmail-1.05-but3k4-V1.patch make setup check follows below the patches list: - big-concurrency.patch: Allows qmail to use a concurrency greater than 240 (current qmail limit). It has been reported to work well in almost all environments and might be handy if you are expecting high volumes of mail traffic. - big-todo.103.patch: creates sub directories under the qmail/queue/todo directory. This helps on installations where the not yet preprocessed queue size gets large. By Dave Smith (update for qmail-1.03), Bruce Guenter (qmail-qstat update), and Russel Nelson. - ext_todo-20030105.patch: André Oppermann updated his ext-todo patch which solves the 'silly qmail syndrome'. That's where qmail spends more time processing incoming email than scheduling deliveries. - netqmail-maildir++.patch: his patch adds maildirquota (Maildir++) support to qmail-pop3d and qmail-local. It was created because when vpopmail switched to maildirquotas, a user's quota usage was not decreased after deleting mail via qmail-pop3d. - patch-qmail-1.03-rfc2821.diff: This patch changes qmail-remote to skip over MX servers that greet with codes 4xx or 5xx and try the next MX for real RFC-2821 compliance (Sendmail and Postfix do that). - qmail-1.03-dns.patch: Christopher Davis's oversize DNS patch - it makes qmail accept oversized DNS packets. If you do not want some of the legitimate mail to get lost, I would recommend you to use this patch. - qmail-1.03-mfcheck.4.patch: A lot of spammers use fake domain names in their messages - this patch checks if the domain in "from" field exists. If it doesn't, the email simply gets rejected. The default is off. To enable, usage: echo 1 > /var/qmail/control/mfcheck - qmail-badrcptto.patch: Lets you reject e-mail at the smtp envelope (rcpt) phase, which can produce a considerable bandwidth saving when a lot of e-mail is directed at non-existing users. Instead of receiving the body of the e-mail and then rejecting it in qmail-send, you can reject it before receiving the body. This can be very useful in a setup where you have one qmail box accepting all the e-mail, which then passes it on to another (q)mail box behind it. Usage: echo "user@domain.com" >> /var/qmail/control/badrcptto - qmail-bounce.patch: Here is a little patch by Frank DENIS aka Jedi/Sector One to limit the size of bounces. The default limit for bounces is 50000 bytes, but you can create a file in /var/qmail/control/bouncemaxbytes (or wherever your control directory is) in order to change that number. - qmail-canonical.rcpt.patch: The qmail-remote log only show the RCPT TO address before canonicalisation. This patch adds real name logging. - qmail-date-localtime.patch: John Saunders has patch to date822fmt.c which causes it to emit dates in the local timezone. - qmail-doublebounce-trim.patch: I decided to integrate this patch because I got sick of double bounce messages sitting in qmail queue forever. Spammers usually fake the from field with an invalid email address, which results in thousands of bounce messages. This patch allows you to complete discard all double bounce messages to save server load and traffic. - qmail-nullenvsender.patch: A lot of your spam will be arriving with a null envelope sender. When those spam messages have multiple envelope recipients, they cannot be bounce messages. This patch rejects emails addressed to multiple recipients with a null envelope sender. - qmail-smtpd-log-badmailfrom.patch: Johan Almqvist logs badmailfrom hits. - qmail-smtpd-relay-reject.patch: Russell Nelson's patch to reject relay probes generated by "anti-spammers". These relay probes have '!', '%' and '@' in the local (username) part of the address. The patch detects them and issues a 553 error "we don't relay". - qmail-tap.diff: Qmail tap allows you to specify a control/taps file with regex style list of email addresses or domains that you need to keep a copy of all email. By Inter7. Example: echo ".*@domain.com:admin@example.com" > /var/qmail/control/taps. To tap a whole domain and send a copy to admin@example.com echo "user@domain.com:archive@example.com" >> /var/qmail/control/taps. To tap an individual email address and send a copy to archive@example.com - tarpit.patch : The tarpit patch is targeted towards spammers who try to bomb your mail server with a long list of recipients. It inserts small delays in an smtp session for each recipient in the mail message (after some set number of recipients). This slows down their session, resulting in timeouts in spammer's mail software. Usage: echo 60 > /var/qmail/control/tarpitcount echo 60 > /var/qmail/control/tarpitdelay