diff options
author | Badlop <badlop@process-one.net> | 2008-04-08 09:37:06 +0000 |
---|---|---|
committer | Badlop <badlop@process-one.net> | 2008-04-08 09:37:06 +0000 |
commit | 2af65d4f4208dd9baeb90fb91779b8b7515d21db (patch) | |
tree | 0df76af8bad5e9ed01f124f4b0307be7c4455735 | |
parent | * doc/guide.tex: Documented the IQ discipline {queue, N}. (diff) |
* src/ejabberd_auth_ldap.erl: LDAP function to get the number of
registered users is too slow (EJAB-331): set timeout in LDAP
search queries (thanks to Evgeniy Khramtsov) and return the number
of registered users.
SVN Revision: 1280
Diffstat (limited to '')
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | src/ejabberd_auth_ldap.erl | 9 |
2 files changed, 14 insertions, 2 deletions
@@ -1,3 +1,10 @@ +2008-04-08 Badlop <badlop@process-one.net> + + * src/ejabberd_auth_ldap.erl: LDAP function to get the number of + registered users is too slow (EJAB-331): set timeout in LDAP + search queries (thanks to Evgeniy Khramtsov) and return the number + of registered users. + 2008-04-07 Mickael Remond <mremond@process-one.net> * doc/guide.tex: Documented the IQ discipline {queue, N}. diff --git a/src/ejabberd_auth_ldap.erl b/src/ejabberd_auth_ldap.erl index fcb5b985..e22be1bc 100644 --- a/src/ejabberd_auth_ldap.erl +++ b/src/ejabberd_auth_ldap.erl @@ -86,6 +86,10 @@ handle_info(_Info, State) -> {noreply, State}. %% ----- + +-define(LDAP_SEARCH_TIMEOUT, 5). % Timeout for LDAP search queries in seconds + + %%%---------------------------------------------------------------------- %%% API %%%---------------------------------------------------------------------- @@ -172,8 +176,8 @@ get_vh_registered_users(Server) -> Result -> Result end. -get_vh_registered_users_number(_Server) -> - 0. +get_vh_registered_users_number(Server) -> + length(get_vh_registered_users(Server)). get_password(_User, _Server) -> false. @@ -220,6 +224,7 @@ get_vh_registered_users_ldap(Server) -> {ok, EldapFilter} -> case eldap_pool:search(Eldap_ID, [{base, State#state.base}, {filter, EldapFilter}, + {timeout, ?LDAP_SEARCH_TIMEOUT}, {attributes, SortedDNAttrs}]) of #eldap_search_result{entries = Entries} -> lists:flatmap( |