SLAPD.PLUGIN(5)

NAME
slapd.plugin - plugin configuration for slapd, the stand-alone LDAP daemon

SYNOPSIS
/usr/local/share/examples/openldap/slapd.conf

DESCRIPTION
The slapd.conf(5) file contains configuration information for the slapd(8) daemon. This configuration file is also used by the SLAPD tools slapadd(8), slapcat(8), and slapindex(8).

The slapd.conf file consists of a series of global configuration options that apply to slapd as a whole (including all backends), followed by zero or more database backend definitions that contain information specific to a backend instance.

The general format of slapd.conf is as follows:

    # comment - these options apply to every database
    <global configuration options>
    # first database definition & configuration options
    database    <backend 1 type>
    <configuration options specific to backend 1>
    # subsequent database definitions & configuration options
    ...

If slapd is compiled with --enable-slapi, support for plugins according to Netscape's Directory Server Plug-Ins. Version 4 of the API is currently implemented, with some extensions from version 5.

Both global and database specific data may contain plugin information. Plugins associated with a specific database are called before global plugins. This manpage details the slapd(8) configuration statements that affect the loading of SLAPI plugins.

Arguments that should be replaced by actual text are shown in brackets <>.

The structure of the plugin directives is

plugin <type> <lib_path> <init_function> [<arguments>]
    Load a plugin of the specified type for the current database.

The <type> can be one of preoperation, that is executed before processing the operation for the specified database, postoperation, that is executed after the operation for the specified database has been processed, extendedop, that is used when executing an extended operation, or object. The latter is used for miscellaneous types such as ACL, computed attribute and search filter rewriter plugins.

The <libpath> argument specifies the path to the plugin loadable object; if a relative path is given, the object is looked for according to the underlying dynamic loading package (libtool's ltdl is used).

The <init_function> argument specifies what symbol must be called when the plugin is first loaded. This function should register the functions provided by the plugin for the desired operations. It should be noted that it is this init function, not the plugin type specified as the first argument, that determines when and for what operations the plugin will be invoked. The optional <arguments> list is passed to the init function.

pluginlog <file>
    Specify an alternative path for the plugin log file (default is /var/errors).

modulepath <pathspec>
    This statement sets the module load path for dynamically loadable backends, as described in slapd.conf(5); however, since both the dynamically loadable backends and the SLAPI plugins use the same underlying library (libtool's ltdl) its value also affects the plugin search path. In general the search path is made of colon-separated paths; usually the user-defined path is searched first; then the value of the LTDL_LIBRARY_PATH environment variable, if defined, is used; finally, the system-specific dynamic load path is attempted (e.g. on Linux the value of the environment variable LD_LIBRARY_PATH). Please carefully read the documentation of ltdl because its behavior is very platform dependent.

FILES

/usr/local/share/examples/openldap/slapd.conf
    default slapd configuration file

/var/errors
    default plugin log file

SEE ALSO
slapd(8),

"OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)

ACKNOWLEDGEMENTS
OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.