1
.TH SLAPD-PERL 5 "RELEASEDATE" "OpenLDAP LDVERSION"
2
.\" $OpenLDAP: pkg/ldap/doc/man/man5/slapd-perl.5,v 1.7 2005/07/04 04:57:11 hallvard Exp $
4
slapd-perl \- Perl backend to slapd
14
Any perl database section of the configuration file
16
must then specify what Perl module to use.
18
then creates a new Perl object that handles all the requests for that
19
particular instance of the backend.
21
You will need to create a method for each one of the
25
* new # creates a new object,
26
* search # performs the ldap search,
27
* compare # does a compare,
28
* modify # modifies an entry,
29
* add # adds an entry to backend,
30
* modrdn # modifies an entry's rdn,
31
* delete # deletes an ldap entry,
32
* config # process unknown config file lines,
33
* init # called after backend is initialized.
36
Unless otherwise specified, the methods return the result code
37
which will be returned to the client. Unimplemented actions
38
can just return unwillingToPerform (53).
41
This method is called when the configuration file encounters a
44
The module in that line is then effectively `use'd into the perl
45
interpreter, then the \fBnew\fR method is called to create a new
47
Note that multiple instances of that object may be instantiated, as
52
method receives the class name as argument.
55
This method is called when a search request comes from a client.
56
It arguments are as follows:
61
* alias dereferencing policy
65
* attributes only flag (1 for yes)
66
* list of attributes to return (may be empty)
69
Return value: (resultcode, ldif-entry, ldif-entry, ...)
72
This method is called when a compare request comes from a client.
73
Its arguments are as follows.
77
* attribute assertion string
82
This method is called when a modify request comes from a client.
83
Its arguments are as follows.
87
* a list formatted as follows
88
({ "ADD" | "DELETE" | "REPLACE" },
89
attributetype, value...)...
94
This method is called when a add request comes from a client.
95
Its arguments are as follows.
98
* entry in string format
103
This method is called when a modrdn request comes from a client.
104
Its arguments are as follows.
109
* delete old dn flag (1 means yes)
114
This method is called when a delete request comes from a client.
115
Its arguments are as follows.
123
This method is called with unknown
125
configuration file lines.
126
Its arguments are as follows.
129
* array of arguments on line
132
Return value: nonzero if this is not a valid option.
135
This method is called after backend is initialized.
136
Its argument is as follows.
141
Return value: nonzero if initialization failed.
145
options apply to the PERL backend database.
146
That is, they must follow a "database perl" line and come before any
147
subsequent "backend" or "database" lines.
148
Other database options are described in the
152
.B perlModulePath /path/to/libs
153
Add the path to the @INC variable.
155
.B perlModule ModName
156
`Use' the module name ModName from ModName.pm
158
.B filterSearchResults
159
Search results are candidates that need to be filtered (with the
160
filter in the search request), rather than search results to be
161
returned directly to the client.
163
There is an example Perl module `SampleLDAP' in the slapd/back-perl/
164
directory in the OpenLDAP source tree.
168
backend does not honor any of the access control semantics described in
169
.BR slapd.access (5);
170
all access control is delegated to the underlying PERL scripting.
175
pseudo-attribute and to the other attribute values of the entries
178
operation is honored, which is performed by the frontend.
180
The interface of this backend to the perl module MAY change.
181
Any suggestions would greatly be appreciated.
185
default slapd configuration file