summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/design.txt16
1 files changed, 9 insertions, 7 deletions
diff --git a/doc/design.txt b/doc/design.txt
index e9c3e27..ace58f8 100644
--- a/doc/design.txt
+++ b/doc/design.txt
@@ -163,6 +163,7 @@ plugin's entry, the backend checks for entries with these attributes:
* filter
* keyFormat
* valueFormat
+ * referred
The backend then instructs the map cache to prepare to hold a map in the
given domain with the given map name, and then performs a subtree search
under the specified base for entries which match the provided filter.
@@ -178,7 +179,8 @@ the directory server entry, using the format specifier as a guide. In
this way, the NIS map's contents can be constructed to almost any
specification, can make use of data stored using any schema.
-An example specification for a user's entry would look like this:
+An example specification for the value 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
@@ -201,12 +203,12 @@ processes zero or more values of the "memberUid" attribute and
concatenates them together with a "," separator, to generate the list
of group members.
-The filter, key, and value have sensible defaults for the maps which we
-expect to be using -- this is important because it's easy to subtly
-construct malformed result strings which could trigger undefined
-behavior on clients -- for example by leaving the user's numeric UID
-empty in a passwd entry, which may be treated as "0" by inattentive
-clients.
+The filter, keyFormat, valueFormat, and referred settings have sensible
+defaults for the maps which we expect to be using -- this is important
+because it's easy to subtly construct malformed result strings which
+could trigger undefined behavior on clients -- for example by leaving
+the user's numeric UID empty in a passwd entry, which may be treated as
+"0" by inattentive clients.
The format specifier includes function-like invocations to allow the
backend to be instructed to chase references to other entries, for