summaryrefslogtreecommitdiff
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.erl67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/ejabberd_auth_external.erl b/src/ejabberd_auth_external.erl
new file mode 100644
index 00000000..e379fb9d
--- /dev/null
+++ b/src/ejabberd_auth_external.erl
@@ -0,0 +1,67 @@
+%%%----------------------------------------------------------------------
+%%% File : ejabberd_auth_external.erl
+%%% Author : Alexey Shchepin <alexey@sevcom.net>
+%%% Purpose : Authentification via LDAP external script
+%%% Created : 12 Dec 2004 by Alexey Shchepin <alexey@sevcom.net>
+%%% Id : $Id$
+%%%----------------------------------------------------------------------
+
+-module(ejabberd_auth_external).
+-author('alexey@sevcom.net').
+-vsn('$Revision$ ').
+
+%% External exports
+-export([start/0,
+ set_password/2,
+ check_password/2,
+ check_password/4,
+ try_register/2,
+ dirty_get_registered_users/0,
+ get_password/1,
+ get_password_s/1,
+ is_user_exists/1,
+ remove_user/1,
+ remove_user/2,
+ plain_password_required/0
+ ]).
+
+%%%----------------------------------------------------------------------
+%%% API
+%%%----------------------------------------------------------------------
+start() ->
+ extauth:start(ejabberd_config:get_local_option(extauth_program)),
+ ok.
+
+plain_password_required() ->
+ true.
+
+check_password(User, Password) ->
+ extauth:check_password(User, Password).
+
+check_password(User, Password, _StreamID, _Digest) ->
+ check_password(User, Password).
+
+set_password(User, Password) ->
+ extauth:set_password(User, Password).
+
+try_register(_User, _Password) ->
+ {error, not_allowed}.
+
+dirty_get_registered_users() ->
+ [].
+
+get_password(_User) ->
+ false.
+
+get_password_s(_User) ->
+ "".
+
+is_user_exists(User) ->
+ extauth:is_user_exists(User).
+
+remove_user(_User) ->
+ {error, not_allowed}.
+
+remove_user(_User, _Password) ->
+ not_allowed.
+