The
hesiod type of database map uses the Hesiod
system, a network information system developed as Project Athena.
Support of hesiod database maps is available
only if you declare HESIOD when compiling
sendmail. (See HESIOD for
a fuller description of the Hesiod system.)
A hesiod database map is declared like this:
Kname hesiod HesiodNameType
The HesiodNameType must be one that is
known at your site, such as passwd or
service. An unknown
HesiodNameType will yield this error when
sendmail begins to run:
cannot initialize Hesiod map (hesiod error number)
One example of a lookup might look like this:
Kuid2name hesiod uid
R$- $: $(uid2name $1 $)
Here, we declare the network database map uid2name
using the Hesiod type uid, which converts
user-id numbers into login names. If the
conversion was successful, we use the login name returned; otherwise,
we use the original workspace.
Quite a few database-map switches are available with this type. They
are all listed in Table 23-14.
Table 23-14. The hesiod database-map type K command switches
-A
|
-A
|
Append values for duplicate keys
|
-a
|
-a
|
Append tag on successful match
|
-D
|
-D
|
Don't use this database map if DeliveryMode=defer
|
-f
|
-f
|
Don't fold keys to lowercase
|
-m
|
-m
|
Suppress replacement on match
|
-N
|
-N
|
Append a null byte to all keys
|
-O
|
-O
|
Never add a null byte
|
-o
|
-o
|
The network database map is optional
|
-q
|
-q
|
Don't strip quotes from key
|
-S
|
-S
|
Space replacement character
|
-T
|
-T
|
Suffix to append on temporary failure
|
-t
|
-t
|
Ignore temporary errors
|
The -d38.20 command-line switch (-d38.20) can be used to observe this
type's lookups in more detail.