1.lf 1 stdin
2.TH SLAPD.PLUGIN 5 "2020/04/28" "OpenLDAP 2.4.50"
3.\" Copyright 2002-2020 The OpenLDAP Foundation All Rights Reserved.
4.\" Copying restrictions apply.  See COPYRIGHT/LICENSE.
5.SH NAME
6slapd.plugin \- plugin configuration for slapd, the stand-alone LDAP daemon
7.SH SYNOPSIS
8/etc/openldap/slapd.conf
9.SH DESCRIPTION
10The 
11.BR slapd.conf (5)
12file contains configuration information for the
13.BR slapd (8)
14daemon. This configuration file is also used by the SLAPD tools
15.BR slapadd (8),
16.BR slapcat (8),
17and
18.BR slapindex (8).
19.LP
20The
21.B slapd.conf
22file consists of a series of global configuration options that apply to
23.B slapd
24as a whole (including all backends), followed by zero or more database
25backend definitions that contain information specific to a backend
26instance.
27.LP
28The general format of
29.B slapd.conf
30is as follows:
31.LP
32.nf
33    # comment - these options apply to every database
34    <global configuration options>
35    # first database definition & configuration options
36    database    <backend 1 type>
37    <configuration options specific to backend 1>
38    # subsequent database definitions & configuration options
39    ...
40.fi
41.LP
42If slapd is compiled with \fI\-\-enable\-slapi\fP, support for plugins
43according to \fINetscape's Directory Server Plug-Ins\fP.
44Version 4 of the API is currently implemented, with some extensions
45from version 5.
46.LP
47Both global and database specific data may contain plugin information.
48Plugins associated with a specific database are called before global
49plugins.
50This manpage details the
51.BR slapd (8)
52configuration statements that affect the loading of SLAPI \fIplugins\fP.
53.LP
54Arguments that should be replaced by actual text are shown in brackets <>.
55.LP
56The structure of the plugin directives is
57.TP
58.B plugin "<type> <lib_path> <init_function> [<arguments>]"
59Load a plugin of the specified type for the current database.
60.LP
61The 
62.BR <type>
63can be one of
64.BR preoperation ,
65that is executed before processing the operation for the specified
66database, 
67.BR postoperation ,
68that is executed after the operation for the specified database
69has been processed,
70.BR extendedop ,
71that is used when executing an extended operation, or
72.BR object .
73The latter is used for miscellaneous types such as ACL, computed
74attribute and search filter rewriter plugins.
75.LP
76The
77.BR <libpath>
78argument specifies the path to the plugin loadable object; if a relative
79path is given, the object is looked for according to the underlying
80dynamic loading package (libtool's ltdl is used).
81.LP
82The 
83.BR <init_function>
84argument specifies what symbol must be called when the plugin is first
85loaded.
86This function should register the functions provided by the plugin
87for the desired operations. It should be noted that it is this 
88init function, not the plugin type specified as the first argument,
89that determines when and for what operations the plugin will be invoked.
90The optional
91.BR <arguments>
92list is passed to the init function.
93.TP
94.B pluginlog <file>
95Specify an alternative path for the plugin log file (default is
96/var/openldap/errors).
97.TP
98.B modulepath <pathspec>
99This statement sets the module load path for dynamically loadable 
100backends, as described in
101.BR slapd.conf (5); 
102however, since both the dynamically loadable backends 
103and the SLAPI plugins use the same underlying library (libtool's ltdl)
104its value also affects the plugin search path.
105In general the search path is made of colon-separated paths; usually
106the user-defined path is searched first; then the value of the
107\fILTDL_LIBRARY_PATH\fP environment variable, if defined, is used;
108finally, the system-specific dynamic load path is attempted (e.g. on
109Linux the value of the environment variable \fILD_LIBRARY_PATH\fP).
110Please carefully read the documentation of ltdl because its behavior 
111is very platform dependent.
112.SH FILES
113.TP
114/etc/openldap/slapd.conf
115default slapd configuration file
116.TP
117/var/openldap/errors
118default plugin log file
119.SH SEE ALSO
120.BR slapd (8),
121.LP
122"OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)
123.SH ACKNOWLEDGEMENTS
124.lf 1 ./../Project
125.\" Shared Project Acknowledgement Text
126.B "OpenLDAP Software"
127is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>.
128.B "OpenLDAP Software"
129is derived from the University of Michigan LDAP 3.3 Release.  
130.lf 124 stdin
131