#! /bin/sh

# set parameters for DCC start, stop, and cron scripts

# This file is parsed by /bin/sh, and so parameters must be appropriately quoted
#   Start your own comment lines with something other than "#" such as "##"
#   so that they will be preserved when installing a new version.


# from Rhyolite Software DCC 1.3.159-1.87 $Revision$
DCC_CONF_VERSION=4

# don't set DCC_HOMEDIR since if we got here, it must be set
DCC_LIBEXEC=/usr/pkg/libexec
DCC_RUNDIR=/var/run/dcc

# DCC user name
DCCUID=dcc


DCCD_ENABLE=on
# DCC server-IDs must be globally unique.
SRVR_ID=
# BRAND can be any short alphanumeric string that suggests the identity
#   of the server.
BRAND=
# args used to start dccd
DCCD_ARGS=


# GREY_CLIENT_ARGS contains "on", "-GnoIP", etc. to turn on greylisting
#	in the dccm and dccifd DCC clients.
#   Also turns on the local greylist dccd server unless GREY_ENABLE=off
GREY_CLIENT_ARGS=
# GREY_ENABLE turns local greylist server 'on' or 'off',
#	but does not effect dccm, dccifd
GREY_ENABLE=on

# GREY_SRVR_ID DCC server-IDs must be globally unique, but greylisting dccd
#   servers are usually isolated.  If you have more than one greylist server,
#   ensure that they use distinct server-IDs and that they flood each other
#   with entries in /var/dcc/flod
GREY_SRVR_ID=$SRVR_ID
# Start dccd for grey listing or set server options such as -Gweak-IP.
#   See also GREY_ENABLE.
GREY_DCCD_ARGS=

# dccm and dccifd client reputation parameters such as -tREP,20
REP_ARGS=-tREP,20

# DNS blacklist -B parameters for dccifd and dccm
#   For example, this checks SMTP client IP addresses for any value Spamhaus'
#   ZEN.  It also looks for for values between 127.0.0.0 and 127.0.0.8 for SMTP
#   envelope sender mail_host or mail_host domain names, URLs in mail message
#   bodies, MX servers, DNS (NS) servers.
#   It then checks URLs in the message body in Spamhaus' DBL.
#   It also whitelists with the "0 = none" values of dnswl.org.
# DNSBL_ARGS="'-Bset:rej-msg=5.7.1 550 %ID %BTYPE https://www.spamhaus.org/query/bl?ip=%BTGT' \
#	-Bzen.spamhaus.org,127.0.0.0-127.0.0.8 \
#	-Bset:no-mail_host -Bset:no-URL -Bset:no-NS -Bzen.spamhaus.org \
#	-Bset:URL -Bset:no-client -Bdbl.spamhaus.org,127.0.1.1-127.0.1.59,name \
#	-Bset:white -Bset:client -Bset:no-URL -Bset:no-mail_host \
#	-Bset:no-NS -Bset:no-MX '-Blist.dnswl.org,127.0.0.3&255.255.0.255'"
DNSBL_ARGS=


DCCM_ENABLE=on
#
# used to start dccm
#   a common value is
#	DCCM_ARGS="-SHELO -Smail_host -SSender -SList-ID"
#   Note the use of single quotes in
#	DCCM_ARGS="-SHELO '-r5.7.1 550 mail %s from %s rejected with DCC'"
#   Put greylist parameters in GREY_CLIENT_ARGS but not in DCCM_ARGS.
DCCM_ARGS="-SHELO -Smail_host -SSender -SList-ID"
# The log directories should be cleaned with the /usr/pkg/libexec/cron-dccd
#   nightly cron job.  DCCM_LOGDIR can start with D? H? or M? as in
#   DCCM_LOGDIR='D?log'  See -l in the man page.
#   Set DCCM_LOGDIR to the empty or null string to disable logging.
DCCM_LOGDIR="D?log"
DCCM_WHITECLNT=whiteclnt
DCCM_USERDIRS=userdirs
# set DCCM_LOG_AT to a number that determines "bulk mail" for your situation.
#   50 is a typical value.
# Leave DCCM_REJECT_AT blank until you are confident that most sources of
#   solicited bulk mail have been whitelisted.  Then set it to the number
#   that defines "bulk mail" for your site.  This rejection or "bulk" threshold
#   does not affect the blacklisting of the DCCM_WHITECLNT whitelist file.
# Add '-aIGNORE' to DCCM_ARGS to ignore the bulkiness of mail except to
#   add X-DCC headers.
DCCM_LOG_AT=5
DCCM_REJECT_AT=
# override basic list of DCC server checksums controlling rejections or logging
DCCM_CKSUMS=
# additional DCC server checksums worthy of rejections or logging
DCCM_XTRA_CKSUMS=


