Complete Contents
Getting Started
Chapter 1 Understanding Server Plug-Ins
Chapter 2 Writing and Compiling Plug-Ins
Chapter 3 Calling the Front-End API Functions
Chapter 4 Quick Start
Chapter 5 Writing Database Plug-Ins
Chapter 6 Writing Pre/Post-Operation Plug-Ins
Chapter 7 Defining Functions for LDAP Operations
Chapter 8 Defining Functions for Database Operations
Chapter 9 Defining Functions for Authentication
Chapter 10 Writing Entry Store/Fetch Plug-Ins
Chapter 11 Writing Extended Operation Plug-Ins
Chapter 12 Writing Matching Rule Plug-Ins
Chapter 13 Data Type and Structure Reference
Chapter 14 Function Reference
Chapter 15 Parameter Reference
Glossary
Contents Bookshelf


Contents
Getting Started

What's New in This Version
Changes to the API
Changes to the Manual
What You Should Already Know
Where to Find Directory Server Information
Document Conventions
Sample code
 
Part 1 Introduction to Directory Server Plug-Ins

 
Chapter 1 Understanding Server Plug-Ins
What Are Server Plug-Ins?
How Server Plug-Ins Work
How the Server Calls Plug-In Functions
What Plug-Ins Return to the Server
How Database Plug-Ins Work
Types of Server Plug-Ins
 
Chapter 2 Writing and Compiling Plug-Ins
Writing a Plug-In Function
Including the API Header File
Working with Parameter Blocks
     Getting Data from the Parameter Block

     Setting Data in the Parameter Block

Calling Front-End Functions
Specifying Return Values
Writing an Initialization Function
Specifying the Plug-In Version
Specifying Information about the Plug-In
Registering Your Plug-In Functions
Returning a Value to the Directory Server
Example of an Initialization Function
Compiling a Server Plug-In
Configuring the Server
Editing the slapd.conf File
     Determining Where to Add the Directives

     Specifying the Order of plugin Directives

     Summary of plugin Directives

Important Note on Manually Editing the Configuration File
Passing Extra Arguments to the Plug-Ins
Setting the Log Level of the Server
 
Chapter 3 Calling the Front-End API Functions
Logging Messages
Adding Notes to Access Log Entries
Sending Data to the Client
Determining if an Operation Was Abandoned
Working with Entries and Attributes
Creating a New Entry
Converting Between Entries and Strings
Getting and Setting the DN of an Entry
Verifying Compliance with the Schema
Getting the Attributes and Values of an Entry
Adding and Removing Values
Working with Search Filters
Determining if an Entry Matches a Filter
Getting the Filter Type
Getting the Search Criteria
Converting a String to a Filter
Combining Filters
Working with Distinguished Names
Determining if a DN is the Root DN
Working with DN Suffixes
Getting the Parent DN of a DN
Normalizing a DN
Checking Passwords
 
Chapter 4 Quick Start
Example of a Pre-Operation Plug-In
Writing the Plug-In Example
Compling the Plug-In Example
Registering the Plug-In Example
Running the Plug-In Example
 
Part 2 Writing Database and Operation-Based Plug-Ins

 
Chapter 5 Writing Database Plug-Ins
How Directory Server Back-Ends Work
How Database Plug-Ins Work
Writing Database Plug-In Functions
Registering Database Plug-In Functions
Adding a Back-End to the Server
 
Chapter 6 Writing Pre/Post-Operation Plug-Ins
How Pre/Post-Operation Plug-Ins Work
Writing Pre/Post-Operation Functions
Types of Pre-Operation Functions
Types of Post-Operation Functions
Registering Pre/Post-Operation Functions
 
Chapter 7 Defining Functions for LDAP Operations
Specifying Start and Close Functions
Reading Configuration Files
Processing an LDAP Bind Operation
Defining Functions for the Bind Operation
Getting and Setting Parameters for the Bind Operation
Processing an LDAP Unbind Operation
Processing an LDAP Search Operation
Getting the List of Candidates
Iterating through Candidates
Processing an LDAP Compare Operation
Processing an LDAP Add Operation
Processing an LDAP Modify Operation
Processing an LDAP Modify RDN Operation
Processing an LDAP Delete Operation
Processing an LDAP Abandon Operation
 
