Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > [ANN] Ruby/LDAP 0.9.1: LDAP API (RFC1823) library.

Thread Tools

[ANN] Ruby/LDAP 0.9.1: LDAP API (RFC1823) library.

Ian Macdonald
Posts: n/a

I recently took over the development and maintenance of Ruby/LDAP from
Takaaki Tateishi. I'd like to thank him for writing Ruby/LDAP and
putting a large development effort into it over the last few years.

Version 0.9.1, released today, is the third release of Ruby/LDAP since I
took over the development and maintenance of the library. This message
is to inform you of the changes I have made since I took over from

The main highlights are the inclusion of an LDIF (RFC2849) module and
complete RDoc documentation, but a full list of changes follows below:

Release 0.9.1:

Conn#search, Conn#search2, Conn#search_ext2 and Conn#search_ext2 now
accept only nil or an array for the attrs parameter.

LDAP::Entry#[] is now an alias for LDAP::Entry#get_values.

Conn#compare and Conn#compare_ext now return either true or false,
rather than raising an LDAP::ResultError exception and indicating
success or failure in the message.

If an LDAP::Conn or LDAP::SSLConn connection becomes unbound, calling
#bind, #simple_bind or #sasl_bind now reconnects to the server using the
original parameters and then performs the bind. This allows one to
rebind using new credentials.

LDAP::Conn#bound? was throwing an exception when invoked on a Conn
object on which an explicit #unbind had been performed. This has been

Invoking LDAP::Conn#sasl_bind now sets the LDAP protocol to v3 if it is
not already so. This is required for a SASL bind.

LDAP::Conn#sasl_bind did not detect attempts to bind more than once.
This is now done.

SSLConn#open now returns a NotImplementedError exception. Previously, it
would call the same method in the superclass, which would not work.

Unused variables removed to silence gcc warnings.

More unit tests and documentation fixes.

Release 0.9.0:

There is a new, fully functional LDIF module, complete with unit tests.

In LDAP::Conn#add, LDAP::Conn#add_ext, LDAP::Conn#modify and
LDAP::Conn#modify_ext, LDAP_MOD_BVALUES should be set when passing in a
hash, in case there are mods containing binary values. This has been

LDAP::Conn#sasl_bind now returns nil when a block is passed to it, not

The LDAP module, as well as the LDAP::Conn, LDAP::SSLConn, LDAP::Entry,
LDAP::Mod, LDAP::Control and LDAP::Schema classes, now have extensive
RDoc documentation.

Release 0.8.4:

LDAP controls are now supported at the session level and passed between
client and server in the @controls attribute of LDAP::Conn objects.

LDAP::Control::encode and LDAP::Control#decode are new methods for
dealing with LDAP controls. The sample program example/pr_ctl
demonstrates their use with the Paged Results (RFC2696) extension.

Custom LDAP::Entry#inspect and LDAP::Mod#inspect methods are now
available, to provide better debugging and analysis without the need for
manual disassembly of data returned by the server.

LDAP::Conn#bound? is a new method to detect whether an LDAP::Conn object
is still bound to an LDAP server.

An exception is now raised if an attempt is made to set the LDAP
protocol version after the bind has taken place. This is illegal, but
seems to work with Active Directory servers.

The new attribute, @sasl_quiet, can be set to true on LDAP::Conn objects
to silence the text emitted by OpenLDAP when a SASL operation is

Ruby/LDAP's project page can be found here:

Its home page can be found here:

Its RDoc documentation can be found here:

Ian Macdonald | Democracy becomes a government of bullies,
System Administrator | tempered by editors. -- Ralph Waldo Removed) | Emerson |

Reply With Quote

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
python-ldap/win32 or python/ldap/win32 rcmn Python 1 11-06-2006 11:47 PM
Performance: Ruby/LDAP vs. ActiveLDAP vs. Net::LDAP Ruby 1 10-11-2006 03:54 PM
Need to wrtie LDAP class to *answer* LDAP queries. Java 1 02-21-2006 09:59 PM
ruby-ldap: uninitialized constant LDAP::LDAP_CONTROL_PAGEDRESULTS James Hughes Ruby 4 12-13-2005 11:46 PM
using LDAP Controls in ruby-ldap Jason Wold Ruby 5 11-07-2004 03:35 AM