Important: Support for DirectoryService plug-ins has been deprecated and will be removed in a future release.
A new architecture was introduced in OS X v10.9 to allow the creation of native Open Directory modules. Unlike DirectoryService,
opendirectoryd uses modules implemented as a standalone process that uses XPC to communicate with
opendirectoryd. Implementing a module as an XPC service ensures a private address space and improves security and reliability, because modules cannot crash another module or
An Open Directory plug-in is an OS X dynamically loaded library that responds to requests for directory service from applications that are clients of Open Directory.
This book describes the runtime environment for Open Directory plug-ins and how to build and configure an Open Directory plug-in. It also describes the entry points that an Open Directory plug-in must provide, the requests that an Open Directory plug-in must be prepared to respond to, and the Open Directory callback routines that the plug-in can call to register and unregister nodes and to write in log files.
Organization of This Document
This book contains the following chapters:
Runtime Environment describes how Open Directory plug-ins are loaded.
Required Entry Points defines the required entry points for an Open Directory plug-in
Processing Open Directory Requests defines the requests an Open Directory plug-in must be prepared to handle.
Processing Concurrent Requests explains the asynchronous nature of Open Directory plug-ins
Open Directory Callbacks defines the callback routines provided by Open Directory.
Calling OS X Functions explains the advantages and disadvantages of using OS X functions in an Open Directory plug-in.
Managing References describes how Open Directory plug-ins interact with object references.
Standard Record and Attribute Types explains what information needs to be maintained from record and attribute types.
Authentication defines what authentication methods an Open Directory plug-in needs to support.
Property List for an Open Directory Plug-in explains the keys used in an Open Directory plug-in property list and how those keys are utilized.
Configuring an Open Directory Plug-in describes the variety of configurations for setting up an Open Directory plug-in.
Client Side Buffer Parsing explains how to use a
tDataBufferobject in an Open Directory plug-in.
Refer to the following reference document for Open Directory plug-ins:
Open Directory Reference
For more information about Open Directory client programming, and administration, see:
OS X Server Open Directory Administration