Wed Mar 26 08:41:52 BRT 2008 My patch is the union of several patchs of qmail-1.03. To install, get qmail-1.03, my patch and then set it up: mkdir -p /usr/src/qmailsource/patches cd /usr/src/qmailsource wget http://qmail.org/qmail-1.03.tar.gz cd /usr/src/qmailsource/patches wget http://www.linuxti.pro.br/patches/qmail-1.03-but3k4-v01-release.patch cd /usr/src/qmailsource tar -xzf qmail-1.03.tar.gz cd qmail-1.03 patch -p0 < ../patches/qmail-1.03-but3k4-v01-release.patch make setup check Obs: The best best way to use smtp_auth is to install vpopmail and modify the /service/qmail-smtpd/run script to works, so: QMAILDUID=`id -u qmaild` NOFILESGID=`id -g qmaild` to: QMAILDUID=`id -u vpopmail` NOFILESGID=`id -g vpopmail` and exec /usr/local/bin/softlimit -m 5000000 \ /usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /var/vpopmail/etc/tcp.smtp.cdb -c "$MAXSMTPD" \ -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /usr/local/bin/rblsmtpd -r bl.spamcop.net \ /var/qmail/bin/qmail-smtpd 2>&1 to: exec /usr/local/bin/softlimit -m 5000000 \ /usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /var/vpopmail/etc/tcp.smtp.cdb -c "$MAXSMTPD" \ -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /usr/local/bin/rblsmtpd -r bl.spamcop.net \ /var/qmail/bin/qmail-smtpd /var/vpopmail/bin/vchkpw true 2>&1 and: now, create the certificate: cd /usr/src/qmailsource/qmail-1.03/ make cert make tmprsadh find /var/qmail/control/ -type f -uid `id -u qmaild` -exec chown vpopmail:vchkpw {} \; good luck! follows below the patches list: - qmail-1.03.errno.patch: This simple patch is necessary to compile qmail on platforms such as Linux using the GNU C Library, version 2.3.x and later. - qmail-1.03.qmail_local.patch: fixes a small programming error in qmail-local.c, to safely ignore any trailing space and tab characters that may wander into the command lines of users' .qmail files. - qmail-0.0.0.0.patch: patch from Scott Gifford is a no-biggie but correct fix to the source file ipme.c, so that qmail also recognizes the IP address 0.0.0.0 as local (per RFC 1122). This patch is not necessary (though harmless) on OpenBSD platforms. - sendmail-flagf.patch: fixes how the "-f" option to /var/qmail/bin/sendmail is handled, so that it more closely matches how the original "sendmail" program's "-f" option worked. - qmailqueue-patch: This patch by Bruce Guenter affects qmail.c and lets qmail recognize an environmental variable named QMAILQUEUE. If set, its value is used in place of the qmail-queue binary. - 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 - qmail-queue-custom-error.patch: this patch is needed to use the enable-custom-smtp-reject option with simscan. - qmail-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. - qmail-1.03-pop3d-stat.patch: This patch changes the number of messages returned in qmail-pop3d's reponse to STAT. The patch makes qmail fully compliant with RFC 1939, which specifies that deleted messages aren't counted in total. - qmail-1.03-quotas-1.1.patch: This patch to qmail-1.03 modifies the way qmail-local treats a 'quota exceeded' error when writing to a maildir. - 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-date-localtime.patch: John Saunders has patch to date822fmt.c which causes it to emit dates in the local timezone. - 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. - 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. - 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, echo 1 > /var/qmail/control/mfcheck or enable the environment MFCHECK in tcp.smtp file. - 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-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-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 - qmail-canonical.rcpt.patch: The qmail-remote log only show the RCPT TO address before canonicalisation. This patch adds real name logging. - qmail-1.03-fastremote-3.patch: This patch modifies blast to scan the message in larger chunks. I have benchmarked before and after, and the change reduced the CPU time consumed by qmail-remote by a factor of 10. - qmail-accept-5xx.patch: Adrian Ho's patch to increase qmail-remote's compliance with RFC2821. Some smtp servers are now emitting 5xx responses from the get-go, and mere RFC821 behavior doesn't deal well with them. - qregex-20060423.patch: qregex adds the ability to match address evelopes via Regular Expressions (REs) in the qmail-smtpd process. It has the abiltiy to match `helo/ehlo` (host name), `mail from` (envelope sender), and `rcpt to` (envelope recipient) commands. It follows all the base rules that are set out with qmail (ie using control files) so it makes for easy integretion into an existing setup (see the install instructions for more info). Example: Usage: echo "[!%#:*^(){}]" >> /var/qmail/control/badmailfrom echo "[!%#:*^(){}]" >> /var/qmail/control/badrcptto - qmail-1.03-maxrcpt-2.patch: allows you to set a limit on how many recipients are specified for any one email message. RFC2821 says that an MTA MUST allow at least 100 recipients for each message, but MAY elect not to allow any more than that. I choose not to, since this is one of the favourite tricks of the spammer. I modified this patch to verify if the email sender exists in the /var/qmail/control/maxrcptusers file, if exist the maxrcpt limit is not applied. Example: Usage: echo "40" > /var/qmail/control/maxrcpt. echo "user@domain.com" >> /var/qmail/control/maxrcptusers. The maxrcpt limit is not applied to user user@domain.com. - qmail-1.03-heloreq.patch: I create this patch because i needed to deny empty helo and the qregex patch don't check this. Error message by delphus. The default is off. To enable: echo 1 > /var/qmail/control/heloreq or enable the environment HELOREQ in tcp.smtp file. - qmail-spf-rc5.patch: Add spf support to qmail, for more information, look: http://www.saout.de/misc/spf/ - netqmail-1.05-tls-20070408.patch: Frederik Vermeulen create this patch that implements RFC 3207 (was RFC 2487) in qmail. This means you can get SSL or TLS encrypted and authenticated SMTP between the MTAs and from MUA to MTA. - qmail-smtpd-auth-058_tgz.bin: SMTP Authentication is a scheme which was introduced in 1999 by J. Meyers of Netscape Communications and finally released as RFC 2554 ("SMTP Service Extension for Authentication"). It is partly based on the SMTP Service Extensions as defined in RFC 1869. Most modern SMTP implementations support SMTP Authentication, whereas Qmail 1.03 does not (without a patch). - qmail-1.03-authreq.patch: This patch will require auth for relay if the domain is local, for enable, use: echo 1 > /var/qmail/control/authreq or enable the environment AUTHREQ in tcp.smtp file.