esl/ejabberd — pull request #55 by jbothma (2012-08-31 15:10:20+00:00)
Title: Enable basic LDAP authentication

Test at https://github.com/jbothma/ejabberd_tests/tree/eldap

This adds back eldap and ejabberd_auth_ldap to allow basic authentication via LDAP.

Only very basic functionality is tested here. Complex filters can be configured. The LDAP connection can be set to authenticate as a specific user which has permission to then authenticate other users. These things are not tested here yet.

Some minor changes from v2.1.11 were backported to make this work with R15B01.

This uses the ProcessOne fork of eldap which provides a pool of ldap connections, one per ldap server. Each connection can perform non-blocking authentication, which the OTP eldap doesn't support. Alternatively, we can make a pool of OTP eldap connections to each ldap server to allow concurrent authentication, if we want to use the OTP ldap.

This fork of eldap supports LDAPS (ldap over ssl) and it looks fairly simple to add STARTSSL to it.