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 /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.erl | 9 |
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( |