1 .TH SLAPD-SHELL 5 "RELEASEDATE" "OpenLDAP LDVERSION"
2 .\" Copyright 1998-2003 The OpenLDAP Foundation All Rights Reserved.
3 .\" Copying restrictions apply. See COPYRIGHT/LICENSE.
6 slapd-shell \- Shell backend to slapd
12 executes external programs to implement operations, and is designed to
13 make it easy to tie an existing database to the
17 .B "This backend's calling conventions have changed since OpenLDAP 2.0."
18 The abandon operation now gets a new "pid:" line.
19 The "msgid:" lines will be removed in a future version.
23 options apply to the SHELL backend database.
24 That is, they must follow a "database shell" line and come before any
25 subsequent "backend" or "database" lines.
26 Other database options are described in the
30 These options specify the pathname and arguments of the program to
31 execute in response to the given LDAP operation.
32 Each option is followed by the input lines that the program receives:
34 .B abandon <pathname> <argument>...
37 msgid: <message ID of operation to abandon>
38 <repeat { "suffix:" <database suffix DN> }>
39 pid: <process ID of operation to abandon>
42 .B add <pathname> <argument>...
46 <repeat { "suffix:" <database suffix DN> }>
47 <entry in LDIF format>
50 .B bind <pathname> <argument>...
54 <repeat { "suffix:" <database suffix DN> }>
56 method: <method number>
57 credlen: <length of <credentials>>
61 .B compare <pathname> <argument>...
65 <repeat { "suffix:" <database suffix DN> }>
70 .B delete <pathname> <argument>...
74 <repeat { "suffix:" <database suffix DN> }>
78 .B modify <pathname> <argument>...
82 <repeat { "suffix:" <database suffix DN> }>
85 <"add"/"delete"/"replace">: <attribute>
86 <repeat { <attribute>: <value> }>
91 .B modrdn <pathname> <argument>...
95 <repeat { "suffix:" <database suffix DN> }>
98 deleteoldrdn: <0 or 1>
99 <if new superior is specified: "newSuperior: <DN>">
102 .B search <pathname> <argument>...
106 <repeat { "suffix:" <database suffix DN> }>
108 scope: <0-2, see ldap.h>
109 deref: <0-3, see ldap.h>
110 sizelimit: <size limit>
111 timelimit: <time limit>
114 attrs: <"all" or space-separated attribute list>
117 .B unbind <pathname> <argument>...
121 <repeat { "suffix:" <database suffix DN> }>
125 Note that you need only supply configuration lines for those commands you
126 want the backend to handle.
127 Operations for which a command is not supplied will be refused with an
128 "unwilling to perform" error.
130 The commands - except \fBabandon\fP and \fBunbind\fP - should output:
135 matched: <matched DN>
139 where only RESULT is mandatory.
140 The \fBsearch\fP RESULT should be preceded by the entries in LDIF
141 format, each entry followed by a blank line.
142 Lines starting with `#' or `DEBUG:' are ignored.
144 There is an example search script in the slapd/back-shell/ directory
145 in the OpenLDAP source tree.
147 The shell backend does not support threaded environments.
148 When using the shell backend,
151 .IR --without-thread .
155 default slapd configuration file