diff options
| author | Badlop <badlop@process-one.net> | 2010-05-10 16:42:54 +0200 |
|---|---|---|
| committer | Badlop <badlop@process-one.net> | 2010-05-10 16:42:54 +0200 |
| commit | 9476d8a2c378e0ff092faf0ba504a074bef2489b (patch) | |
| tree | 3487e2af7ddb073defa7ac0d43bc3dd16061071f /src/extauth.erl | |
| parent | Fix EDoc comment (diff) | |
Optionally cache extauth users in mnesia (EJAB-641)
Diffstat (limited to 'src/extauth.erl')
| -rw-r--r-- | src/extauth.erl | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/src/extauth.erl b/src/extauth.erl index 80a8aa816..1cbd33126 100644 --- a/src/extauth.erl +++ b/src/extauth.erl @@ -27,8 +27,15 @@ -module(extauth). -author('leifj@it.su.se'). --export([start/2, stop/1, init/2, - check_password/3, set_password/3, is_user_exists/2]). +-export([start/2, + stop/1, + init/2, + check_password/3, + set_password/3, + try_register/3, + remove_user/2, + remove_user/3, + is_user_exists/2]). -include("ejabberd.hrl"). @@ -56,6 +63,18 @@ is_user_exists(User, Server) -> set_password(User, Server, Password) -> call_port(Server, ["setpass", User, Server, Password]). +try_register(User, Server, Password) -> + case call_port(Server, ["tryregister", User, Server, Password]) of + true -> {atomic, ok}; + false -> {error, not_allowed} + end. + +remove_user(User, Server) -> + call_port(Server, ["removeuser", User, Server]). + +remove_user(User, Server, Password) -> + call_port(Server, ["removeuser3", User, Server, Password]). + call_port(Server, Msg) -> LServer = jlib:nameprep(Server), gen_mod:get_module_proc(LServer, eauth) ! {call, self(), Msg}, |
