comparison test.cf @ 90:962a1f8f1d9f stable-5-4

add verify statement to verify addresses with better mx host
author carl
date Sun, 18 Sep 2005 10:19:58 -0700
parents 510a511ad554
children e107ade3b1c0
comparison
equal deleted inserted replaced
89:946fc1bcfb2c 90:962a1f8f1d9f
1 # 1 #
2 # Copyright (c) 1998-2002 Sendmail, Inc. and its suppliers. 2 # Copyright (c) 1998-2004 Sendmail, Inc. and its suppliers.
3 # All rights reserved. 3 # All rights reserved.
4 # Copyright (c) 1983, 1995 Eric P. Allman. All rights reserved. 4 # Copyright (c) 1983, 1995 Eric P. Allman. All rights reserved.
5 # Copyright (c) 1988, 1993 5 # Copyright (c) 1988, 1993
6 # The Regents of the University of California. All rights reserved. 6 # The Regents of the University of California. All rights reserved.
7 # 7 #
14 ###################################################################### 14 ######################################################################
15 ###################################################################### 15 ######################################################################
16 ##### 16 #####
17 ##### SENDMAIL CONFIGURATION FILE 17 ##### SENDMAIL CONFIGURATION FILE
18 ##### 18 #####
19 ##### built by root@ns.five-ten-sg.com on Mon Jan 3 13:23:43 PST 2005 19 ##### built by root@ns.five-ten-sg.com on Sat Sep 17 18:06:39 PDT 2005
20 ##### in /usr/src/rh8/gpl/dnsbl 20 ##### in /usr/usr/cvs/gpl/dnsbl
21 ##### using /usr/share/sendmail-cf/ as configuration include directory 21 ##### using /usr/share/sendmail-cf/ as configuration include directory
22 ##### 22 #####
23 ###################################################################### 23 ######################################################################
24 ##### 24 #####
25 ##### DO NOT EDIT THIS FILE! Only edit the source .mc file. 25 ##### DO NOT EDIT THIS FILE! Only edit the source .mc file.
138 138
139 # my official domain name 139 # my official domain name
140 # ... define this only if sendmail cannot automatically determine your domain 140 # ... define this only if sendmail cannot automatically determine your domain
141 #Dj$w.Foo.COM 141 #Dj$w.Foo.COM
142 142
143 # host/domain names ending with a token in class P are canonical
143 CP. 144 CP.
144 145
145 # "Smart" relay host (may be null) 146 # "Smart" relay host (may be null)
146 DS 147 DS
147 148
170 # arithmetic map 171 # arithmetic map
171 Karith arith 172 Karith arith
172 # macro storage map 173 # macro storage map
173 Kmacro macro 174 Kmacro macro
174 # possible values for TLS_connection in access map 175 # possible values for TLS_connection in access map
175 C{tls}VERIFY ENCR 176 C{Tls}VERIFY ENCR
176 177
177 178
178 179
179 180
180 181
210 211
211 # Generics table (mapping outgoing addresses) 212 # Generics table (mapping outgoing addresses)
212 Kgenerics hash /etc/mail/genericstable.db 213 Kgenerics hash /etc/mail/genericstable.db
213 214
214 # Configuration version number 215 # Configuration version number
215 DZ8.12.8 216 DZ8.13.1
216 217
217 218
218 ############### 219 ###############
219 # Options # 220 # Options #
220 ############### 221 ###############
383 #O Timeout.control=2m 384 #O Timeout.control=2m
384 O Timeout.queuereturn=5d 385 O Timeout.queuereturn=5d
385 #O Timeout.queuereturn.normal=5d 386 #O Timeout.queuereturn.normal=5d
386 #O Timeout.queuereturn.urgent=2d 387 #O Timeout.queuereturn.urgent=2d
387 #O Timeout.queuereturn.non-urgent=7d 388 #O Timeout.queuereturn.non-urgent=7d
389 #O Timeout.queuereturn.dsn=5d
388 O Timeout.queuewarn=4h 390 O Timeout.queuewarn=4h
389 #O Timeout.queuewarn.normal=4h 391 #O Timeout.queuewarn.normal=4h
390 #O Timeout.queuewarn.urgent=1h 392 #O Timeout.queuewarn.urgent=1h
391 #O Timeout.queuewarn.non-urgent=12h 393 #O Timeout.queuewarn.non-urgent=12h
394 #O Timeout.queuewarn.dsn=4h
392 #O Timeout.hoststatus=30m 395 #O Timeout.hoststatus=30m
393 #O Timeout.resolver.retrans=5s 396 #O Timeout.resolver.retrans=5s
394 #O Timeout.resolver.retrans.first=5s 397 #O Timeout.resolver.retrans.first=5s
395 #O Timeout.resolver.retrans.normal=5s 398 #O Timeout.resolver.retrans.normal=5s
396 #O Timeout.resolver.retry=4 399 #O Timeout.resolver.retry=4
408 411
409 # queue up everything before forking? 412 # queue up everything before forking?
410 O SuperSafe=True 413 O SuperSafe=True
411 414
412 # status file 415 # status file
413 O StatusFile=/usr/src/rh8/gpl/dnsbl/sendmail.st 416 O StatusFile=/usr/usr/cvs/gpl/dnsbl/sendmail.st
414 417
415 # time zone handling: 418 # time zone handling:
416 # if undefined, use system default 419 # if undefined, use system default
417 # if defined but null, use TZ envariable passed in 420 # if defined but null, use TZ envariable passed in
418 # if defined and non-null, use that info 421 # if defined and non-null, use that info
425 #O UserDatabaseSpec=/etc/mail/userdb 428 #O UserDatabaseSpec=/etc/mail/userdb
426 429
427 # fallback MX host 430 # fallback MX host
428 #O FallbackMXhost=fall.back.host.net 431 #O FallbackMXhost=fall.back.host.net
429 432
433 # fallback smart host
434 #O FallbackSmartHost=fall.back.host.net
435
430 # if we are the best MX host for a site, try it directly instead of config err 436 # if we are the best MX host for a site, try it directly instead of config err
431 #O TryNullMXList=False 437 #O TryNullMXList=False
432 438
433 # load average at which we just queue messages 439 # load average at which we just queue messages
434 O QueueLA=12 440 O QueueLA=12
435 441
436 # load average at which we refuse connections 442 # load average at which we refuse connections
437 O RefuseLA=8 443 O RefuseLA=8
438 444
445 # log interval when refusing connections for this long
446 #O RejectLogInterval=3h
447
439 # load average at which we delay connections; 0 means no limit 448 # load average at which we delay connections; 0 means no limit
440 #O DelayLA=0 449 #O DelayLA=0
441 450
442 # maximum number of children we allow at one time 451 # maximum number of children we allow at one time
443 O MaxDaemonChildren=20 452 O MaxDaemonChildren=20
444 453
445 # maximum number of new connections per second 454 # maximum number of new connections per second
446 O ConnectionRateThrottle=1 455 O ConnectionRateThrottle=1
456
457 # Width of the window
458 #O ConnectionRateWindowSize=60s
447 459
448 # work recipient factor 460 # work recipient factor
449 #O RecipientFactor=30000 461 #O RecipientFactor=30000
450 462
451 # deliver each queued job in a separate process? 463 # deliver each queued job in a separate process?
515 527
516 # what user id do we assume for the majority of the processing? 528 # what user id do we assume for the majority of the processing?
517 #O RunAsUser=sendmail 529 #O RunAsUser=sendmail
518 530
519 # maximum number of recipients per SMTP envelope 531 # maximum number of recipients per SMTP envelope
520 #O MaxRecipientsPerMessage=100 532 #O MaxRecipientsPerMessage=0
521 533
522 # limit the rate recipients per SMTP envelope are accepted 534 # limit the rate recipients per SMTP envelope are accepted
523 # once the threshold number of recipients have been rejected 535 # once the threshold number of recipients have been rejected
524 O BadRcptThrottle=2 536 O BadRcptThrottle=2
525 537
560 #O XscriptFileBufferSize=4096 572 #O XscriptFileBufferSize=4096
561 573
562 # lookup type to find information about local mailboxes 574 # lookup type to find information about local mailboxes
563 #O MailboxDatabase=pw 575 #O MailboxDatabase=pw
564 576
577 # override compile time flag REQUIRES_DIR_FSYNC
578 #O RequiresDirfsync=true
579
565 # list of authentication mechanisms 580 # list of authentication mechanisms
566 O AuthMechanisms=LOGIN PLAIN 581 O AuthMechanisms=LOGIN PLAIN
582
583 # Authentication realm
584 #O AuthRealm
567 585
568 # default authentication information for outgoing connections 586 # default authentication information for outgoing connections
569 #O DefaultAuthInfo=/etc/mail/default-auth-info 587 #O DefaultAuthInfo=/etc/mail/default-auth-info
570 588
571 # SMTP AUTH flags 589 # SMTP AUTH flags
584 #O Milter.LogLevel 602 #O Milter.LogLevel
585 O Milter.macros.connect=j, _, {daemon_name}, {if_name}, {if_addr} 603 O Milter.macros.connect=j, _, {daemon_name}, {if_name}, {if_addr}
586 O Milter.macros.helo={tls_version}, {cipher}, {cipher_bits}, {cert_subject}, {cert_issuer} 604 O Milter.macros.helo={tls_version}, {cipher}, {cipher_bits}, {cert_subject}, {cert_issuer}
587 O Milter.macros.envfrom=i, {auth_type}, {auth_authen}, {auth_ssf}, {auth_author}, {mail_mailer}, {mail_host}, {mail_addr} 605 O Milter.macros.envfrom=i, {auth_type}, {auth_authen}, {auth_ssf}, {auth_author}, {mail_mailer}, {mail_host}, {mail_addr}
588 O Milter.macros.envrcpt={rcpt_mailer}, {rcpt_host}, {rcpt_addr} 606 O Milter.macros.envrcpt={rcpt_mailer}, {rcpt_host}, {rcpt_addr}
607 O Milter.macros.eom={msg_id}
589 608
590 # CA directory 609 # CA directory
591 #O CACertPath 610 #O CACertPath
592 # CA file 611 # CA file
593 #O CACertFile 612 #O CACertFile
597 #O ServerKeyFile 616 #O ServerKeyFile
598 # Client Cert 617 # Client Cert
599 #O ClientCertFile 618 #O ClientCertFile
600 # Client private key 619 # Client private key
601 #O ClientKeyFile 620 #O ClientKeyFile
621 # File containing certificate revocation lists
622 #O CRLFile
602 # DHParameters (only required if DSA/DH is used) 623 # DHParameters (only required if DSA/DH is used)
603 #O DHParameters 624 #O DHParameters
604 # Random data source (required for systems without /dev/urandom under OpenSSL) 625 # Random data source (required for systems without /dev/urandom under OpenSSL)
605 #O RandFile 626 #O RandFile
606 627
856 877
857 SParse1 878 SParse1
858 879
859 # handle numeric address spec 880 # handle numeric address spec
860 R$* < @ [ $+ ] > $* $: $>ParseLocal $1 < @ [ $2 ] > $3 numeric internet spec 881 R$* < @ [ $+ ] > $* $: $>ParseLocal $1 < @ [ $2 ] > $3 numeric internet spec
861 R$* < @ [ $+ ] > $* $1 < @ [ $2 ] : $S > $3 Add smart host to path 882 R$* < @ [ $+ ] > $* $: $1 < @ [ $2 ] : $S > $3 Add smart host to path
862 R$* < @ [ $+ ] : > $* $#esmtp $@ [$2] $: $1 < @ [$2] > $3 no smarthost: send 883 R$* < @ [ $+ ] : > $* $#esmtp $@ [$2] $: $1 < @ [$2] > $3 no smarthost: send
863 R$* < @ [ $+ ] : $- : $*> $* $#$3 $@ $4 $: $1 < @ [$2] > $5 smarthost with mailer 884 R$* < @ [ $+ ] : $- : $*> $* $#$3 $@ $4 $: $1 < @ [$2] > $5 smarthost with mailer
864 R$* < @ [ $+ ] : $+ > $* $#esmtp $@ $3 $: $1 < @ [$2] > $4 smarthost without mailer 885 R$* < @ [ $+ ] : $+ > $* $#esmtp $@ $3 $: $1 < @ [$2] > $4 smarthost without mailer
865 886
866 # handle virtual users 887 # handle virtual users
971 ################################################################### 992 ###################################################################
972 993
973 SMailerToTriple=95 994 SMailerToTriple=95
974 R< > $* $@ $1 strip off null relay 995 R< > $* $@ $1 strip off null relay
975 R< error : $-.$-.$- : $+ > $* $#error $@ $1.$2.$3 $: $4 996 R< error : $-.$-.$- : $+ > $* $#error $@ $1.$2.$3 $: $4
976 R< error : $- $+ > $* $#error $@ $(dequote $1 $) $: $2 997 R< error : $- : $+ > $* $#error $@ $(dequote $1 $) $: $2
998 R< error : $+ > $* $#error $: $1
977 R< local : $* > $* $>CanonLocal < $1 > $2 999 R< local : $* > $* $>CanonLocal < $1 > $2
978 R< $~[ : $+ @ $+ > $*<$*>$* $# $1 $@ $3 $: $2<@$3> use literal user 1000 R< $~[ : $+ @ $+ > $*<$*>$* $# $1 $@ $3 $: $2<@$3> use literal user
979 R< $~[ : $+ > $* $# $1 $@ $2 $: $3 try qualified mailer 1001 R< $~[ : $+ > $* $# $1 $@ $2 $: $3 try qualified mailer
980 R< $=w > $* $@ $2 delete local host 1002 R< $=w > $* $@ $2 delete local host
981 R< $+ > $* $#relay $@ $1 $: $2 use unqualified mailer 1003 R< $+ > $* $#relay $@ $1 $: $2 use unqualified mailer
1147 1169
1148 ###################################################################### 1170 ######################################################################
1149 ### check_relay -- check hostname/address on SMTP startup 1171 ### check_relay -- check hostname/address on SMTP startup
1150 ###################################################################### 1172 ######################################################################
1151 1173
1174
1175
1152 SLocal_check_relay 1176 SLocal_check_relay
1153 Scheckrelay 1177 Scheckrelay
1154 R$* $: $1 $| $>"Local_check_relay" $1 1178 R$* $: $1 $| $>"Local_check_relay" $1
1155 R$* $| $* $| $#$* $#$3 1179 R$* $| $* $| $#$* $#$3
1156 R$* $| $* $| $* $@ $>"Basic_check_relay" $1 $| $2 1180 R$* $| $* $| $* $@ $>"Basic_check_relay" $1 $| $2
1166 R<?> <$+> $: $>A < $1 > <?> <+ Connect> <> no: another lookup 1190 R<?> <$+> $: $>A < $1 > <?> <+ Connect> <> no: another lookup
1167 R<?> <$*> $: OK found nothing 1191 R<?> <$*> $: OK found nothing
1168 R<$={Accept}> <$*> $@ $1 return value of lookup 1192 R<$={Accept}> <$*> $@ $1 return value of lookup
1169 R<REJECT> <$*> $#error $@ 5.7.1 $: "550 Access denied" 1193 R<REJECT> <$*> $#error $@ 5.7.1 $: "550 Access denied"
1170 R<DISCARD> <$*> $#discard $: discard 1194 R<DISCARD> <$*> $#discard $: discard
1195 R<QUARANTINE:$+> <$*> $#error $@ quarantine $: $1
1171 R<ERROR:$-.$-.$-:$+> <$*> $#error $@ $1.$2.$3 $: $4 1196 R<ERROR:$-.$-.$-:$+> <$*> $#error $@ $1.$2.$3 $: $4
1172 R<ERROR:$+> <$*> $#error $: $1 1197 R<ERROR:$+> <$*> $#error $: $1
1173 R<$* <TMPF>> <$*> $#error $@ 4.3.0 $: "451 Temporary system failure. Please try again later." 1198 R<$* <TMPF>> <$*> $#error $@ 4.3.0 $: "451 Temporary system failure. Please try again later."
1174 R<$+> <$*> $#error $: $1 1199 R<$+> <$*> $#error $: $1
1175 1200
1247 R<$={ResOk}> $* $@ <OKR> domain ok: stop 1272 R<$={ResOk}> $* $@ <OKR> domain ok: stop
1248 R<TEMP> $* $#error $@ 4.1.8 $: "451 Domain of sender address " $&f " does not resolve" 1273 R<TEMP> $* $#error $@ 4.1.8 $: "451 Domain of sender address " $&f " does not resolve"
1249 R<PERM> $* $#error $@ 5.1.8 $: "553 Domain of sender address " $&f " does not exist" 1274 R<PERM> $* $#error $@ 5.1.8 $: "553 Domain of sender address " $&f " does not exist"
1250 R<$={Accept}> $* $# $1 accept from access map 1275 R<$={Accept}> $* $# $1 accept from access map
1251 R<DISCARD> $* $#discard $: discard 1276 R<DISCARD> $* $#discard $: discard
1277 R<QUARANTINE:$+> $* $#error $@ quarantine $: $1
1252 R<REJECT> $* $#error $@ 5.7.1 $: "550 Access denied" 1278 R<REJECT> $* $#error $@ 5.7.1 $: "550 Access denied"
1253 R<ERROR:$-.$-.$-:$+> $* $#error $@ $1.$2.$3 $: $4 1279 R<ERROR:$-.$-.$-:$+> $* $#error $@ $1.$2.$3 $: $4
1254 R<ERROR:$+> $* $#error $: $1 1280 R<ERROR:$+> $* $#error $: $1
1255 R<<TMPF>> $* $#error $@ 4.3.0 $: "451 Temporary system failure. Please try again later." 1281 R<<TMPF>> $* $#error $@ 4.3.0 $: "451 Temporary system failure. Please try again later."
1256 R<$+> $* $#error $: $1 error from access db 1282 R<$+> $* $#error $: $1 error from access db
1350 R$=w $@ RELAY ... and see if it is local 1376 R$=w $@ RELAY ... and see if it is local
1351 1377
1352 1378
1353 # check client name: first: did it resolve? 1379 # check client name: first: did it resolve?
1354 R$* $: < $&{client_resolve} > 1380 R$* $: < $&{client_resolve} >
1355 R<TEMP> $#TEMP $@ 4.7.1 $: "450 Relaying temporarily denied. Cannot resolve PTR record for " $&{client_addr} 1381 R<TEMP> $#TEMP $@ 4.4.0 $: "450 Relaying temporarily denied. Cannot resolve PTR record for " $&{client_addr}
1356 R<FORGED> $#error $@ 5.7.1 $: "550 Relaying denied. IP name possibly forged " $&{client_name} 1382 R<FORGED> $#error $@ 5.7.1 $: "550 Relaying denied. IP name possibly forged " $&{client_name}
1357 R<FAIL> $#error $@ 5.7.1 $: "550 Relaying denied. IP name lookup failed " $&{client_name} 1383 R<FAIL> $#error $@ 5.7.1 $: "550 Relaying denied. IP name lookup failed " $&{client_name}
1358 R$* $: <@> $&{client_name} 1384 R$* $: <@> $&{client_name}
1359 # pass to name server to make hostname canonical 1385 # pass to name server to make hostname canonical
1360 R<@> $* $=P $:<?> $1 $2 1386 R<@> $* $=P $:<?> $1 $2
1373 SFullAddr 1399 SFullAddr
1374 R$* <@ $+ . > $1 <@ $2 > 1400 R$* <@ $+ . > $1 <@ $2 >
1375 R$* <@ $* > $@ $1 <@ $2 > 1401 R$* <@ $* > $@ $1 <@ $2 >
1376 R$+ $@ $1 <@ $j > 1402 R$+ $@ $1 <@ $j >
1377 1403
1378 SDelay_TLS_Client 1404 SDelay_TLS_Clt
1379 # authenticated? 1405 # authenticated?
1380 R$* $: $1 $| $>"tls_client" $&{verify} $| MAIL 1406 R$* $: $1 $| $>"tls_client" $&{verify} $| MAIL
1381 R$* $| $#$+ $#$2 1407 R$* $| $#$+ $#$2
1408 R$* $| $* $# $1
1382 R$* $# $1 1409 R$* $# $1
1383 1410
1384 SDelay_TLS_Client2 1411 SDelay_TLS_Clt2
1385 # authenticated? 1412 # authenticated?
1386 R$* $: $1 $| $>"tls_client" $&{verify} $| MAIL 1413 R$* $: $1 $| $>"tls_client" $&{verify} $| MAIL
1387 R$* $| $#$+ $#$2 1414 R$* $| $#$+ $#$2
1415 R$* $| $* $@ $1
1388 R$* $@ $1 1416 R$* $@ $1
1389 1417
1390 # call all necessary rulesets 1418 # call all necessary rulesets
1391 Scheck_rcpt 1419 Scheck_rcpt
1392 # R$@ $#error $@ 5.1.3 $: "553 Recipient address required" 1420 # R$@ $#error $@ 5.1.3 $: "553 Recipient address required"
1393 1421
1394 R$+ $: $1 $| $>checkrcpt $1 1422 R$+ $: $1 $| $>checkrcpt $1
1395 R$+ $| $#error $* $#error $2 1423 R$+ $| $#error $* $#error $2
1396 R$+ $| $#discard $* $#discard $2 1424 R$+ $| $#discard $* $#discard $2
1397 R$+ $| $#$* $@ $>"Delay_TLS_Client" $2 1425 R$+ $| $#$* $@ $>"Delay_TLS_Clt" $2
1398 R$+ $| $* $: <?> $>FullAddr $>CanonAddr $1 1426 R$+ $| $* $: <?> $>FullAddr $>CanonAddr $1
1399 R<?> $+ < @ $=w > $: <> $1 < @ $2 > $| <F: $1@$2 > <D: $2 > <U: $1@> 1427 R<?> $+ < @ $=w > $: <> $1 < @ $2 > $| <F: $1@$2 > <D: $2 > <U: $1@>
1400 R<?> $+ < @ $* > $: <> $1 < @ $2 > $| <F: $1@$2 > <D: $2 > 1428 R<?> $+ < @ $* > $: <> $1 < @ $2 > $| <F: $1@$2 > <D: $2 >
1401 # lookup the addresses only with Spam tag 1429 # lookup the addresses only with Spam tag
1402 R<> $* $| <$+> $: <@> $1 $| $>SearchList <! Spam> $| <$2> <> 1430 R<> $* $| <$+> $: <@> $1 $| $>SearchList <! Spam> $| <$2> <>
1403 R<@> $* $| $* $: $2 $1 reverse result 1431 R<@> $* $| $* $: $2 $1 reverse result
1404 # is the recipient a spam friend? 1432 # is the recipient a spam friend?
1405 R<FRIEND> $+ $@ $>"Delay_TLS_Client2" SPAMFRIEND 1433 R<FRIEND> $+ $@ $>"Delay_TLS_Clt2" SPAMFRIEND
1406 R<$*> $+ $: $2 1434 R<$*> $+ $: $2
1407 R$* $: $1 $| $>checkmail <$&f> 1435 R$* $: $1 $| $>checkmail <$&f>
1408 R$* $| $#$* $#$2 1436 R$* $| $#$* $#$2
1409 R$* $| $* $: $1 $| $>checkrelay $&{client_name} $| $&{client_addr} 1437 R$* $| $* $: $1 $| $>checkrelay $&{client_name} $| $&{client_addr}
1410 R$* $| $#$* $#$2 1438 R$* $| $#$* $#$2
1504 ### U: user lookup, try user+ext and user (input must have trailing @) 1532 ### U: user lookup, try user+ext and user (input must have trailing @)
1505 ### return: <RHS of lookup> or <?> (not found) 1533 ### return: <RHS of lookup> or <?> (not found)
1506 ###################################################################### 1534 ######################################################################
1507 1535
1508 # class with valid marks for SearchList 1536 # class with valid marks for SearchList
1509 C{src}E F D U 1537 C{Src}E F D U
1510 SSearchList 1538 SSearchList
1511 # just call the ruleset with the name of the tag... nice trick... 1539 # just call the ruleset with the name of the tag... nice trick...
1512 R<$+> $| <$={src}:$*> <$*> $: <$1> $| <$4> $| $>$2 <$3> <?> <$1> <> 1540 R<$+> $| <$={Src}:$*> <$*> $: <$1> $| <$4> $| $>$2 <$3> <?> <$1> <>
1513 R<$+> $| <> $| <?> <> $@ <?> 1541 R<$+> $| <> $| <?> <> $@ <?>
1514 R<$+> $| <$+> $| <?> <> $@ $>SearchList <$1> $| <$2> 1542 R<$+> $| <$+> $| <?> <> $@ $>SearchList <$1> $| <$2>
1515 R<$+> $| <$*> $| <$+> <> $@ <$3> 1543 R<$+> $| <$*> $| <$+> <> $@ <$3>
1516 R<$+> $| <$+> $@ <$2> 1544 R<$+> $| <$+> $@ <$2>
1517 1545
1528 R$* $: $&{auth_type} $| $1 1556 R$* $: $&{auth_type} $| $1
1529 # required by RFC 2554 section 4. 1557 # required by RFC 2554 section 4.
1530 R$@ $| $* $#error $@ 5.7.1 $: "550 not authenticated" 1558 R$@ $| $* $#error $@ 5.7.1 $: "550 not authenticated"
1531 R$* $| $&{auth_authen} $@ identical 1559 R$* $| $&{auth_authen} $@ identical
1532 R$* $| <$&{auth_authen}> $@ identical 1560 R$* $| <$&{auth_authen}> $@ identical
1533 R$* $| $* $: $1 $| $>"Local_trust_auth" $1 1561 R$* $| $* $: $1 $| $>"Local_trust_auth" $2
1534 R$* $| $#$* $#$2 1562 R$* $| $#$* $#$2
1535 R$* $#error $@ 5.7.1 $: "550 " $&{auth_authen} " not allowed to act as " $&{auth_author} 1563 R$* $#error $@ 5.7.1 $: "550 " $&{auth_authen} " not allowed to act as " $&{auth_author}
1536 1564
1537 ###################################################################### 1565 ######################################################################
1538 ### Relay_Auth: allow relaying based on authentication? 1566 ### Relay_Auth: allow relaying based on authentication?
1563 R<?>$* $: $>A <$&{server_addr}> <?> <! "Try_TLS"> <> 1591 R<?>$* $: $>A <$&{server_addr}> <?> <! "Try_TLS"> <>
1564 R<?>$* $: <$(access "Try_TLS": $: ? $)> 1592 R<?>$* $: <$(access "Try_TLS": $: ? $)>
1565 R<?>$* $@ OK 1593 R<?>$* $@ OK
1566 R<$* <TMPF>>$* $#error $@ 4.3.0 $: "451 Temporary system failure. Please try again later." 1594 R<$* <TMPF>>$* $#error $@ 4.3.0 $: "451 Temporary system failure. Please try again later."
1567 R<NO>$* $#error $@ 5.7.1 $: "550 do not try TLS with " $&{server_name} " ["$&{server_addr}"]" 1595 R<NO>$* $#error $@ 5.7.1 $: "550 do not try TLS with " $&{server_name} " ["$&{server_addr}"]"
1568 1596
1569 ###################################################################### 1597 ######################################################################
1570 ### tls_rcpt: is connection with server "good" enough? 1598 ### tls_rcpt: is connection with server "good" enough?
1571 ### (done in client, per recipient) 1599 ### (done in client, per recipient)
1572 ### 1600 ###
1573 ### Parameters: 1601 ### Parameters:
1622 ### Requirement: RHS from access map, may be ? for none. 1650 ### Requirement: RHS from access map, may be ? for none.
1623 ###################################################################### 1651 ######################################################################
1624 STLS_connection 1652 STLS_connection
1625 R$* $| <$*>$* $: $1 $| <$2> 1653 R$* $| <$*>$* $: $1 $| <$2>
1626 # create the appropriate error codes 1654 # create the appropriate error codes
1627 R$* $| <PERM + $={tls} $*> $: $1 $| <503:5.7.0> <$2 $3> 1655 R$* $| <PERM + $={Tls} $*> $: $1 $| <503:5.7.0> <$2 $3>
1628 R$* $| <TEMP + $={tls} $*> $: $1 $| <403:4.7.0> <$2 $3> 1656 R$* $| <TEMP + $={Tls} $*> $: $1 $| <403:4.7.0> <$2 $3>
1629 R$* $| <$={tls} $*> $: $1 $| <403:4.7.0> <$2 $3> 1657 R$* $| <$={Tls} $*> $: $1 $| <403:4.7.0> <$2 $3>
1630 # deal with TLS handshake failures: abort 1658 # deal with TLS handshake failures: abort
1631 RSOFTWARE $| <$-:$+> $* $#error $@ $2 $: $1 " TLS handshake failed." 1659 RSOFTWARE $| <$-:$+> $* $#error $@ $2 $: $1 " TLS handshake failed."
1632 RSOFTWARE $| $* $#error $@ 4.7.0 $: "403 TLS handshake failed." 1660 RSOFTWARE $| $* $#error $@ 4.7.0 $: "403 TLS handshake failed."
1633 R$* $| <$*> <VERIFY> $: <$2> <VERIFY> <> $1 1661 R$* $| <$*> <VERIFY> $: <$2> <VERIFY> <> $1
1634 R$* $| <$*> <VERIFY + $+> $: <$2> <VERIFY> <$3> $1 1662 R$* $| <$*> <VERIFY + $+> $: <$2> <VERIFY> <$3> $1
1635 R$* $| <$*> <$={tls}:$->$* $: <$2> <$3:$4> <> $1 1663 R$* $| <$*> <$={Tls}:$->$* $: <$2> <$3:$4> <> $1
1636 R$* $| <$*> <$={tls}:$- + $+>$* $: <$2> <$3:$4> <$5> $1 1664 R$* $| <$*> <$={Tls}:$- + $+>$* $: <$2> <$3:$4> <$5> $1
1637 R$* $| $* $@ OK 1665 R$* $| $* $@ OK
1638 # authentication required: give appropriate error 1666 # authentication required: give appropriate error
1639 # other side did authenticate (via STARTTLS) 1667 # other side did authenticate (via STARTTLS)
1640 R<$*><VERIFY> <> OK $@ OK 1668 R<$*><VERIFY> <> OK $@ OK
1641 R<$*><VERIFY> <$+> OK $: <$1> <REQ:0> <$2> 1669 R<$*><VERIFY> <$+> OK $: <$1> <REQ:0> <$2>
1719 R$* $| <?>$* $: $1 $| $>A <$&{server_addr}> <?> <! AuthInfo> <> 1747 R$* $| <?>$* $: $1 $| $>A <$&{server_addr}> <?> <! AuthInfo> <>
1720 R$* $| <?>$* $: $1 $| <$(access AuthInfo: $: ? $)> <> 1748 R$* $| <?>$* $: $1 $| <$(access AuthInfo: $: ? $)> <>
1721 R$* $| <?>$* $@ no no authinfo available 1749 R$* $| <?>$* $@ no no authinfo available
1722 R$* $| <$*> <> $# $2 1750 R$* $| <$*> <> $# $2
1723 1751
1752
1753
1754
1755
1724 # 1756 #
1725 ###################################################################### 1757 ######################################################################
1726 ###################################################################### 1758 ######################################################################
1727 ##### 1759 #####
1728 ##### MAIL FILTER DEFINITIONS 1760 ##### MAIL FILTER DEFINITIONS