A substitution of the form $(text)
is handled
specially. The text
part is used as a key to
access the special database PMDF_GENERAL_DATABASE.c This
database is generated with the PMDF CRDB (OpenVMS) or pmdf
crdb
(UNIX or NT) utility. If text
is
found in the database the corresponding template from the database is
substituted. If text
does not match an entry in
the database the rewrite process fails; it is as if the rewrite rule
never matched in the first place. If the substitution is successful the
template extracted from the database is re-scanned for additional
substitutions. However, additional $(text)
substitutions from the extracted template are prohibited in order to
prevent endless recursive references.
As an example, suppose that the address jdoe@acme.decnet matches the rewrite rule
.DECNET $($H)Then, the text string acme will be looked up in the general database and the result of the look up, if any, instead used for the rewrite rule's template. Suppose that the result of looking up acme is $u%acmevax.acme.com@decnet. Then the output of the template will be jdoe@acmevax.acme.com (i.e., username = jdoe, host/domain specification = acmevax.acme.com), and the routing system will be decnet.
If a general database exists it should be world readable to insure that it operates properly.
PMDF_TABLE:general.dat
; on UNIX
systems, this database consists of the files specified with the
PMDF_GENERAL_DATABASE option in the /etc/pmdf_tailor
file,
which are usually the files /pmdf/table/generaldb.*
; on NT
systems, this database consists of the files specified with the
PMDF_GENERAL_DATABASE Tailor key in the NT registry, which are usually
the file generaldb.*
in the PMDF table directory.