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