aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2008-04-08 09:37:06 +0000
committerBadlop <badlop@process-one.net>2008-04-08 09:37:06 +0000
commit2af65d4f4208dd9baeb90fb91779b8b7515d21db (patch)
tree0df76af8bad5e9ed01f124f4b0307be7c4455735 /src
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 'src')
-rw-r--r--src/ejabberd_auth_ldap.erl9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/ejabberd_auth_ldap.erl b/src/ejabberd_auth_ldap.erl
index fcb5b985f..e22be1bc9 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(