#define MAXNAME 2048 /* max length of a name */ #define MAXATOM 1024 /* max atoms per address */
O= ... -D_FFR_HEADER_RSCHECK ...
if (pvp == NULL)
{
/*
syserr("rscheck: cannot prescan input: \"%s\"",
shortenstring(buf, 203));
rstat = EX_DATAERR;
*/
goto finis;
}
... dnl * put options here i.e. * define(`_CHECK_HEADER_RECEIVED_', `1')dnl define(`_CHECK_HEADER_FROM_', `1')dnl define(`_CHECK_HEADER_REPLY_TO_', `1')dnl dnl * this is an experimental hack, i use it at my own risk * HACK(check_header) ...
_MAPS_RBL_
Make use of Paul Vixie's RBL.
_FRIEND_STORAGE_ (recommended) (see "known Problems")
Use the map-storage for spam_friends. Don't filter their mail.
Compile sendmail with DBMDEF= ... -DMAP_STORAGE ...
Assign the storage map in your check_rcpt, e.g.:
Scheckrcpt # allow some local addresses; use only legal syntax R<$+@$=w> $: <$(spam_friends $1 $) @ $2> R<$+@SPAMFRIEND@$=w> $@ $(friend YES $)
_X_SPAM_HEADER_
Don't return an error, if check_header detects a spam, but set the
header-field X-Spam-Header: for later processing (i.e. with procmail).
Needs v2.5 or later.
_CHECK_HEADER_FROM_
Check the address given in the From:-line of the header against junk.db
This option is needed for the following, because it activates the ruleset
check_from.
_CHECK_HEADER_REPLY_TO_
Check the address given in the Reply-To:-line of the header against junk.db.
Uses the ruleset check_from.
_CHECK_HEADER_SENDER_
Check the address given in the Sender:-line of the header against junk.db.
Uses the ruleset check_from.
_CHECK_HEADER_TO_
Check the address given in the To:-line of the header against junk.db.
Uses the ruleset check_from.
_CHECK_HEADER_CC_
Check the address given in the Cc:-line of the header against junk.db.
Uses the ruleset check_from.
_CHECK_HEADER_MESSAGE_ID_
Check the Message-Id (rfc822).
Check_header needs the rulesets junk and junkIP. They are included in "Using check_* in sendmail 8.8" by Claus Aßmann.
The parse_received pattern can parse the following formats (host = hostname or [ip]):
from host from host (1.2.3.4) from host ([1.2.3.4]) from host (user@host) from host (hostname [1.2.3.4]) from host (hostname[1.2.3.4]) from host (keyword hostname [1.2.3.4]) (from user@localhost) is not matchingThe pattern is not universal, I know. If you find a non matching Received-line or if you have a more universal pattern, please send an email to Jan.Krueger+map@stud.uni-hannover.de.
HFname: $>check_ruleset HFname: $>"check_ruleset (encapsulate the value in "") HFname: $>$|check_ruleset (normal and encapsulated value seperated by $|) Scheck_ruleset ...In the encapsulated value the comments in () are not discarded by prescan() in rscheck(). We need this for parsing the comments in Received:-lines. The patch only affects the header-checkig part of the sendmail source. The code is not used, if you don't define _FFR_HEADER_RSCHECK.