This module is modified from the work of Zad (email: zadk@mynet.com) of ldapauth.
The difference in this module from ldapauth is that the password stored in the
LDAP tree is not assumed to be stored in plain text, it can be stored as a
hash. This module performs an anonymous search for the DN associated with a
Jabber user, then BINDS on that DN using the clear text password obtained
either from the Client AUTH message or the xdb_file data. If the bind succeeds,
the user is logged into jabber. If it fails, the user does not get logged into
jabber.
Other changes include adding an attribute config to use in the search for the DN.
And the 'binddn/bindpw' configurations were removed and a true anonymous bind
is performed before the search and user bind.
Thanks to Zad for his great work and in keeping things simple. Hope the changes
I added help too.
The module has a simple purpose, perform authentication on ldap directory,
instead of using the jabber server authentication. Namely, I have a membership
directory for my site which has recorded a number of users of the site, and I
want my current users to use jabber IM. I want the jabber specific data to
still remain on the xdb (spool), and only authentication is performed against
the ldap.
This module was tested on jabber server 1.4.1 running on redhat 6.2.
To do list
----------
- remove static sized global variables, provide dynamically allocated memory
for these.
To use this modules
-------------------
- edit the server config file (jabber.xml). add mod_auth_ldap_z and
mod_auth_ldap_digest tags and remove
mod_auth_plain, mod_auth_digest, mod_auth_0k tags
mine lookes somthing like this after editing:
./jsm/jsm.so
./jsm/jsm.so
./jsm/jsm.so
./jsm/jsm.so
./jsm/jsm.so
./jsm/jsm.so
./jsm/jsm.so
./jsm/jsm.so
./jsm/jsm.so
./jsm/jsm.so
./jsm/jsm.so
./jsm/jsm.so
./jsm/jsm.so
./jsm/jsm.so
./jsm/jsm.so
./jsm/jsm.so
./jsm/jsm.so
./jsm/jsm.so
./jsm/jsm.so
- add an tag and parameters in jabber.xml
I put mine right after tag
10.1.1.48
389
ou=members, o=mysite1
sn
- Unbundle the ldapauth2.tar.gz tar file into the top level directory
of the Jabber installation:
cd /install/directory/jabber-1.4.1 && tar xzf ldapauth2.tar.gz
- edit jabber-1.4.1/jsm/Makefile and jabber-1.4.1/jsm/modules/Makefile.
add mod_auth_ldap_z.o and mod_auth_ldap_digest.o to jsm_EXOBJECTS
- do a 'make all' in the jabber-1.4.1/ directory.
good luck
Frank Koenen
(email: fkoenen@vonworld.com)