Loading the Plug-in Configuration File52 Red Hat Directory Server Plug-in Programmer’s Guide • May 2005Loading the Plug-in Configuration FileAfter you have written the plug-in configuration file, you must load it into thedse.ldif file, which is located in the /opt/redhat-ds/slapd-instance_id/configdirectory. You can do this either by using an LDAP utility, such as ldapmodify, orby editing the file directly. If you choose to edit the file directly, be sure to shutdown the Directory Server first.The following line shows an example of an LDAP command that loads the plug-indefined in the configuration file example-plugin.ldif:ldapmodify -h my_host -p 389 -a -D "cn= Directory Manager"-w adminadmin -f example-plugin.ldifOnce the plug-in configuration is loaded, you must shut down the DirectoryServer and then restart it before you can make calls to your plug-in. There arevarious ways to shut down and restart the Directory Server; you can either use theDirectory Server Console or use the stop-slapd and start-slapd scripts.Passing Extra Arguments to Plug-insThe standard method for configuring plug-ins is to provide configurationparameters as attributes and values in the plug-in entry in the dse.ldif file. Allplug-ins use the extensibleObject object class, so any custom attribute can beadded to that object class in the schema. A better alternative is to define a customauxiliary object class which contains the custom plug-in configuration attributes.object Declares an object plug-in. Object plug-ins can installSLAPI_PLUGIN_START_FN, SLAPI_PLUGIN_CLOSE_FN, andSLAPI_PLUGIN_POSTSTART_FN functions. They can also use theslapi_register_plugin() call to register any kind of plug-in they like.Object plug-ins are typically used to simplify configuration of a group of relatedplug-ins (one entry under cn=config instead of many).Example of use: You can use this type when your plug-in doesn’t fit in any ofthe other types listed in this table. For example, if your plug-in does more thanone thing, then you should use this directive. This type of plug-in will typicallyregister the types of operations it wants to handle using the internal API.pwdstoragescheme This directive will be supported in the future.Table 3-1 Directives for Specifying Different Plug-in Types (Continued)Directive Description