]> git.sur5r.net Git - openldap/blob - doc/man/man5/slapd-shell.5
misc man page updates
[openldap] / doc / man / man5 / slapd-shell.5
1 .TH SLAPD-SHELL 5 "RELEASEDATE" "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 .LP
17 This backend is is primarily intended to be used in prototypes.
18 .SH WARNING
19 .B "This backend's calling conventions have changed since OpenLDAP 2.0."
20 The abandon operation now gets a new "pid:" line.
21 The "msgid:" lines will be removed in a future version.
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 msgid: <message ID of operation to abandon>
40 <repeat { "suffix:" <database suffix DN> }>
41 pid: <process ID of operation to abandon>
42 .fi
43 .TP
44 .B add      <pathname> <argument>...
45 .nf
46 ADD
47 msgid: <message id>
48 <repeat { "suffix:" <database suffix DN> }>
49 <entry in LDIF format>
50 .fi
51 .TP
52 .B bind     <pathname> <argument>...
53 .nf
54 BIND
55 msgid: <message id>
56 <repeat { "suffix:" <database suffix DN> }>
57 dn: <DN>
58 method: <method number>
59 credlen: <length of <credentials>>
60 cred: <credentials>
61 .fi
62 .TP
63 .B compare  <pathname> <argument>...
64 .nf
65 COMPARE
66 msgid: <message id>
67 <repeat { "suffix:" <database suffix DN> }>
68 dn: <DN>
69 <attribute>: <value>
70 .fi
71 .TP
72 .B delete   <pathname> <argument>...
73 .nf
74 DELETE
75 msgid: <message id>
76 <repeat { "suffix:" <database suffix DN> }>
77 dn: <DN>
78 .fi
79 .TP
80 .B modify   <pathname> <argument>...
81 .nf
82 MODIFY
83 msgid: <message id>
84 <repeat { "suffix:" <database suffix DN> }>
85 dn: <DN>
86 <repeat {
87     <"add"/"delete"/"replace">: <attribute>
88     <repeat { <attribute>: <value> }>
89     -
90 }>
91 .fi
92 .TP
93 .B modrdn   <pathname> <argument>...
94 .nf
95 MODRDN
96 msgid: <message id>
97 <repeat { "suffix:" <database suffix DN> }>
98 dn: <DN>
99 newrdn: <new RDN>
100 deleteoldrdn: <0 or 1>
101 <if new superior is specified: "newSuperior: <DN>">
102 .fi
103 .TP
104 .B search   <pathname> <argument>...
105 .nf
106 SEARCH
107 msgid: <message id>
108 <repeat { "suffix:" <database suffix DN> }>
109 base: <base DN>
110 scope: <0-2, see ldap.h>
111 deref: <0-3, see ldap.h>
112 sizelimit: <size limit>
113 timelimit: <time limit>
114 filter: <filter>
115 attrsonly: <0 or 1>
116 attrs: <"all" or space-separated attribute list>
117 .fi
118 .TP
119 .B unbind   <pathname> <argument>...
120 .nf
121 UNBIND
122 msgid: <message id>
123 <repeat { "suffix:" <database suffix DN> }>
124 dn: <bound DN>
125 .fi
126 .LP
127 Note that you need only supply configuration lines for those commands you
128 want the backend to handle.
129 Operations for which a command is not supplied will be refused with an
130 "unwilling to perform" error.
131 .LP
132 The commands - except \fBabandon\fP and \fBunbind\fP - should output:
133 .RS
134 .nf
135 RESULT
136 code: <integer>
137 matched: <matched DN>
138 info: <text>
139 .fi
140 .RE
141 where only RESULT is mandatory.
142 The \fBsearch\fP RESULT should be preceded by the entries in LDIF
143 format, each entry followed by a blank line.
144 Lines starting with `#' or `DEBUG:' are ignored.
145 .SH EXAMPLE
146 There is an example search script in the slapd/back-shell/ directory
147 in the OpenLDAP source tree.
148 .SH LIMITATIONS
149 The shell backend does not support threaded environments.
150 When using the shell backend, 
151 .BR slapd (8)
152 should be built
153 .IR --without-thread .
154 .SH FILES
155 .TP
156 ETCDIR/slapd.conf
157 default slapd configuration file
158 .SH SEE ALSO
159 .BR slapd.conf (5),
160 .BR slapd (8),
161 .BR sh (1).