DCCIFD_ENABLE=on
#
# used to start dccifd
#   a common value is
#   DCCIFD_ARGS="-SHELO -Smail_host -SSender -SList-ID"
DCCIFD_ARGS="-SHELO -Smail_host -SSender -SList-ID"
DCCIFD_LOGDIR="$DCCM_LOGDIR"
DCCIFD_WHITECLNT="$DCCM_WHITECLNT"
#   When both dccm and dccifd are used it may be necessary to set
#   DCCIFD_USERDIRS="$DCCM_USERDIRS/local"
DCCIFD_USERDIRS="$DCCM_USERDIRS"
DCCIFD_LOG_AT="$DCCM_LOG_AT"
DCCIFD_REJECT_AT="$DCCM_REJECT_AT"
# override basic list of checksums controlling rejections or logging
DCCIFD_CKSUMS="$DCCM_CKSUMS"
# additional DCC server checksums worthy of rejections or logging
DCCIFD_XTRA_CKSUMS="$DCCM_XTRA_CKSUMS"

# days to keep files in DCC log directories
DBCLEAN_LOGDAYS=14
# used to start dbclean, including -H, -e, and -E
DBCLEAN_ARGS=


# optionally set to something like "local5" or "local5.notice" for
#   dccd, dbclean, dccifd, and dccm.  The defaults are equivalent to
#   DCC_INFO_LOG_FACILITY=MAIL.NOTICE and DCC_ERROR_LOG_FACILITY=MAIL.ERR
DCC_INFO_LOG_FACILITY=
DCC_ERROR_LOG_FACILITY=


# ensure that the log facilities include levels and that $DCC_LOGGER
#   has a default.
if test -n "$DCC_INFO_LOG_FACILITY"; then
    if expr "X$DCC_INFO_LOG_FACILITY" : 'X.*\..*' >/dev/null; then
	:
    else
	DCC_INFO_LOG_FACILITY="$DCC_INFO_LOG_FACILITY.notice"
    fi
    DCC_LOG_ARGS="$DCC_LOG_ARGS -Linfo,$DCC_INFO_LOG_FACILITY"
fi
if test -z "$DCC_ERROR_LOG_FACILITY"; then
    # for $DCC_LOGGER
    DCC_ERROR_LOG_FACILITY=mail.err
else
    if expr "X$DCC_ERROR_LOG_FACILITY" : 'X.*\..*' >/dev/null; then
	:
    else
	DCC_ERROR_LOG_FACILITY="$DCC_ERROR_LOG_FACILITY.err"
    fi
    DCC_LOG_ARGS="$DCC_LOG_ARGS -Lerror,$DCC_ERROR_LOG_FACILITY"
fi
DCC_LOGGER="logger -s -p ${DCC_ERROR_LOG_FACILITY-mail.err} -t ${LOGGER_TAG-DCC}"


# capture ./configure values for make-dcc_conf
Configure_DCC_LIBEXEC=/usr/pkg/libexec
Configure_DCC_RUNDIR=/var/run/dcc
Configure_DCCUID=dcc
Configure_DCC_LOGGER="logger -s -p ${DCC_ERROR_LOG_FACILITY-mail.err} -t ${LOGGER_TAG-DCC}"
