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