Previous Section Next Section

hesiod

MIT network user authentication services V8.7 and above

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

Switch

§

Description

-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.

Previous Section Next Section