Sun Java logo     Copyright      Index      Next     

Sun logo
Sun Java(TM) System Directory Server 5.2 2005Q1 Plug-In Developer's Guide 


List of Tables    

List of Figures    

List of Code Examples    

Related Books    
Documentation, Support, and Training    
Related Third-Party Web Site References    
Sun Welcomes Your Comments    

Chapter 1   Before You Start    
When to Implement a Server Plug-In    
Enhancing Server Capabilities    
Maintaining Plug-Ins    
Sun Professional Services    
How Plug-Ins Interact With the Server    
Example Uses    
Where to Go From Here    
Prepare Your Development Environment    
Learn About Plug-In Development    
Upgrade Existing Plug-Ins    
Try a Sample Plug-In    
Find Details    

Chapter 2   Changes to the Plug-In API Since Directory Server 4.x    
Deprecated and Changed Features    
Handling Deprecation    
Registering Plug-Ins    
Function Parameters    
Data Types    
Plug-In Types    
Access Control    
Error Codes    
Extended Operations    
Internal Operations    
Parameter Block Arguments    
Password Handling    
SASL Binds    
New Features    
Plug-In API Version 3    
Plug-In Types    
Plug-In Configuration Entries    
Use of NSPR 4.x    
Data Structures    
Distinguished Names (DNs)    
Internal Operations    
Memory Management    
Modification Structures    
Object Extensions    
Parameter Block Arguments    
Relative Distinguished Names (RDNs)    
UTF8 Encoding    
Value Sets    
Virtual Attributes    

Chapter 3   Getting Started With Directory Server Plug-Ins    
An Example Plug-In    
Find the Code    
Review the Plug-In    
Build It    
Plug It In    
Writing Directory Server Plug-Ins    
Include the Header File for the Plug-In API    
Write Your Plug-In Functions    
Use Appropriate Return Codes    
Write an Initialization Function    
Set Configuration Information Through the Parameter Block    
Set Pointers to Functions Through the Parameter Block    
Where to Find Examples    
Building Directory Server Plug-Ins    
Include the Header File for the Plug-In API    
Link the Plug-In as a Shared Object or Dynamic Link Library    
Where to Find Examples    
Plugging Libraries into Directory Server    
Create a Configuration Entry for Your Plug-In    
Modify the Directory Server Configuration    
Restart Directory Server    
Logging Plug-In Messages    
Three Levels of Message Severity    
Set Appropriate Log Level in the Directory Server Configuration    
Find Messages in the Log    

Chapter 4   Working With Entries    
Creating Entries    
New Entries    
Copies of Entries    
Converting To and From LDIF Representations    
Getting Entry Attributes and Attribute Values    
Adding and Removing Attribute Values    
Verifying Schema Compliance for an Entry    
Handling Entry Distinguished Names (DNs)    

Chapter 5   Extending Client Request Handling    
Pre-Operation and Post-Operation Plug-Ins    
Pre-Operation Plug-Ins    
Post-Operation Plug-Ins    
Registration Identifiers    
Finding Examples    
Extending the Bind Operation    
Setting Up an Example Suffix    
Logging the Authentication Method    
Registering the Plug-In    
Generating a Bind Log Message    
Extending the Search Operation    
Logging Who Requests a Search    
Breaking Down a Search Filter    
Extending the Compare Operation    
Extending the Add Operation    
Prepending a String to an Attribute    
Logging the Entry to Add    
Extending the Modify Operation    
Extending the Rename Operation    
Extending the Delete Operation    
Intercepting Information Sent to the Client    

Chapter 6   Handling Authentication    
How Authentication Works    
Support for Standard Methods    
Identifying Clients During the Bind    
Bind Processing in Directory Server    
How a Plug-In Can Modify Authentication    
Bypassing Authentication    
Using Custom SASL Mechanisms    
Developing a Simple Authentication Plug-In    
Finding the Example    
Seeing It Work    
Developing a SASL Authentication Plug-In    
Finding Examples    
Registering the SASL Mechanism    
Developing the Client    
Trying It Out    

Chapter 7   Performing Internal Operations    
Finding the Example    
Before Using the Example    
Using Internal Operations    
When to Use Internal Operations    
Internal Add    
Internal Modify    
Internal Rename and Move (Modify DN)    
Internal Search    
Internal Delete    

Chapter 8   Writing Entry Store and Entry Fetch Plug-Ins    
Calling Entry Store and Entry Fetch Plug-Ins    
An LDIF String, Not a Parameter Block    
Writing a Plug-In to Encrypt Entries    
Finding the Examples    
Trying It Out    

Chapter 9   Writing Extended Operation Plug-Ins    
Calling Extended Operation Plug-Ins    
Implementing an Extended Operation Plug-In    
Finding the Examples    
An Example Plug-In    
Developing the Client    
Trying It Out    

Chapter 10   Writing Matching Rule Plug-Ins    
How Matching Rule Plug-Ins Work    
What a Matching Rule Is    
Requesting a Matching Rule    
What a Matching Rule Plug-In Does    
An Example Matching Rule Plug-In    
Matching Rule Plug-In Configuration Entry    
Registering Matching Rule Plug-Ins    
Handling Extensible Match Filters    
Filter Matching Function    
Filter Index Function    
Filter Factory Function    
Filter Object Destructor    
Indexing Entries According to a Matching Rule    
How Directory Server Handles the Index    
Indexer Function    
Indexer Factory Function    
Indexer Object Destructor    
Enabling Sorting According to a Matching Rule    
Handling an Unknown Matching Rule    
Internal List of Correspondences    
OIDs Not in the Internal List    

Chapter 11   Writing Password Storage Scheme Plug-Ins    
Calling Password Storage Scheme Plug-Ins    
Two Types    
Pre-Installed Schemes    
Affects Password Attribute Values    
Invoked for Add and Modify Requests    
Invoked for Bind Requests    
Part of a Password Policy    
Writing a Password Storage Scheme Plug-In    
Encoding a Password    
Comparing a Password    
Registering the Plug-In    
Creating a Configuration Entry    
Trying It Out    


Index    213

Copyright      Index      Next     

Copyright 2005 Sun Microsystems, Inc. All rights reserved.