Ruby/LDAP -- ruby extension library for LDAP

Copyright (C) 2000,2001 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]
$ make
you will get 'ldap.so', and copy it to somewhere you like or do 'make install'. You can run some test scripts by running 'RUBY=ruby test/test.sh'.

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){ ... } (raise LDAP::ResultError)
LDAP::Conn#bind(dn = nil, password = nil, method = LDAP::LDAP_AUTH_SIMPLE){ ... } (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| ... } : errcode (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| ... } : Array of Hash (raise LDAP::ResultError)
LDAP::Conn#add(dn, ldap_mods) : errcode (raise LDAP::ResultError)
LDAP::Conn#modify(dn, ldap_mods) : errcode (raise LDAP::ResultError)
LDAP::Conn#modrdn(olddn, newdn, delete) : errcode (raise LDAP::ResultError)
LDAP::Conn#delete(dn) : errcode (raise LDAP::ResultError)
LDAP::Conn#set_option(opt, data) : errcode [experimental] (raise LDAP::ResultError)
LDAP::Conn#get_option(opt) : data [experimental] (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
see also test/*.rb for examples.

REFERENCES

Here are the URLs that contain usefull informations about LDAP: