Ruby/LDAP -- ruby extension library for LDAP

Copyright (C) 2000,2001,2002 Takaaki Tateishi <ttate@kt.jaist.ac.jp>

DESCRIPTION

'Ruby/LDAP' is a ruby extension library which provides the interface to LDAP API described in RFC1823.

REQUIREMENT


PORTS


BUILDING

extconf.rb try to use OpenLDAP2 or NetscapeSDK libraries, and guess paths to some header files and libraries from the position of 'ldap.h'. If you'd like to see available options for extconf.rb, run it with '--help' option.
$ ruby extconf.rb [--with-openldap1|--with-openldap2|--with-netscape|--with-wldap32]
$ make
you will get 'ldap.so', and copy it to somewhere you like or do 'make install'.

If you has a binary distribution, execute install.rb as follows:

$ ruby install.rb

LICENSE

At present, I don't consider what license I apply to this module. But I will not claim the payment forever.

AVAILABLE CLASSES and METHODS

 LDAP::LDAP_VERSION
 LDAP::LDAP_MAX_VERSION
 LDAP::VERSION
 LDAP::MAJOR_VERSION
 LDAP::MINOR_VERSION
 LDAP::LDAP_PORT
 LDAP::LDAPS_PORT
 LDAP::LDAP_API_INFO_VERSION
 LDAP::LDAP_VENDOR_NAME
 LDAP::LDAP_VENDOR_VERSION
 LDAP::LDAP_API_VERSION
 LDAP.err2string(errcode)
 LDAP.dn2ufn(dn)
 LDAP.mod(mod_op, mod_type, mod_vals) (= LDAP::Mod.new)
 LDAP.hash2mods(mod_op, hash)
 LDAP.entry2hash(entry) (= entry.to_hash)
 LDAP::Conn.new(host = "localhost", port = LDAP::LDAP_PORT)
                : conn (raise LDAP::Error)
 LDAP::Conn.open(host = "localhost", port = LDAP::LDAP_PORT)
                : conn (raise LDAP::Error)
 LDAP::Conn#simple_bind(dn = nil, password = nil){ ... }
                : conn (raise LDAP::ResultError)
 LDAP::Conn#bind(dn = nil, password = nil,
                 method = LDAP::LDAP_AUTH_SIMPLE){|conn| ... }
                 (raise LDAP::ResultError)
 LDAP::Conn#bind(dn = nil, password = nil,
                 method = LDAP::LDAP_AUTH_SIMPLE) : conn
                 (raise LDAP::ResultError)
 LDAP::Conn#unbind() (raise LDAP::ResultError)
 LDAP::Conn#perror(str)
 LDAP::Conn#result2error(ldap_msg) : errcode
 LDAP::Conn#err2string(errcode) : errmsg
 LDAP::Conn#get_errno : errcode [if available]
 LDAP::Conn#search(basedn, scope, filter, attrs = nil, attrsonly = false,
                   sec = 0, usec = 0, s_attr = nil, s_proc = nil){|entry| ... }
                   : conn (raise LDAP::ResultError)
 LDAP::Conn#search2(basedn, scope, filter, attrs = nil, attrsonly = false,
                    sec = 0, usec = 0, s_attr = nil, s_proc = nil){|entry_as_hash| ... }
                   : conn (if a block is given) / Array of Hash (if no block is given)
                   (raise LDAP::ResultError)
 LDAP::Conn#search_ext(basedn, scope, filter, attrs = nil, attrsonly = false,
                       serverctrls, clientctrls, sec = 0, usec = 0,
                       s_attr = nil, s_proc = nil){|entry| ... }
                       : conn (raise LDAP::ResultError)
 LDAP::Conn#search_ext2(basedn, scope, filter, attrs = nil, attrsonly = false,
                        serverctrls, clientctrls, sec = 0, usec = 0,
                        s_attr = nil, s_proc = nil){|entry_as_hash| ... }
                        : conn (if a block is given) / Array of Hash (if no block is given)
                        (raise LDAP::ResultError)
 LDAP::Conn#add(dn, ldap_mods) : self (raise LDAP::ResultError)
 LDAP::Conn#add_ext(dn, ldap_mods, serverctrls, clientctrls)
                    : self (raise LDAP::ResultError)
 LDAP::Conn#modify(dn, ldap_mods) : self (raise LDAP::ResultError)
 LDAP::Conn#modify_ext(dn, ldap_mods, serverctrls, clientctrls)
                       : self (raise LDAP::ResultError)
 LDAP::Conn#modrdn(olddn, newdn, delete) : self (raise LDAP::ResultError)
 LDAP::Conn#delete(dn) : self (raise LDAP::ResultError)
 LDAP::Conn#delete(dn, serverctrls, clientctrls) : self (raise LDAP::ResultError)
 LDAP::Conn#set_option(opt, data) : self (raise LDAP::ResultError)
 LDAP::Conn#get_option(opt) : data (raise LDAP::ResultError)
 LDAP::Mod.new(mod_op, mod_type, mod_vals) : ldap_mod
 LDAP::Mod#mod_op : mod_op
 LDAP::Mod#mod_type : mod_type
 LDAP::Mod#mod_vals : mod_vals
 LDAP::Mod#mod_op=(mod_op)
 LDAP::Mod#mod_type=(mod_type)
 LDAP::Mod#mod_vals=(mod_vals)
 LDAP::Entry#get_dn : dn
 LDAP::Entry#get_values : vals
 LDAP::Entry#get_attributes : attrs
 LDAP::Entry#dn (= get_dn)
 LDAP::Entry#vals (= vals)
 LDAP::Entry#attrs (= get_attributes)
 LDAP::Entry#to_hash : Hash
In ldap/schema.rb:
 LDAP::Conn#schema(attrs = nil, sec = 0, usec = 0) : schema
 LDAP::Schema#must(oc) : attributes
 LDAP::Schema#may(oc)  : attributes
 LDAP::Schema#names(attr) : names
see also test/*.rb for examples.

REFERENCES

Here are the URLs that contain usefull informations about LDAP: