- Introduction
- Installation
- Quick Start
- Limitations
- Release Notes
- Planned Features
- License
- Feedback
- Download Page
The motivation for creating this in Java implemented LDAP server was
- to have a very lightweight LDAP Server that needs no installation
- to have a cost-free LDAP Server for development and testing
- to have the capability to do tracing of LDAP requests and responses
- to have an LDAP server that can be imbedded in a Java application
Generally this project was also inspired by the HQSLDB which is a very nice,
easy-to-use SQL database.
The basic concept behind
Beluga is that it is fully based on
LDIF files. It is not using a database for its data.
It is also completely unaware of directory schema. It just reads in the defined LDIF
files and that's the content then. Whatever the objectclasses and attributes are.
It was also clear from the very beginning that
Beluga will never
support all LDAP features as specified in
RFC-2251.
However, the basic functionality, which probably covers over 90% of real life
usage scenarios, is fully implemented. That is:
- Bind with user id and password
- Unbind
- Search with queries compliant to RFC-2254 (with some minor exceptions)
- Add objects
- Replace objects
- Modify objects
- Delete objects
However, all changes to the data will be lost after the server has been stopped.
Currently changes are not persisted!
- Unzip the archive pf-beluga-x.x.x.zip to any directory you want.
- Then ensure that environment variable JAVA_HOME is set to a Java Runtime
Environment 1.5.0 or higher.
- Open a command shell in the directory to which you unzipped the archive.
- Run beluga.bat or beluga.sh to start the in-memory LDAP server
with the sample data.
- To customize the server definition and LDAP contents edit the ldap-server.xml
and or the files under the sample folder.
For a clear understanding and to avoid wrong expectations here is a brief
list of features
Beluga is currently not supporting.
Furthermore there is no intention to support them in future either.
- LDAP v2
- Modify DN operation
- Compare Operation
- Extended Operations
- Abandon Operation
- Alias
- Referals
- approximate matching (~=) in search queries
- High performance (e.g. indexing or using database)
- LDAPS
- Metadata
Current version of
Beluga is
1.0.0
For details about supported features and bugfixes see
release-notes.txt.
The following list presents some of the features that are planned for future versions.
- Trace handler that logs all incoming requests and outgoing responses
- Proxy mode. That is, all requests are forwarded to another LDAP server and
its responses are routed back to the client (makes sense with tracing capability)
- Other file types as data source (e.g. DSML)
- Persisting changes
- Administration via JMX
- Bind with X.509 certificate
- SHA-1, SHA-2 and MD5 as password hashing algorithm
This tool is currently available under the terms of the
EPL 1.0 license.
It grants the right to freely use and share this tool.
The source code is also available with the download on the Programmer's Friend website.
Please send all bug reports, comments and suggestions to
feedback@programmers-friend.org.