Sun Java logo     Copyright      Index      Next     

Sun logo
Sun Java(TM) System Directory Server 5 2004Q2 Plug-In Developer's Guide 

Contents


List of Code Examples

Preface
Who Should Read This Guide
How This Guide Is Organized
Using the Documentation
Conventions
Resources and Tools on the Web
How to Report Problems
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   What’s New
Deprecated and Changed Features
Handling Deprecation
Registering Plug-Ins
Function Parameters
Data Types
Plug-In Types
Access Control
Attributes
Controls
Entries
Error Codes
Extended Operations
Filters
Internal Operations
Logging
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
Attributes
Backends
Controls
Data Structures
Distinguished Names (DNs)
Entries
Filters
Internal Operations
Memory Management
Modification Structures
Object Extensions
Operations
Parameter Block Arguments
Relative Distinguished Names (RDNs)
UTF8 Encoding
Values
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
Caveats
Internal Add
Internal Modify
Internal Rename (Modify RDN)
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

Glossary

Index


Copyright      Index      Next     


Copyright 2004 Sun Microsystems, Inc. All rights reserved.