#! /bin/sh

PATH=/bin:/usr/bin:/usr/ucb:/usr/bsd:/sbin
export PATH

case "$CF_DEBUG" in
*config*|*all*)
	exec 2> DEBUG.Configure.$$
	set -vx
	;;
*)	;;
esac

: ${MASTERDIR=./Master}
: ${TOOLDIR=./Tools}
: ${MKINFO=Mkinfo}
: ${CFSELECT=cf_select}
: ${CLEANUP=Cleanup}
: ${DEFAULT=default}

# preserve argument vector
_ARGV="$@"

# make IFS contain SPC, TAB and EQUAL
OIFS="$IFS"
IFS='=	 '
# evaluate definition files
while [ "$1" ]
do
	if [ -f "$1" ]
	then
		exec < "$1"
		while read LINE
			do
			case "$LINE" in
			DEFAULT_FILE=*)	# type of sendmail.cf
				set $LINE
				DEFAULT_FILE="$2" ;;
			*) ;;		# anything else should be ignored
			esac
		done
	else
		echo "$1: no such file." 1>&2
	fi
	shift
done
# restore IFS
IFS="$OIFS"
# evaluate default configuration
. $MASTERDIR/$DEFAULT

# recover argument vector
set "$_ARGV"

# evaluate definition files
while [ "$1" ]
do
	if [ -f "$1" ]
	then
		case "$1" in
		/*)	. $1 ;;
		*)	. ./$1 ;;
		esac
	else
		echo "$1: no such file." 1>&2
	fi
	shift
done

if [ "$DEF_REVISION_ID" ]
then
	if [ "$REVISION_ID_LIST" ]
	then
		REVISION_ID_LIST="$REVISION_ID_LIST\\
# $DEF_REVISION_ID"
	else
		REVISION_ID_LIST="# $DEF_REVISION_ID"
	fi
fi
if [ "$SITE_REVISION_ID" ]
then
	if [ "$REVISION_ID_LIST" ]
	then
		REVISION_ID_LIST="$REVISION_ID_LIST\\
# $SITE_REVISION_ID"
	else
		REVISION_ID_LIST="# $SITE_REVISION_ID"
	fi
fi

# recover argument vector again
set "$_ARGV"

# select type of sendmail.cf
. $MASTERDIR/$CFSELECT

# get information of config file creation
. $MASTERDIR/$MKINFO

if [ "$FEATURE" = "" ]
then
	echo "No feature found." 1>&2
	exit 1;
fi

# read list features
exec < $MASTERDIR/$FEATURE
while read LINE
do
	if [ "$LINE" ]
	then
		set $LINE
		case "$1" in
		\#*) ;;	# comment
		*=*) ;;	# assertion
		*)	# feature file
			if [ -f $MASTERDIR/$1 ]
			then
				# save valid filenames
				FEATURES="$FEATURES $MASTERDIR/$1"
			else
				echo "$1: no such feature file." 1>&2
			fi ;;
		esac
	fi
done

# evaluate feature description files
for FT in $FEATURES
do
	. $FT
done


# keyword substitution with PERL
cat << PERL_EOF | /usr/bin/perl -e '

$proto = pop(@ARGV);
$key = "";
$line = "";
while (<STDIN>) {
	if (/^%PERL_VAR_SEPARATOR%/) {
		chop($line);
		$cf_env{$key} = $line;
		$key = "";
		$line = "";
		next;
	}
	if ($line eq "") {
		if(/^(\w+)=/) {
			$key = $1;
			$line = $'"'"';
		}
	} else {
		$line .= $_;
	}
}

open(PROTO, "<$proto") || die("open failed ($!): $proto");
while (<PROTO>) {
	# replace keywords with values defined in environment variables
	if (/^#%(.*)%/) {
		$val = $cf_env{$1};
		# for compatibility with SED version
		$val =~ s/\\(\W)/\1/g;
		print "$val\n" if ($val ne "");
	} else {
		print $_;
	}
}
close(PROTO);
' $MASTERDIR/$PROTO

ADMINSTICKYRULE=$ADMINSTICKYRULE
%PERL_VAR_SEPARATOR%
ALIASRULE=$ALIASRULE
%PERL_VAR_SEPARATOR%
ALIAS_REWRITE_RULE=$ALIAS_REWRITE_RULE
%PERL_VAR_SEPARATOR%
BITNETRULE=$BITNETRULE
%PERL_VAR_SEPARATOR%
BROKENSMTPPEERS=$BROKENSMTPPEERS
%PERL_VAR_SEPARATOR%
CANONACCEPTADDR=$CANONACCEPTADDR
%PERL_VAR_SEPARATOR%
CANONACCEPTLOWER=$CANONACCEPTLOWER
%PERL_VAR_SEPARATOR%
CANONRULE1=$CANONRULE1
%PERL_VAR_SEPARATOR%
CANONRULE2=$CANONRULE2
%PERL_VAR_SEPARATOR%
CANONRULE3=$CANONRULE3
%PERL_VAR_SEPARATOR%
CANONRULE4=$CANONRULE4
%PERL_VAR_SEPARATOR%
CANONRULE5=$CANONRULE5
%PERL_VAR_SEPARATOR%
CF_VERSION=$CF_VERSION
%PERL_VAR_SEPARATOR%
CHAR_ALLOCATION_LIST=$CHAR_ALLOCATION_LIST
%PERL_VAR_SEPARATOR%
CHECK_COMPAT=$CHECK_COMPAT
%PERL_VAR_SEPARATOR%
CHECK_HDR=$CHECK_HDR
%PERL_VAR_SEPARATOR%
CHECK_MAIL=$CHECK_MAIL
%PERL_VAR_SEPARATOR%
CHECK_RCPT=$CHECK_RCPT
%PERL_VAR_SEPARATOR%
CHECK_RELAY=$CHECK_RELAY
%PERL_VAR_SEPARATOR%
CLASS_w=$CLASS_w
%PERL_VAR_SEPARATOR%
CYRUSMAILER=$CYRUSMAILER
%PERL_VAR_SEPARATOR%
DECNETRULE=$DECNETRULE
%PERL_VAR_SEPARATOR%
DEF_ENV=$DEF_ENV
%PERL_VAR_SEPARATOR%
DOMAINTABLERULE=$DOMAINTABLERULE
%PERL_VAR_SEPARATOR%
DSPTACCEPTLOCAL=$DSPTACCEPTLOCAL
%PERL_VAR_SEPARATOR%
DSPTACCEPTLOWER=$DSPTACCEPTLOWER
%PERL_VAR_SEPARATOR%
DSPTACCEPTRULE=$DSPTACCEPTRULE
%PERL_VAR_SEPARATOR%
DSPTERRORRULE=$DSPTERRORRULE
%PERL_VAR_SEPARATOR%
DSPTLOCALHACK=$DSPTLOCALHACK
%PERL_VAR_SEPARATOR%
DSPTPOPDOM=$DSPTPOPDOM
%PERL_VAR_SEPARATOR%
DSPTPOPFEED=$DSPTPOPFEED
%PERL_VAR_SEPARATOR%
DSPTUUCPRULE=$DSPTUUCPRULE
%PERL_VAR_SEPARATOR%
DSPTVDLOCAL=$DSPTVDLOCAL
%PERL_VAR_SEPARATOR%
ELIMADDR=$ELIMADDR
%PERL_VAR_SEPARATOR%
ESMTPMAILER=$ESMTPMAILER
%PERL_VAR_SEPARATOR%
ESMTPPEERS=$ESMTPPEERS
%PERL_VAR_SEPARATOR%
EXTENDEDUUCPCONV=$EXTENDEDUUCPCONV
%PERL_VAR_SEPARATOR%
EXTERNMAILER=$EXTERNMAILER
%PERL_VAR_SEPARATOR%
FAKEDOMAIN=$FAKEDOMAIN
%PERL_VAR_SEPARATOR%
FAKEUUCP=$FAKEUUCP
%PERL_VAR_SEPARATOR%
FILECLASS_w=$FILECLASS_w
%PERL_VAR_SEPARATOR%
FMTRECEIVED=$FMTRECEIVED
%PERL_VAR_SEPARATOR%
GENERALFROM=$GENERALFROM
%PERL_VAR_SEPARATOR%
HDRACCEPTADDR=$HDRACCEPTADDR
%PERL_VAR_SEPARATOR%
HDRACCEPTLOWER=$HDRACCEPTLOWER
%PERL_VAR_SEPARATOR%
HDRALIAS=$HDRALIAS
%PERL_VAR_SEPARATOR%
HDRALIASED=$HDRALIASED
%PERL_VAR_SEPARATOR%
HDRANOTHERADDR=$HDRANOTHERADDR
%PERL_VAR_SEPARATOR%
HDRBESTMX=$HDRBESTMX
%PERL_VAR_SEPARATOR%
HDRBITNET=$HDRBITNET
%PERL_VAR_SEPARATOR%
HDRCHECK=$HDRCHECK
%PERL_VAR_SEPARATOR%
HDRCYRUS=$HDRCYRUS
%PERL_VAR_SEPARATOR%
HDRDECNET=$HDRDECNET
%PERL_VAR_SEPARATOR%
HDRDOMAINTABLE=$HDRDOMAINTABLE
%PERL_VAR_SEPARATOR%
HDRFROMADDR=$HDRFROMADDR
%PERL_VAR_SEPARATOR%
HDRHUBHOST=$HDRHUBHOST
%PERL_VAR_SEPARATOR%
HDRINDIRECTRELAY=$HDRINDIRECTRELAY
%PERL_VAR_SEPARATOR%
HDRKANJI=$HDRKANJI
%PERL_VAR_SEPARATOR%
HDRLOCALHACK=$HDRLOCALHACK
%PERL_VAR_SEPARATOR%
HDRLOCALUSERS=$HDRLOCALUSERS
%PERL_VAR_SEPARATOR%
HDRMAILERTABLE=$HDRMAILERTABLE
%PERL_VAR_SEPARATOR%
HDRNEWS=$HDRNEWS
%PERL_VAR_SEPARATOR%
HDRNISLOOKUP=$HDRNISLOOKUP
%PERL_VAR_SEPARATOR%
HDRPLUSSEDADDRS=$HDRPLUSSEDADDRS
%PERL_VAR_SEPARATOR%
HDRPLUSSEDUSERS=$HDRPLUSSEDUSERS
%PERL_VAR_SEPARATOR%
HDRPOPDOM=$HDRPOPDOM
%PERL_VAR_SEPARATOR%
HDRROUTE=$HDRROUTE
%PERL_VAR_SEPARATOR%
HDRSECONDARY=$HDRSECONDARY
%PERL_VAR_SEPARATOR%
HDRSPECIALFROM=$HDRSPECIALFROM
%PERL_VAR_SEPARATOR%
HDRSPOOLHOST=$HDRSPOOLHOST
%PERL_VAR_SEPARATOR%
HDRSTATIC=$HDRSTATIC
%PERL_VAR_SEPARATOR%
HDRUSERTABLE=$HDRUSERTABLE
%PERL_VAR_SEPARATOR%
HDRUUCP=$HDRUUCP
%PERL_VAR_SEPARATOR%
HDRUUNAME=$HDRUUNAME
%PERL_VAR_SEPARATOR%
HDRVDL=$HDRVDL
%PERL_VAR_SEPARATOR%
HUBHOSTRULE=$HUBHOSTRULE
%PERL_VAR_SEPARATOR%
IDENTPEERS=$IDENTPEERS
%PERL_VAR_SEPARATOR%
IGNOREMXNUMERIC=$IGNOREMXNUMERIC
%PERL_VAR_SEPARATOR%
JUNETRULE=$JUNETRULE
%PERL_VAR_SEPARATOR%
KNOWNDOMAINS=$KNOWNDOMAINS
%PERL_VAR_SEPARATOR%
LOCAKHACK_RETRYRULE=$LOCAKHACK_RETRYRULE
%PERL_VAR_SEPARATOR%
LOCALFROM=$LOCALFROM
%PERL_VAR_SEPARATOR%
LOCALHACKBODY=$LOCALHACKBODY
%PERL_VAR_SEPARATOR%
LOCALHACKMAILER=$LOCALHACKMAILER
%PERL_VAR_SEPARATOR%
LOCALHACK_LOCALIZE=$LOCALHACK_LOCALIZE
%PERL_VAR_SEPARATOR%
LOCALHACK_OPTION=$LOCALHACK_OPTION
%PERL_VAR_SEPARATOR%
LOCALHUBRETRYRULE=$LOCALHUBRETRYRULE
%PERL_VAR_SEPARATOR%
LOCALHUBRULE2=$LOCALHUBRULE2
%PERL_VAR_SEPARATOR%
LOCALMAILER=$LOCALMAILER
%PERL_VAR_SEPARATOR%
LOCALRECIPIENTRULE=$LOCALRECIPIENTRULE
%PERL_VAR_SEPARATOR%
MACRO_e=$MACRO_e
%PERL_VAR_SEPARATOR%
MACRO_j=$MACRO_j
%PERL_VAR_SEPARATOR%
MACRO_l=$MACRO_l
%PERL_VAR_SEPARATOR%
MACRO_m=$MACRO_m
%PERL_VAR_SEPARATOR%
MACRO_n=$MACRO_n
%PERL_VAR_SEPARATOR%
MACRO_o=$MACRO_o
%PERL_VAR_SEPARATOR%
MACRO_q=$MACRO_q
%PERL_VAR_SEPARATOR%
MACRO_w=$MACRO_w
%PERL_VAR_SEPARATOR%
MAILERTABLEBODY=$MAILERTABLEBODY
%PERL_VAR_SEPARATOR%
MXDOTTERMINATE=$MXDOTTERMINATE
%PERL_VAR_SEPARATOR%
NEWSMAILER=$NEWSMAILER
%PERL_VAR_SEPARATOR%
NISDELIVERRULE=$NISDELIVERRULE
%PERL_VAR_SEPARATOR%
NISLOOKUPDELIVERRULE=$NISLOOKUPDELIVERRULE
%PERL_VAR_SEPARATOR%
NUMERICRULE=$NUMERICRULE
%PERL_VAR_SEPARATOR%
OPTION_7=$OPTION_7
%PERL_VAR_SEPARATOR%
OPTION_8=$OPTION_8
%PERL_VAR_SEPARATOR%
OPTION_A=$OPTION_A
%PERL_VAR_SEPARATOR%
OPTION_ABH=$OPTION_ABH
%PERL_VAR_SEPARATOR%
OPTION_B=$OPTION_B
%PERL_VAR_SEPARATOR%
OPTION_C=$OPTION_C
%PERL_VAR_SEPARATOR%
OPTION_COIA=$OPTION_COIA
%PERL_VAR_SEPARATOR%
OPTION_CRT=$OPTION_CRT
%PERL_VAR_SEPARATOR%
OPTION_D=$OPTION_D
%PERL_VAR_SEPARATOR%
OPTION_DBA=$OPTION_DBA
%PERL_VAR_SEPARATOR%
OPTION_DBS=$OPTION_DBS
%PERL_VAR_SEPARATOR%
OPTION_DCS=$OPTION_DCS
%PERL_VAR_SEPARATOR%
OPTION_DD=$OPTION_DD
%PERL_VAR_SEPARATOR%
OPTION_DEC=$OPTION_DEC
%PERL_VAR_SEPARATOR%
OPTION_DIG=$OPTION_DIG
%PERL_VAR_SEPARATOR%
OPTION_DPI=$OPTION_DPI
%PERL_VAR_SEPARATOR%
OPTION_E=$OPTION_E
%PERL_VAR_SEPARATOR%
OPTION_F=$OPTION_F
%PERL_VAR_SEPARATOR%
OPTION_G=$OPTION_G
%PERL_VAR_SEPARATOR%
OPTION_H=$OPTION_H
%PERL_VAR_SEPARATOR%
OPTION_HFP=$OPTION_HFP
%PERL_VAR_SEPARATOR%
OPTION_HSD=$OPTION_HSD
%PERL_VAR_SEPARATOR%
OPTION_I=$OPTION_I
%PERL_VAR_SEPARATOR%
OPTION_J=$OPTION_J
%PERL_VAR_SEPARATOR%
OPTION_K=$OPTION_K
%PERL_VAR_SEPARATOR%
OPTION_L=$OPTION_L
%PERL_VAR_SEPARATOR%
OPTION_MDC=$OPTION_MDC
%PERL_VAR_SEPARATOR%
OPTION_MMS=$OPTION_MMS
%PERL_VAR_SEPARATOR%
OPTION_MQA=$OPTION_MQA
%PERL_VAR_SEPARATOR%
OPTION_MQC=$OPTION_MQC
%PERL_VAR_SEPARATOR%
OPTION_MQRS=$OPTION_MQRS
%PERL_VAR_SEPARATOR%
OPTION_MRPM=$OPTION_MRPM
%PERL_VAR_SEPARATOR%
OPTION_N=$OPTION_N
%PERL_VAR_SEPARATOR%
OPTION_NRA=$OPTION_NRA
%PERL_VAR_SEPARATOR%
OPTION_O=$OPTION_O
%PERL_VAR_SEPARATOR%
OPTION_OC=$OPTION_OC
%PERL_VAR_SEPARATOR%
OPTION_P=$OPTION_P
%PERL_VAR_SEPARATOR%
OPTION_Q=$OPTION_Q
%PERL_VAR_SEPARATOR%
OPTION_QSR=$OPTION_QSR
%PERL_VAR_SEPARATOR%
OPTION_R=$OPTION_R
%PERL_VAR_SEPARATOR%
OPTION_RAU=$OPTION_RAU
%PERL_VAR_SEPARATOR%
OPTION_S=$OPTION_S
%PERL_VAR_SEPARATOR%
OPTION_SFE=$OPTION_SFE
%PERL_VAR_SEPARATOR%
OPTION_SGM=$OPTION_SGM
%PERL_VAR_SEPARATOR%
OPTION_SLFH=$OPTION_SLFH
%PERL_VAR_SEPARATOR%
OPTION_SSF=$OPTION_SSF
%PERL_VAR_SEPARATOR%
OPTION_STD=$OPTION_STD
%PERL_VAR_SEPARATOR%
OPTION_T=$OPTION_T
%PERL_VAR_SEPARATOR%
OPTION_U=$OPTION_U
%PERL_VAR_SEPARATOR%
OPTION_UFL=$OPTION_UFL
%PERL_VAR_SEPARATOR%
OPTION_UGW=$OPTION_UGW
%PERL_VAR_SEPARATOR%
OPTION_V=$OPTION_V
%PERL_VAR_SEPARATOR%
OPTION_W=$OPTION_W
%PERL_VAR_SEPARATOR%
OPTION_X=$OPTION_X
%PERL_VAR_SEPARATOR%
OPTION_Y=$OPTION_Y
%PERL_VAR_SEPARATOR%
OPTION_Z=$OPTION_Z
%PERL_VAR_SEPARATOR%
OPTION_a=$OPTION_a
%PERL_VAR_SEPARATOR%
OPTION_b=$OPTION_b
%PERL_VAR_SEPARATOR%
OPTION_c=$OPTION_c
%PERL_VAR_SEPARATOR%
OPTION_d=$OPTION_d
%PERL_VAR_SEPARATOR%
OPTION_e=$OPTION_e
%PERL_VAR_SEPARATOR%
OPTION_f=$OPTION_f
%PERL_VAR_SEPARATOR%
OPTION_g=$OPTION_g
%PERL_VAR_SEPARATOR%
OPTION_h=$OPTION_h
%PERL_VAR_SEPARATOR%
OPTION_i=$OPTION_i
%PERL_VAR_SEPARATOR%
OPTION_j=$OPTION_j
%PERL_VAR_SEPARATOR%
OPTION_k=$OPTION_k
%PERL_VAR_SEPARATOR%
OPTION_l=$OPTION_l
%PERL_VAR_SEPARATOR%
OPTION_m=$OPTION_m
%PERL_VAR_SEPARATOR%
OPTION_n=$OPTION_n
%PERL_VAR_SEPARATOR%
OPTION_o=$OPTION_o
%PERL_VAR_SEPARATOR%
OPTION_p=$OPTION_p
%PERL_VAR_SEPARATOR%
OPTION_q=$OPTION_q
%PERL_VAR_SEPARATOR%
OPTION_r=$OPTION_r
%PERL_VAR_SEPARATOR%
OPTION_s=$OPTION_s
%PERL_VAR_SEPARATOR%
OPTION_t=$OPTION_t
%PERL_VAR_SEPARATOR%
OPTION_u=$OPTION_u
%PERL_VAR_SEPARATOR%
OPTION_w=$OPTION_w
%PERL_VAR_SEPARATOR%
OPTION_x=$OPTION_x
%PERL_VAR_SEPARATOR%
OPTION_y=$OPTION_y
%PERL_VAR_SEPARATOR%
OPTION_z=$OPTION_z
%PERL_VAR_SEPARATOR%
PLUSSEDRULEBODY=$PLUSSEDRULEBODY
%PERL_VAR_SEPARATOR%
POPDOMMAILER=$POPDOMMAILER
%PERL_VAR_SEPARATOR%
POPFEEDHDR=$POPFEEDHDR
%PERL_VAR_SEPARATOR%
POPFEEDMAILER=$POPFEEDMAILER
%PERL_VAR_SEPARATOR%
PROCMAILMAILER=$PROCMAILMAILER
%PERL_VAR_SEPARATOR%
PROGMAILER=$PROGMAILER
%PERL_VAR_SEPARATOR%
RECIPIENTLOCALHACKRULE=$RECIPIENTLOCALHACKRULE
%PERL_VAR_SEPARATOR%
RECIPIENTUUCPRULE=$RECIPIENTUUCPRULE
%PERL_VAR_SEPARATOR%
REDIRECTRULE=$REDIRECTRULE
%PERL_VAR_SEPARATOR%
REJECTONERULE=$REJECTONERULE
%PERL_VAR_SEPARATOR%
REJECTSOURCEROUTERULE=$REJECTSOURCEROUTERULE
%PERL_VAR_SEPARATOR%
RELAYMAILER=$RELAYMAILER
%PERL_VAR_SEPARATOR%
RESRULE=$RESRULE
%PERL_VAR_SEPARATOR%
REVISION_ID_LIST=$REVISION_ID_LIST
%PERL_VAR_SEPARATOR%
ROUTERULE=$ROUTERULE
%PERL_VAR_SEPARATOR%
S0ACCEPTADDR=$S0ACCEPTADDR
%PERL_VAR_SEPARATOR%
S0ACCEPTLOCAL=$S0ACCEPTLOCAL
%PERL_VAR_SEPARATOR%
S0ACCEPTLOWER=$S0ACCEPTLOWER
%PERL_VAR_SEPARATOR%
S0ALIASRULE=$S0ALIASRULE
%PERL_VAR_SEPARATOR%
S0ALIAS_REWRITE_RULE=$S0ALIAS_REWRITE_RULE
%PERL_VAR_SEPARATOR%
S0BESTMX=$S0BESTMX
%PERL_VAR_SEPARATOR%
S0CANONRULE=$S0CANONRULE
%PERL_VAR_SEPARATOR%
S0CYRUSDELIVERY=$S0CYRUSDELIVERY
%PERL_VAR_SEPARATOR%
S0CYRUSLOCAL=$S0CYRUSLOCAL
%PERL_VAR_SEPARATOR%
S0DELIVERONE=$S0DELIVERONE
%PERL_VAR_SEPARATOR%
S0KANJIRULE=$S0KANJIRULE
%PERL_VAR_SEPARATOR%
S0LOCALHACK_ACCEPT=$S0LOCALHACK_ACCEPT
%PERL_VAR_SEPARATOR%
S0LOCALHACK_ALIAS=$S0LOCALHACK_ALIAS
%PERL_VAR_SEPARATOR%
S0LOCALHACK_DELIVERY=$S0LOCALHACK_DELIVERY
%PERL_VAR_SEPARATOR%
S0LOCALHACK_FINAL=$S0LOCALHACK_FINAL
%PERL_VAR_SEPARATOR%
S0LOCALHACK_LOCAL=$S0LOCALHACK_LOCAL
%PERL_VAR_SEPARATOR%
S0LOCALHACK_NUMERIC=$S0LOCALHACK_NUMERIC
%PERL_VAR_SEPARATOR%
S0LOCALHACK_RESOLV=$S0LOCALHACK_RESOLV
%PERL_VAR_SEPARATOR%
S0LOCALHACK_TOP=$S0LOCALHACK_TOP
%PERL_VAR_SEPARATOR%
S0LOCALHUBRULE=$S0LOCALHUBRULE
%PERL_VAR_SEPARATOR%
S0MAILERTABLE=$S0MAILERTABLE
%PERL_VAR_SEPARATOR%
S0NEWSRULE=$S0NEWSRULE
%PERL_VAR_SEPARATOR%
S0PLUSSEDLOCAL=$S0PLUSSEDLOCAL
%PERL_VAR_SEPARATOR%
S0PLUSSEDRULE=$S0PLUSSEDRULE
%PERL_VAR_SEPARATOR%
S0PROCMAIL=$S0PROCMAIL
%PERL_VAR_SEPARATOR%
S0STRIPTRAILINGDOT=$S0STRIPTRAILINGDOT
%PERL_VAR_SEPARATOR%
S0USERTABLEMAILDROP=$S0USERTABLEMAILDROP
%PERL_VAR_SEPARATOR%
S0UUCPRULE=$S0UUCPRULE
%PERL_VAR_SEPARATOR%
S0VDLRULE=$S0VDLRULE
%PERL_VAR_SEPARATOR%
S10GENERICREWRITE=$S10GENERICREWRITE
%PERL_VAR_SEPARATOR%
S10LOCALHACK1=$S10LOCALHACK1
%PERL_VAR_SEPARATOR%
S10LOCALHACK2=$S10LOCALHACK2
%PERL_VAR_SEPARATOR%
S10LOCALRULE=$S10LOCALRULE
%PERL_VAR_SEPARATOR%
S11ALIAS_REWRITE_RULE=$S11ALIAS_REWRITE_RULE
%PERL_VAR_SEPARATOR%
S11GENERICREWRITE=$S11GENERICREWRITE
%PERL_VAR_SEPARATOR%
S11LOCALHACK1=$S11LOCALHACK1
%PERL_VAR_SEPARATOR%
S11LOCALHACK2=$S11LOCALHACK2
%PERL_VAR_SEPARATOR%
S11LOCALHACK3=$S11LOCALHACK3
%PERL_VAR_SEPARATOR%
S11LOCALHACK4=$S11LOCALHACK4
%PERL_VAR_SEPARATOR%
S11LOCALHACK5=$S11LOCALHACK5
%PERL_VAR_SEPARATOR%
S11LOCALHACK6=$S11LOCALHACK6
%PERL_VAR_SEPARATOR%
S11SECONDARY=$S11SECONDARY
%PERL_VAR_SEPARATOR%
S11SPECIALFROM=$S11SPECIALFROM
%PERL_VAR_SEPARATOR%
S11SPECIALREWRITE=$S11SPECIALREWRITE
%PERL_VAR_SEPARATOR%
S11USERTABLEMAILNAME1=$S11USERTABLEMAILNAME1
%PERL_VAR_SEPARATOR%
S11USERTABLEMAILNAME2=$S11USERTABLEMAILNAME2
%PERL_VAR_SEPARATOR%
S11UUCPRULE=$S11UUCPRULE
%PERL_VAR_SEPARATOR%
S16SENDER_AA_RULE=$S16SENDER_AA_RULE
%PERL_VAR_SEPARATOR%
S17SENDER_AA_RULE=$S17SENDER_AA_RULE
%PERL_VAR_SEPARATOR%
S19RELAYRULE=$S19RELAYRULE
%PERL_VAR_SEPARATOR%
S1ALIASRULE=$S1ALIASRULE
%PERL_VAR_SEPARATOR%
S1LOCALHACKRULE1=$S1LOCALHACKRULE1
%PERL_VAR_SEPARATOR%
S1LOCALHACKRULE2=$S1LOCALHACKRULE2
%PERL_VAR_SEPARATOR%
S1STRIPTRAILINGDOT=$S1STRIPTRAILINGDOT
%PERL_VAR_SEPARATOR%
S20LOCALHACK1=$S20LOCALHACK1
%PERL_VAR_SEPARATOR%
S20LOCALHACK2=$S20LOCALHACK2
%PERL_VAR_SEPARATOR%
S20LOCALRULE=$S20LOCALRULE
%PERL_VAR_SEPARATOR%
S21ALIAS_REWRITE_RULE=$S21ALIAS_REWRITE_RULE
%PERL_VAR_SEPARATOR%
S21GENERICREWRITE=$S21GENERICREWRITE
%PERL_VAR_SEPARATOR%
S21LOCALHACK1=$S21LOCALHACK1
%PERL_VAR_SEPARATOR%
S21LOCALHACK2=$S21LOCALHACK2
%PERL_VAR_SEPARATOR%
S21LOCALHACK3=$S21LOCALHACK3
%PERL_VAR_SEPARATOR%
S21LOCALHACK4=$S21LOCALHACK4
%PERL_VAR_SEPARATOR%
S21SECONDARY=$S21SECONDARY
%PERL_VAR_SEPARATOR%
S21SPECIALFROM=$S21SPECIALFROM
%PERL_VAR_SEPARATOR%
S21SPECIALREWRITE=$S21SPECIALREWRITE
%PERL_VAR_SEPARATOR%
S21USERTABLEMAILDROP1=$S21USERTABLEMAILDROP1
%PERL_VAR_SEPARATOR%
S21USERTABLEMAILNAME1=$S21USERTABLEMAILNAME1
%PERL_VAR_SEPARATOR%
S21USERTABLEMAILNAME2=$S21USERTABLEMAILNAME2
%PERL_VAR_SEPARATOR%
S26RECIPIENT_AA_RULE=$S26RECIPIENT_AA_RULE
%PERL_VAR_SEPARATOR%
S29LOCALHACK1=$S29LOCALHACK1
%PERL_VAR_SEPARATOR%
S29LOCALHACK2=$S29LOCALHACK2
%PERL_VAR_SEPARATOR%
S29RELAYRULE=$S29RELAYRULE
%PERL_VAR_SEPARATOR%
S2LOCALHACKRULE1=$S2LOCALHACKRULE1
%PERL_VAR_SEPARATOR%
S2LOCALHACKRULE2=$S2LOCALHACKRULE2
%PERL_VAR_SEPARATOR%
S2STRIPTRAILINGDOT=$S2STRIPTRAILINGDOT
%PERL_VAR_SEPARATOR%
S31LOCALHACK1=$S31LOCALHACK1
%PERL_VAR_SEPARATOR%
S31LOCALHACK2=$S31LOCALHACK2
%PERL_VAR_SEPARATOR%
S3LOCALHACK_FOCUS=$S3LOCALHACK_FOCUS
%PERL_VAR_SEPARATOR%
S3LOCALHACK_GROUP=$S3LOCALHACK_GROUP
%PERL_VAR_SEPARATOR%
S3LOCALHACK_NO_AT=$S3LOCALHACK_NO_AT
%PERL_VAR_SEPARATOR%
S3LOCALHACK_STRIP=$S3LOCALHACK_STRIP
%PERL_VAR_SEPARATOR%
S41LOCALHACK1=$S41LOCALHACK1
%PERL_VAR_SEPARATOR%
S41LOCALHACK2=$S41LOCALHACK2
%PERL_VAR_SEPARATOR%
S4ACCEPTADDR=$S4ACCEPTADDR
%PERL_VAR_SEPARATOR%
S4LOCALHACK=$S4LOCALHACK
%PERL_VAR_SEPARATOR%
S4LOCALHACK0=$S4LOCALHACK0
%PERL_VAR_SEPARATOR%
S5KANJIRULE=$S5KANJIRULE
%PERL_VAR_SEPARATOR%
S5LOCALHACK=$S5LOCALHACK
%PERL_VAR_SEPARATOR%
S5LOCALHACK2=$S5LOCALHACK2
%PERL_VAR_SEPARATOR%
S5LOCALHUBRULE=$S5LOCALHUBRULE
%PERL_VAR_SEPARATOR%
S5PLUSSEDRULE=$S5PLUSSEDRULE
%PERL_VAR_SEPARATOR%
S5USERTABLEMAILDROP=$S5USERTABLEMAILDROP
%PERL_VAR_SEPARATOR%
S87RULE=$S87RULE
%PERL_VAR_SEPARATOR%
SECONDARYRULE=$SECONDARYRULE
%PERL_VAR_SEPARATOR%
SECURERULE=$SECURERULE
%PERL_VAR_SEPARATOR%
SENDERLOCALHACKRULE=$SENDERLOCALHACKRULE
%PERL_VAR_SEPARATOR%
SENDERUUCPRULE=$SENDERUUCPRULE
%PERL_VAR_SEPARATOR%
SMTP8MAILER=$SMTP8MAILER
%PERL_VAR_SEPARATOR%
SMTPDELIVERRULE=$SMTPDELIVERRULE
%PERL_VAR_SEPARATOR%
SMTPMAILER=$SMTPMAILER
%PERL_VAR_SEPARATOR%
SMTPMAILER2=$SMTPMAILER2
%PERL_VAR_SEPARATOR%
SMTPQMAILER=$SMTPQMAILER
%PERL_VAR_SEPARATOR%
SOMEWHERERULE=$SOMEWHERERULE
%PERL_VAR_SEPARATOR%
SPECIALFROMRULE=$SPECIALFROMRULE
%PERL_VAR_SEPARATOR%
SPOOLHOSTRULE=$SPOOLHOSTRULE
%PERL_VAR_SEPARATOR%
STATICRULE=$STATICRULE
%PERL_VAR_SEPARATOR%
STICKYRULE=$STICKYRULE
%PERL_VAR_SEPARATOR%
STRIPTRAILINGDOT=$STRIPTRAILINGDOT
%PERL_VAR_SEPARATOR%
TERMINATORS=$TERMINATORS
%PERL_VAR_SEPARATOR%
TRUSTCLASS=$TRUSTCLASS
%PERL_VAR_SEPARATOR%
TRUSTDEF=$TRUSTDEF
%PERL_VAR_SEPARATOR%
USERTABLEBODY=$USERTABLEBODY
%PERL_VAR_SEPARATOR%
UUCPMAILER=$UUCPMAILER
%PERL_VAR_SEPARATOR%
UUCPMAILER2=$UUCPMAILER2
%PERL_VAR_SEPARATOR%
UUCPRESRULE=$UUCPRESRULE
%PERL_VAR_SEPARATOR%
VDLMAILER=$VDLMAILER
%PERL_VAR_SEPARATOR%
VERSION=$VERSION
%PERL_VAR_SEPARATOR%
WHAT=$WHAT
%PERL_VAR_SEPARATOR%
WHEN=$WHEN
%PERL_VAR_SEPARATOR%
WHERE=$WHERE
%PERL_VAR_SEPARATOR%
WHO=$WHO
%PERL_VAR_SEPARATOR%
PERL_EOF

rm -f /tmp/CF.$$*

exit 0
