aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2021-07-29 23:13:17 +0200
committerBadlop <badlop@process-one.net>2021-07-30 01:14:27 +0200
commitccb4328d06bd39a10c2ecc109a6647cf1eafdaa9 (patch)
treebd3312fcc19051ae6ea78f66aa0101a7e80c38ab /src
parentPubSub: Use configured 'max_items' by default (diff)
Store who defines a command, specially when defined by ejabberd modules
Diffstat (limited to '')
-rw-r--r--src/ejabberd_commands.erl6
-rw-r--r--src/mod_admin_extra.erl2
-rw-r--r--src/mod_admin_update_sql.erl2
-rw-r--r--src/mod_fail2ban.erl2
-rw-r--r--src/mod_mam.erl2
-rw-r--r--src/mod_muc_admin.erl2
-rw-r--r--src/mod_private.erl2
-rw-r--r--src/mod_push.erl2
8 files changed, 12 insertions, 8 deletions
diff --git a/src/ejabberd_commands.erl b/src/ejabberd_commands.erl
index 0f86f23d3..8d875e82f 100644
--- a/src/ejabberd_commands.erl
+++ b/src/ejabberd_commands.erl
@@ -41,6 +41,7 @@
get_tags_commands/0,
get_tags_commands/1,
register_commands/1,
+ register_commands/2,
unregister_commands/1,
get_commands_spec/0,
get_commands_definition/0,
@@ -129,10 +130,13 @@ code_change(_OldVsn, State, _Extra) ->
-spec register_commands([ejabberd_commands()]) -> ok.
register_commands(Commands) ->
+ register_commands(unknown, Commands).
+
+register_commands(Definer, Commands) ->
lists:foreach(
fun(Command) ->
%% XXX check if command exists
- mnesia:dirty_write(Command)
+ mnesia:dirty_write(Command#ejabberd_commands{definer = Definer})
%% ?DEBUG("This command is already defined:~n~p", [Command])
end,
Commands),
diff --git a/src/mod_admin_extra.erl b/src/mod_admin_extra.erl
index 04cb39cfb..fe0dd2757 100644
--- a/src/mod_admin_extra.erl
+++ b/src/mod_admin_extra.erl
@@ -92,7 +92,7 @@
%%%
start(_Host, _Opts) ->
- ejabberd_commands:register_commands(get_commands_spec()).
+ ejabberd_commands:register_commands(?MODULE, get_commands_spec()).
stop(Host) ->
case gen_mod:is_loaded_elsewhere(Host, ?MODULE) of
diff --git a/src/mod_admin_update_sql.erl b/src/mod_admin_update_sql.erl
index 0215a5172..eae481385 100644
--- a/src/mod_admin_update_sql.erl
+++ b/src/mod_admin_update_sql.erl
@@ -46,7 +46,7 @@
%%%
start(_Host, _Opts) ->
- ejabberd_commands:register_commands(get_commands_spec()).
+ ejabberd_commands:register_commands(?MODULE, get_commands_spec()).
stop(_Host) ->
ejabberd_commands:unregister_commands(get_commands_spec()).
diff --git a/src/mod_fail2ban.erl b/src/mod_fail2ban.erl
index 99ff3d127..8751653d8 100644
--- a/src/mod_fail2ban.erl
+++ b/src/mod_fail2ban.erl
@@ -107,7 +107,7 @@ c2s_stream_started(#{ip := {Addr, _}} = State, _) ->
start(Host, Opts) ->
catch ets:new(failed_auth, [named_table, public,
{heir, erlang:group_leader(), none}]),
- ejabberd_commands:register_commands(get_commands_spec()),
+ ejabberd_commands:register_commands(?MODULE, get_commands_spec()),
gen_mod:start_child(?MODULE, Host, Opts).
stop(Host) ->
diff --git a/src/mod_mam.erl b/src/mod_mam.erl
index 12542bfa5..e894f5f7d 100644
--- a/src/mod_mam.erl
+++ b/src/mod_mam.erl
@@ -148,7 +148,7 @@ start(Host, Opts) ->
ejabberd_hooks:add(check_create_room, Host, ?MODULE,
check_create_room, 50)
end,
- ejabberd_commands:register_commands(get_commands_spec()),
+ ejabberd_commands:register_commands(?MODULE, get_commands_spec()),
ok;
Err ->
Err
diff --git a/src/mod_muc_admin.erl b/src/mod_muc_admin.erl
index 72a29a45b..360d414b1 100644
--- a/src/mod_muc_admin.erl
+++ b/src/mod_muc_admin.erl
@@ -57,7 +57,7 @@
%%----------------------------
start(Host, _Opts) ->
- ejabberd_commands:register_commands(get_commands_spec()),
+ ejabberd_commands:register_commands(?MODULE, get_commands_spec()),
ejabberd_hooks:add(webadmin_menu_main, ?MODULE, web_menu_main, 50),
ejabberd_hooks:add(webadmin_menu_host, Host, ?MODULE, web_menu_host, 50),
ejabberd_hooks:add(webadmin_page_main, ?MODULE, web_page_main, 50),
diff --git a/src/mod_private.erl b/src/mod_private.erl
index ad36c8494..36f1e8d2c 100644
--- a/src/mod_private.erl
+++ b/src/mod_private.erl
@@ -66,7 +66,7 @@ start(Host, Opts) ->
ejabberd_hooks:add(disco_sm_features, Host, ?MODULE, get_sm_features, 50),
ejabberd_hooks:add(pubsub_publish_item, Host, ?MODULE, pubsub_publish_item, 50),
gen_iq_handler:add_iq_handler(ejabberd_sm, Host, ?NS_PRIVATE, ?MODULE, process_sm_iq),
- ejabberd_commands:register_commands(get_commands_spec()).
+ ejabberd_commands:register_commands(?MODULE, get_commands_spec()).
stop(Host) ->
ejabberd_hooks:delete(remove_user, Host, ?MODULE, remove_user, 50),
diff --git a/src/mod_push.erl b/src/mod_push.erl
index b4dd48234..ea1c3e649 100644
--- a/src/mod_push.erl
+++ b/src/mod_push.erl
@@ -98,7 +98,7 @@ start(Host, Opts) ->
init_cache(Mod, Host, Opts),
register_iq_handlers(Host),
register_hooks(Host),
- ejabberd_commands:register_commands(get_commands_spec()).
+ ejabberd_commands:register_commands(?MODULE, get_commands_spec()).
-spec stop(binary()) -> ok.
stop(Host) ->