Mercurial > notdcc
diff misc/dcc.m4.in @ 0:c7f6b056b673
First import of vendor version
author | Peter Gervai <grin@grin.hu> |
---|---|
date | Tue, 10 Mar 2009 13:49:58 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/misc/dcc.m4.in Tue Mar 10 13:49:58 2009 +0100 @@ -0,0 +1,75 @@ +divert(-1) +# +# This feature causes sendmail to check with a local DCCM deamon about +# all incoming mail +# +# Use this file by copying it to your sendmail/cf/feature directory +# and by adding a line like the following to your sendmail.mc configuration +# file: +# `FEATURE(dcc)' +# +# To change the default milter failture settings or timeouts as described +# in the sendmail milter README file, use something like: +# `FEATURE(dcc,``F=T, T=C:30s;S:30s;R:30s;E:30s'')' +# The default parameters wait 30 seconds for the initial connection from +# sendmail to dccm (C), 30 seconds sendmail sending (S) as well as receiving +# responses (R) from dccm, and 30 seconds for dccm to check the message +# at its end (E). +# Adding "F=T" to the parameters cases sendmail to give SMTP clients +# a temporary failure when dccm fails. "F=R" causes sendmail to reject +# mail when dccm fails. When neither "F=T" nor "F=R" is present, sendmail +# quietly accepts the message if dccm fails or is absent. +# (A failure by dccm would be a serious bug.) +# misc/hackmc changes the default to "F=T". +# +# To use common directories and whiteclnt files for mail relayed to domains +# listed in /etc/mail/relay-domains, use a third argument as in +# `FEATURE(dcc, , ``local'')' +# If domain.com is in the relay-domains, file, then mail for all users +# forwarded there will use userdirs/local/domain.com/whiteclnt and +# userdirs/local/domain.com/log. +# +# To connect dccm to sendmail via TCP or use a UNIX domain socket +# other than @dcc_rundir@/dccm, or other fancy changes, consider modifying +# this file or the resulting sendmail.cf file. +# +# See also @libexecdir@/hackmc +# +# @configure_input@ + + +divert(0) +VERSIONID(`dcc.m4 Rhyolite Software DCC 1.3.103-1.14 $Revision$') +divert(-1) + +ifdef(`_DCC_DEF_',`',`dnl +dnl define map to communicate blacklist results to DCC via dccm +define(_NEED_MACRO_MAP_,1)dnl +dnl set Xdcc milter parameters +define(`_DCC_DEF_', ifelse(len(X`'_ARG_), `1', ``, T=C:30s;S:30s;R:30s;E:30s'', +``,' _ARG_'))dnl +dnl Sendmail version 8.11 requires _FFR_MILTER +define(`_FFR_MILTER',`')dnl +dnl +dnl always pass the DCC is/notspam macros to not need FEATURE(`delay_checks') +define(`confMILTER_MACROS_CONNECT',confMILTER_MACROS_CONNECT``, {dcc_isspam}, {dcc_notspam}'')dnl +define(`confMILTER_MACROS_ENVFROM',confMILTER_MACROS_ENVFROM``, {dcc_isspam}, {dcc_notspam}, {dcc_mail_host}'')dnl +define(`confMILTER_MACROS_ENVRCPT',confMILTER_MACROS_ENVRCPT``, {dcc_isspam}, {dcc_notspam}, {dcc_userdir}'')dnl +define(`confMILTER_MACROS_EOM',confMILTER_MACROS_EOM``, {dcc_isspam}, {dcc_notspam}'')dnl +INPUT_MAIL_FILTER(`dcc', ``S=unix:@dcc_rundir@/dccm'_DCC_DEF_')'dnl +dnl +`LOCAL_RULESETS +# Define a macro for dccm that has the SMTP client host name even if +# a smart relay is used. +# This works only if ``FEATURE(delay_checks)'' is not used. +SLocal_check_mail +R$* $: $1 $| $>canonify $1 +R$* $| $* < @$* > $* $: $1 $| $3 +R$* $| $* $: $1 $(macro {dcc_mail_host} $@ $2 $)' +ifelse(len(X`'_ARG2_), `1', ``dnl'',`` +# use _ARG2_/domain.name/whiteclnt and _ARG2_/domain.name/log for the +# DCC whitelist and log directory for relayed mail +SLocal_check_rcpt +R$* $: $1 $| $>canonify $1 +R$* $| $*<@ $*$=R .> $* $: $1 $(macro {dcc_userdir} $@ _ARG2_/$4 $) +R$* $| $*<@ $ $=R > $* $: $1 $(macro {dcc_userdir} $@ _ARG2_/$4 $)''))