]> git.sur5r.net Git - openldap/blob - doc/man/man5/slapd-shell.5
877d7a20c7186c40cebd0221e48d1ca81dec5392
[openldap] / doc / man / man5 / slapd-shell.5
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.
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 abandon operation now gets a new "pid:" line.
19 The "msgid:" lines will be removed in a future version.
20 .SH CONFIGURATION
21 These
22 .B slapd.conf
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
27 .BR slapd.conf (5)
28 manual page.
29 .LP
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:
33 .TP
34 .B abandon  <pathname> <argument>...
35 .nf
36 ABANDON
37 msgid: <message ID of operation to abandon>
38 <repeat { "suffix:" <database suffix DN> }>
39 pid: <process ID of operation to abandon>
40 .fi
41 .TP
42 .B add      <pathname> <argument>...
43 .nf
44 ADD
45 msgid: <message id>
46 <repeat { "suffix:" <database suffix DN> }>
47 <entry in LDIF format>
48 .fi
49 .TP
50 .B bind     <pathname> <argument>...
51 .nf
52 BIND
53 msgid: <message id>
54 <repeat { "suffix:" <database suffix DN> }>
55 dn: <DN>
56 method: <method number>
57 credlen: <length of <credentials>>
58 cred: <credentials>
59 .fi
60 .TP
61 .B compare  <pathname> <argument>...
62 .nf
63 COMPARE
64 msgid: <message id>
65 <repeat { "suffix:" <database suffix DN> }>
66 dn: <DN>
67 <attribute>: <value>
68 .fi
69 .TP
70 .B delete   <pathname> <argument>...
71 .nf
72 DELETE
73 msgid: <message id>
74 <repeat { "suffix:" <database suffix DN> }>
75 dn: <DN>
76 .fi
77 .TP
78 .B modify   <pathname> <argument>...
79 .nf
80 MODIFY
81 msgid: <message id>
82 <repeat { "suffix:" <database suffix DN> }>
83 dn: <DN>
84 <repeat {
85     <"add"/"delete"/"replace">: <attribute>
86     <repeat { <attribute>: <value> }>
87     -
88 }>
89 .fi
90 .TP
91 .B modrdn   <pathname> <argument>...
92 .nf
93 MODRDN
94 msgid: <message id>
95 <repeat { "suffix:" <database suffix DN> }>
96 dn: <DN>
97 newrdn: <new RDN>
98 deleteoldrdn: <0 or 1>
99 <if new superior is specified: "newSuperior: <DN>">
100 .fi
101 .TP
102 .B search   <pathname> <argument>...
103 .nf
104 SEARCH
105 msgid: <message id>
106 <repeat { "suffix:" <database suffix DN> }>
107 base: <base DN>
108 scope: <0-2, see ldap.h>
109 deref: <0-3, see ldap.h>
110 sizelimit: <size limit>
111 timelimit: <time limit>
112 filter: <filter>
113 attrsonly: <0 or 1>
114 attrs: <"all" or space-separated attribute list>
115 .fi
116 .TP
117 .B unbind   <pathname> <argument>...
118 .nf
119 UNBIND
120 msgid: <message id>
121 <repeat { "suffix:" <database suffix DN> }>
122 dn: <bound DN>
123 .fi
124 .LP
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.
129 .LP
130 The commands - except \fBabandon\fP and \fBunbind\fP - should output:
131 .RS
132 .nf
133 RESULT
134 code: <integer>
135 matched: <matched DN>
136 info: <text>
137 .fi
138 .RE
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.
143 .SH EXAMPLE
144 There is an example search script in the slapd/back-shell/ directory
145 in the OpenLDAP source tree.
146 .SH LIMITATIONS
147 The shell backend does not support threaded environments.
148 When using the shell backend, 
149 .BR slapd (8)
150 should be built
151 .IR --without-thread .
152 .SH FILES
153 .TP
154 ETCDIR/slapd.conf
155 default slapd configuration file
156 .SH SEE ALSO
157 .BR slapd.conf (5),
158 .BR slapd (8),
159 .BR sh (1).