aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_auth_external.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_auth_external.erl')
-rw-r--r--src/ejabberd_auth_external.erl15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/ejabberd_auth_external.erl b/src/ejabberd_auth_external.erl
index 0aa825f73..67477f27a 100644
--- a/src/ejabberd_auth_external.erl
+++ b/src/ejabberd_auth_external.erl
@@ -25,11 +25,12 @@
-module(ejabberd_auth_external).
+-behaviour(ejabberd_config).
+
-author('alexey@process-one.net').
-behaviour(ejabberd_auth).
-%% External exports
-export([start/1, set_password/3, check_password/3,
check_password/5, try_register/3,
dirty_get_registered_users/0, get_vh_registered_users/1,
@@ -37,8 +38,8 @@
get_vh_registered_users_number/1,
get_vh_registered_users_number/2, get_password/2,
get_password_s/2, is_user_exists/2, remove_user/2,
- remove_user/3, store_type/0,
- plain_password_required/0]).
+ remove_user/3, store_type/0, plain_password_required/0,
+ opt_type/1]).
-include("ejabberd.hrl").
-include("logger.hrl").
@@ -311,3 +312,11 @@ get_mod_last_configured(Server) ->
is_configured(Host, Module) ->
gen_mod:is_loaded(Host, Module).
+
+opt_type(extauth_cache) ->
+ fun (false) -> undefined;
+ (I) when is_integer(I), I >= 0 -> I
+ end;
+opt_type(extauth_program) ->
+ fun (V) -> binary_to_list(iolist_to_binary(V)) end;
+opt_type(_) -> [extauth_cache, extauth_program].