Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#!/bin/rc
2
 
3
rfork en
4
fn usage{
5
	echo 'usage: validatesender [-n /net] plan9.bell-labs.com glenda' >[1=2]
6
	exit usage
7
}
8
 
9
echo $sysname $pid '$' validatesender $* >>/sys/log/smtpd.mx
10
 
11
netroot=/net
12
if(~ $1 -n){
13
	shift
14
	netroot=$1
15
	shift
16
}
17
if(! ~ $#* 2)
18
	usage
19
 
20
dom=$1
21
addr=$2
22
 
23
# Cause some problems
24
if(~ $dom swtch.com && ~ $addr glenda && ! ~ $sysname olive)
25
	exit 'deferred: always defer this one'
26
 
27
# Sites that we have to special case
28
# Lucent only - use external network when mail from external domains
29
# is delivered to us internally.  Assume that local domains are fine.
30
#netroot=/net
31
#if(~ $dom *.lucent.com lucent.com *.bell-labs.com bell-labs.com)
32
#	exit ''
33
#if(! ~ $sysname ethel)
34
#	exit ''
35
#if(~ $sysname ethel){
36
#	if(! test -d /net.alt/tcp)
37
#		import outside /net.alt
38
#	if(test -d /net.alt/tcp)
39
#		netroot=/net.alt
40
#}
41
 
42
if(x=`{upas/smtp -p $netroot/tcp!$dom /dev/null $addr >[2=1] | 
43
		tee >{sed 's/^/'$sysname' '$pid' /' >> /sys/log/smtpd.mx} |
44
		tail -1})
45
	exit ''
46
 
47
smtpstatus=$status
48
if(~ $#x 0)
49
	x=$smtpstatus
50
if(~ $smtpstatus *'Permanent Failure'*)
51
	exit 'rejected: smtp ping: '^$"x
52
exit 'deferred: smtp ping: '^$"x