summaryrefslogtreecommitdiff
path: root/usr.sbin/sendmail
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>1998-01-11 13:55:14 +0000
committerPeter Wemm <peter@FreeBSD.org>1998-01-11 13:55:14 +0000
commit470e6ca10462fdcd2f6214726ab40ae1d7cba112 (patch)
tree741858dab954d0858c4d180a9ab5fa40351bf6b6 /usr.sbin/sendmail
parente06bf9205a2230acb496e198f3d0981adea9e655 (diff)
Notes
Diffstat (limited to 'usr.sbin/sendmail')
-rw-r--r--usr.sbin/sendmail/cf/cf/hub.mc144
1 files changed, 113 insertions, 31 deletions
diff --git a/usr.sbin/sendmail/cf/cf/hub.mc b/usr.sbin/sendmail/cf/cf/hub.mc
index a76843753afb..7b0791bf1dca 100644
--- a/usr.sbin/sendmail/cf/cf/hub.mc
+++ b/usr.sbin/sendmail/cf/cf/hub.mc
@@ -40,7 +40,7 @@ divert(-1)
divert(0)dnl
include(../m4/cf.m4)
-VERSIONID(`$Id: hub.mc,v 1.1.4.3 1997/09/28 12:37:50 peter Exp $')
+VERSIONID(`$Id: hub.mc,v 1.1.4.4 1997/10/06 04:14:59 peter Exp $')
OSTYPE(bsd4.4)dnl
DOMAIN(generic)dnl
@@ -51,6 +51,7 @@ FEATURE(mailertable, `hash -o /etc/mailertable')dnl
FEATURE(masquerade_envelope)dnl
EXPOSED_USER(root)dnl
EXPOSED_USER(mailman)dnl
+define(`ALIAS_FILE', `/etc/aliases,/etc/majordomo.aliases')dnl
define(`UUCP_RELAY', uunet.uu.net)dnl
define(`BITNET_RELAY', mailhost.Berkeley.EDU)dnl
define(`CSNET_RELAY', mailhost.Berkeley.EDU)dnl
@@ -60,13 +61,21 @@ define(`confAUTO_REBUILD', `True')dnl
define(`confMIN_FREE_BLOCKS', `1024')dnl
define(`confSMTP_MAILER', `smtp8')dnl
define(`confME_TOO', `True')dnl
+define(`confMCI_CACHE_SIZE', `5')dnl
define(`confMCI_CACHE_TIMEOUT', `10m')dnl
define(`confTO_QUEUEWARN', `1d')dnl
define(`confTO_QUEUEWARN_NORMAL', `1d')dnl
-define(`confTO_RCPT', `10m')dnl
+define(`confTO_INITIAL', `1m')dnl
+define(`confTO_CONNECT', `1m')dnl
+define(`confTO_ICONNECT', `1m')dnl
+define(`confTO_HELO', `2m')dnl
+define(`confTO_MAIL', `4m')dnl
+define(`confTO_RCPT', `4m')dnl
+define(`confTO_DATAINIT', `2m')dnl
define(`confTO_DATABLOCK', `10m')dnl
define(`confTO_DATAFINAL', `10m')dnl
-define(`confTO_COMMAND', `10m')dnl
+define(`confTO_RSET', `1m')dnl
+define(`confTO_COMMAND', `5m')dnl
define(`confTO_HOSTSTATUS', `30m')dnl
define(`confMIN_QUEUE_AGE', `30m')dnl
define(`confNO_RCPT_ACTION', `add-to-undisclosed')dnl
@@ -76,7 +85,7 @@ define(`confRECEIVED_HEADER', `$?sfrom $s $.$?_($?s$|from $.$_)
for $u; $|;
$.$b$?g
(envelope-from $g)$.')dnl
-define(`confHOST_STATUS_DIRECTORY', `.hoststat')dnl
+define(`confHOST_STATUS_DIRECTORY', `/var/spool/hoststat')dnl
define(`confMAX_DAEMON_CHILDREN', `8')dnl
define(`confCONNECTION_THROTTLE_RATE', `1')dnl
define(`confFORWARD_PATH', `/var/forward/$u')dnl
@@ -85,40 +94,113 @@ LOCAL_CONFIG
Cw localhost freefall.freebsd.org
Kdenyip hash -o -a.REJECT /etc/mail/denyip.db
+Kfakenames hash -o -a.REJECT /etc/mail/fakenames.db
Kspamsites hash -o -a.REJECT /etc/mail/spamsites.db
+# helper rulsesets; useful for debugging sendmail configurations
+#
+#
+Scheck_rbl
+# lookup up an ip address in the Realtime Blackhole List.
+R$-.$-.$-.$- $: $(host $4.$3.$2.$1.rbl.maps.vix.com. $:OK $)
+
+Sxlat # for sendmail -bt
+# sendmail treats "$" and "|" as two distinct tokens
+# this rule "pastes" them together into one token
+# and then calls check_relay.
+R$* $$| $* $: $1 $| $2
+R$* $| $* $@ $>check_relay $1 $| $2
+
Scheck_relay
-# called with host.tld and IP address of connecting host.
-# ip address must NOT be in the "denyip" database
-R$* $| [$+ $1 $| $2 should not be needed
-R$* $| $+] $1 $| $2 same (bat 2nd ed p510)
+# called with "hostname.tld $| IP address" of connecting host.
+# hostname.tld is the fully-qualified domain name
+# IP address is dotted-quad with surrounding "[]" brackets.
+#
+# each group of rules in this ruleset is independent.
+# each accepts and return "hostname.tld $| IP address"
+# use the ones that you want comment out the rest
+# you may rearrange the groups but not the rules in each group.
+# each group is preceded and followed by a comment
+#
+# host must NOT be in the "spamsites" database--BEGIN
+R$* $| $* $: <$1 $| $2> $1
+R<$*> $+.$+.$+ <$1> $3.$4
+R<$*> $+.$+ $: <$1> $(spamsites $2.$3 $)
+R<$*> $*.REJECT $#error $: "521 blocked. contact postmaster@FreeBSD.ORG"
+R<$*> $* $: $1
+# host must NOT be in the "spamsites" database--END
+# ip address must NOT be in the "denyip" database--BEGIN
R$* $| $* $: $1 $| $(denyip $2 $)
-R$* $| $*.REJECT $#error $: 521 blocked. contact postmaster@FreeBSD.ORG ($2)
-# host must *not* be in the "spamsites" database
-R$+.$+.$+ $| $* $2.$3 $| $4
-R$+.$+ $| $* $: $(spamsites $1.$2 $) $| $3
-R$*.REJECT $| $* $#error $: 521 blocked. contact postmaster@FreeBSD.ORG ($1)
-# Host must be resolvable
-#R$* $| $* $: <?> <$1 $| $2> $>3 foo@$1
-#R<?> <$*> $*<@$*.> $: $1
-#R<?> <$*> $*<@$*> $#error $: 451 Domain does not resolve ($1)
+R$* $| $*.REJECT $#error $: "521 blocked. contact postmaster@FreeBSD.ORG"
+# ip address must NOT be in the "denyip" database--END
+# ip address must NOT be in Paul Vixie's RBL--BEGIN
+R$* $| $* $: <$1 $| $2> $>check_rbl $2
+R$*.com. $#error $: "550 Mail refused, see http://maps.vix.com/rbl"
+R<$*> $* $: $1
+# ip address must NOT be in Paul Vixie's RBL--END
+R$* $@ OK
-# spamsites database optional--fail safe, deliver the mail.
Scheck_mail
-# called with envelope sender, "Mail From: xxx", of SMTP conversation
+# called with envelope sender (everything after ":") in
+# "Mail From: xxx", of SMTP conversation
+# may or may not have "<" ">"
+# the groups of rules in this ruleset ARE NOT independent.
+# "remove all RFC-822 comments" must come first
+# "Connecting Host" and "Paul Vixie's RBL" must be last
#
-# can't force DNS, Poul-Henning Kamp and others dont resolve
-# <root@dgbmsu1.s2.dgb.tfs>... Domain does not resolve
+# use the ones that you want comment out the rest
+# each group is preceded and followed by a comment
#
-R$* $: <?> $>3 $1
-R<?> $* < @ $+ . > $: $2
-# R<?> $* < @ $+ > $#error $: "451 Domain does not resolve"
-R<?> $* < @ $+ > $: $2
-R$+.$+.$+ $2.$3
-R$* $: $(spamsites $1 $: OK $)
-ROK $@ OK
+# remove all RFC-822 comments--BEGIN
+# MUST be first rule in check_mail rulseset.
+R$* $: $>3 $1
+# remove all RFC-822 comments--END
+# mail must come from a DNS resolvable host--BEGIN
+R$* < @ $+ . > $: $1 @ $2
+R$* < @ $+ > $#error $: "451 Domain does not resolve"
+# mail must come from a DNS resolvable host--END
+# mail must NOT come from a known source of spam--BEGIN
+# resolved. second check: one of the know spam sources?
+R$+ @$+ $: <$1@$2> $2
+R<$*> $+.$+.$+ <$1> $3.$4
+R<$*> $* $: $(spamsites $2 $: OK $)
R$+.REJECT $#error $: 521 $1
+R<$*> $* $: $1
+# mail must NOT come from a known source of spam--END
+# Connecting Host must resolve--BEGIN
+R$* $: $1 $: $(dequote "" $&{client_name} $)
+R$* $: $>3 foo@$1
+R<$*> $*<@$*> $#error $: "451 Domain does not resolve"
+# Connecting Host must resolve--END
+# ip address must NOT be in Paul Vixie's RBL--BEGIN
+R$* $: $(dequote "" $&{client_addr} $)
+R0 $@ OK
+R$* $: $>check_rbl $1
+R$*.com. $#error $: "550 Mail refused, see http://maps.vix.com/rbl"
+# ip address must NOT be in Paul Vixie's RBL--END
+R$* $@ OK
+
+Scheck_rcpt
+# called with envelope recipient (everything after ":") in
+# "Rcpt To: xxx", of SMTP conversation
+# may or may not have "<" ">" and or RFC-822 comments.
+# let ruleset 3 clean this up for us.
+# mail must NOT be addressed "fakenames"--BEGIN
+R$* $: <$1> $>3 $1
+R<$*> $+ < @ $+ > $: <$1> $(fakenames $2 $: OK $)
+R$+.REJECT $#error $: 521 $1
+R<$*> $* $: $1
+# mail must NOT be addressed "fakenames"--END
+# mail must come from or go to this mahcine or machines we allow to relay--BEGIN
+# R$* $: $>Parse0 $>3 $1
+# R$+ < @ $* . > $* $: $1 < @ $2 >
+# R<$+ @ $=w> $@ OK
+# R<$+ @ $* $=R> $@ OK
+# R$* $: $(dequote "" $&{client_name} $)
+# R$=w $@ OK
+# R$* $=R $@ OK
+# R$@ $@ OK
+# R$* $#error $: "550 Relaying Denied"
+# mail must come from or go to this mahcine or machines we allow to relay--BEGIN
+R$* $@ OK
-Sxlat # for sendmail -bt
-R$* $$| $* $: $1 $| $2
-R$* $| $* $@ $>check_relay $1 $| $2