#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create the files:
#	Makefile
#	sendmail.cf.template
# This archive created: Mon Aug 29 15:23:14 1994
export PATH; PATH=/bin:$PATH
echo shar: extracting "'Makefile'" '(3568 characters)'
if test -f 'Makefile'
then
	echo shar: will not over-write existing file "'Makefile'"
else
sed 's/^X//' << \SHAR_EOF > 'Makefile'
X# @(#) $Header: Makefile,v 1.10 93/12/12 14:54:10 leres Exp $ (LBL)
X#
X# Sendmail configuration Makefile
X# Craig Leres, November 30, 1989.
X#
X# Directions: To Configure a sendmail.cf for your host, first update
X# the following defines. For "required" defines, you must supply something.
X# "Optional" defines may be left empty or commented out.
X#
X
X#
X# Simple hostname of this host. Required.
X#
X# Example:
X#
X#	HOSTNAME= helios
X#
XHOSTNAME= helios
X
X#
X# Internet domain name. Required.
X#
X# Example:
X#
X#	DOMAIN= ee.lbl.gov
X#
XDOMAIN= ee.lbl.gov
X
X#
X# Domain name used in outbound return addresses. Required.
X#
X# Example:
X#
X#	RETURNNAME= ee.lbl.gov
X#
XRETURNNAME= ee.lbl.gov
X
X#
X# Domain hack. Optional.
X#
X# To accept mail at the current domain as local, comment out the
X# following line.
X#
X# Note: Most hosts don't want this feature and should not comment out
X# the line
X#
XDOMAINHACK= -e '/@(DOMAINHACK)/d'
X
X#
X# List of simple hostnames of clients or other hosts to accept mail for.
X# Optional.
X#
X# Example:
X#
X#	CLIENTS= ace daffy owl
X#
XCLIENTS= ace daffy owl
X
X#
X# Uucp name of host. Required.
X#
X# Example:
X#
X#	UUCPNAME= ${HOSTNAME}
X#
XUUCPNAME= ${HOSTNAME}
X
X#
X# List of directly connected uucp sites. Optional.
X#
X# Example:
X#
X#	DIRECTUUCP= ucbvax
X#
XDIRECTUUCP=
X
X#
X# Name of bitnet relay. Optional.
X#
X# Example:
X#
X#	BITNETRELAY= csa2.lbl.gov
X#
XBITNETRELAY= csa2.lbl.gov
X
X#
X# Name of csnet relay. Optional.
X#
X# Example:
X#
X#	CSNETRELAY= relay.cs.net
X#
XCSNETRELAY= relay.cs.net
X
X#
X# Name of hepnet relay. Optional.
X#
X# Example:
X#
X#	HEPNETRELAY= csa2.lbl.gov
X#
XHEPNETRELAY= csa2.lbl.gov
X
X#
X# Name of mfenet relay. Optional.
X#
X# Example:
X#
X#	MFENETRELAY= ccc.nmfecc.gov
X#
XMFENETRELAY= ccc.nmfecc.gov
X
X#
X# Name of uucp relay. Optional.
X#
X# Example:
X#
X#	UUCPRELAY= ucbvax.berkeley.edu
X#
XUUCPRELAY= ucbvax.berkeley.edu
X
X#
X# Location of the local mail delivery program. Required
X#
X# Example:
X#
X#	LMAIL= /bin/mail
X#
XLMAIL= /bin/mail
X
X#
X# Location of the aliases file. Required
X#
X# Example:
X#
X#	ALIASES= /etc/aliases
X#
XALIASES= /etc/aliases
X
X#
X# Location of the help file. Required
X#
X# Example:
X#
X#	HELPFILE= /usr/lib/sendmail.hf
X#
XHELPFILE= /usr/lib/sendmail.hf
X
X#
X# Location of the mqueue directory. Required
X#
X# Example:
X#
X#	MQUEUEDIR= /var/spool/mqueue
X#
XMQUEUEDIR= /var/spool/mqueue
X
X#
X# Location of the statistics file. Required
X#
X# Example:
X#
X#	STATUSFILE= /usr/lib/sendmail.st
X#
XSTATUSFILE= /usr/lib/sendmail.st
X
X#
X# List of "trusted" users. Required.
X#
X# Example:
X#
X#	TRUSTED= root daemon leres
X#
XTRUSTED= root daemon leres
X
X
Xsendmail.cf: sendmail.cf.template Makefile
X	sed -e "s/@(HOSTNAME)/${HOSTNAME}/g" \
X	    -e "s/@(DOMAIN)/${DOMAIN}/g" \
X	    -e "s/@(RETURNNAME)/${RETURNNAME}/g" \
X	    ${DOMAINHACK} \
X	    -e "s/@(CLIENTS)/${CLIENTS}/" -e '/^Cw$$/d' \
X	    -e "s/@(DIRECTUUCP)/${DIRECTUUCP}/" -e '/^CV$$/d' \
X	    -e "s/@(BITNETRELAY)/${BITNETRELAY}/" -e '/^DB$$/d' \
X	    -e "s/@(CSNETRELAY)/${CSNETRELAY}/" -e '/^DC$$/d' \
X	    -e "s/@(HEPNETRELAY)/${HEPNETRELAY}/" -e '/^DH$$/d' \
X	    -e "s/@(MFENETRELAY)/${MFENETRELAY}/" -e '/^DM$$/d' \
X	    -e "s/@(UUCPRELAY)/${UUCPRELAY}/" -e '/^DR$$/d' \
X	    -e "s/@(UUCPNAME)/${UUCPNAME}/" -e '/^DU$$/d' -e '/^CU$$/d' \
X	    -e "s,@(LMAIL),${LMAIL}," \
X	    -e "s,@(ALIASES),${ALIASES}," \
X	    -e "s,@(HELPFILE),${HELPFILE}," \
X	    -e "s,@(MQUEUEDIR),${MQUEUEDIR}," \
X	    -e "s,@(STATUSFILE),${STATUSFILE}," \
X	    -e "s/@(TRUSTED)/${TRUSTED}/" \
X	    sendmail.cf.template > sendmail.cf
X
Xshar: sendmail.cf.shar
X
Xsendmail.cf.shar: Makefile sendmail.cf.template
X	shar -v -c -p X Makefile sendmail.cf.template > sendmail.cf.shar
SHAR_EOF
if test 3568 -ne "`wc -c < 'Makefile'`"
then
	echo shar: error transmitting "'Makefile'" '(should have been 3568 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'sendmail.cf.template'" '(16192 characters)'
