Sample DIOP Plug-in174 Red Hat Directory Server Plug-in Programmer’s Guide • May 2005Reserved NamingContexts(cn=schema,cn=config,cn=monitor)slapi_op_reserved(pb) is called to determine whether the operationshould be handled internally by Directory Server; for example, whether thebase on which the operation is applied is a reserved naming context. Ifslapi_op_reserved() returns a non-zero value, the plug-in does notattempt to handle that operation. It is done by the following code snippet:if( slapi_op_reserved(pb) ){return PLUGIN_OPERATION_IGNORED;}See testdatainterop.c for details.The slapi_op_reserved() function, which can be used for reserving some ofthe naming contexts in the Directory Server (cn=schema, cn=config,cn=monitor), is called first in the database plug-in and then the call for turningoff access control.Sparse Tree Support Any modifications done to the server on the null suffix are processed by theplug-in. The plug-in writes the DN of all modifications received to a standaloneBerkleyDB, and trying a simple test using LDIF entries without the requiredobject classes or parent entries will still get processed by the server, populatingthe database created by the plug-in.See nullsuffix_modify and testdbinterop.c for details.The plug-in has not been coded for the retrieval of those entries but has beencoded to demonstrate sparse tree support only.Access Control Switching off access control for the operation is done by:slapi_operation_set_flag(op, SLAPI_OP_FLAG_NO_ACCESS_CHECK);See testdatainterop.c for details.Null Suffix Support The plug-in cannot control the support for null-suffix in the server. The supportfor null-suffix is done through configuration modification of the server asshown in “Installing Directory Server,” on page 164.Building the DataInteroperability Plug-inThe compiler used on Solaris is Forte. For example:cd /opt/redhat-ds/plugins/slapd/slapi/examplesgmake is generated>Table 13-2 Elements of Pre-Operation Plug-in (Continued)