diff --git a/src/mod_announce.erl b/src/mod_announce.erl index dab1eb6f6..7465b7438 100644 --- a/src/mod_announce.erl +++ b/src/mod_announce.erl @@ -101,8 +101,9 @@ depends(_Host, _Opts) -> %%==================================================================== %% gen_server callbacks %%==================================================================== -init([Host, Opts]) -> +init([Host|_]) -> process_flag(trap_exit, true), + Opts = gen_mod:get_module_opts(Host, ?MODULE), Mod = gen_mod:db_mod(Opts, ?MODULE), Mod:init(Host, Opts), init_cache(Mod, Host, Opts), diff --git a/src/mod_caps.erl b/src/mod_caps.erl index 44a517cdd..7a41d9ff2 100644 --- a/src/mod_caps.erl +++ b/src/mod_caps.erl @@ -263,8 +263,9 @@ reload(Host, NewOpts, OldOpts) -> end, init_cache(NewMod, Host, NewOpts). -init([Host, Opts]) -> +init([Host|_]) -> process_flag(trap_exit, true), + Opts = gen_mod:get_module_opts(Host, ?MODULE), Mod = gen_mod:db_mod(Opts, ?MODULE), init_cache(Mod, Host, Opts), Mod:init(Host, Opts), diff --git a/src/mod_delegation.erl b/src/mod_delegation.erl index 681f7c123..afbfa4280 100644 --- a/src/mod_delegation.erl +++ b/src/mod_delegation.erl @@ -135,7 +135,7 @@ disco_sm_identity(Acc, From, To, Node, Lang) -> %%%=================================================================== %%% gen_server callbacks %%%=================================================================== -init([Host, _Opts]) -> +init([Host|_]) -> process_flag(trap_exit, true), catch ets:new(?MODULE, [named_table, public, diff --git a/src/mod_fail2ban.erl b/src/mod_fail2ban.erl index 9bf5ebfeb..7c5cf374e 100644 --- a/src/mod_fail2ban.erl +++ b/src/mod_fail2ban.erl @@ -128,7 +128,7 @@ depends(_Host, _Opts) -> %%%=================================================================== %%% gen_server callbacks %%%=================================================================== -init([Host, _Opts]) -> +init([Host|_]) -> process_flag(trap_exit, true), ejabberd_hooks:add(c2s_auth_result, Host, ?MODULE, c2s_auth_result, 100), ejabberd_hooks:add(c2s_stream_started, Host, ?MODULE, c2s_stream_started, 100), diff --git a/src/mod_http_fileserver.erl b/src/mod_http_fileserver.erl index 556651ef8..2e6aa3358 100644 --- a/src/mod_http_fileserver.erl +++ b/src/mod_http_fileserver.erl @@ -110,7 +110,8 @@ depends(_Host, _Opts) -> %% {stop, Reason} %% Description: Initiates the server %%-------------------------------------------------------------------- -init([Host, Opts]) -> +init([Host|_]) -> + Opts = gen_mod:get_module_opts(Host, ?MODULE), try initialize(Host, Opts) of State -> process_flag(trap_exit, true), diff --git a/src/mod_http_upload.erl b/src/mod_http_upload.erl index 2bf3e0fcc..5aca8583a 100644 --- a/src/mod_http_upload.erl +++ b/src/mod_http_upload.erl @@ -230,8 +230,9 @@ depends(_Host, _Opts) -> %% gen_server callbacks. %%-------------------------------------------------------------------- -spec init(list()) -> {ok, state()}. -init([ServerHost, Opts]) -> +init([ServerHost|_]) -> process_flag(trap_exit, true), + Opts = gen_mod:get_module_opts(ServerHost, ?MODULE), Hosts = gen_mod:get_opt_hosts(Opts), Name = mod_http_upload_opt:name(Opts), Access = mod_http_upload_opt:access(Opts), diff --git a/src/mod_http_upload_quota.erl b/src/mod_http_upload_quota.erl index 4df799207..0861351d3 100644 --- a/src/mod_http_upload_quota.erl +++ b/src/mod_http_upload_quota.erl @@ -100,8 +100,9 @@ depends(_Host, _Opts) -> %% gen_server callbacks. %%-------------------------------------------------------------------- -spec init(list()) -> {ok, state()}. -init([ServerHost, Opts]) -> +init([ServerHost|_]) -> process_flag(trap_exit, true), + Opts = gen_mod:get_module_opts(ServerHost, ?MODULE), AccessSoftQuota = mod_http_upload_quota_opt:access_soft_quota(Opts), AccessHardQuota = mod_http_upload_quota_opt:access_hard_quota(Opts), MaxDays = mod_http_upload_quota_opt:max_days(Opts), diff --git a/src/mod_mix.erl b/src/mod_mix.erl index a3f80d5ad..156353b1b 100644 --- a/src/mod_mix.erl +++ b/src/mod_mix.erl @@ -251,8 +251,9 @@ process_mam_query(IQ) -> %%%=================================================================== %%% gen_server callbacks %%%=================================================================== -init([Host, Opts]) -> +init([Host|_]) -> process_flag(trap_exit, true), + Opts = gen_mod:get_module_opts(Host, ?MODULE), Mod = gen_mod:db_mod(Opts, ?MODULE), MyHosts = gen_mod:get_opt_hosts(Opts), case Mod:init(Host, gen_mod:set_opt(hosts, MyHosts, Opts)) of diff --git a/src/mod_mqtt.erl b/src/mod_mqtt.erl index e0e0a58e3..105ae3f27 100644 --- a/src/mod_mqtt.erl +++ b/src/mod_mqtt.erl @@ -164,7 +164,8 @@ select_retained({_, S, _} = USR, TopicFilter, QoS, SubID) -> %%%=================================================================== %%% gen_server callbacks %%%=================================================================== -init([Host, Opts]) -> +init([Host|_]) -> + Opts = gen_mod:get_module_opts(Host, ?MODULE), Mod = gen_mod:db_mod(Opts, ?MODULE), RMod = gen_mod:ram_db_mod(Opts, ?MODULE), try diff --git a/src/mod_muc.erl b/src/mod_muc.erl index d50e6552e..36cebb664 100644 --- a/src/mod_muc.erl +++ b/src/mod_muc.erl @@ -34,7 +34,7 @@ %% API -export([start/2, stop/1, - start_link/3, + start_link/2, reload/3, room_destroyed/4, store_room/4, @@ -114,7 +114,7 @@ %% API %%==================================================================== start(Host, Opts) -> - case mod_muc_sup:start(Host, Opts) of + case mod_muc_sup:start(Host) of {ok, _} -> MyHosts = gen_mod:get_opt_hosts(Opts), Mod = gen_mod:db_mod(Opts, ?MODULE), @@ -171,9 +171,9 @@ reload(ServerHost, NewOpts, OldOpts) -> depends(_Host, _Opts) -> [{mod_mam, soft}]. -start_link(Host, Opts, I) -> +start_link(Host, I) -> Proc = procname(Host, I), - ?GEN_SERVER:start_link({local, Proc}, ?MODULE, [Host, Opts, I], + ?GEN_SERVER:start_link({local, Proc}, ?MODULE, [Host, I], ejabberd_config:fsm_limit_opts([])). -spec procname(binary(), pos_integer() | {binary(), binary()}) -> atom(). @@ -365,8 +365,9 @@ get_online_rooms_by_user(ServerHost, LUser, LServer) -> %% gen_server callbacks %%==================================================================== -spec init(list()) -> {ok, state()}. -init([Host, Opts, Worker]) -> +init([Host, Worker]) -> process_flag(trap_exit, true), + Opts = gen_mod:get_module_opts(Host, ?MODULE), MyHosts = gen_mod:get_opt_hosts(Opts), register_routes(Host, MyHosts, Worker), register_iq_handlers(MyHosts, Worker), diff --git a/src/mod_muc_log.erl b/src/mod_muc_log.erl index 8c5af42c3..676498724 100644 --- a/src/mod_muc_log.erl +++ b/src/mod_muc_log.erl @@ -96,8 +96,9 @@ depends(_Host, _Opts) -> %%==================================================================== %% gen_server callbacks %%==================================================================== -init([Host, Opts]) -> +init([Host|_]) -> process_flag(trap_exit, true), + Opts = gen_mod:get_module_opts(Host, ?MODULE), {ok, init_state(Host, Opts)}. handle_call({check_access_log, ServerHost, FromJID}, _From, State) -> diff --git a/src/mod_muc_sup.erl b/src/mod_muc_sup.erl index 0e5e75cb8..99c2620ce 100644 --- a/src/mod_muc_sup.erl +++ b/src/mod_muc_sup.erl @@ -23,25 +23,25 @@ -behaviour(supervisor). %% API --export([start/2, start_link/2, procname/1]). +-export([start/1, start_link/1, procname/1]). %% Supervisor callbacks -export([init/1]). %%%=================================================================== %%% API functions %%%=================================================================== -start(Host, Opts) -> +start(Host) -> Spec = #{id => procname(Host), - start => {?MODULE, start_link, [Host, Opts]}, + start => {?MODULE, start_link, [Host]}, restart => permanent, shutdown => infinity, type => supervisor, modules => [?MODULE]}, supervisor:start_child(ejabberd_gen_mod_sup, Spec). -start_link(Host, Opts) -> +start_link(Host) -> Proc = procname(Host), - supervisor:start_link({local, Proc}, ?MODULE, [Host, Opts]). + supervisor:start_link({local, Proc}, ?MODULE, [Host]). -spec procname(binary()) -> atom(). procname(Host) -> @@ -50,12 +50,12 @@ procname(Host) -> %%%=================================================================== %%% Supervisor callbacks %%%=================================================================== -init([Host, Opts]) -> +init([Host]) -> Cores = erlang:system_info(logical_processors), Specs = lists:foldl( fun(I, Acc) -> [#{id => mod_muc:procname(Host, I), - start => {mod_muc, start_link, [Host, Opts, I]}, + start => {mod_muc, start_link, [Host, I]}, restart => permanent, shutdown => timer:minutes(1), type => worker, diff --git a/src/mod_multicast.erl b/src/mod_multicast.erl index 8652188ad..0b35ee2fc 100644 --- a/src/mod_multicast.erl +++ b/src/mod_multicast.erl @@ -151,8 +151,9 @@ user_send_packet(Acc) -> %%==================================================================== -spec init(list()) -> {ok, state()}. -init([LServerS, Opts]) -> +init([LServerS|_]) -> process_flag(trap_exit, true), + Opts = gen_mod:get_module_opts(LServerS, ?MODULE), [LServiceS|_] = gen_mod:get_opt_hosts(Opts), Access = mod_multicast_opt:access(Opts), SLimits = build_service_limit_record(mod_multicast_opt:limits(Opts)), diff --git a/src/mod_ping.erl b/src/mod_ping.erl index cacab4106..d4c226e56 100644 --- a/src/mod_ping.erl +++ b/src/mod_ping.erl @@ -91,8 +91,9 @@ reload(Host, NewOpts, OldOpts) -> %%==================================================================== %% gen_server callbacks %%==================================================================== -init([Host, Opts]) -> +init([Host|_]) -> process_flag(trap_exit, true), + Opts = gen_mod:get_module_opts(Host, ?MODULE), State = init_state(Host, Opts), register_iq_handlers(Host), case State#state.send_pings of diff --git a/src/mod_privilege.erl b/src/mod_privilege.erl index 9ca78f67f..43f7bc91a 100644 --- a/src/mod_privilege.erl +++ b/src/mod_privilege.erl @@ -198,7 +198,7 @@ process_presence_in(Acc) -> %%%=================================================================== %%% gen_server callbacks %%%=================================================================== -init([Host, _Opts]) -> +init([Host|_]) -> process_flag(trap_exit, true), catch ets:new(?MODULE, [named_table, public, diff --git a/src/mod_proxy65.erl b/src/mod_proxy65.erl index 61e09439d..718f49cb4 100644 --- a/src/mod_proxy65.erl +++ b/src/mod_proxy65.erl @@ -39,7 +39,7 @@ %% supervisor callbacks. -export([init/1]). --export([start_link/2, mod_opt_type/1, mod_options/1, depends/2]). +-export([start_link/1, mod_opt_type/1, mod_options/1, depends/2]). -define(PROCNAME, ejabberd_mod_proxy65). @@ -59,7 +59,7 @@ start(Host, Opts) -> Mod = gen_mod:ram_db_mod(global, ?MODULE), Mod:init(), Proc = gen_mod:get_module_proc(Host, ?PROCNAME), - ChildSpec = {Proc, {?MODULE, start_link, [Host, Opts]}, + ChildSpec = {Proc, {?MODULE, start_link, [Host]}, transient, infinity, supervisor, [?MODULE]}, supervisor:start_child(ejabberd_gen_mod_sup, ChildSpec) end. @@ -80,14 +80,13 @@ reload(Host, NewOpts, OldOpts) -> Mod:init(), mod_proxy65_service:reload(Host, NewOpts, OldOpts). -start_link(Host, Opts) -> +start_link(Host) -> Proc = gen_mod:get_module_proc(Host, ?PROCNAME), - supervisor:start_link({local, Proc}, ?MODULE, - [Host, Opts]). + supervisor:start_link({local, Proc}, ?MODULE, [Host]). -init([Host, Opts]) -> +init([Host]) -> Service = {mod_proxy65_service, - {mod_proxy65_service, start_link, [Host, Opts]}, + {mod_proxy65_service, start_link, [Host]}, transient, 5000, worker, [mod_proxy65_service]}, {ok, {{one_for_one, 10, 1}, [Service]}}. diff --git a/src/mod_proxy65_service.erl b/src/mod_proxy65_service.erl index 31344d27e..3a3f9c6d2 100644 --- a/src/mod_proxy65_service.erl +++ b/src/mod_proxy65_service.erl @@ -33,7 +33,7 @@ -export([init/1, handle_info/2, handle_call/3, handle_cast/2, terminate/2, code_change/3]). --export([start_link/2, reload/3, add_listener/2, process_disco_info/1, +-export([start_link/1, reload/3, add_listener/2, process_disco_info/1, process_disco_items/1, process_vcard/1, process_bytestreams/1, delete_listener/1, route/1]). @@ -50,17 +50,17 @@ %%% gen_server callbacks %%%------------------------ -start_link(Host, Opts) -> +start_link(Host) -> Proc = gen_mod:get_module_proc(Host, ?PROCNAME), - gen_server:start_link({local, Proc}, ?MODULE, - [Host, Opts], []). + gen_server:start_link({local, Proc}, ?MODULE, [Host], []). reload(Host, NewOpts, OldOpts) -> Proc = gen_mod:get_module_proc(Host, ?PROCNAME), gen_server:cast(Proc, {reload, Host, NewOpts, OldOpts}). -init([Host, Opts]) -> +init([Host]) -> process_flag(trap_exit, true), + Opts = gen_mod:get_module_opts(Host, mod_proxy65), MyHosts = gen_mod:get_opt_hosts(Opts), lists:foreach( fun(MyHost) -> diff --git a/src/mod_pubsub.erl b/src/mod_pubsub.erl index 92379a81f..3fab12ea9 100644 --- a/src/mod_pubsub.erl +++ b/src/mod_pubsub.erl @@ -241,9 +241,9 @@ stop(Host) -> %%-------------------------------------------------------------------- -spec init([binary() | [{_,_}],...]) -> {'ok',state()}. -init([ServerHost, Opts]) -> +init([ServerHost|_]) -> process_flag(trap_exit, true), - ?DEBUG("Pubsub init ~p ~p", [ServerHost, Opts]), + Opts = gen_mod:get_module_opts(ServerHost, ?MODULE), Hosts = gen_mod:get_opt_hosts(Opts), Access = mod_pubsub_opt:access_createnode(Opts), PepOffline = mod_pubsub_opt:ignore_pep_from_offline(Opts), diff --git a/src/mod_shared_roster_ldap.erl b/src/mod_shared_roster_ldap.erl index 4790b4cd3..bd8cc7732 100644 --- a/src/mod_shared_roster_ldap.erl +++ b/src/mod_shared_roster_ldap.erl @@ -210,8 +210,9 @@ process_subscription(Direction, User, Server, JID, %%==================================================================== %% gen_server callbacks %%==================================================================== -init([Host, Opts]) -> +init([Host|_]) -> process_flag(trap_exit, true), + Opts = gen_mod:get_module_opts(Host, ?MODULE), State = parse_options(Host, Opts), init_cache(Host, Opts), ejabberd_hooks:add(roster_get, Host, ?MODULE, diff --git a/src/mod_vcard.erl b/src/mod_vcard.erl index 16f2f9c7c..1ef246ecb 100644 --- a/src/mod_vcard.erl +++ b/src/mod_vcard.erl @@ -82,8 +82,9 @@ stop(Host) -> %%==================================================================== %% gen_server callbacks %%==================================================================== -init([Host, Opts]) -> +init([Host|_]) -> process_flag(trap_exit, true), + Opts = gen_mod:get_module_opts(Host, ?MODULE), Mod = gen_mod:db_mod(Opts, ?MODULE), Mod:init(Host, Opts), init_cache(Mod, Host, Opts),