NSS
===

(v1.1+ only)

Usually NSS [http://en.wikipedia.org/wiki/Name_Service_Switch] is used with
<passwd> [AuthDatabase.Passwd.txt] userdb, but it has one problem: It can't
distinguish between temporary and permanent errors. So if you're using e.g.
nss_ldap and your LDAP database is down, all userdb lookups may return "user
doesn't exist" errors. This is especially bad if you're using<deliver>
[LDA.txt], which causes the mails to be bounced back to sender.

The NSS userdb works around this problem by loading the NSS modules and calling
them itself. This is a bit kludgy, and it probably works only with Linux.

This userdb has two parameters:

 * *service=<name>*: This parameter is required. The name specifies what NSS
   module to use, for example "ldap".
 * *blocking=yes* causes the lookups to be done in worker processes. You'll
   probably want to use this with LDAP/SQL/etc. remote database lookups.

Example
-------

---%<-------------------------------------------------------------------------
userdb nss {
  args = service=ldap blocking=yes
}
---%<-------------------------------------------------------------------------

(This file was created from the wiki on 2009-02-04 04:42)
