Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/processone/ejabberd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaweł Chmielowski <pchmielowski@process-one.net>2016-10-05 14:21:11 +0300
committerPaweł Chmielowski <pchmielowski@process-one.net>2016-10-05 14:21:11 +0300
commit98e0123ca48cc23f699b5c61598740fa6b8a320e (patch)
tree60a9b2c7ecb5c5c4a1fc46fa12a968bb04157103 /src/ejabberd_ctl.erl
parent9cee3760db4f304d8354c33b641b84f5423e1a80 (diff)
New api permissions framework
Diffstat (limited to 'src/ejabberd_ctl.erl')
-rw-r--r--src/ejabberd_ctl.erl13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/ejabberd_ctl.erl b/src/ejabberd_ctl.erl
index d52b55cf9..a96a28016 100644
--- a/src/ejabberd_ctl.erl
+++ b/src/ejabberd_ctl.erl
@@ -321,10 +321,15 @@ call_command([CmdString | Args], Auth, AccessCommands, Version) ->
{ArgsFormat, ResultFormat} ->
case (catch format_args(Args, ArgsFormat)) of
ArgsFormatted when is_list(ArgsFormatted) ->
- Result = ejabberd_commands:execute_command(AccessCommands,
- Auth, Command,
- ArgsFormatted,
- Version),
+ CI = case Auth of
+ {U, S, _, _} -> #{usr => {U, S, <<"">>}, caller_host => S};
+ _ -> #{}
+ end,
+ CI2 = CI#{caller_module => ?MODULE},
+ Result = ejabberd_commands:execute_command2(Command,
+ ArgsFormatted,
+ CI2,
+ Version),
format_result(Result, ResultFormat);
{'EXIT', {function_clause,[{lists,zip,[A1, A2], _} | _]}} ->
{NumCompa, TextCompa} =