#
# localdeliver: generate rules for special local delivery (R8 only)
#

REVISION_ID='@(#)localdeliver	3.3 (motonori/WIDE) 8/18/95'

#|# list of special plussed users
#|##PLUSSED_USERS=/etc/plussed.users
#|##PLUSSED_USERS='puser1 puser2 puser3'
#|##PLUSSED_USERS='all'
#|##PLUSSED_ADDRS=/etc/plussed.addrs
#|##PLUSSED_ADDRS='host1.domain host2.domain host3.domain'

if [ "$PLUSSED_USERS" -o "$PLUSSED_ADDRS" ]
then

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

	if [ "$PLUSSED_USERS" = "" ]
	then
		PLUSSED_USERS=all
	fi

	if [ "$PLUSSED_USERS" != all ]
	then

		# allocate class character
		_ALLOC_MODE=normal
		_ALLOC_TYPE=class
		_ALLOC_DIR=down
		_ALLOC_PREF=
		_ALLOC_USAGE='plussed users [localdeliver]'
		. $MASTERDIR/$CHARALLOC
		_PU_CHAR=$_ALLOC_CHAR

	fi

	case "$PLUSSED_USERS" in
	/*)	# file definition

HDRPLUSSEDUSERS="# plussed users\\
F$_PU_CHAR$PLUSSED_USERS" ;;

	*)	# definition in .cf

HDRPLUSSEDUSERS="# plussed users\\
C$_PU_CHAR $PLUSSED_USERS" ;;

	esac

	if [ "$_PU_CHAR" ]
	then

S5PLUSSEDRULE='# special delivery rules for plussed local names\
R$='$_PU_CHAR'+			$#local$:$1\
R$='$_PU_CHAR'+*			$#local$:$1\
R$='$_PU_CHAR'+$+			$#local$:$1+*'

	else

S5PLUSSEDRULE='# special delivery rules for plussed local names\
R$++			$#local$:$1\
R$++*			$#local$:$1\
R$++$+			$#local$:$1+*'

	fi

	if [ "$PLUSSED_ADDRS" ]
	then

		# allocate class character
		_ALLOC_MODE=normal
		_ALLOC_TYPE=class
		_ALLOC_DIR=down
		_ALLOC_PREF=
		_ALLOC_USAGE='plussed addresses [localdeliver]'
		. $MASTERDIR/$CHARALLOC
		_PA_CHAR=$_ALLOC_CHAR

	fi

	case "$PLUSSED_ADDRS" in
	/*)	# file definition

HDRPLUSSEDADDRS="# plussed addresses\\
F$_PA_CHAR$PLUSSED_ADDRS" ;;

	*)	# definition in .cf

HDRPLUSSEDADDRS="# plussed addresses\\
C$_PA_CHAR $PLUSSED_ADDRS" ;;

	esac

	if [ "$_PA_CHAR" ]
	then

S0PLUSSEDRULE='# special rewrite rules for plussed addresses\
R$+<@$='$_PA_CHAR'>			$:$>93 $1<@$2>'

PLUSSEDRULEBODY='\
# special rewrite rules for plussed addresses\
S93\
R$+<@$-.$*>				$:$1+$2<@$2.$3>'

	fi

fi