Chapter 8 Defining Functions for Database Operations
Importing an LDIF File into the Database
Exporting the Database to an LDIF File
Saving the Database as an Archive
Restoring the Database from an Archive
Reporting the Size of the Database
Testing the Database
Generating Indexes for the Database
 
Chapter 9 Defining Functions for Authentication
Understanding Authentication Methods
How the Directory Server Identifies Clients
How the Authentication Process Works
Writing Your Own Authentication Plug-in
Writing a Pre-Operation Bind Plug-in
Defining Your Authentication Function
     Getting and Checking the Bind Parameters

     Getting the Entry and Checking the Credentials

     What to Do If Authentication Fails

     What to Do If Authentication Succeeds

Registering the SASL Mechanism
Example of a Pre-Operation Bind Plug-In
     Example of a Pre-Operation Bind Function

     Example of an Initialization Function

     Editing the slapd.conf File

Writing a Database Bind Plug-in
Defining Your Authentication Function
     Getting and Checking the Bind Parameters

     Getting the Entry and Checking the Credentials

     What to Do If Authentication Fails

     What to Do If Authentication Succeeds

Registering the SASL Mechanism
Using SASL with an LDAP Client
 
Part 3 Writing Other Types of Plug-Ins

 
Chapter 10 Writing Entry Store/Fetch Plug-Ins
How Entry Store/Fetch Plug-Ins Work
Writing Entry Store/Fetch Functions
Registering Entry Store/Fetch Functions
 
Chapter 11 Writing Extended Operation Plug-Ins
How Extended Operation Plug-Ins Work
Writing Extended Operation Functions
Registering Extended Operation Functions
Specifying Start and Close Functions
 
Chapter 12 Writing Matching Rule Plug-Ins
Understanding Matching Rules
Extensible Match Filters
Extensible Match Filters in the Directory Server
Understanding Matching Rule Plug-Ins
Functions Defined in Matching Rule Plug-Ins
How Matching Rules Are Identified
How the Server Associates Plug-Ins with OIDs
     Finding a Plug-In for Indexing

     Finding a Plug-In for Searching

How the Server Uses Parameter Blocks
Indexing Based on Matching Rules
How the Server Sets Up the Index
How the Server Updates the Index
Writing the Indexer Factory Function
Getting and Setting Parameters in Indexer Factory Functions
Writing the Indexer Function
Getting and Setting Parameters in Indexer Functions
Handling Extensible Match Filters
How the Server Handles the Filter
Query Operators in Matching Rules
Writing a Filter Factory Function
Getting and Setting Parameters in Filter Factory Functions
Writing a Filter Index Function
Getting and Setting Parameters in Filter Index Functions
Writing a Filter Matching Function
Handing Sorting by Matching Rules
Writing a Destructor Function
Writing an Initialization Function
Registering Matching Rule Functions
Example of a Matching Rule Plug-In
Specifying Start and Close Functions
 
Part 4 Reference

 
Chapter 13 Data Type and Structure Reference
Summary of Data Types and Structures
 
Chapter 14 Function Reference
Summary of Front-End Functions
 
Chapter 15 Parameter Reference
Parameters for Registering Plug-In Functions
Database Plug-Ins
Pre-Operation/Data Validation Plug-Ins
Post-Operation/Data Notification Plug-Ins
Extended Operation Plug-Ins
Matching Rule Plug-Ins
Parameters Accessible to All Plug-Ins
Information About the Database
Information About the Connection
Information About the Operation
Notes in the Access Log
Information About the Plug-In
     Types of Plug-Ins

     Version Information

Parameters for the Configuration Function
Parameters for the Bind Function
Parameters for the Search Function
Parameters for the Add Function
Parameters for the Compare Function
Parameters for the Delete Function
Parameters for the Modify Function
Parameters for the Modify RDN Function
Parameters for the Abandon Function
Parameters for Database Import
Parameters for Database Export
Parameters for Database Archive
Parameters for Database Restore
Parameters for Database Indexing
Parameters for Extended Operations
Parameters for Internal LDAP Operations
Parameters for Matching Rule Plug-Ins
[Still Working On These]
 

© Copyright 1998 Netscape Communications Corporation