Index of /~bruceg/qmail+patches
qmail is a secure, reliable, efficient, simple message
transfer agent.
It is meant as a replacement for the entire sendmail-binmail system on
typical Internet-connected UNIX hosts.
Learn more about qmail.
This is (and will be) a source-only RPM of the main qmail package
with several patches from the above web page added. This directory
contains all all the source files used to create the RPM.
Learn more about RPM.
The source rpm contains all of the other files in this directory.
This package requires the following packages:
Other packages recommended for efficient use of qmail are:
- procmail (you can find a patched version that delivers to maildirs
here)
- dot-forward
- rblsmtpd
-- A RBL blocking add-on for qmail-smtpd
- nullmailer
-- "Dumb" client software package which can deliver via either SMTP or QMQP
- vmailmgr
-- Virtual mail domain manager for qmail
NOTE:
Do NOT distribute binary packages built from this distribution!
Such packages are explicitly disallowed by the author of qmail, and
frustrating as it may be, I understand his reasoning.
This packaging of qmail comes with no warranties of any kind.
Features of this package:
- Johannes Erdfelt's big-concurrency patch, which allows qmail-send to
spawn more than 255 processes.
- Russell Nelson's big-todo patch, which allows qmail to receive mail
much faster.
- A big-DNS patch, which allows qmail to work with sites that
have DNS responses that are larger than 512 bytes.
- Startup scripts set configurable limits on daemon's CPU time and
data size to avoid denial-of-service attacks.
- Integrated optional RBL blocking support from multiple servers.
- Separate packages for all the daemons.
- UID/GID numbers are configured into a set of control files instead
of hard-coded in the binaries. This would allow a binary RPM to be
distributed unmodified to any setup.
- The qmail init script uses the contents of
/etc/qmail/control/aliasempty for the aliasempty argument to
qmail-start
- Message logging is done via the string in
/etc/qmail/control/logger
- qmail-showctl shows the contents of all the control files used in
this package
- Intelligent login scripts (/etc/profile.d/qmail.sh and
/etc/profile.d/qmail.tcsh).
- A man page documenting the control files used by all the init scripts
- All the separate packages have their own start/stop init scripts
which use the modified supervise mentioned above
- All the network daemons use tcpserver/tcpcontrol to manage connections
- Chuck Foster's patch to bind to local interfaces on outgoing
connections, ported to qmail-1.03
- Evan Champion's patch to conredirect, ported to qmail-1.03
- A fix for broken CR/LF conventions on SMTP connections that doesn't
require a patch to qmail.
This distribution builds the following packages:
Package Name |
Contents |
qmail |
The main qmail binaries and queue structures |
qmail-pop3d |
Support for the qmail POP-3 daemon |
qmail-qmqpd |
Support for the qmail QMQP daemon (for QMQP null clients) |
qmail-qmtpd |
Support for the qmail QMTP daemon |
qmail-smtpd |
Support for the qmail SMTP daemon with optional RBL blocking |
Changes in release 12:
- Updated to use new rblsmtpd and fixcrio in ucspi-tcp version 0.86.
Changes in release 11:
- Added big-concurrency patch to allow for more than 255 remotes.
Note that you may need to patch your kernel and/or libraries if you want
this to be larger than 509 remotes.
- Fixed a bug in the init scripts that caused the log messages to go
to the console.
- Added a RedHat specific configuration script.
- Removed the qmail specific "hostname" program that conflicted with
program from net-tools of the same name.
Changes in release 10:
- Integrated with daemontools 0.61 and supervise-scripts 2.2
Changes in release 8:
- Added Russell Nelson's big-todo patch, which allows qmail to receive
mail faster.
- Added a big DNS patch, which allows qmail to work with sites that
have DNS responses that are larger than 512 bytes.
- Removed the whole qmail-utils/qmail-qmqpc mess. If you want to run
a relay-only client, I would recommend nullmailer instead of qmail-qmqpc.
- The startup scripts now use my supervise scripts instead of having
their own copy of essentially the same thing.
Changes in release 7:
- Fixed (yes again) and verified the "ulimit" commands.
- Modified the start/stop init scripts to wait until the programs
actually shut down (or 15 seconds pass) before indicating completion.
- Set up an hourly cron job that will create/update
users/assign and users/cdb.
- Removed the rblsmtpd sub-package.
- Modified the smtpd init script to optionally call rblsmtpd and
antirbl if they are installed.
Changes in release 6:
- Fixed the "ulimit" commands in the pop3d, qmqpd, qmtpd, and smtpd
init scripts so that it is now possible to configure the processor and
memory limits on these daemons from the control directory.
- Moved qmail-showctl into the qmail-utils package, since users of
qmail-qmqpc may wish to see this information.
Changes in release 5:
- Added an alternative smtp server package with the rblsmtpd.
- Removed the newline patch in favour of using fixcr with the smtp
daemons.
- Removed the /var/log/* directories in favour of separate "config"
packages that set up logging via either cyclog or qfilelog.
- Fixed the install script so that the installation will not fail if
the special users and groups already exist.
- Added a patch to allow the various programs to call a different
program instead of qmail-queue by setting the QMAILQUEUE environment
variable. This could be used in the smtp daemon to run a header
rewriter or to filter emails based on address patterns.
- Both the base qmail and qmail-qmqpc provide "qmail-queue" which is
required by the various daemons.
- The qmail-qmqpc package no longer uses the install-path patch.
Changes in release 4:
- Used a revised directory sync patch that catches all the possible
synchronization points.
- Added a patch to the qmqp client package that allows the server
connection timeout to be configured in
/etc/qmail/control/timeoutconnect, which defaults to 60
seconds instead of a hard-coded 10 second timeout (per server).
Changes in release 3:
- Added a patch to sync directories to make deliveries fully reliable.
- Moved the binaries from /usr/bin/qmail to
/usr/bin.
- Added a qmail-qmqpc null client package.
- Fixed bug in installation of the .qmail-msglog file.
- Added -R option to tcpserver in the qmqpd init script.
- Moved most of the user mail access utilities and associated files
into qmail-utils package, which is required by both the base qmail package
and the qmail-qmqpc package.
If you have any comments or requests, please e-mail me at
bruceg@em.ca.