Changes: 1998-08-24: check_mail3.m4, junk.m4, check_rcpt4.m4 changed some $-.$+ to $+.$+ to avoid problems due to tokenization 1998-08-22: check_mail3.m4 _MAPS_RBL_2_ can be used for another RBL and _MAPS_RBL_URL_2_ should be defined as some URL pointing to an explanation. For example, rbl.dorkslayers.com and http://www.dorkslayers.com/relays/ 1998-08-14: check_mail3.m4 _MAPS_RBL_ can have an argument which is taken as address for the lookup. Default: rbl.maps.vix.com If you change it, you probably want to define _MAPS_RBL_URL_ too, which denotes the URL for the error message. 1998-07-05: junk.m4 _JUNK_MAP_LOC_: define location of junk map (so it's easier to place the map into another location without repeating map type and options) (Thanks to: Brad Knowles ) 1998-06-07: check_rcpt4.m4 _USE_RELAY_MAILERTABLE_: use mailertable too to allow relaying to those systems. (Thanks to: Rudolf Weber ) 1998-05-18: check_mail3.m4 _POPAUTH_ overrides _DNSRELAY_ (Suggested by R.D. Thrush ) 1998-05-02: check_mail3.m4, check_relay3.m4 The junk map may have entries in the form: DSN::Error Text i.e., the DSN to return and the complete error text, e.g., 5.1.8::550 We don't like you. (Thanks to: Brad Knowles ) 1998-04-28: check_mail3.m4, junk.m4 _ERR_MSG_URRH_ (default: "451 unresolvable relay host name [" $`'2 "]; check your reverse-IP configuration.") [without the newline] (Suggested by: Harlan Stenn ) 1998-04-17: check_rcpt4.m4 _LOCAL_IP_MAP_: if RHS is NO, relaying will be denied. useful for disallowing subnets or hosts, e.g., 134.245 OK 134.245.99.100 NO (Suggested by: Chris Thomas >) 1998-04-06: check_mail3.m4 _CHECK_HELO_: check HELO ($s) against junk map prepend _MARK_HELO_ (default:HELO) (so the map entry can be HELO@spammers.site or just spammers.site) (Suggested by: Harlan Stenn ) 1998-03-27: junk.m4 _ERR_MSG_USER_JUNK_ introduced for better information of the sender (default "501 You (" $`'2 ") are banned, contact your local admin.") (thanks to: Andy Igoshin ) 1998-03-25: check_rcpt4.m4 fixed a bug wrt _CHECK_ALL_RCPTS_ 1998-03-24: check_rcpt4.m4 rewrote the rules for _CHECK_RCPT_USER_ and _CHECK_ALL_RCPTS_ to match more (all?) cases of address formats 1998-03-23: check_rcpt4.m4 renamed remove_local to removelocal: it causes problems if '_' is part of OperatorChars. (Thanks to: Bob.Zeitz@ualberta.ca (Bob Zeitz)) 1998-03-22: check_rcpt4.m4 _POPAUTH2_: sub-option to _POPAUTH_: removes the last octect of an IP address and performs a lookup against the popauth map (Thanks to: Colin Stearman ) 1998-03-22: check_rcpt4.m4 _CHECK_ALL_RCPTS_: further extended version of _CHECK_RCPT_USER_ (which must be defined too): check all recipient addresses against forbrcpt map. (Suggested by: Jack Snodgrass ) 1998-03-21: check_mail3.m4, check_rcpt4.m4, check_relay3.m4 SM89: first attempt to make these rulesets usable sendmail 8.9: changes Scheck_* to SLocal_check_* and removes dequote calls 1998-03-16: check_rcpt4.m4 _NO_CANONIFY_: check also for $={RelayTo} (without trailing dot). Useful for FEATURE(nocanonify) and O DeliveryMode=deferred 1998-02-25: check_mail3.m4 fixed a bug with error messages for _CHECK_LOCALPART_ and _CHECK_FULL_FROM_ (thanks to: Pam Skillman ) 1998-02-24: check_mail3.m4, junk.m4 if _MARK_ is not set: use "@" as marker for the local part of an address for lookups in the junk map. 1998-02-22: check_mail3.m4, junk.m4 _MARK_: use ":net", ":dom", ":loc" as marker to distinguish between IP addresses/nets, hostnames/domains, and local parts of addresses for lookups in the maps junk/rblover*. (suggested by: Jan Krüger ) 1998-02-20: check_rcpt4.m4 fixed (?) a bug with _ISMX_ (is a test for $j sufficient or must it be $+ ? what's the return value of ismx?) (thanks to: Ruben van Staveren ) 1998-02-15: check_mail3.m4 introduced ALIAS_1 to be used in conjuction with _CHECK_LOCALUSER_ to define other alias files, e.g., nisplus -m -a@LOCALUSER mail_aliases.org_dir (thanks to: Geoff Gibbs ) 1998-02-11: check_mail3.m4 fixed a bug with _RBLOVERRIDE_NAME_ (thanks to: Tim Rosmus ) 1998-02-10: check_relay3.m4 Sjunk didn't get included if check_relay3.m4 was used on its own (thanks to: Lars Hecking ) 1998-02-10: check_mail3.m4 if _CHECK_FROM_ is not defined, test for user@ (without hostname) (suggested by: Graeme Hewson ) 1998-02-10: check_rcpt4.m4 _POPAUTH_ enables support for authentification via POP as described at: _LOCAL_SUBNETBITS_: allows specification of subnets, see: http://www.stud.uni-hannover.de/~jk/map-regex/map-storage.html (thanks to: Jan Krüger ) 1998-02-06: check_mail3.m4 _CHECK_LOCALPART_: check local part of FROM address against junk database 1998-02-05: check_mail3.m4 moved _DNSRELAY_ check to the end (suggested by: Craig Raskin ) 1998-02-04: check_rcpt4.m4 _MAP_SPAM_FRIENDS_ also applies to (full) domains: use @domain.com in map (thanks to: Walter Steiner ) 1998-02-03: check_mail3.m4 _DNSRELAYOVERRIDE_IP_: allows to override _DNSRELAY_ (suggested by: Vivek Khera ) 1998-02-01: check_mail3.m4 _RBLOVERRIDE_LOCALIP_: override _MAPS_RBL_ for LocalIP (thanks to: Jan Krüger ) 1998-01-31: check_rcpt4.m4 option _SPAM_HATERS_ similar to _MAP_SPAM_FRIENDS_, just the inverse _CHECK_MAIL_IN_RCPT_ is required for this option (thanks to: Jan Krüger ) 1998-01-31: check_mail3.m4 added _CHECK_MAILx_ (x in 1,2,3) to allow hooks into the check_mail ruleset (suggested by: Andy Harper ) 1998-01-28: check_rcpt4.m4 fixed problem with $&f for source routed addresses (_CHECK_MAIL_IN_RCPT_) (thanks to: Walter Steiner ) 1998-01-25: check_mail3.m4 _ALLOW_NOT_FQHN_: allow not fully qualified hostname (suggested by: Didier Lamballais ) changed all definitions which accept parameters to also take the default if the option is not defined to `1', but just define(`OPTION') 1998-01-22: check_mail3.m4 use _ACCEPT_SOME_ also after expansion by _MD2NAME_ 1998-01-18: check_rcpt4.m4 _LOCAL_IP_MAP_: use a map instead of a class for LocalIP (suggested by: Jeff Wasilko ) 1998-01-18: check_rcpt4.m4 changed RHS for _SPAM_FRIENDS_ (requested by: Jan Krüger ) 1998-01-13: check_rcpt4.m4 fixed a problem with _SPAM_FRIENDS_ and _CHECK_*_IN_RCPT_ (thanks to: Jan Krüger ) 1998-01-13: check_mail3.m4 use option _MD2NAME_ instead of _DNSRELAY_ for adding client_name to mailer-daemon mails (MAIL FROM:<>) (suggested by: Jan Krüger ) 1998-01-09: junk.m4 also allowed @JUNK@JUNK for spammer address (just in case JUNK is used as only RHS for the junk map). (suggested by: Jan Krüger ) 1998-01-08: check_rcpt4.m4 _NO_SUB_W_ can be used in combination with HACK(use_names) to switch off the allowance of subdomains for outgoing relaying. (suggested by: Brian Candler ) 1998-01-08: check_rcpt4.m4 _CLASS_W_TOO_: use class w too if _RELAYTO_MAP_ is defined (suggested by: Joerg Schumacher ) 1998-01-08: check_rcpt4.m4 _CLASS_W_TOO_: use class w too if _RELAYTO_MAP_ is defined (suggested by: Joerg Schumacher ) 1998-01-05: check_mail3.m4 added support for VIRTUSER_TABLE and GENERICS_TABLE if _CHECK_LOCALUSER_ is enabled. (code for VIRTUSER_TABLE provided by: Per Foreby ) 1998-01-01: check_mail3.m4 option _JUNK_IP_RULES_ to check IP address in check_mail against junk map (thanks to: Peter Seebach ) 1997-12-31: check_mail3.m4 introduced _CHECK_LOCALADDR_, _CHECK_LOCALSUBDOMAINS_ (suggested by: Tim Winders ) 1997-12-31: check_rcpt4.m4 introduced _ERR_MSG_RELAY_ (thanks to: Jay Soffian ) changed order of calls if _CHECK_MAIL_IN_RCPT_ or _CHECK_RELAY_IN_RCPT_ is defined. (thanks to: Jan Krüger ) 1997-12-30: check_mail3.m4 _CHECK_FULL_FROM_: check full address given as FROM (<> removed) against junk database 1997-12-29: check_rcpt4.m4 added option _CHECK_RCPT_USER_ (thanks to: Matthew Kelly ) 1997-12-23: check_mail3.m4 changed order of rules: moved ACCEPT in front (suggested by: Forrest Aldrich ) added support for multiple alias files for _CHECK_LOCALUSER_ (based on proposal by: Per Foreby ) 1997-12-19: check_mail3.m4 fixed problem with _ERR_MSG_REGEX_ (thanks to: Marc Heckmann and "the usual suspects" :-) rearranged the ruleset: first _CHECK_MAIL_IN_RCPT_, then _CHECK_RELAY_IN_RCPT_ (this will be required for _ACCEPT_SOME_) 1997-12-18: check_relay3.m4 added defines for error message: _ERR_MSG_HOST_, _ERR_MSG_IP_ 1997-12-18: check_mail3.m4 fixed an error with _ERR_MSG_*: missing quotes caused "550 This domain is banned @JUNK>... Unbalanced '"' added: _ERR_MSG_REGEX_ (thanks to: Tim Winders Igor S. Livshits and several others) fixed a possible problem with _ACCEPT_SOME_, the map now requires -a@ACCEPT 1997-12-17: check_mail[23].m4, check_rcpt4.m4, check_relay3.m4 introduced _CHECK_MAP_TYPE_ to define the map type (default dbm) for all maps used. (thanks to: Harlan Stenn ) 1997-12-17: check_mail3.m4 fixed a problem with multiple alias files (even if _CHECK_LOCALUSER_ is not used). fixed a problem with error messages (_ERR_MSG_*) (thanks to: Jay Soffian Jan Krüger ) 1997-12-16: check_rcpt4.m4 fixed a typo (_MAP_SPAM_FRIENDS_) (thanks to: Jan Krüger ) 1997-12-13: check_mail3.m4 rearranged the ruleset: first check client_name/addr (if activated), then perform other checks. (thanks to: Don "Truck" Lewis ) quotes added for the error message (thanks to: Igor S. Livshits ) 1997-12-13: check_rcpt[45].m4 integrated the functionality of check_rcpt5 into check_rcpt4, activated by _ALLOW_SOME_ check_rcpt5.m4 will no longer be maintained! added/corrected a few rules (thanks to: Don "Truck" Lewis Jan Krüger ) check_relay3.m4 option _CHECK_RELAY_IN_RCPT_ similar to _CHECK_MAIL_IN_RCPT_ 1997-12-12: check_mail3.m4 added _CHECK_LOCALUSER_ (requested by: Andy Harper idea by: Kenneth Herron ) _DNSRELAY_ now also controls whether <> should be expanded or accepted directly (thanks to: Don "Truck" Lewis ) 1997-12-11: check_mail3.m4 added one rule to remove trailing dot for addresses not in brackets. (thanks to: Luiz Souza Silva ) 1997-12-08: check_rcpt[45].m4 Some changes in the experimental support for UUCP sites (thanks to: Karl Friesen ) 1997-12-06: check_rcpt[45].m4 Added an option to use a map instead of a class for RelayTo. 1997-11-28: check_rcpt[45].m4 Added experimental support for UUCP sites in remove_local (thanks to: Karl Friesen ) 1997-11-24: check_rcpt[345].m4 Try to fix a problem with addresses like: "user@remote.site" (including the quotes!) older check_rcpt versions shouldn't be used anymore! (thanks to: Wolfgang Ley ) 1997-11-19: check_rcpt4.m4, check_rcpt5.m4, check_mail*.m4: The hack about define(`_CHECK_MAIL_IN_RCPT_') had an unpleasant side-effect. It has been changed to define Scheckmail instead of Scheck_mail in the check_mail*.m4 versions. (thanks to: George W. Baltz ) 1997-11-18: check_rcpt4.m4, check_rcpt5.m4: Fixed a problem with $@ok if _SPAM_FRIENDS_ is defined. (thanks to: Neil Clifford ) 1997-11-16: check_mail3.m4: Fixed a typo (SPACE instead of TAB) (thanks to: Per Steinar Iversen ) 1997-11-15: check_rcpt4.m4, check_rcpt5.m4: Two new defines: define(`_SPAM_FRIENDS_') define(`_CHECK_MAIL_IN_RCPT_') see the README.check for further information (requested by several people) 1997-11-10 check_mail3.m4: new option _CHECK_TOPLEVEL_, see README.check (requested by Jan Krüger ) 1997-11-02 check_mail3.m4: Hook for map-regex by Jan Krueger (see README.check). (thanks to Jan Krüger ) 1997-10-29 check_mail*.m4: option to make use of Paul Vixie's RBL. (thanks to: Thomas Mike Michlmayr ) 1997-10-12 check_mail3.m4, check_relay3.m4: use default error messages if map entries are JUNK (for domains and IP addresses), or SPAMMER (for e-mail addresses) requested by several people. 1997-10-10 check_mail2.m4, check_mail3.m4: added options for testing DNS entry of client_name 1997-10-09 check_mail2.m4 copied the code from check_mail3.m4 for _ACCEPT_SOME_ (thanks to: Mario Grape ) 1997-09-25 check_mail2.m4, check_mail3.m4: corrected a problem with _ACCEPT_SOME_ (thanks to: Philippe Michel ) 1997-09-25 created this file (thanks to: Forrest Aldrich ) Further informations can be found at