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