diff options
author | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2009-04-29 17:40:50 -0400 |
---|---|---|
committer | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2009-04-29 17:40:50 -0400 |
commit | 94a95f986b8343b8f35419bd316fd90fe4dda0a8 (patch) | |
tree | 3e992b98ca254c06ae918b0aeeb79ee1076e02f1 /doc | |
parent | 87cd98330ff97faf5f0b5ad5a2ea480651c36733 (diff) | |
download | slapi-nis-94a95f986b8343b8f35419bd316fd90fe4dda0a8.tar.gz slapi-nis-94a95f986b8343b8f35419bd316fd90fe4dda0a8.tar.xz slapi-nis-94a95f986b8343b8f35419bd316fd90fe4dda0a8.zip |
- formatting/markup tweaks
Diffstat (limited to 'doc')
-rw-r--r-- | doc/nis-design.txt | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/doc/nis-design.txt b/doc/nis-design.txt index fd894a4..f98bf57 100644 --- a/doc/nis-design.txt +++ b/doc/nis-design.txt @@ -203,33 +203,33 @@ contents of the directory server. The backend interface reads the configuration it should use for the map cache from its configuration area in the directory server. Beneath the plugin's entry, the backend checks for entries with these attributes: - * nis-domain - * nis-map - * nis-secure - * nis-base - * nis-filter - * nis-key-format - * nis-keys-format - * nis-value-format - * nis-values-format +* nis-domain +* nis-map +* nis-secure +* nis-base +* nis-filter +* nis-key-format +* nis-keys-format +* nis-value-format +* nis-values-format The backend then instructs the map cache to prepare to hold a map in the given domain (or domains) with the given map name (or names), and then performs a subtree search under the specified base (or bases, if there's -more than one "nis-base" value) for entries which match the provided +more than one ''nis-base'' value) for entries which match the provided filter. Each entry found is then "added" to the map, using the format -specifiers stored in the "nis-key-format" and "nis-keys-format" +specifiers stored in the ''nis-key-format'' and ''nis-keys-format'' attributes to construct the keys for the entry in the map, with the corresponding value in the map being constructed using the format -specifiers stored in the "nis-value-format" and "nis-values-format" +specifiers stored in the ''nis-value-format'' and ''nis-values-format'' attributes. The map is also marked as a "secure" map according to the -"nis-secure" attribute, if so set. +''nis-secure'' attribute, if so set. -For each "nis-key-format" value, exactly one entry will be created in a -NIS map. (If a "nis-key-format" does not yield a single value, the +For each ''nis-key-format'' value, exactly one entry will be created in a +NIS map. (If a ''nis-key-format'' does not yield a single value, the directory server entry will not appear in the NIS map.) For each -"nis-keys-format" value, any number of entries will be created in a NIS -map. The method by which these attributes (and the "nis-value-format" -and "nis-value-formats") are interpreted is described below. +''nis-keys-format'' value, any number of entries will be created in a NIS +map. The method by which these attributes (and the ''nis-value-format'' +and ''nis-value-formats'') are interpreted is described below. Should one of the directory server entries which was used to construct one or more NIS map entries be modified or removed, the corresponding @@ -240,7 +240,7 @@ maps. == Formatting Data for NIS == -The "nis-key-format" and "nis-value-format" specifiers resemble an RPM +The ''nis-key-format'' and ''nis-value-format'' specifiers resemble an RPM format specifier, and can include the values of multiple attributes in any part of the specifier. The backend composes the string using the attribute values stored in the directory server entry, using the format @@ -248,30 +248,30 @@ specifier as a guide. In this way, the NIS map's contents can be constructed to almost any specification, and can make use of data stored using any schema. -An example specification for the "nis-value-format" for a user's entry +An example specification for the ''nis-value-format'' for a user's entry could look something like this: %{uid}:%{userPassword:-*}:%{uidNumber}:%{gidNumber}:%{gecos:-%{cn:-}}:%{homeDirectory}:%{loginShell:-/bin/sh} The syntax borrows from RPM's syntax, which in turn borrows from shell syntax, to allow the specification of alternate values to be used when -the directory server entry doesn't include a "userPassword" or "gecos" +the directory server entry doesn't include a ''userPassword'' or ''gecos'' attribute. Additional operators include "#", "##", "%", "%%", "/", "//", which operate in ways similar to their shell counterparts (with one notable exception being that patterns for the "/" operator can not currently be anchored to the beginning or end of the string). A format specifier can actually be interpreted in two ways: it can be -interpreted as a single value (when given as "nis-key-format" or -"nis-value-format"), or it can be interpreted as providing a list of -values ("nis-keys-format" or "nis-values-format"). When the format +interpreted as a single value (when given as ''nis-key-format'' or +''nis-value-format''), or it can be interpreted as providing a list of +values (''nis-keys-format'' or ''nis-values-format''). When the format specifier is being interpreted as a single value, any reference to an attribute value which does not also specify an alternate value will cause the directory server entry to be ignored if the referenced attribute has no value defined for that entry, or contains multiple -values. In the above example, the entry would be ignored if the "uid", -"uidNumber", "gidNumber", or "homeDirectory" attributes of the entry did +values. In the above example, the entry would be ignored if the ''uid'', +''uidNumber'', ''gidNumber'', or ''homeDirectory'' attributes of the entry did not each contain exactly one value. -The "nis-filter", "nis-key-format", and "nis-value-format" settings have +The ''nis-filter'', ''nis-key-format'', and ''nis-value-format'' settings have sensible defaults for the maps which we expect to be commonly used -- this is important because it's easy to subtly construct malformed result specifiers which could trigger undefined behavior on clients -- for @@ -282,7 +282,7 @@ The format specifier syntax further defines "functions" which can be used to concatenate lists of multiple values into a single result, for example for groups: %{cn}:%{userPassword:-*}:%{gidNumber}:%merge(",","%{memberUid}") -This filter takes advantage of a built-in "merge" function, which +This filter takes advantage of a built-in ''merge'' function, which processes zero or more single or list values and concatenates them together with a "," separator, to generate the list of the group's members. The available functions are described more fully in |