ldb

ldb is a LDAP-like embedded database. It is not at all LDAP standards compliant, so if you want a standards compliant database then please see the excellent OpenLDAP project.

What ldb does is provide a fast database with an LDAP-like API designed to be used within an application. In some ways it can be seen as a intermediate solution between key-value pair databases and a real LDAP database.

ldb is the database engine used in Samba4.

Features

The main features that separate ldb from other solutions are:

Documentation

Currently ldb is completely lacking in programmer or user documentation. This is your opportunity to make a contribution! Start with the public functions declared in ldb.h and the example code in the tools directory. Documentation in the same docbook format used by Samba would be preferred.

Discussion and bug reports

ldb does not currently have its own mailing list or bug tracking system. For now, please use the samba-technical mailing list, and the Samba bugzilla bug tracking system.

Download

You can download the latest release either via rsync or anonymous svn. To fetch via svn use the following commands:
  svn co svn://svnanon.samba.org/samba/branches/SAMBA_4_0/source/lib/ldb ldb
  svn co svn://svnanon.samba.org/samba/branches/SAMBA_4_0/source/lib/tdb tdb
  svn co svn://svnanon.samba.org/samba/branches/SAMBA_4_0/source/lib/talloc talloc
  svn co svn://svnanon.samba.org/samba/branches/SAMBA_4_0/source/lib/replace libreplace
To fetch via rsync use these commands:
  rsync -Pavz samba.org::ftp/unpacked/ldb .
  rsync -Pavz samba.org::ftp/unpacked/tdb .
  rsync -Pavz samba.org::ftp/unpacked/talloc .
  rsync -Pavz samba.org::ftp/unpacked/libreplace .
and build in ldb. It will find the other libraries in the directory above automatically.
Andrew Tridgell
ldb AT tridgell.net