[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Help with modules

Howard Chu wrote:

Herb Hrowal wrote:

If a shim is possible, can it specify which backend handles the request?

Not quite. Instead, you specify which overlays to use on a particular backend.

Let me elaborate on this: in slapd, requests are processed by the frontend,
which decides, based on the request type and data, which __database__ will
elaborate it (essentially based on finding what database "suffix" is the most
appropriate for some DN associated to the request. In this sense, overlays
intervene __after__ the database (and thus the backend, which is the database
type) has been selected. In HEAD code, however, you can put an overlay
__between__ request parsing and database selection. As such, by changing
("massaging") the DN associated with the request, you can act on what
database handles it. OpenLDAP's slapd provides an overlay that deals with
data massaging; see slapo-rwm(5) for details. You can stack this in the frontend
between prequest parsing and database selection, and plug your own overlay
downstream for furthr massaging; or, if you don't need all its functionalities,
do your own massaging in your overlay.


SysNet - via Dossi,8 27100 Pavia Tel: +390382573859 Fax: +390382476497