# LDAP Libraries for C - NetWare, Windows (32 bit & 64 bit), Linux (32 bit & 64 bit), Solaris, AIX and HP-UX

October 17, 2007

## 1.0 LDAP Libraries for C

LDAP (Lightweight Directory Access Protocol) is an emerging Internet standard for accessing directory information, allowing LDAP-enabled applications to access multiple directories. LDAP v3 supports such features as secure connections (through SSL and SASL), entry management, schema management, and LDAP controls and extensions for expanding LDAP’s functionality.

The LDAP Libraries for C kit enables you to write applications to access, manage, update, and search for information stored in Novell eDirectory and other LDAP-aware directories.

## 2.0 What’s New

Added a new LDAP extension to convert the DNS name to X500 name.

## 3.0 Documentation

To read or print the documentation, you need Adobe Acrobat Reader, a free download from http://www.adobe.com.

The documents in this download were created as standalone files; therefore, links between files in this download and links to files in other downloads will not resolve.

The download includes the following files:

- ldap_enu.pdf (LDAP and NDS Integration guide) located at [install location]\doc\ldapover

- ldaplibc.pdf (LDAP Libraries for C documentation) located at [install location]\doc\cldap

- dsov_enu.pdf (NDS Technical Overview) and schm_enu.pdf (NDS Schema Reference located at [install location]\doc\ndslib

On Windows, installation creates an entry in the Start Menu named "NDK Documents". Use this entry to quickly locate and access NDK documentation.

## 4.0 Platform-specific Information

The following sections details the platform-specific information.

### 4.1 Windows

The LDAP Libraries for C are supported on:

- Microsoft Windows NT Server 4.0 with SP 4 or higher

- Microsoft Windows NT Client 4.0 with SP 3 or higher

- Microsoft Windows 95, 98, 2000, and XP

- Microsoft Windows Vista 32-bit

- Microsoft Windows Vista 64-bit

During installation, your PATH variable is updated to include the following directories (default location is C:\Novell):

For 32-bit

- C:\Novell\ndk\cldapsdk\win32\bin
- C:\Novell\ndk\cldapsdk\win32\tools

For 64-bit

- C:\Novell\ndk\cldapsdk\win64\bin
- C:\Novell\ndk\cldapsdk\win64\tools

The kit includes the following libraries:

- ldapsdk.dll
- ldapssl.dll
- ldapx.dll

The NMAS Client (nmas.dll,nmasmsg.dll)is not included in the SDK. Hence, the user has to download the latest version from developer.novell.com to use the nmas related functionalities with ldapsdk.

The following libraries are used by the Novell Import Convert Export Utility and are also included:

- delim.dll
- dirload.dll
- ldaphdlr.dll
- ldif.dll
- schhdlr.dll

Additionally, several template files are included in the tools directory for use with the DirLoad data handler. These files can be used to generate any number of unique test objects to populate a directory. The tools directory contains 2 sub-directories - tables and templates.

The tables directory contains the files named cities, company, domain, first, initial, lastnames, titles, etc.

The templates directory contains the file named attrs.

### 4.2 NetWare

The following sub-sections details about the CLDAP libraries for C for NetWare.

#### 4.2.1 System Requirements

The NetWare libraries are supported on:

- NetWare 5.1™ with SP4 or higher

- NetWare 6.0™ or higher

#### 4.2.2 Installation on NetWare

Two versions of the LDAP libraries are provided for NetWare. A Clib version and a LibC version. The installation process extracts the files and creates the following directories:

[install location]\cldapsdk\NetWare\Clib:

- bin - libraries
- imports - import files for linking
- inc - include files
- tools - ldap tools (add, delete, modify, search)

[install location]\cldapsdk\NetWare\LibC:

- bin - libraries
- imports - import files for linking
- inc - include files
- tools - ldap tools (add, delete, modify, search)

[install location]\samples:

- cldap_sample - contains sample programs demonstrating the use of LDAP APIs.

[install location]\samples\cldap_sample:

- extensions - contains samples of Novell LDAP extensions.

The Clib library nlms are:

- ldapsdk.nlm
- ldapssl.nlm
- ldapx.nlm

The LibC library nlms are:

- lldapsdk.nlm
- lldapssl.nlm
- lldapx.nlm

Copy the desired set of nlm(s) to the sys:\system directory on the NetWare server.

#### 4.2.3 Novell Import Convert Export Utility

The Novell Import Convert Export Utility (ICE) is also included with the LDAP SDK in the tools subdirectory. To use ICE, copy ice.nlm and ice.cfg to the sys:\system directory on the NetWare server.

Create a new directory called sys:\res and copy the following xlf files into this directory:

- delim_en.xlf
- dirload_en.xlf
- ldaphdlr_en.xlf
- ldif_en.xlf
- schhdlr_en.xlf

#### 4.2.4 Clib Development on NetWare

When developing NetWare Clib applications use the include files and import files in the NetWare\Clib subdirectory.

You will also need the following components Novell Developer Kit (NDK) components available at http:\\developer.novell.com.

- NLM and NetWare Libraries for C

- Winsock 2 Developer Components for NetWare

#### 4.2.5 LibC Development on NetWare

When developing NetWare LibC applications use the include files and import files in the NetWare\LibC subdirectory.

The LibC version of the LDAP SDK exports the APIs using symbol prefixing.

The imports directory contains import files (*.imp) for linkers which directly support prefixing. The Metrowerks linker supports prefixing.

The Watcom linker doesn’t support prefixing so you must use the alias (*.ali) and import (*.wmp) files. Use the Watcom "ALIAS" and "IMPORT" directives. For example:

- IMPORT @lldapsdk.wmp
- ALIAS @lldapsdk.ali

You will also need the following components Novell Developer Kit (NDK) components available at http:\\developer.novell.com

- Libraries for C (LibC)

#### 4.2.6 SASL-GSSAPI Functionality Not Supported

The SASL-GSSAPI functionality is not supported on NetWare.

### 4.3 Solaris

The following sub-sections details about the CLDAP libraries for C for Solaris:

#### 4.3.1 System Requirements

In this release, the Unix libraries are supported on

- Solaris 5.7*

- Solaris 5.8*

- Solaris 9*

#### 4.3.2 Installation on Solaris

Extract the files to a directory on your Unix system. This process creates the following directories and populates with the files provided by the kit.

- include

  This directory contains the header files needed to built your client application.

- lib

  This directory contains the following library files provided with the kit.

  - libldapsdk.so
  - libldapx.so
  - libldapssl.so
  - libldapgss.so

  These library files were built with the platform’s native compiler.

  The specific library files that you link depend on the type of application(s) you are building.

  The following libraries are used by the Novell Import Convert Export Utility and are also included:

  - libldaphdlr.so
  - libldif.so
  - libdelim.so
  - libdirload.so
  - libsal.so
  - libschhdlr.so

  Additionally, several template files are included in the tools directory for use with the DirLoad data handler. These files can be used to generate any number of unique test objects to populate a directory. The tools directory contains 2 sub-directories - tables and templates.

  The tables directory contains the files named cities, company, domain, first, initial, lastnames, titles, etc. The templates directory contains the file named attrs.

  When running applications, add the following path to the LD_LIBRARY_PATH environment variable:

  <install directory>/cldapsdk/lib

- samples

  This directory contains sample programs demonstrating the use of LDAP APIs, and Novell LDAP extensions.

- tools

  This directory contains the LDAP command-line tools.

- etc

  This directory contains Novell Import Convert Export Utility (ICE) default configuration file, ice.conf.

- res

  This directory contains the following xlf files used by Novell Import Convert Export Utility.

  - delim_en.xlf
  - dirload_en.xlf
  - ldaphdlr_en.xlf
  - ldif_en.xlf
  - schhdlr_en.xlf

- man

  This directory contains the LDAP command-line tools man pages.

  To view the man pages, add the following path to the MANPATH environment variable :

  <install directory>/cldapsdk/man

#### 4.3.3 Novell Import Convert Export Utility

Set the following environment variables before running the Import Convert Export (ICE) utility.

1. Set ICE_CONF to <install directory>/cldapsdk/etc/ice.conf

2. Set ICE_RES_PATH to <install directory>/cldapsdk/res

### 4.4 Linux

The LDAP Libraries for C are supported on:

- Linux 32-bit

- Linux 64-bit

The following sub-sections details about the CLDAP libraries for C for Linux:

#### 4.4.1 System Requirements

The LDAP Libraries for C are supported on:

- Linux 2.2 or higher and glibc 2.1.2 or higher

#### 4.4.2 Installation on Linux

Extract the files to a directory on your Unix system. This process creates the following directories and populates with the files provided by the kit.

- include

  This directory contains the header files needed to built your client application.

- lib (for 32-bit) and lib64 (for 64-bit)

  This directory contains the following library files provided with the kit.

  - libldapsdk.so
  - libldapx.so
  - libldapssl.so
  - lidldapgss.so

  These library files were built with the platform’s native compiler.

  The specific library files that you link depend on the type of application(s) you are building.

  The following libraries are used by the Novell Import Convert Export Utility and are also included:

  - libldaphdlr.so
  - libldif.so
  - libdelim.so
  - libdirload.so
  - libsal.so
  - libschhdlr.so

  Additionally, several template files are included in the tools directory for use with the DirLoad data handler. These files can be used to generate any number of unique test objects to populate a directory. The tools directory contains 2 sub-directories - tables and templates.

  The tables directory contains the files named cities, company, domain, first, initial, lastnames, titles, etc. The templates directory contains the file named attrs.

  When running applications, add the following path to the LD_LIBRARY_PATH environment variable:

  For 32-bit

  <install directory>/cldapsdk/lib

  For 64-bit

  <install directory>/cldapsdk/lib64

- tools

  This directory contains the LDAP command-line tools.

- etc

  This directory contains Novell Import Convert Export Utility (ICE) default configuration file, ice.conf.

- res

  This directory contains the following xlf files used by Novell Import Convert Export Utility.

  - delim_en.xlf
  - dirload_en.xlf
  - ldaphdlr_en.xlf
  - ldif_en.xlf
  - schhdlr_en.xlf

- man

  This directory contains the LDAP command-line tools man pages.

  To view the man pages, add the following path to the MANPATH environment variable :

  <install directory>/cldapsdk/man

#### 4.4.3 Novell Import Convert Export Utility

Set the following environment variables before running the Import Convert Export (ICE) utility.

1. Set ICE_CONF to <install directory>/cldapsdk/etc/ice.conf

2. Set ICE_RES_PATH to <install directory>/cldapsdk/res

### 4.5 AIX

The following sub-sections details the CLDAP libraries for C for AIX.

#### 4.5.1 System Requirements

The LDAP Libraries for C have been tested on:

- AIX version 4.3*

#### 4.5.2 Installation on AIX

Extract the files to a directory on your Unix system. This process creates the following directories and populates with the files provided by the kit.

- include

  This directory contains the header files needed to built your client application.

- lib

  This directory contains the following library files provided with the kit.

  - libldapsdk.so
  - libldapx.so
  - libldapssl.so
  - libldapgss.so

  These library files were built with the platform’s native compiler. Use xlc to compile your applications.

  The specific library files that you link depend on the type of application(s) you are building.

  The following libraries are used by the Novell Import Convert Export Utility and are also included:

  - libldaphdlr.so
  - libldif.so
  - libdelim.so
  - libdirload.so
  - libsal.so
  - libschhdlr.so

  Additionally, several template files are included in the tools directory for use with the DirLoad data handler. These files can be used to generate any number of unique test objects to populate a directory. The tools directory contains 2 sub-directories - tables and templates.

  The tables directory contains the files named cities, company, domain, first, initial, lastnames, titles, etc. The templates directory contains the file named attrs.

  When running applications, add the following path to the LIBPATH and environment variable:

  <install directory>/cldapsdk/lib

- samples

  This directory contains sample programs demonstrating the use of LDAP APIs, and Novell LDAP extensions.

- tools

  This directory contains the LDAP command-line tools.

- etc

  This directory contains Novell Import Convert Export Utility (ICE) default configuration file, ice.conf.

- res

  This directory contains the following xlf files used by Novell Import Convert Export Utility.

  - delim_en.xlf
  - dirload_en.xlf
  - ldaphdlr_en.xlf
  - ldif_en.xlf
  - schhdlr_en.xlf

- man

  This directory contains the LDAP command-line tools man pages.

  To view the man pages, add the following path to the MANPATH environment variable :

  <install directory>/cldapsdk/man

#### 4.5.3 Novell Import Convert Export Utility

Set the following environment variables before running the Import Convert Export (ICE) utility.

1. Set ICE_CONF to <install directory>/cldapsdk/etc/ice.conf

2. Set ICE_RES_PATH to <install directory>/cldapsdk/res

3. Set LD_LIBRARY_PATH to <install directory>/cldapsdk/lib

### 4.6 HP-UX

The following sub-sections details the CLDAP libraries for C for HP-UX.

#### 4.6.1 System Requirements

The LDAP Libraries for C have been tested on:

- HP-UX 11.11*

#### 4.6.2 Installation on HP-UX

Extract the files to a directory on your Unix system. This process creates the following directories and populates with the files provided by the kit.

- include

  This directory contains the header files needed to built your client application.

- lib

  This directory contains the following library files provided with the kit.

  - libldapsdk.sl
  - libldapx.sl
  - libldapssl.sl
  - libldapgss.sl

  These library files were built with the platform’s native compiler.

  The specific library files that you link depend on the type of application(s) you are building.

  The following libraries are used by the Novell Import Convert Export Utility and are also included:

  - libldaphdlr.sl
  - libldif.sl
  - libdelim.sl
  - libdirload.sl
  - libsal.sl
  - libschhdlr.sl

  Additionally, several template files are included in the tools directory for use with the DirLoad data handler. These files can be used to generate any number of unique test objects to populate a directory. The tools directory contains 2 sub-directories - tables and templates.

  The tables directory contains the files named cities, company, domain, first, initial, lastnames, titles, etc. The templates directory contains the file named attrs.

  When running applications, add the following path to the SHLIB_PATH environment variable:

  <install directory>/cldapsdk/lib

- samples

  This directory contains sample programs demonstrating the use of LDAP APIs, and Novell LDAP extensions.

- tools

  This directory contains the LDAP command-line tools.

- etc

  This directory contains Novell Import Convert Export Utility (ICE) default configuration file, ice.conf.

- res

  This directory contains the following xlf files used by Novell Import Convert Export Utility.

  - delim_en.xlf
  - dirload_en.xlf
  - ldaphdlr_en.xlf
  - ldif_en.xlf
  - schhdlr_en.xlf

- man

  This directory contains the LDAP command-line tools man pages.

  To view the man pages, add the following path to the MANPATH environment variable :

  <install directory>/cldapsdk/man

#### 4.6.3 Novell Import Convert Export Utility

Set the following environment variables before running the Import Convert Export (ICE) utility.

1. Set ICE_CONF to <install directory>/cldapsdk/etc/ice.conf

2. Set ICE_RES_PATH to <install directory>/cldapsdk/res

## 5.0 Sample Programs

A directory named "samples" contains dozens of complete sample programs demonstrating the use of most LDAP APIs.

The directory "samples\extensions" contains samples of Novell LDAP extensions. Novell’s eDirectory supports several LDAP extensions such as obtaining effective rights, managing replicas and partitions, and refreshing the LDAP server.

A directory named "samples" on Unix platforms and "samples\cldap_sample" on Windows/NetWare contains dozens of complete sample programs demonstrating the use of most LDAP APIs.

The directory "samples\cldap_sample\extensions" contains samples of Novell LDAP extensions. Novell’s eDirectory supports several LDAP extensions such as obtaining effective rights, managing replicas and partitions, and refreshing the LDAP server.

A simple batch file or makefile is also supplied in the samples directory to aid you in building samples or test programs. You must edit a few lines in the batch files to indicate the location of the LDAP SDK and the compiler in your environment.

bldw32.bat - For Win32 platforms, using the MSVC compiler

bldclib.bat - For NetWare platforms using CLIB, with the Metrowerks compiler.

Makefile - For Unix systems.

## 6.0 LDAP v2 and v3 Support

This version of the LDAP Libraries for C supports mainly LDAPv3. Since the consensus in the LDAP community is to encourage everyone to update to LDAPv3, Novell has not made a commitment to ensure that these libraries support LDAPv2 servers.

## 7.0 Bind

eDirectory supports simple bind. However, for non-encrypted connections, the LDAP server must be configured to allow clear-text passwords. The LDAP Libraries for C kit includes SASL functions and bind functions that perform simple binds.

For secure, encrypted connections to eDirectory, use the SSL connections with certificates.

## 8.0 SSL Support

SSL support is provided by a companion library (ldapssl or libldapssl). Applications using SSL need to link with this library. It provides functions for initializing SSL and creating LDAP session handles that are SSL enabled. An SSL-enabled session handle ensures that all data is encrypted between the client and the server.

This product uses OpenSSL Version 0.9.8d.

## 9.0 LDAP Controls

LDAP servers may support controls. Query the root DSE to get a list of supported controls. See the GetDSE.c sample for coding example.

The LDAP Libraries for C kit supplies functions to help applications use these controls.

## 10.0 LDAP Extensions

SDK support for LDAP extensions are provided by a companion library (ldapx or libldapx). Applications using extensions need to link with this library.

eDirectory supports the following LDAP extensions for obtaining effective rights, managing replicas and partitions, and refreshing the LDAP server:

    2.16.840.1.113719.1.27.100.1   Nds To Ldap Response

    2.16.840.1.113719.1.27.100.2   Nds To Ldap Request

    2.16.840.1.113719.1.27.100.3   Split Partition Request

    2.16.840.1.113719.1.27.100.4   Split Partition Response

    2.16.840.1.113719.1.27.100.5   Merge Partition Request

    2.16.840.1.113719.1.27.100.6   Merge Partition Response

    2.16.840.1.113719.1.27.100.7   Add Replica Request

    2.16.840.1.113719.1.27.100.8   Add Replica Response

    2.16.840.1.113719.1.27.100.9   Refresh Server Request

    2.16.840.1.113719.1.27.100.10  Refresh Server Response

    2.16.840.1.113719.1.27.100.11  Remove Replica Request

    2.16.840.1.113719.1.27.100.12  Remove Replica Response

    2.16.840.1.113719.1.27.100.13  Partition Entry Count Request

    2.16.840.1.113719.1.27.100.14  Partition Entry Count Response

    2.16.840.1.113719.1.27.100.15  Change Replica Type Request

    2.16.840.1.113719.1.27.100.16  Change Replica Type Response

    2.16.840.1.113719.1.27.100.17  Get Replica Info Request

    2.16.840.1.113719.1.27.100.18  Get Replica Info Response

    2.16.840.1.113719.1.27.100.19  List Replica Request

    2.16.840.1.113719.1.27.100.20  List Replica Response

    2.16.840.1.113719.1.27.100.21  Receive All Updates Request

    2.16.840.1.113719.1.27.100.22  Receive All Updates Response

    2.16.840.1.113719.1.27.100.23  Send All Updates Request

    2.16.840.1.113719.1.27.100.24  Send All Updates Response

    2.16.840.1.113719.1.27.100.25  Request Partition Sync Request

    2.16.840.1.113719.1.27.100.26  Request Partition Sync Response

    2.16.840.1.113719.1.27.100.27  Request Schema Sync Request

    2.16.840.1.113719.1.27.100.28  Request Schema Sync Response

    2.16.840.1.113719.1.27.100.29  Abort Partition Operation Request

    2.16.840.1.113719.1.27.100.30  Abort Partition Operation Response

    2.16.840.1.113719.1.27.100.31  Get Bind DN Request

    2.16.840.1.113719.1.27.100.32  Get Bind DN Response

    2.16.840.1.113719.1.27.100.33  Get Effective Privileges Request

    2.16.840.1.113719.1.27.100.34  Get Effective Privileges Response

    2.16.840.1.113719.1.27.100.35     Set Replication Filter Request

    2.16.840.1.113719.1.27.100.36  Set Replication Filter Response

    2.16.840.1.113719.1.27.100.37  Get Replication Filter Request

    2.16.840.1.113719.1.27.100.38  Get Replication Filter Response

    2.16.840.1.113719.1.27.100.39  Create Orphan Partition Request

    2.16.840.1.113719.1.27.100.40  Create Orphan Partition Response

    2.16.840.1.113719.1.27.100.41  Remove Orphan Partition Request

    2.16.840.1.113719.1.27.100.42  Remove Orphan Partition Response

Extensions to trigger eDirectory background processes via ldap_trigger_back_process():

    2.16.840.1.113719.1.27.100.43  Trigger Backlinker Request

    2.16.840.1.113719.1.27.100.44  Trigger Backlinker Response

    2.16.840.1.113719.1.27.100.47  Trigger Janitor Request

    2.16.840.1.113719.1.27.100.48  Trigger Janitor Response

    2.16.840.1.113719.1.27.100.49  Trigger Limber Request

    2.16.840.1.113719.1.27.100.50  Trigger Limber Response

    2.16.840.1.113719.1.27.100.51  Trigger Skulker Request

    2.16.840.1.113719.1.27.100.52  Trigger Skulker Response

    2.16.840.1.113719.1.27.100.53  Trigger Schema Synch Request

    2.16.840.1.113719.1.27.100.54  Trigger Schema Synch Response

    2.16.840.1.113719.1.27.100.55  Trigger Partition Purge Request

    2.16.840.1.113719.1.27.100.56  Trigger Partition Purge Response

    2.16.840.1.113719.1.27.100.79  Monitor Events Request

    2.16.840.1.113719.1.27.100.80  Monitor Events Response

    2.16.840.1.113719.1.27.100.81  Event Notification

The Novell Import Convert Export utility uses the following extensions. They are not general extensions designed for developer use but are designed to support the LDAP Bulk Update Replication Protocol (LBURP).

    2.16.840.1.113719.1.142.100.1  Start Framed Protocol Request

    2.16.840.1.113719.1.142.100.2  Start Framed Protocol Response

    2.16.840.1.113719.1.142.100.4  End Framed Protocol Request

    2.16.840.1.113719.1.142.100.5  End Framed Protocol Response

    2.16.840.1.113719.1.142.100.6  Lburp Operation Request

    2.16.840.1.113719.1.142.100.7  Lburp Operation Response

Function is provided for applications to obtain the LDAP format of the distinguished name instead of namemapped format.

    2.16.840.1.113719.1.27.100.101  Convert DNS name to X500 name Request

    2.16.840.1.113719.1.27.100.102  Convert DNS name to X500 name Response

To use any Novell extensions, the LDAP server must be running on eDirectory version 8.5 or higher. To obtain a copy, see Novell’s developer product site:

http://www.novell.com/download/

The LDAP Libraries for C kit includes functions to help applications use these extensions.

If you used an early beta version of eDirectory 8.5, be aware that the OIDs for the extensions changed for beta 5 and the final release.

## 11.0 LDAP Utilities

This release includes the command line version of the Novell Import Convert Export utility (ice, ice.exe, or ice.nlm). This utility performs all the functions of the legacy LDAP utilities. Novell recommends using this utility instead of the legacy LDAP utilities. Note that the Novell Import Convert Export utility will work on any LDAP v2 or v3 server. However, it will take advantage of the fast LBURP protocol with eDirectory 8.5 or higher.

NetWare NLMs are limited to names with a maximum of 8 characters; therefore the NetWare platform requires shorter names for the LDAP utilities. They have been renamed as follows for the NetWare platform:

LDAP Utility | NetWare Name
ldapadd | ladd
ldapdelete | ldelete
ldapmodify | lmodify
ldapsearch | lsearch
ldapmodrdn | lmodrdn
ndsindex | nindex

These utilities are located in the tools directory. You need to either copy them to the system directory or include the directory in the PATH variable.

## 12.0 Building

The following sections details the prerequisites and procedure to build the LDAP libraries for C component on different platforms.

### 12.1 Prerequisites

1. Source: Download the latest CLDAP source package from the Novell Forge site .

2. Unpack: To unpack the source package: create a directory anywhere in your work area, copy the source package into the directory, and unzip/untar. For example, D:\mywork\cldap

3. Read: We recommend you read the Copyright, License, Readme and Install documents provided in the package. The Copyright and License provide information on acceptable use, copying, and warranty limitations of the software.

### 12.2 Netware

1. Set the appropriate CodeWarrior compiler path and nmake.exe path in file settools-nw.bat in the root directory.

   By default, the paths are set to LDAP_TOOLS=D:\cldap_tools and MAKE_TOOL=D:\cldap_tools\nmake\nmake.exe

2. Run the following command at the command prompt:

## 13.0 Dependencies

For full functionality, the LDAP Libraries for C kit is dependent upon the following:

- LDAP Extensions. The LDAP extensions for partition and replica management, getting effective rights, and refreshing the LDAP server require eDirectory 8.5. To obtain a version, see the Novell downloads page at (http://www.novell.com/download/).

## 14.0 Known Issues and Solutions

- Unlike eDirectory, the LDAP standard does not define an "alias" structural class. When using LDIF tools such as the Novell Import Convert Export Utility, you may encounter errors adding aliased objects.

- There is currently no standard mechanism in LDAP to notify the application that the password has expired and a grace login was used when binding. eDirectory has provided an interim solution. See the sample "gracelogin.c" for further information.

- There is a problem using the LDAP utilities on NetWare when specifying "localhost" as the host name. This issue is resolved in NetWare 5.1 SP2 and NetWare 5.0 SP6. A workaround for older servers is:

  - Edit the etc\hosts file to list "localhost" first

    OR

  - Specify "127.0.0.1" or "loopback" in place of localhost

## 15.0 OpenLDAP Copyrights

Portions of the source for the LDAP Libraries for C are based on the Directory SDK (Version 2.0) available from OpenLDAP.org. The following have contributed to the source code.

- Copyright 1990, 1995 Regents of the University of Michigan. All rights reserved.

- Copyright 1987 Regents of the University of California

- Copyright 1991 by the Massachusetts Institute of Technology

- Copyright 1994 Enrique Silvestre Mora, Universitat Jaume I, Spain.

- Copyright 1992, 1993, 1994 Henry Spencer.

- Copyright 1992, 1993, 1994 The Regents of the University of California.

- Copyright 1998, 1999 The OpenLDAP Foundation, Redwood City, CA All rights reserved.

- Copyright 1997, 1998, 1999 Computing Research Labs, New Mexico State University

- Copyright 1999 PADL Software Pty Ltd.

## 16.0 OpenSSL Acknowledgement

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/).

## 17.0 Revision History

The following sub-sections outlines all changes made to the LDAP Libraries for C SDK (in reverse chronological order):

### 17.1 Changes for the October 2007 NDK

The following section gives the changes for the October 2007 NDK release:

- Added a new extension to convert the DNS name to X500 name.

- Fixed bugs.

### 17.2 Changes for the February 2007 NDK

The following section gives the changes for the February 2007 NDK release:

- Upgraded the version of OpenSSL to 0.9.8d.

- Fixed bugs.

- CLDAP is now available on the following new platforms:

  - Windows 32-bit Vista

  - Windows 64-bit Vista

  - Linux 64-bit

### 17.3 Changes for the October 2006 NDK

Fixed bugs.

### 17.4 Changes for the June 2006 NDK

Kerberos authentication through ldap_gssbind()on Windows is supported and is implemented using the SSPI interface.

### 17.5 Changes for the March 2006 NDK

Added the make.ini file in the sample code with the following note:

The makefiles for LDAP SDK and LDAP Extensions were released with the CLDAP SDK in the March 2006 NDK release. Novell supports the libraries that are available at the Novell NDK site (http://www.developer.novell.com/ndk/cldap.htm), and does not support any libraries built by using or modifying the published makefiles.

### 17.6 Changes for the October 2005 NDK

The following section gives the changes for the October 2005 NDK release:

#### 17.6.1 New Functionality

- Setting and Getting the Cipher Level.

- Added the following session preference options:

  - LDAP_OPT_CURRENT_NAME

  - LDAP_OPT_PEER_NAME

  - LDAP_OPT_TLS_CIPHER_LIMIT

### 17.7 Changes for the June 2005 NDK

The following section gives the changes for the June 2005 NDK release.

#### 17.7.1 New Functionality

- Support for Subnordinate Subtree search scope for Novell Virtual Directory Services (NVDS).

- Added the following LDAP functions:

  - ldap_create_geteffective_control

  - ldap_create_reference_control

  - ldap_create_sstatus_control

  - ldap_parse_reference_control

  - ldap_parse_sstatus_control

### 17.8 Changes for the October 2004 NDK

The following sections gives the changes for the October 2004 NDK release.

#### 17.8.1 New Functionality

- SASL-GSSAPI support: We assume that SASL-GSSAPI is already installed on your machine. If not, you might want to download and install SASL-GSSAPI.

  Most of the OS vendors provide GSSAPI libraries. Check their distribution or Website for these libraries.

  Alternatively, other free implementations include Heimdal, MIT, and others.

  Heimdal: http://www.pdc.kth.se/heimdal/

  MIT: http://web.mit.edu/kerberos/www/dist/

- LDAP based backup

#### 17.8.2 Sample Code

- gssbind.c: Demonstrates how to do a SASL-GSSAPI bind with an LDAP server.

- backup.c: Demonstrates how to do backup and restore of eDirectory objects through LDAP.

## 18.0 Documentation Conventions

In this documentation, a greater-than symbol (>) is used to separate actions within a step and items in a cross-reference path.

A trademark symbol (® , TM, etc.) denotes a Novell trademark; an asterisk (*) denotes a third-party trademark.

## 19.0 Legal Notices

Novell, Inc. makes no representations or warranties with respect to the contents or use of this documentation, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc. reserves the right to revise this publication and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes.

Further, Novell, Inc. makes no representations or warranties with respect to any software, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc. reserves the right to make changes to any and all parts of Novell software, at any time, without any obligation to notify any person or entity of such changes.

Any products or technical information provided under this Agreement may be subject to U.S. export controls and the trade laws of other countries. You agree to comply with all export control regulations and to obtain any required licenses or classification to export, re-export or import deliverables. You agree not to export or re-export to entities on the current U.S. export exclusion lists or to any embargoed or terrorist countries as specified in the U.S. export laws. You agree to not use deliverables for prohibited nuclear, missile, or chemical biological weaponry end uses. Please refer to www.novell.com/info/exports/ for more information on exporting Novell software. Novell assumes no responsibility for your failure to obtain any necessary export approvals.

Copyright © 2006 Novell, Inc. All rights reserved. No part of this publication may be reproduced, photocopied, stored on a retrieval system, or transmitted without the express written consent of the publisher.

For Novell trademarks, see Novell Trademark and Service Mark list (http://www.novell.com/company/legal/trademarks/tmlist.html)

All third-party products are the property of their respective owners.