BSD 4_3_Net_1 release
[unix-history] / sendmail / cf / m4 / nstcpldm.m4
divert(10)
#
# Copyright (c) 1983 Eric P. Allman
# Copyright (c) 1988 The Regents of the University of California.
# All rights reserved.
#
# Redistribution and use in source and binary forms are permitted
# provided that the above copyright notice and this paragraph are
# duplicated in all such forms and that any documentation,
# advertising materials, and other materials related to such
# distribution and use acknowledge that the software was developed
# by the University of California, Berkeley. The name of the
# University may not be used to endorse or promote products derived
# from this software without specific prior written permission.
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# @(#)nstcpldm.m4 1.10 (Berkeley) 2/15/89
#
divert(0)
############################################################
############################################################
#####
##### Local Domain SMTP Mailer specification
#####
##### Messages processed by this specification are assumed to remain
##### the local domain. Hence, they can refer to hosts that are
##### not registered in the NIC host table.
#####
############################################################
############################################################
Mtcpld, P=[IPC], F=mDFMueXLC, S=17, R=27, A=IPC $h, E=\r\n
S17
# cleanup forwarding a bit
R$*<$*>$* $1$2$3 defocus
R$* $:$>3$1 canonicalize
R$*%$*<@$w> $:$>9$1%$2 user%localhost@localdomain
# pass <route-addr>'s through
R<@$+>$* $@<@$[$1$]>$2 resolve <route-addr>
# map colons to dots everywhere
R$*:$* $1.$2 map colons to dots
# output local host as user@host.domain
R$- $@$1<@$w> user w/o host
R$+<@$w> $@$1<@$w> this host
R$+<@$=w> $@$1<@$w> or an alias
R$+<@$-> $:$1<@$[$2$]> ask nameserver
R$+<@$w> $@$1<@$w> this host
R$+<@$-> $@$1<@$2.$D> if nameserver fails
# if not local, and not a "fake" domain, ask the nameserver
R$+<@$+.$~I> $@$1<@$[$2.$3$]> user@host.domain
R$+<@[$+]> $@$1<@[$2]> already ok
# output fake domains as user%fake@relay
ifdef(`BITNET_RELAY',
R$+<@$+.BITNET> $@$1%$2.BITNET<@$B> user@host.bitnet)
ifdef(`CSNET_RELAY',
R$+<@$+.CSNET> $@$1%$2.CSNET<@$C> user@host.CSNET)
R$+<@$+.UUCP> $@$2!$1<@$w> user@host.UUCP
S27
# cleanup
R$*<$*>$* $1$2$3 defocus
R$* $:$>3$1 now canonical form
R$*%$*<@$w> $:$>9$1%$2 user%localhost@localdomain
# pass <route-addr>'s through
R<@$+>$* $@<@$[$1$]>$2 resolve <route-addr>
# map colons to dots everywhere
R$*:$* $1.$2 map colons to dots
# output local host as user@host.domain
R$- $@$1<@$w> user w/o host
R$+<@$w> $@$1<@$w> this host
R$+<@$=w> $@$1<@$w> or an alias
R$+<@$-> $:$1<@$[$2$]> ask nameserver
R$+<@$w> $@$1<@$w> this host
R$+<@$-> $@$1<@$2.$D> if nameserver fails
# if not local, and not a "fake" domain, ask the nameserver
R$+<@$+.$~I> $@$1<@$[$2.$3$]> user@host.domain
R$+<@[$+]> $@$1<@[$2]> already ok
# output fake domains as user%fake@relay
ifdef(`BITNET_RELAY',
R$+<@$+.BITNET> $@$1%$2.BITNET<@$B> user@host.BITNET)
ifdef(`CSNET_RELAY',
R$+<@$+.CSNET> $@$1%$2.CSNET<@$C> user@host.CSNET)
R$+<@$+.UUCP> $@$2!$1 user@host.UUCP