slapd-shell(5)

slapd-shell - Shell backend to slapd

As shipped in IRIX 6.5.30. Last changed in IRIX 6.5.30.

     NAME
          slapd-shell - Shell backend to slapd

     SYNOPSIS
          /etc/openldap/slapd.conf

     DESCRIPTION
          The Shell backend to slapd(8) executes external programs to
          implement operations, and is designed to make it easy to tie
          an existing database to the slapd front-end.

          This backend is is primarily intended to be used in
          prototypes.

     WARNING
          The abandon shell command has been removed since OpenLDAP
          2.1.

     CONFIGURATION
          These slapd.conf options apply to the SHELL backend
          database.  That is, they must follow a "database shell" line
          and come before any subsequent "backend" or "database"
          lines.  Other database options are described in the
          slapd.conf(5) manual page.

          These options specify the pathname and arguments of the
          program to execute in response to the given LDAP operation.
          Each option is followed by the input lines that the program
          receives:

          add <pathname> <argument>...
               ADD
               msgid: <message id>
               <repeat { "suffix:" <database suffix DN> }>
               <entry in LDIF format>

          bind <pathname> <argument>...
               BIND
               msgid: <message id>
               <repeat { "suffix:" <database suffix DN> }>
               dn: <DN>
               method: <method number>
               credlen: <length of <credentials>>
               cred: <credentials>

          compare <pathname> <argument>...
               COMPARE
               msgid: <message id>
               <repeat { "suffix:" <database suffix DN> }>
               dn: <DN>
               <attribute>: <value>

          delete <pathname> <argument>...
               DELETE
               msgid: <message id>
               <repeat { "suffix:" <database suffix DN> }>
               dn: <DN>

          modify <pathname> <argument>...
               MODIFY
               msgid: <message id>
               <repeat { "suffix:" <database suffix DN> }>
               dn: <DN>
               <repeat {
                   <"add"/"delete"/"replace">: <attribute>
                   <repeat { <attribute>: <value> }>
                   -
               }>

          modrdn <pathname> <argument>...
               MODRDN
               msgid: <message id>
               <repeat { "suffix:" <database suffix DN> }>
               dn: <DN>
               newrdn: <new RDN>
               deleteoldrdn: <0 or 1>
               <if new superior is specified: "newSuperior: <DN>">

          search <pathname> <argument>...
               SEARCH
               msgid: <message id>
               <repeat { "suffix:" <database suffix DN> }>
               base: <base DN>
               scope: <0-2, see ldap.h>
               deref: <0-3, see ldap.h>
               sizelimit: <size limit>
               timelimit: <time limit>
               filter: <filter>
               attrsonly: <0 or 1>
               attrs: <"all" or space-separated attribute list>

          unbind <pathname> <argument>...
               UNBIND
               msgid: <message id>
               <repeat { "suffix:" <database suffix DN> }>
               dn: <bound DN>

          Note that you need only supply configuration lines for those
          commands you want the backend to handle.  Operations for
          which a command is not supplied will be refused with an
          "unwilling to perform" error.

          The commands - except unbind - should output:
               RESULT
               code: <integer>
               matched: <matched DN>
               info: <text>
          where only RESULT is mandatory.  The search RESULT should be
          preceded by the entries in LDIF format, each entry followed
          by a blank line.  Lines starting with `#' or `DEBUG:' are
          ignored.

     EXAMPLE
          There is an example search script in the slapd/back-shell/
          directory in the OpenLDAP source tree.

     LIMITATIONS
          The shell backend does not support threaded environments.
          When using the shell backend, slapd(8) should be built --
          without-threads.

     FILES
          /etc/openldap/slapd.conf
               default slapd configuration file

     SEE ALSO
          slapd.conf(5), slapd(8), sh(1).