Lines Matching +full:broken +full:- +full:save +full:- +full:restore +full:- +full:fw

1 divert(-1)
3 # Copyright (c) 1998-2010 Proofpoint, Inc. and its suppliers.
16 VERSIONID(`$Id: proto.m4,v 8.762 2013-11-22 20:51:13 ca Exp $')
20 divert(-1)
37 `ifdef(`_MAILER_uucp', `uucp-new', `unknown')')')')
38 ifdef(`confUUCP_MAILER',, `define(`confUUCP_MAILER', `uucp-old')')
55 ifelse(_ARG_, -1,
61 ifdef(`confMIN_FREE_BLOCKS', `ifelse(index(confMIN_FREE_BLOCKS, /), -1,,
87 # override file safeties - setting this option compromises system security,
94 _OPTION(LDAPDefaultSpec, `confLDAP_DEFAULT_SPEC', `-h localhost')
107 Fw`'confCW_FILE',
147 Kuser user -m -a<>
173 Kresolve host -a<_RES_OK_> -T<TEMP>')
214 Kstsxsni regex -a: -s3 (.*)(servername=)(.*)
215 Kstsxsni2 regex -a: -s2 (.*)(servername=.*)
216 Kstsxmatch regex -a: -s2 (match=)(.*)
218 Kstsxnodaneflag regex -a@ -s3 (.*)(flags=)([^;]*d)(.*)
248 ifdef(`confMAILER_NAME', `Dn`'confMAILER_NAME', `#DnMAILER-DAEMON')
266 # 8-bit data handling
294 _OPTION(ErrorHeader, `confERROR_MESSAGE', `MAIL_SETTINGS_DIR`'error-header')
299 # save Unix-style "From_" lines at top of header?
323 # deliver MIME-encapsulated error messages?
341 # use Errors-To: header?
366 `ifdef(`_NETINET6_', `O DaemonPortOptions=Name=MTA-v4, Family=inet
367 O DaemonPortOptions=Name=MTA-v6, Family=inet6',`O DaemonPortOptions=Name=MTA')', `_DPO_')
390 # slope of queue-only function
396 # maximum number of queue-runners per queue-grouping with multiple queues
420 # key for shared memory; 0 to turn off, -1 to auto-select
423 # file to store auto-selected key for shared memory (SharedMemoryKey = -1)
447 _OPTION(Timeout.queuereturn.non-urgent, `confTO_QUEUERETURN_NONURGENT', `7d')
452 _OPTION(Timeout.queuewarn.non-urgent, `confTO_QUEUEWARN_NONURGENT', `12h')
468 # should we not prune routes in route-addr syntax addresses?
480 # if defined and non-null, use that info
534 _OPTION(DefaultCharSet, `confDEF_CHAR_SET', `unknown-8bit')
578 # are group-writable `:include:' and .forward files (un)trustworthy?
591 # where to save bounces if all else fails
608 # Return-Receipt-To: header implies DSN request
635 # Data file (df) memory-buffer file maximum size
638 # Transcript file (xf) memory-buffer file maximum size
648 _OPTION(AuthMechanisms, `confAUTH_MECHANISMS', `EXTERNAL GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5')
654 _OPTION(DefaultAuthInfo, `confDEF_AUTH_INFO', `MAIL_SETTINGS_DIR`'default-auth-info')
736 Pfirst-class=0
737 Pspecial-delivery=100
738 Plist=-30
739 Pbulk=-60
740 Pjunk=-100
747 ifdef(`_USE_CT_FILE_', `', `#')Ft`'ifdef(`confCT_FILE', confCT_FILE, `MAIL_SETTINGS_DIR`'trusted-us…
759 H?P?Return-Path: <$g>
761 H?D?Resent-Date: $a
763 H?F?Resent-From: confFROM_HEADER
765 H?x?Full-Name: $x
766 # HPosted-Date: $a
767 # H?l?Received-Date: $b
768 H?M?Resent-Message-Id: confMESSAGEID_HEADER
769 H?M?Message-Id: confMESSAGEID_HEADER
781 ### Ruleset 3 -- Name Canonicalization ###
805 # strip angle brackets -- note RFC733 heuristic to get innermost item
813 # make sure <@a,@b,@c:user@d> syntax is easy to parse -- undone later
816 # localize and dispose of route-based addresses
819 `R@ [$+] : $+ $@ $>Canonify2 < @ [$1] > : $2 handle <route-addr>')
820 R@ $+ : $+ $@ $>Canonify2 < @$1 > : $2 handle <route-addr>
822 # strip route address <@a,@b,@c:user@d> -> <user@d>
843 `# convert old-style addresses to a domain-based address
844 R$- ! $+ $@ $>Canonify2 $2 < @ $1 .UUCP > resolve uucp names
845 R$+ . $- ! $+ $@ $>Canonify2 $3 < @ $1 . $2 > domain uucps
849 `# convert node::user addresses into a domain-based address
850 R$- :: $+ $@ $>Canonify2 $2 < @ $1 .DECNET > resolve DECnet names
851 R$- . $- :: $+ $@ $>Canonify2 $3 < @ $1.$2 .DECNET > numeric DECnet addr
866 ### Ruleset 96 -- bottom half of ruleset 3 ###
879 R$* < @@ $=w > $* $: $1 < @ $j . > $3 self-literal
929 dnl with class P is non-empty)
935 dnl trailing dot? -> do not apply _CANONIFY_HOSTS_
942 dnl then $- does not work.
961 # local host aliases and pseudo-domains are always canonical
984 ### Ruleset 4 -- Final Output Post-rewriting ###
999 R@ $+ : @ $+ : $+ @ $1 , @ $2 : $3 <route-addr> canonical
1004 R$+ @ $- . UUCP $2!$1 u@h.UUCP => h!u')
1016 ### Ruleset 97 -- recanonicalize and call ruleset zero ###
1026 ### Ruleset 0 -- Parse Address ###
1037 # Parse0 -- do initial syntax checking and eliminate local addresses.
1072 # now delete the local info -- note $=O to find characters that cause forwarding
1074 R< @ $=w . > : $* $@ $>Parse0 $>canonify $2 @here:... -> ...
1075 R$- < @ $=w . > $: $(dequote $1 $) < @ $2 . > dequote "foo"@here
1077 R$* $=O $* < @ $=w . > $@ $>Parse0 $>canonify $1 $2 $3 ...@here -> ...
1078 R$- $: $(dequote $1 $) < @ *LOCAL* > dequote "foo"
1081 $@ $>Parse0 $>canonify $1 $2 $3 ...@*LOCAL* -> ...
1092 # Parse1 -- the bottom half of ruleset 0.
1108 R$* < @ [ $+ ] : $- : $*> $* $#$3 $@ $4 $: $1 < @ [$2] > $5 smarthost with mailer
1118 dnl it does not deal with multi-level recursion
1130 dnl input: <result-of-lookup | @> local<@domain> | <!> local<@domain>
1156 R< error : $-.$-.$- : $+ > $* $#error $@ $1.$2.$3 $: $4
1157 R< error : $- $+ > $* $#error $@ $(dequote $1 $) $: $2
1187 # not local -- try mailer table lookup
1191 dnl it is $~[ instead of $- to avoid matches on IPv6 addresses
1192 R< $~[ : $* > $* $>MailerToTriple < $1 : $2 > $3 check -- resolved?
1226 `# forward non-local UUCP traffic to our UUCP relay
1261 ### Ruleset 5 -- special rewriting after aliases have been expanded ###
1313 R< > $+ $: < > < $1 <> $&h > nope, restore +detail
1329 dnl it is $~[ instead of $- to avoid matches on IPv6 addresses
1339 ### Ruleset LDAPMailertable -- mailertable lookup for LDAP ###
1352 ### Ruleset 90 -- try domain part of mailertable entry ###
1359 R$* <$- . $+ > $* $: $1$2 < $(mailertable .$3 $@ $1$2 $@ $2 $) > $4
1360 dnl it is $~[ instead of $- to avoid matches on IPv6 addresses
1361 R$* <$~[ : $* > $* $>MailerToTriple < $2 : $3 > $4 check -- resolved?
1362 R$* < . $+ > $* $@ $>Mailertable $1 . <$2> $3 no -- strip & try again
1371 ### Ruleset 95 -- canonify mailer:[user@]host syntax to triple ###
1373 dnl <> address -> address
1374 dnl <error:d.s.n:text> -> error
1375 dnl <error:keyword:text> -> error
1376 dnl <error:text> -> error
1377 dnl <mailer:user@host> lp<@domain>rest -> mailer host user
1378 dnl <mailer:host> address -> mailer host address
1379 dnl <localdomain> address -> address
1380 dnl <host> address -> relay host address
1385 R< error : $-.$-.$- : $+ > $* $#error $@ $1.$2.$3 $: $4
1386 R< error : $- : $+ > $* $#error $@ $(dequote $1 $) $: $2
1389 dnl it is $~[ instead of $- to avoid matches on IPv6 addresses
1396 ### Ruleset CanonLocal -- canonify local: syntax ###
1398 dnl <x> <@host> : rest -> Recurse rest
1399 dnl <x> p1 $=O p2 <@host> -> Recurse p1 $=O p2
1400 dnl <> user <@host> rest -> local user@host user
1401 dnl <> user -> local user user
1402 dnl <user@host> lp <@domain> rest -> <user> lp <@host> [cont]
1403 dnl <user> lp <@host> rest -> local lp@host user
1404 dnl <user> lp -> local lp user
1415 # handle local: syntax -- use old user, either with or without host
1419 # handle local:user@host syntax -- ignore host part
1427 ### Ruleset 93 -- convert header names to masqueraded form ###
1442 dnl broken: %1 is full address not just detail
1477 # handle domain-specific masquerading
1491 ### Ruleset 94 -- convert envelope names to masqueraded form ###
1500 ### Ruleset 98 -- local part of ruleset zero (can be null) ###
1511 ### <$1> -- parsed address (user < @ domain . >) (pass through)
1512 ### <$2> -- RFC822 address (user @ domain) (used for lookup)
1513 ### <$3> -- +detail information
1533 # if mailRoutingAddress and local or non-existent mailHost,
1542 # if mailRoutingAddress and non-local mailHost,
1559 # if no mailRoutingAddress and non-local mailHost,
1598 ifdef(`_ACCESS_TABLE_', `dnl', `divert(-1)')
1600 ### D: LookUpDomain -- search for domain in access database
1603 ### <$1> -- key (domain name)
1604 ### <$2> -- default (what to return if not found in db)
1606 ### <$3> -- mark (must be <(!|+) single-token>)
1609 ### <$4> -- passthru (additional data passed unchanged through)
1618 R<$*> <$+> <$- $-> <$*> $: < $(access $4`'_TAG_DELIM_`'$1 $: ? $) > <$1> <$2> <$3 $4> <$5>
1619 dnl workspace <result-of-lookup|?> <key> <default> <passthru> <mark>
1622 R<?> <$+> <$+> <+ $-> <$*> $: < $(access $1 $: ? $) > <$1> <$2> <+ $3> <$4>
1627 R<?> <$+.$+> <$+> <$- $-> <$*> $: < $(access $5`'_TAG_DELIM_`'.$2 $: ? $) > <$1.$2> <$3> <$4 $5> <$…
1629 R<?> <$+.$+> <$+> <+ $-> <$*> $: < $(access .$2 $: ? $) > <$1.$2> <$3> <+ $4> <$5>', `dnl')
1633 R<SKIP> <$+> <$+> <$- $-> <$*> $@ <$2> <$5>', `dnl')
1636 R<?> <[$+.$-]> <$+> <$- $-> <$*> $@ $>D <[$1]> <$3> <$4 $5> <$6>
1641 R<?> <[$+::$-]> <$+> <$- $-> <$*> $: $>D <[$1]> <$3> <$4 $5> <$6>
1642 R<?> <[$+:$-]> <$+> <$- $-> <$*> $: $>D <[$1]> <$3> <$4 $5> <$6>')
1645 R<?> <$+.$+> <$+> <$- $-> <$*> $@ $>D <$2> <$3> <$4 $5> <$6>
1648 R<?> <$+> <$+> <! $-> <$*> $: < $(access $3`'_TAG_DELIM_ $: ? $) > <$1> <$2> <! $3> <$4>', `dnl')
1651 R<?> <$+> <$+> <$- $-> <$*> $@ <$2> <$5>
1654 R<$* _ATMPF_> <$+> <$+> <$- $-> <$*> $@ <_ATMPF_> <$6>', `dnl')
1657 R<$*> <$+> <$+> <$- $-> <$*> $@ <$1> <$6>
1660 ### A: LookUpAddress -- search for host address in access database
1663 ### <$1> -- key (dot quadded host address)
1664 ### <$2> -- default (what to return if not found in db)
1666 ### <$3> -- mark (must be <(!|+) single-token>)
1669 ### <$4> -- passthru (additional data passed through)
1677 R<$+> <$+> <$- $-> <$*> $: < $(access $4`'_TAG_DELIM_`'$1 $: ? $) > <$1> <$2> <$3 $4> <$5>
1680 R<?> <$+> <$+> <+ $-> <$*> $: < $(access $1 $: ? $) > <$1> <$2> <+ $3> <$4>
1681 dnl workspace <result-of-lookup|?> <key> <default> <mark> <passthru>
1685 R<SKIP> <$+> <$+> <$- $-> <$*> $@ <$2> <$5>', `dnl')
1689 R<?> <$+::$-> <$+> <$- $-> <$*> $@ $>A <$1> <$3> <$4 $5> <$6>
1690 R<?> <$+:$-> <$+> <$- $-> <$*> $@ $>A <$1> <$3> <$4 $5> <$6>')
1693 R<?> <$+.$-> <$+> <$- $-> <$*> $@ $>A <$1> <$3> <$4 $5> <$6>
1696 R<?> <$+> <$+> <$- $-> <$*> $@ <$2> <$5>
1699 R<$* _ATMPF_> <$+> <$+> <$- $-> <$*> $@ <_ATMPF_> <$6>', `dnl')
1702 R<$*> <$+> <$+> <$- $-> <$*> $@ <$1> <$6>
1706 ### CanonAddr -- Convert an address into a standard form for
1708 ### crudely converted into a %-hack address.
1711 ### $1 -- full recipient address
1728 ### ParseRecipient -- Strip off hosts in $=R as well as possibly
1733 ### $1 -- full recipient address
1736 ### parsed, non-local-relaying address
1745 R<?> $- < @ $* > $: <?> $(dequote $1 $) < @ $2 > dequote local part
1791 ### check_relay -- check hostname/address on SMTP startup
1821 dnl workspace: <result-of-lookup> <{client_addr}>
1824 dnl workspace: <result-of-lookup> <{client_addr}>
1826 dnl workspace: <result-of-lookup> (<>|<{client_addr}>)
1828 dnl workspace: <result-of-lookup> (<>|<{client_addr}>) | OK
1834 R<ERROR:$-.$-.$-:$+> <$*> $#error $@ $1.$2.$3 $: $4
1844 R$-.$-.$-.$- $: <?> $(host $4.$3.$2.$1._RBL_. $: OK $)
1867 ### check_mail -- check SMTP ``MAIL FROM:'' command argument
1909 R$* f $* $| <@> < $* @ $- > $: < ? $&{client_name} > < $3 @ $4 >
1946 # handle non-DNS hostnames (*.bitnet, *.decnet, *.uucp, etc)
1954 R<? $* <$->> $* < @ $+ >
2003 R<ERROR:$-.$-.$-:$+> $* $#error $@ $1.$2.$3 $: $4
2019 # workspace: <MX><domain><: mxlist-result $><:>
2039 ### check_rcpt -- check SMTP ``RCPT TO:'' command argument
2098 ifdef(`_PROMISCUOUS_RELAY_', `divert(-1)', `dnl')
2170 R<ERROR:$-.$-.$-:$+> $* $#error $@ $1.$2.$3 $: $4
2177 ifdef(`_PROMISCUOUS_RELAY_', `divert(-1)', `dnl')
2215 dnl workspace: <Result-of-lookup | ?> <localpart<@domain>>
2225 dnl workspace: <Result-of-lookup | ?> <localpart<@domain>>
2305 dnl input: {client_addr} or something "broken"
2425 `errprint(`*** ERROR: define either Hater or Friend -- not both.
2454 dnl Bypass for local clients -- IP address starts with $=R
2456 dnl Bypass a "sendmail -bs" session, which use 0 for client ip address
2457 R$* $| <0> [$*] $: $1 skip if sendmail -bs
2458 dnl Reject our IP - assumes "[ip]" is in class $=w
2472 ifdef(`_ACCESS_TABLE_', `dnl', `divert(-1)')
2474 ### F: LookUpFull -- search for an entry in access database
2480 ### <$1> -- key
2481 ### <$2> -- default (what to return if not found in db)
2483 ### <$3> -- mark (must be <(!|+) single-token>)
2486 ### <$4> -- passthru (additional data passed unchanged through)
2495 R<$+> <$*> <$- $-> <$*> $: <$(access $4`'_TAG_DELIM_`'$1 $: ? $)> <$1> <$2> <$3 $4> <$5>
2498 R<?> <$+> <$*> <+ $-> <$*> $: <$(access $1 $: ? $)> <$1> <$2> <+ $3> <$4>
2501 R<?> <$+ + $* @ $+> <$*> <$- $-> <$*>
2505 R<?> <$+ + $* @ $+> <$*> <+ $-> <$*>
2509 R<?> <$+ + $* @ $+> <$*> <$- $-> <$*>
2513 R<?> <$+ + $* @ $+> <$*> <+ $-> <$*>
2517 R<?> <$+> <$*> <$- $-> <$*> $@ <$2> <$5>
2520 R<$+ _ATMPF_> <$*> <$- $-> <$*> $@ <_ATMPF_> <$5>', `dnl')
2523 R<$+> <$*> <$- $-> <$*> $@ <$1> <$5>
2526 ### E: LookUpExact -- search for an entry in access database
2529 ### <$1> -- key
2530 ### <$2> -- default (what to return if not found in db)
2532 ### <$3> -- mark (must be <(!|+) single-token>)
2535 ### <$4> -- passthru (additional data passed unchanged through)
2542 R<$*> <$*> <$- $-> <$*> $: <$(access $4`'_TAG_DELIM_`'$1 $: ? $)> <$1> <$2> <$3 $4> <$5>
2545 R<?> <$+> <$*> <+ $-> <$*> $: <$(access $1 $: ? $)> <$1> <$2> <+ $3> <$4>
2548 R<?> <$+> <$*> <$- $-> <$*> $@ <$2> <$5>
2551 R<$+ _ATMPF_> <$*> <$- $-> <$*> $@ <_ATMPF_> <$5>', `dnl')
2554 R<$+> <$*> <$- $-> <$*> $@ <$1> <$5>
2557 ### U: LookUpUser -- search for an entry in access database
2563 ### <$1> -- key (user@)
2564 ### <$2> -- default (what to return if not found in db)
2566 ### <$3> -- mark (must be <(!|+) single-token>)
2569 ### <$4> -- passthru (additional data passed unchanged through)
2577 R<$+> <$*> <$- $-> <$*> $: <$(access $4`'_TAG_DELIM_`'$1 $: ? $)> <$1> <$2> <$3 $4> <$5>
2580 R<?> <$+> <$*> <+ $-> <$*> $: <$(access $1 $: ? $)> <$1> <$2> <+ $3> <$4>
2585 R<?> <$+ + $* @> <$*> <$- $-> <$*>
2589 R<?> <$+ + $* @> <$*> <+ $-> <$*>
2593 R<?> <$+ + $* @> <$*> <$- $-> <$*>
2597 R<?> <$+ + $* @> <$*> <+ $-> <$*>
2601 R<?> <$+> <$*> <$- $-> <$*> $@ <$2> <$5>
2604 R<$+ _ATMPF_> <$*> <$- $-> <$*> $@ <_ATMPF_> <$5>', `dnl')
2607 R<$+> <$*> <$- $-> <$*> $@ <$1> <$5>
2751 R$-.$+ $: $2
2805 R:$* $| $-.$+ $: $(macro {TLS_Name} $@ .$3 $) $>TLS_NameInList :$1
2952 divert(-1)')
2966 R`'$1 $| <$-:$+> $`'* $`'#error $`'@ $`'2 $: $`'1 " $2"
2983 R$* $| <$*> <$={Tls}:$->$* $: <$2> <$3:$4> <> $1
2985 R$* $| <$*> <$={Tls}:$- + $+>$* $: <$2> <$3:$4> <$5> $1
2998 R<$*><VERIFY:$-> <$*> $={TlsVerified} $: <$1> <REQ:$2> <$3>
3000 R<$*><ENCR:$-> <$*> $* $: <$1> <REQ:$2> <$3>
3005 R<$-:$+><VERIFY $*> <$*> $#error $@ $2 $: $1 " authentication required"
3006 R<$-:$+><VERIFY $*> <$*> FAIL $#error $@ $2 $: $1 " authentication failed"
3007 R<$-:$+><VERIFY $*> <$*> NO $#error $@ $2 $: $1 " not authenticated"
3008 R<$-:$+><VERIFY $*> <$*> NOT $#error $@ $2 $: $1 " no authentication requested"
3009 R<$-:$+><VERIFY $*> <$*> NONE $#error $@ $2 $: $1 " other side does not support STARTTLS"
3010 R<$-:$+><VERIFY $*> <$*> CLEAR $#error $@ $2 $: $1 " STARTTLS disabled locally"
3012 R<$-:$+><VERIFY $*> <$*> $+ $#error $@ $2 $: $1 " authentication failure " $4
3014 R<$*><REQ:$-> <$*> $: <$1> <REQ:$2> <$3> $>max $&{cipher_bits} : $&{auth_ssf}
3016 R<$*><REQ:$-> <$*> $- $: <$1> <$2:$4> <$3> $(arith l $@ $4 $@ $2 $)
3017 R<$-:$+><$-:$-> <$*> TRUE $#error $@ $2 $: $1 " encryption too weak " $4 " less than " $3
3025 dnl <SMTP:ESC> <REQ:bits> <extensions> result-of-compare
3026 R<$-:$+><$-:$-> <$*> $* $: <$1:$2 _TLS_ARS_ $5>
3029 R<$-:$+ _TLS_ARS_ > $@ OK
3031 R<$-:$+ _TLS_ARS_ $+ > $: <$1:$2> <$3>
3032 R<$-:$+> < $+ _TLS_ARS_ $+ > <$1:$2> <$3> <$4>
3033 R<$-:$+> $+ $@ $>"TLS_req" $3 $| <$1:$2>
3038 ### Parameters: [<list> <of> <req>] $| <$-:$+>
3039 ### $-: SMTP reply code
3057 R<CN:$-.$+> $* $| <$+> $: <CN:*.$2> $3 $| <$4>
3064 R<CN:$+> $* $| <$-:$+> $#error $@ $4 $: $3 " CN " $&{cn_subject} " does not match " $1
3069 R<CS:$+> $* $| <$-:$+> $#error $@ $4 $: $3 " Cert Subject " $&{cert_subject} " does not match " $1
3074 R<CI:$+> $* $| <$-:$+> $#error $@ $4 $: $3 " Cert Issuer " $&{cert_issuer} " does not match " $1
3076 R<CITag:$-> $* $| <$+> $: <$(access $1:$&{cert_issuer} $: ? $)> $2 $| <$3>
3077 R<?> $* $| <$-:$+> $#error $@ $3 $: $2 " Cert Issuer " $&{cert_issuer} " not acceptable"
3085 ### Parameters: [$-]:[$-]
3089 R:$- $: $1
3090 R$-: $: $1
3091 R$-:$- $: $(arith l $@ $1 $@ $2 $) : $1 : $2
3092 RTRUE:$-:$- $: $2
3093 R$-:$-:$- $: $2
3179 dnl host $| ip $| <acc result - might be empty>
3181 dnl host $| ip $| <acc result - might be empty> $| STS_disabled result
3184 dnl host $| ip $| <acc result - might be empty> $| STS_disabled result
3189 dnl host $| ip $| <acc result - might be empty> $| <DANE_disabled result>
3191 dnl host $| ip $| <acc result - might be empty> $| sni result
3203 dnl host $| ip $| <acc result - might be empty>
3339 dnl Helper ruleset for -bt mode to invoke rulesets