DISCLAIMER: There is no guarantee that I know what I am talking about. Use
at your own risk.
Things I have cooked up for sendmail 8.12, 8.13 and related
New version of skip-rshecks patch avoids conflict with badrcpt_shutdown patch and is diffed against 8.13.2
Important: apply this patch BEFORE badrcpt_shutdown.
This is an update to the previous version 9 fixing important bugs with ruleset flag handling. More details can be found in the Changes file.
Dec 16 2004
Updated tarball includes patch to apply against Sendmail 8.13.2 as well.
This is an update to the previous version 8 fixing a critical bug. More details can be found in the Changes file.
This is an update to the previous version 7. More details can be found in the Changes file.
This is an update to the previous version 6. More details can be found in the Changes file.
badrcpt-shutdown.v1, BadRcptShutdown option.
This patch adds to options to sendmail.
BadRcptShutdown -- when the number of bad recipients reaches this threshold sendmail will consider closing the SMTP connection with a 421 code.
BadRcptShutdownGood -- the percentage of bad recipients out of total that needs to be matched or exceeded before sendmail will shutdown the connection. If 100, then sendmail will never shut the connection down if it has already accepted any recipients. If 0, sendmail will shut down the connection the recipient after BadRcptShutdown bad recipients have been reached.
To turn this on compile sendmail with -D_FFR_BADRCPT_SHUTDOWN
You also need to add -D_FFR_BADRCPT_SHUTDOWN to the m4 commandline before proccessing your mc file.
skip-rscheck.v1, SkipRSChecks option.
This patch adds an option that allows one to select which of the check* rulesets sendmail will NOT call. The rulesets will NOT be altered in any way. It is presumed that the configurer has another method of calling those rulesets, perhaps from a milter using the milter-rrres patch(below).
After patching sendmail compilation with -D_FFR_SKIP_RSCHECKS is neccessary to turn this feature on.
The sendmail cf option "SkipRSChecks" can be .mc defined like this:
define(`confSKIP_RS_CHECKS', `')dnl
where as arguments one puts in the letter corresponding to below rulesets.
E for check_eoh
L for check_relay
P for check_compat
S for try_tls
H for all the header rulesets
C for tls_client
M for check_mail
R for check_rcpt
V for check_vrfy
N for check_ertn
D for check_data
O for check_eom
Revision 6 of milter_rwsets_rcpt_rewrite_eagain_spike (milter-rrres) patch.
This revision of the patch adds the ability for milter rulesets to rewrite data sent to milters, flags and calling changes for smfi_rewrite(), smfi_vrewrite() and a new feature of Spiked Rejects.
Spiked rejects prevent any rejection of a milter from being proccessed as such by the MTA. Should the milter negotiate this with the MTA, the MTA will continue sending milter commands until message end after a spiked rejection.
See the enclosed Changes file for much more details, as well as the original Documentation.
This is an experimental patch to allow you to return error strings containing \n to sendmail from the access db or from ruleset checks. They will trigger multiline SMTP replies. I am currently not very sure if I handled enhanced DSN codes correctly.
The \n in the error string will be converted to a space before logged.
To use this patch please recompile sendmail with -D_FFR_MULTILINE_ERRORS
First Version: Oct 16, 2004.
Second Version: Oct 16, 2004. This one handles -X better.
Oct 26, 2004 -- New version fixes breakage to manual multiline replies sendmail already does (such as in response to EHLO command)
V3 of multiline patch
Oct 27, 2004 -- New version of patch repeats Enhanced status code for each line as per rfc2034 section 4.
V4 of multiline patch
Oct 28, 2004
This version detects already multilined msgs such as from smfi_setmlreply(). Also includued are some cleanups, proper handling of non smtp coded msgs and one less call to memchr.
V5 of multiline patch
Oct 30, 2004 -- This version is better optimized and now supports escaping the newline in access db or rulesets.
V6 of multiline patch
Dec 10, 2004
Apparently you will quickly run into cataddr() or prescan() errors with longer error messages. The fix is to increase MAXNAME to a larger value. The sendmail source warns about doing this, but it works. If anyone would happen to know what specific issues can be triggered by this, I would appreciate it.
Dec 16, 2004 -- This version is diffed against sendmail 8.13.2 and fixes handling of a trailing newline.
It also includes the increased MAXNAME.
V8 of multiline patch
As announced in this google post.
This provides the features of milter command ruleset processing, proper envrcpt ordering of operations, libmilter function smfi_rewrite and EAGAIN flow control.
Version 3 of
virtuser match localpart patch.
I fixed up some quotes and hopefully avoid any breakage of virtuser_entire_domain.
More importantly, this changes the sequencing so that in the following
myalias@mydomain.com myalias
myalias@
error:nouser The email address %1@%2 is not
valid on this system.
@mycustomersdomain.com mycustomers@someothedomain.com
The bottom line has higher precedence than the second.
Version 2 of
virtuser match localpart patch.
This one passes more parameters so when you match on local part your
error message could say this:
cust1list@ error:nouser The email address of %1 @ %2 is invalid on the
system.
Oct 16, 2004 NEW VERSION
Fixes handling of localpart only users and does better job on IPv6 rcpts.