DataMuseum.dk

Presents historical artifacts from the history of:

RC9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: @ T s

⟦bc31749c4⟧ TextFile

    Length: 10658 (0x29a2)
    Types: TextFile
    Notes: @(#)sendmail.rci 13.2 (RC International) 91/11/08
    Names: »sendmail.cf«

Derivation

└─⟦50656ff4a⟧ Bits:30010538 TX 3.1 Coldstart
    └─⟦bbf173f5c⟧ »0004« 
        └─⟦this⟧ »./usr/lib/sendmail.cf« 

TextFile

############################################################
#
#	SENDMAIL CONFIGURATION FILE
#
#	supports internet style addressing
#	over UUCP and ethernet links.
#
#	This configuration file is based on the smail configuration
#	file from the UUCP project.  It's intended purpose is to be
#	a default, simple minded configuration file for those sites
#	that have not yet set up smail, and it's cohorts.
#
#	@(#)sendmail.rci	13.2 (RC International) 91/11/08
#ident	@(#)default.cf	1.1 - 87/07/08
#ident	@(#)sendmail.rci	1.4 - 90/11/28
#
############################################################

############################################################
#
#  Local configuration options - HINTS
#
# Host name and domain name macros.
#
#	Dw sets $w
#	DD sets $D
#	CD sets $=D
#
# This configuration file uses the uname default, unless otherwise modified.
# $D and $=D list all domains in which this host sits.
# $D goes into outbound addresses, i.e. "user@$w.$D".
# it will will be turned into $D.
# HOSTNAME needs to be modified for each site (if there is no ethernet).

# If another hostname is wanted you can define $w here
DwHOSTNAME
# my hostnames, you can add any aliases here
CwHOSTNAME

# The domain your gate-way owns (administrates)
DDlocal
CD local uucp

# Relay host.  Used at the end of S0 as the general depository for 
# addresses which didn't resolve locally.  

# R is used as the ethernet relay host
DRrelay

# Preemptive ether connections.  We prefer these connections 
# over both designated transport mechanisms and the general depository.
# You can add more classes (here and in S0).

# /etc/hosts.smtp The list of host sites using smtp (tcp/ip-ethernet)
#
FE/etc/hosts.smtp %s

# /etc/hosts.imc.smtp The list of host sites using smtp (imc-ethernet)
#
FI/etc/hosts.imc.smtp %s

# /usr/lib/uucp/Systems The list of host sites connected directly via uucp
#
FU/usr/lib/uucp/Systems %s

# Mock top-level domain names.  These names designate a transport mechanism
# and appear internally only, set in S3, used in S0, and removed in S4 and
# (possibly) the ruleset for the particular mailer.  
# NOT USED
CT ETHER UUX IMC

#
#  End Local configuration options
#
############################################################

############################################################
#
#	General configuration information
#
############################################################

DV13.2

##########################
#     Special macros     #
##########################

# official hostname
Dj$w.$D
# my name
DnMAILER-DAEMON
# UNIX header format
DlFrom $g  $d
# delimiter (operator) characters
Do.:%@!^=/[]
# format of a total name
Dq$g$?x ($x)$.
# SMTP login message
De$j Sendmail $v/$V ready at $b


###################
#     Options     #
###################

# location of alias file
OA/usr/lib/aliases
# Blank substitution character for unquoted spaces in addresses
OB.
# (don't) connect to "expensive" mailers
#Oc
# default delivery mode (deliver in background)
Odbackground
# Error dispose modes (Print, Quit, Mailback, Write(mail), mail-Exit-ok
Oewrite
# temporary file mode
OF0644
# default GID
Og1
# location of help file
OH/usr/lib/sendmail.hf
# log level
OL9
# default messages to old style
Oo
# queue directory
OQ/usr/spool/mqueue
# read timeout -- violates protocols
Or2h
# status file
OS/usr/lib/sendmail.st
# queue up everything before starting transmission
Os
# default timeout interval
OT3d
# time zone names (V6 only)
OtPST,PDT
# default UID
Ou1
# wizard's password
OWvoidpasswords

###############################
#     Message precedences     #
###############################

Pfirst-class=0
Pspecial-delivery=100
Pjunk=-100

#########################
#     Trusted users     #
#########################

Troot
Tdaemon
Tuucp
Tnuucp
Tnetwork
Tftsfts		# I don't like this, could make a VOID return address

#############################
#     Format of headers     #
#############################

#H?P?Return-Path: <$g>
H?R?Received: $?sfrom $s 
	$.by $j ($v/$V)
	id $i; $b
H?D?Resent-Date: $a
H?D?Date: $a
H?F?Resent-From: $q
H?F?From: $q
H?x?Full-Name: $x
HSubject:
# HPosted-Date: $a
H?l?Received-Date: $b
H?M?Resent-Message-Id: <$t.$i@$j>
H?M?Message-Id: <$t.$i@$j>

############################################################
#
#		REWRITING RULES
#


###########################
#			  #
#  Name Canonicalization  #
#			  #
###########################
S3

# basic textual canonicalization
R<>			$@@				turn into magic token
R$*<$+>$*		$2				basic RFC821/822 parsing
R$+ at $+		$1@$2				"at" -> "@" for RFC 822
R$*<$*>$*		$1$2$3				in case recursive

# handle route-addr <@a,@b,@c:user@d> 
R@$+,$+			@$1:$2				change all "," to ":"
R@$+:$+			$@<@$1>:$2			handle <route-addr>
R$+:$*;@$+		$@$1:$2;@$3			list syntax

# Rewrite address into a domain-based address.  Any special mock domain names 
# (like UUX) should be defined on the CT line and removed (if necessary) 
# in S4.  You can use them in S0 for designated transport mechanisms.

# Delimiters with precedence over @.  Add yours here.

# The @ delimiter.  Leave this alone.
R$+@$+			$:$1<@$2>			focus on domain
R$+<$+@$+>		$1$2<@$3>			move gaze right
R$+<@$+>		$@$1<@$2>			already canonical

# Delimiters with precedence below @.  Add yours here.
R$+^$+			$1!$2				convert ^ to !
#R$-!$+			$@$2<@$1.UUX>			resolve uucp names
R$-!$+			$@$2<@$1>			resolve uucp names
R$+.!$+			$@$2<@$1>			domain.!host
R$+!$+			$@$2<@$1>			domain!host

# % is a low precedence @.
R$*%$*			$1@$2				%->@
R$*@$*			$@$>3$1@$2			and retry

############################################################
#
#    		RULESET ZERO PREAMBLE
#
############################################################

S0

# first make canonical
R$*<$*>$*		$1$2$3				defocus
R$+			$:$>3$1				make canonical

# handle special cases.....
R@			$#local$:MAILER-DAEMON		handle <> form
R$*<@[$+]>$*		$#ether$@[$2]$:$1@[$2]$3	numeric internet spec

# throw out mock domain (just to be safe)
R$*<$*.$=T>$*		$1<$2>$4

# convert local stuff
R$*<@$*$=w.$D>$*	$: $1<@$2$j>$4			thishost.mydom
R$*<@$*$=w.$=D>$*	$: $1<@$2$j>$5			thishost.anydom
R$*<@$*$=w>$*		$: $1<@$2$j>$4			thishost
# check local
R$+<@$j>$*		$@$>0$1$2			strip null addr, retry
R$+<@>$*		$@$>0$1$2			strip null addr, retry
# check route
R<@$j>:$+		$@$>0$1				strip null route, retry
R<@>:$+			$@$>0$1				strip null route, retry

###############################################
#    Machine dependent part of ruleset zero   #
###############################################

# Designate delivery:
# for a host on a known link use the indicated transport mechanism.
# One set of these rules for each of the F classes
#  listed in the local configuration options.

# First try Ether Net Connections [tcp/ip] (fast, cheap and secure)
R$*<$*$=E.$j>$*		$#ether $@$3 $:$1$2$3$4		etherhost.mydomain
R$*<$*$=E.$D>$*		$#ether $@$3 $:$1$2$3$4		etherhost.mydomain
R$*<$*$=E.$=D>$*	$#ether $@$3 $:$1$2$3$5		etherhost.anydomain
R$*<$*$=E>$*		$#ether $@$3 $:$1$2$3$4		etherhost

# Then IMC Connections  (fast, cheap and not secure at all)
R$*<$*$=I.$j>$*		$#imc $@$3 $:$1$2$3$4		imchost.mydomain
R$*<$*$=I.$D>$*		$#imc $@$3 $:$1$2$3$4		imchost.mydomain
R$*<$*$=I.$=D>$*	$#imc $@$3 $:$1$2$3$5		imchost.anydomain
R$*<$*$=I>$*		$#imc $@$3 $:$1$2$3$4		imchost

# Well, well, stuck to uucp  (slow, expensive but secure)
# Try a uucpdomain (.DOMAIN)
R$*<$*.$=U.$j>$*	$#smail $@$3 $:$1$2.$3$4	uucpdomain.mydomain
R$*<$*.$=U.$D>$*	$#smail $@$3 $:$1$2.$3$4	uucpdomain.mydomain
R$*<$*.$=U.$=D>$*	$#smail $@$3 $:$1$2.$3$5	uucpdomain.anydomain
R$*<$*.$=U>$*		$#smail $@$3 $:$1$2.$3$4	uucpdomain
# No domain
# Try a uucphost (HOST)
R$*<$*$=U.$j>$*		$#smail $@$3 $:$1$4		uucphost.mydomain
R$*<$*$=U.$D>$*		$#smail $@$3 $:$1$4		uucphost.mydomain
R$*<$*$=U.$=D>$*	$#smail $@$3 $:$1$5		uucphost.anydomain
R$*<$*$=U>$*		$#smail $@$3 $:$1$4		uucphost

# Unknown, What do we do now?

# In our domain?
R$*<@$+.$j>$*		$#error $: Host $2 not known, can't send to $1@$2.$j$3
R$*<$+.$j>$*		$#error $: Host $2 not known, can't send to $1$2.$j$3

# See if relay (R) is a known host

# is R defined, try it else return to sender
R$*<@$*>$*		$?R $:$R ? $1@$2$3 $| $#error $:You have no relay, can't send to $1@$2$3 $.
# Are we trying a relay
R$=E ? $*		$#ether $@$R $:$2		hand to ehter relay
R$=I ? $*		$#imc $@$R $:$2			hand to imc relay
R$=U ? $*		$#smail $@$R $:$2		hand to uucp relay
R$+ ? $*		$#error $:Your relay, $R, is not known, can't send to $2
# relay not defined (and not needed)

# local delivery
R$+			$#local $:$1			user

############################################################
#
# 		Local and Program Mailer specification
#
############################################################

Mlocal, P=/bin/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u
Mprog,	P=/bin/sh,   F=lsDFMe,   S=10, R=20, A=sh -c $u

S10
R@		$@ MAILER-DAEMON	errors to mailer-daemon
#R$+<@$+.$j>$*		$1<@$j>$3	hide anydom.$j under $j

S20

############################################################
#
#    		UUCP Mailer specification
#
############################################################

#Muux,	P=/usr/bin/uux, F=sDFMuU, S=14, R=23, M=100000,
#	A=uux - $h!rmail ($u)

Msmail,	P=/bin/smail, F=sDFMumR, S=14, R=24, M=100000,
	A=smail -rH$D -h$D $h!$u

S14
R$+<@$=E>		$1			user@etherhost -> user
R$*<@$+$j>$*		$@$1<@$2$j>$3		already ok
R$*<@$+$=w>$*		$@$1<@$2$j>$4		add our domain
R$*<@$+>$*		$@$1<@$2>$3		already ok
#R$+<@$+.$j>$*		$1<@$j>$3		hide anydom.$j under $j
R$+			$@$1<@$j>		add our full address

S24
R$*@$*			$1%$2			@ to % for smail

############################################################
#
#    		SMTP ethernet mailer
#
############################################################

Mether,	P=[IPC], F=msDFMuCXP, S=11, R=21, A=IPC $h

S11
R$*<@$+>$*		$@$1<@$2>$3		already ok
R$+			$@$1<@$w>		add our hostname

S21

############################################################
#
#    		SMTP imc mailer
#
############################################################

Mimc,	P=/usr/lib/imcp, F=msDFMuCXPRI, S=11, R=21,
	A=imcp -tEML -h$h

S11
R$*<@$+$j>$*		$@$1<@$2$j>$3		already ok
R$*<@$+$=w>$*		$@$1<@$2$j>$4		add our domain
R$*<@$+>$*		$@$1<@$2>$3		already ok
R$+			$@$1<@$j>		add our hostname

S21

#################################
#  Final Output Post-rewriting  #
#################################

# This rewrites the internal $=T mock domains into their external form.
# The default is to replace the mock domain name with $D.
# The last two lines are stock.

S4
R@			$@				handle <> error addr
R$+<@$-.UUX>		$2!$1				u@host.UUX => host!u
R$*<$*$=T>$*		$:$1<$2$D>$4			change local info
R$*<$+>$*		$1$2$3				defocus
R@$+:$+:$+		$@@$1,$2:$3			<route-addr> canonical