if test -f 'sendmail.cf.template'
then
	echo shar: will not over-write existing file "'sendmail.cf.template'"
else
sed 's/^X//' << \SHAR_EOF > 'sendmail.cf.template'
X# @(#) $Header: sendmail.cf.template,v 1.18 94/08/29 15:22:35 leres Exp $ (LBL)
X#
X# Copyright (c) 1983 Eric P. Allman
X# Copyright (c) 1988 The Regents of the University of California.
X# All rights reserved.
X#
X# Redistribution and use in source and binary forms are permitted
X# provided that the above copyright notice and this paragraph are
X# duplicated in all such forms and that any documentation,
X# advertising materials, and other materials related to such
X# distribution and use acknowledge that the software was developed
X# by the University of California, Berkeley.  The name of the
X# University may not be used to endorse or promote products derived
X# from this software without specific prior written permission.
X# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
X# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
X# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
X#
X#	@(#)ucbarpa.mc	1.4 (Berkeley) 8/22/89
X#	@(#)proto.mc	1.23 (Berkeley) 8/22/89
X#
X# built by root on Mon Oct 16 08:30:22 PDT 1989
X# in /usr/src/local/nettables/sendmail.cf/cf on monet.Berkeley.EDU
X#
X############################################################
X############################################################
X#####
X#####		SENDMAIL CONFIGURATION FILE
X#####
X############################################################
X############################################################
X
X
X##################
X#   local info   #
X##################
X
X# internet hostname
XDw@(HOSTNAME).@(DOMAIN)
X
X# "from" hostname (used in headers)
XDk@(RETURNNAME)
X
X# names of all clients on this server
XCw@(HOSTNAME)
XCw@(CLIENTS)
X
X# uucp hostnames
XDU@(UUCPNAME)
XCU@(UUCPNAME)
X
X# local UUCP connections
XCV@(DIRECTUUCP)
X
X#############################
X###   Setup Information   ###
X#############################
X
X
X######################
X#   General Macros   #
X######################
X
X# local domain name
XDD@(DOMAIN)
X
X# bitnet relay host
XDB@(BITNETRELAY)
X
X# csnet relay host
XDC@(CSNETRELAY)
X
X# hepnet relay host
XDH@(HEPNETRELAY)
X
X# mfenet relay host
XDM@(MFENETRELAY)
X
X# UUCP relay host
XDR@(UUCPRELAY)
X
X# my official hostname (used in HELO message)
XDj$w
X
X
X###############
X#   Classes   #
X###############
X
X# Internal ("fake") domains that we use in rewriting
XCIBITNET CSNET HEPNET MFENET UUCP
X
X
X######################
X#   Version Number   #
X######################
X
XDZ1.43r
X
X
X######################
X#   Special macros   #
X######################
X
X# my name
XDnMAILER-DAEMON
X# UNIX header format
XDlFrom $g  $d
X# delimiter (operator) characters
XDo.:%@!^=/[]
X# format of a total name
XDq$g$?x ($x)$.
X# SMTP login message
X#De$j Sendmail $v/$Z ready at $b
XDe$j Sendmail ready at $b
X
X###############
X#   Options   #
X###############
X
X# location of alias file
XOA@(ALIASES)
X# wait up to ten minutes for alias file rebuild
XOa10
X# substitution for space (blank) characters
XOB.
X# (don't) connect to "expensive" mailers
X#Oc
X# default delivery mode (deliver in background)
XOdbackground
X# temporary file mode
XOF0600
X# default GID
XOg1
X# location of help file
XOH@(HELPFILE)
X# log level
XOL9
X# default network name
XONARPA
X# default messages to old style
XOo
X# queue directory
XOQ@(MQUEUEDIR)
X# read timeout -- violates protocols
XOr2h
X# status file
XOS@(STATUSFILE)
X# queue up everything before starting transmission
XOs
X# default timeout interval
XOT3d
X# time zone names (V6 only)
XOtPST,PDT
X# default UID
XOu1
X# wizard's password
XOW*
X# load average at which we just queue messages
XOx8
X# load average at which we refuse connections
XOX12
X# default to metoo
XOm
X# privacy options
XOpnoexpn novrfy restrictqrun noreceipts
X
X###########################
X#   Message precedences   #
X###########################
X
XPfirst-class=0
XPspecial-delivery=100
XPbulk=-60
XPjunk=-100
X
X#####################
X#   Trusted users   #
X#####################
X
XT@(TRUSTED)
X
X#########################
X#   Format of headers   #
X#########################
X
XH?P?Return-Path: <$g>
XHReceived: $?sfrom $s $.by $j $?ufor $u $.($v/$Z)
X	id $i; $b
XH?D?Resent-Date: $a
XH?D?Date: $a
XH?F?Resent-From: $q
XH?F?From: $q
XH?x?Full-Name: $x
XHSubject:
X# HPosted-Date: $a
X# H?l?Received-Date: $b
XH?M?Resent-Message-Id: <$t.$i@$j>
XH?M?Message-Id: <$t.$i@$j>
X
X
X
X###########################
X###   Rewriting Rules   ###
X###########################
X
X
X################################
X#  Sender Field Pre-rewriting  #
X################################
XS1
X#R$*<$*>$*		$1$2$3				defocus
X
X###################################
X#  Recipient Field Pre-rewriting  #
X###################################
XS2
X#R$*<$*>$*		$1$2$3				defocus
X
X
X
X#################################
X#  Final Output Post-rewriting  #
X#################################
XS4
X
XR@			$@@				handle <> error addr
X
X# resolve numeric addresses to name if possible
XR$*<@[$+]>$*		$:$1<@$[[$2]$]>$3		lookup numeric internet addr
X
X# externalize local domain info
XR$*<$+>$*		$1$2$3				defocus
XR@$+:@$+:$+		@$1,@$2:$3			<route-addr> canonical
X
X# UUCP must always be presented in old form
XR$+@$-.UUCP		$2!$1				u@h.UUCP => h!u
X
X# delete duplicate local names
XR$+%$=w@$=w		$1@$w				u%host@host => u@host
XR$+%$=w@$=w.$D		$1@$w				u%host@host => u@host
X
X
X###########################
X#  Name Canonicalization  #
X###########################
XS3
X
X# handle "from:<>" special case
XR$*<>$*			$@@				turn into magic token
X
X# basic textual canonicalization -- note RFC733 heuristic here
XR$*<$*<$*<$+>$*>$*>$*	$4				3-level <> nesting
XR$*<$*<$+>$*>$*		$3				2-level <> nesting
XR$*<$+>$*		$2				basic RFC821/822 parsing
X
X# make sure <@a,@b,@c:user@d> syntax is easy to parse -- undone later
XR@$+,$+			@$1:$2				change all "," to ":"
X
X# localize and dispose of route-based addresses
XR@$+:$+			$@$>6<@$1>:$2			handle <route-addr>
X
X# more miscellaneous cleanup
XR$+			$:$>8$1				host dependent cleanup
XR$+:$*;@$+		$@$1:$2;@$3			list syntax
XR$+:$*;			$@$1:$2;			list syntax
XR$+@$+			$:$1<@$2>			focus on domain
XR$+<$+@$+>		$1$2<@$3>			move gaze right
XR$+<@$+>		$@$>6$1<@$2>			already canonical
X
X# convert old-style addresses to a domain-based address
XR$+^$+			$1!$2				convert ^ to !
XR$-!$+			$@$>6$2<@$1.UUCP>		resolve uucp names
XR$+.$-!$+		$@$>6$3<@$1.$2>			domain uucps
XR$+!$+			$@$>6$2<@$1.UUCP>		uucp subdomains
XR$+%$+			$:$>9$1%$2			user%host
XR$+<@$+>		$@$>6$1<@$2>			already canonical
XR$-.$+			$@$>6$2<@$1>			host.user
X
X
X#################################
X#   special local conversions   #
X#################################
X
XS6
XR$*<@$=w>$*		$:$1<@$w>$3			get into u@$w form
XR$*<@$=w.$D>$*		$:$1<@$w>$3
XR$*<@$=U.UUCP>$*	$:$1<@$w>$3
X
X
X################################
X#   Change rightmost % to @.   #
X################################
X
XS9
XR$*%$*			$1@$2				First make them all @'s.
XR$*@$*@$*		$1%$2@$3			Undo all but the last.
XR$*@$*			$@$1<@$2>			Put back the brackets.
X
X
X
X###################
X###   Mailers   ###
X###################
X
X
X############################################################
X############################################################
X#####
X#####		Local and Program Mailer specification
X#####
X############################################################
X############################################################
X
XMlocal, P=@(LMAIL), F=rlsDFMmn, S=10, R=20, A=mail -d $u
XMprog,	P=/usr/lib/smrsh,   F=lsDFM,   S=10, R=20, A=sh -c $u
X
XS10
XR@			$n			errors to mailer-daemon
X
X
X############################################################
X############################################################
X#####
X#####		Local Domain SMTP Mailer specification
X#####
X#####	Messages processed by this specification are assumed to remain
X#####	the local domain.  Hence, they can refer to hosts that are
X#####	not registered in the NIC host table.
X#####
X############################################################
X############################################################
X
XMtcpld,	P=[IPC], F=mDFMueXLC, S=17, R=27, A=IPC $h, E=\r\n
X
XS17
X
XR@			$@@				handle <> error addr
X
X# cleanup forwarding a bit
XR$*<$*>$*		$1$2$3				defocus
XR$*			$:$>3$1				canonicalize
XR$*%$*<@$w>		$:$>9$1%$2			user%localhost@localdomain
X
X# pass <route-addr>'s through
XR<@$+>$*		$@<@$[$1$]>$2			resolve <route-addr>
X
X# map colons to dots everywhere
XR$*:$*			$1.$2				map colons to dots
X
X
X
X# output local host as user@host.domain
XR$-			$@$1<@$k>			user w/o host
XR$+<@$w>		$@$1<@$k>			this host
XR$+<@$=w>		$@$1<@$k>			or an alias
XR$+<@$->		$:$1<@$[$2$]>			ask nameserver
XR$+<@$w>		$@$1<@$k>			this host
XR$+<@$->		$@$1<@$2.$D>			if nameserver fails
X
X# if not local, and not a "fake" domain, ask the nameserver
XR$+<@$+.$~I>		$@$1<@$[$2.$3$]>		user@host.domain
XR$+<@[$+]>		$@$1<@[$2]>			already ok
X
X# output fake domains as user%fake@relay
X
XR$+<@$+.BITNET>		$@$1%$2.BITNET<@$B>		user@host.BITNET
XR$+<@$+.CSNET>		$@$1%$2.CSNET<@$C>		user@host.CSNET
XR$+<@$+.HEPNET>		$@$1%$2.HEPNET<@$H>		user@host.HEPNET
XR$+<@$+.MFENET>		$@$1%$2.MFENET<@$M>		user@host.MFENET
XR$+<@$+.UUCP>		$@$2!$1<@$k>			user@host.UUCP
X
X
XS27
X
XR@			$@@				handle <> error addr
X
X# cleanup
XR$*<$*>$*		$1$2$3				defocus
XR$*			$:$>3$1				now canonical form
XR$*%$*<@$w>		$:$>9$1%$2			user%localhost@localdomain
X
X# pass <route-addr>'s through
XR<@$+>$*		$@<@$[$1$]>$2			resolve <route-addr>
X
X# map colons to dots everywhere
XR$*:$*			$1.$2				map colons to dots
X
X# output local host as user@host.domain
XR$-			$@$1<@$k>			user w/o host
XR$+<@$w>		$@$1<@$k>			this host
XR$+<@$=w>		$@$1<@$k>			or an alias
XR$+<@$->		$:$1<@$[$2$]>			ask nameserver
XR$+<@$w>		$@$1<@$k>			this host
XR$+<@$->		$@$1<@$2.$D>			if nameserver fails
X
X# if not local, and not a "fake" domain, ask the nameserver
XR$+<@$+.$~I>		$@$1<@$[$2.$3$]>		user@host.domain
XR$+<@[$+]>		$@$1<@[$2]>			already ok
X
X# output fake domains as user%fake@relay
X
XR$+<@$+.BITNET>		$@$1%$2.BITNET<@$B>		user@host.BITNET
XR$+<@$+.CSNET>		$@$1%$2.CSNET<@$C>		user@host.CSNET
XR$+<@$+.HEPNET>		$@$1%$2.HEPNET<@$H>		user@host.HEPNET
XR$+<@$+.MFENET>		$@$1%$2.MFENET<@$M>		user@host.MFENET
XR$+<@$+.UUCP>		$@$2!$1				user@host.UUCP
X
X
X
X############################################################
X############################################################
X#####
X#####		Internet SMTP Mailer specification
X#####
X#####	Messages processed by this specification are assumed to leave
X#####	the local domain -- hence, they must be canonical according to
X#####	RFC822 etc.  This means that machines not registered with
X#####	the NIC must be hidden behind our Internet relay.
X#####
X############################################################
X############################################################
X
XMtcp,	P=[IPC], F=mDFMueXLC, S=14, R=24, A=IPC $h, E=\r\n
X
XS14
X
XR@			$@@				handle <> error addr
X
X# pass <route-addr>'s through
XR<@$+>$*		$@<@$[$1$]>$2			resolve <route-addr>
X
X# map colons to dots everywhere
XR$*:$*			$1.$2				map colons to dots
X
X# output local host in user@host.domain syntax
XR$-			$1<@$w>				user w/o host
XR$+<@$=w>		$:$1<@$w>			this host
XR$+<@$->		$:$1<@$[$2$]>			canonicalize into dom
XR$+<@$->		$:$1<@$2.$D>			if nameserver fails
X
X# if not local, and not a "fake" domain, ask the nameserver
XR$+<@$+.$~I>		$@$1<@$[$2.$3$]>		user@host.domain
XR$+<@[$+]>		$@$1<@[$2]>			already ok
X
X# output internal ("fake") domains as "user%host@relay"
X
XR$+<@$+.BITNET>		$@$1%$2.BITNET<@$B>		user@host.BITNET
XR$+<@$+.CSNET>		$@$1%$2.CSNET<@$C>		user@host.CSNET
XR$+<@$+.HEPNET>		$@$1%$2.HEPNET<@$H>		user@host.HEPNET
XR$+<@$+.MFENET>		$@$1%$2.MFENET<@$M>		user@host.MFENET
XR$+<@$+.UUCP>		$@$2!$1<@$w>			user@host.UUCP
X
X
XS24
X
X
XR@			$@@				handle <> error addr
X
X# put in <> kludge
XR$*<$*>$*		$1$2$3				defocus
XR$*			$:$>3$1				now canonical form
X
X# pass <route-addr>'s through
XR<@$+>$*		$@<@$[$1$]>$2			resolve <route-addr>
X
X# map colons to dots everywhere.....
XR$*:$*			$1.$2				map colons to dots
X
X# output local host in user@host.domain syntax
XR$-			$1<@$w>				user w/o host
XR$+<@$=w>		$:$1<@$w>			this host
XR$+<@$->		$:$1<@$[$2$]>			canonicalize into dom
XR$+<@$->		$:$1<@$2.$D>			if nameserver fails
X
X# if not local, and not a "fake" domain, ask the nameserver
XR$+<@$+.$~I>		$@$1<@$[$2.$3$]>		user@host.domain
XR$+<@[$+]>		$@$1<@[$2]>			already ok
X
X# Hide fake domains behind relays
X
XR$+<@$+.BITNET>		$@$1%$2.BITNET<@$B>		user@host.BITNET
XR$+<@$+.CSNET>		$@$1%$2.CSNET<@$C>		user@host.CSNET
XR$+<@$+.HEPNET>		$@$1%$2.HEPNET<@$H>		user@host.HEPNET
XR$+<@$+.MFENET>		$@$1%$2.MFENET<@$M>		user@host.MFENET
XR$+<@$+.UUCP>		$@$2!$1				user@host.UUCP
X
X
X
X############################################################
X############################################################
X#####
X#####		UUCP Mailer specification
X#####
X############################################################
X############################################################
X
X
XMuucp,	P=/usr/bin/uux, F=DFMhuU, S=13, R=23, M=100000,
X	A=uux - -r -z -a$f -gC $h!rmail ($u)
X
XS13
XR$+			$:$>5$1				convert to old style
XR$*<@$=w>$*		$1<@$w>$2			resolve abbreviations
XR$*<@$->$*		$1<@$2.$D>$3			resolve abbreviations
XR$+<@$+>		$2!$1				uucpize (no @'s in addr)
XR$w!$+			$1				strip local name
XR$+			$:$U!$1				stick on our host name
XR$=U!$-%$-		$:$1!$2@$3.$D			ucbvax!user@host.domain
X
XS23
XR$+			$:$>5$1				convert to old style
XR$*<@$=w>$*		$1<@$w>$2			resolve abbreviations
XR$*<@$->$*		$1<@$2.$D>$3			resolve abbreviations
XR$+<@$w>		$U!$1				a!b@here -> here!a!b
XR$=U!$+			$2				here!a!b -> a!b
X# sanity ... should not happen.
XR$=U.$D!$+		$2				strip local name.domain
X
X
X############################################################
X############################################################
X#####
X#####		Provide Backward Compatibility
X#####
X############################################################
X############################################################
X
X#####################################################
X#  General code to convert back to old style names  #
X#####################################################
XS5
X
XR$+<@$w>		$1				strip host
XR$+<@$-.UUCP>		$2!$1				u@host.UUCP => host!u
X
X
X
X#####################
X###   Rule Zero   ###
X#####################
X
X
X############################################################
X############################################################
X#####
X#####		RULESET ZERO PREAMBLE
X#####
X#####	The beginning of ruleset zero is constant through all
X#####	configurations.
X#####
X############################################################
X############################################################
X
XS0
X
X# first make canonical
XR$*<$*>$*		$1$2$3				defocus
XR$+			$:$>3$1				make canonical
XR$*<@$D>$*		$:$1<@$w>$2			@(DOMAINHACK)
X
X# handle special cases
XR$*<@[$+]>$*		$:$1<@$[[$2]$]>$3		numeric internet addr
XR$*<@[$+]>$*		$#tcp$@[$2]$:$1@[$2]$3		numeric internet spec
XR$+			$:$>6$1
XR$-<@$w>		$#local$:$1
XR@			$#error$:Invalid address	handle <> form
X
X# canonicalize using the nameserver if not internal domain
XR$*<@$*.$~I>$*		$:$1<@$[$2.$3$]>$4
XR$*<@$->$*		$:$1<@$[$2$]>$3
XR$*<@$->$*		$:$1<@$2.$D>$3			if nameserver fails
X
X# now delete the local info
XR<@$w>:$*		$@$>0$1				@here:... -> ...
XR$*<@$w>		$@$>0$1				...@here -> ...
X
X##################################
X#  End of ruleset zero preamble  #
X##################################
X
X
X###############################################
X###   Machine dependent part of Rule Zero   ###
X###############################################
X
X# These are our nntp peers (who don't use fully qualified domain names)
XR$*<@$*nosc.UUCP>$*	$#tcp$@trout.nosc.mil$:$1<@trout.nosc.mil>$3	user@host
XR$*<@$*pasteur.UUCP>$*	$#tcp$@pasteur.berkeley.edu$:$1<@pasteur.berkeley.edu>$3	user@host
X
X# resolve local UUCP connections
XR<@$=V.UUCP>:$+		$#uucp$@$1$:$2			@host.UUCP:...
XR$+<@$=V.UUCP>		$#uucp$@$2$:$1			user@host.UUCP
X
X
X# resolve fake top level domains by forwarding to other hosts
XR$*<@$+.BITNET>$*	$#tcp$@$B$:$1<@$2.BITNET>$3	user@host.BITNET
XR$*<@$+.CSNET>$*	$#tcp$@$C$:$1<@$2.CSNET>$3	user@host.CSNET
XR$+<@$+.HEPNET>$*	$#tcp$@$H$:$1<@$2.HEPNET>$3	user@host.HEPNET
XR$+<@$+.MFENET>$*	$#tcp$@$M$:$1<@$2.MFENET>$3	user@host.MFENET
X
X
X# forward non-local UUCP traffic to our UUCP relay
XR$*<@$*.UUCP>$*		$#tcpld$@$R$:$1<@$2.UUCP>	uucp mail
X
X# hide behind our internet relay when talking to people in the arpa domain
XR$*<@$*.arpa>$*		$#tcp$@$2.arpa$:$1<@$2.arpa>$3	user@host.arpa
X
X# but speak domains to them if they speak domains too
XR$*<@$*>$*		$#tcpld$@$2$:$1<@$2>$3		user@host.domain
X
X# remaining names must be local
XR$+			$#local$:$1			everything else
SHAR_EOF
if test 16192 -ne "`wc -c < 'sendmail.cf.template'`"
then
	echo shar: error transmitting "'sendmail.cf.template'" '(should have been 16192 characters)'
fi
fi # end of overwriting check
#	End of shell archive
exit 0
