]> git.sur5r.net Git - openldap/blob - doc/man/man5/slapd-shell.5
0beee6d65781911b3c1ea7457c2c91e5e9d55250
[openldap] / doc / man / man5 / slapd-shell.5
1 .TH SLAPD-SHELL 5 "2 May 2002" "OpenLDAP LDVERSION"
2 .\" Copyright 1998-2002 The OpenLDAP Foundation All Rights Reserved.
3 .\" Copying restrictions apply.  See COPYRIGHT/LICENSE.
4 .\" $OpenLDAP$
5 .SH NAME
6 slapd-shell \- Shell backend to slapd
7 .SH SYNOPSIS
8 ETCDIR/slapd.conf
9 .SH DESCRIPTION
10 The Shell backend to
11 .BR slapd (8)
12 executes external programs to implement operations, and is designed to
13 make it easy to tie an existing database to the
14 .B slapd
15 front-end.
16 .SH WARNING
17 .B "This backend's calling conventions have changed since OpenLDAP 2.0."
18 The operations receive a new "opid:" (operation ID) line, to be used
19 instead of "msgid:".
20 The "msgid:" line will be removed in a future version.
21 Also, abandon now gets a new "abandonid:" line.
22 .SH CONFIGURATION
23 These
24 .B slapd.conf
25 options apply to the SHELL backend database.
26 That is, they must follow a "database shell" line and come before any
27 subsequent "backend" or "database" lines.
28 Other database options are described in the
29 .BR slapd.conf (5)
30 manual page.
31 .LP
32 These options specify the pathname and arguments of the program to
33 execute in response to the given LDAP operation.
34 Each option is followed by the input lines that the program receives:
35 .TP
36 .B abandon  <pathname> <argument>...
37 .nf
38 ABANDON
39 opid: <operation ID>
40 msgid: <message ID of operation to abandon>
41 <repeat { "suffix:" <database suffix DN> }>
42 abandonid: <operation ID of operation to abandon>
43 .fi
44 .TP
45 .B add      <pathname> <argument>...
46 .nf
47 ADD
48 opid: <operation ID>
49 msgid: <message ID>
50 <repeat { "suffix:" <database suffix DN> }>
51 <entry in LDIF format>
52 .fi
53 .TP
54 .B bind     <pathname> <argument>...
55 .nf
56 BIND
57 opid: <operation ID>
58 msgid: <message ID>
59 <repeat { "suffix:" <database suffix DN> }>
60 dn: <DN>
61 method: <method number>
62 credlen: <length of <credentials>>
63 cred: <credentials>
64 .fi
65 .TP
66 .B compare  <pathname> <argument>...
67 .nf
68 COMPARE
69 opid: <operation ID>
70 msgid: <message ID>
71 <repeat { "suffix:" <database suffix DN> }>
72 dn: <DN>
73 <attribute>: <value>
74 .fi
75 .TP
76 .B delete   <pathname> <argument>...
77 .nf
78 DELETE
79 opid: <operation ID>
80 msgid: <message ID>
81 <repeat { "suffix:" <database suffix DN> }>
82 dn: <DN>
83 .fi
84 .TP
85 .B modify   <pathname> <argument>...
86 .nf
87 MODIFY
88 opid: <operation ID>
89 msgid: <message ID>
90 <repeat { "suffix:" <database suffix DN> }>
91 dn: <DN>
92 <repeat {
93     <"add"/"delete"/"replace">: <attribute>
94     <repeat { <attribute>: <value> }>
95     -
96 }>
97 .fi
98 .TP
99 .B modrdn   <pathname> <argument>...
100 .nf
101 MODRDN
102 opid: <operation ID>
103 msgid: <message ID>
104 <repeat { "suffix:" <database suffix DN> }>
105 dn: <DN>
106 newrdn: <new RDN>
107 deleteoldrdn: <0 or 1>
108 <if new superior is specified: "newSuperior: <DN>">
109 .fi
110 .TP
111 .B search   <pathname> <argument>...
112 .nf
113 SEARCH
114 opid: <operation ID>
115 msgid: <message ID>
116 <repeat { "suffix:" <database suffix DN> }>
117 base: <base DN>
118 scope: <0-2, see ldap.h>
119 deref: <0-3, see ldap.h>
120 sizelimit: <size limit>
121 timelimit: <time limit>
122 filter: <filter>
123 attrsonly: <0 or 1>
124 attrs: <"all" or space-separated attribute list>
125 .fi
126 .TP
127 .B unbind   <pathname> <argument>...
128 .nf
129 UNBIND
130 opid: <operation ID>
131 msgid: <message ID>
132 <repeat { "suffix:" <database suffix DN> }>
133 dn: <bound DN>
134 .fi
135 .LP
136 An
137 .I operation ID
138 is a "connection ID/message ID" string identifying an operation.
139 .LP
140 Note that you need only supply configuration lines for those commands you
141 want the backend to handle.
142 Operations for which a command is not supplied will be refused with an
143 "unwilling to perform" error.
144 .LP
145 The commands - except \fBabandon\fP and \fBunbind\fP - should output:
146 .RS
147 .nf
148 RESULT
149 code: <integer>
150 matched: <matched DN>
151 info: <text>
152 .fi
153 .RE
154 where only RESULT is mandatory.
155 The \fBsearch\fP RESULT should be preceded by the entries in LDIF
156 format, each entry followed by a blank line.
157 Lines starting with `#' or `DEBUG:' are ignored.
158 .SH EXAMPLE
159 There is an example search script in the slapd/back-shell/ directory
160 in the OpenLDAP source tree.
161 .SH FILES
162 .TP
163 ETCDIR/slapd.conf
164 default slapd configuration file
165 .SH SEE ALSO
166 .BR slapd.conf (5),
167 .BR slapd (8),
168 .BR sh (1).