aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2015-01-21 15:18:46 +0100
committerBadlop <badlop@process-one.net>2015-01-21 15:18:46 +0100
commit15e77e9c0f8b629e0a07ae6dee3097fd60f0a392 (patch)
tree45a3e85b5862238c5887e9263abae23a45d9e7b2 /src
parentFix missing copyright dates to 2015 (EJAB-1733) (diff)
New command to reload config (EJAB-1140)
Diffstat (limited to 'src')
-rw-r--r--src/ejabberd_admin.erl11
-rw-r--r--src/ejabberd_config.erl8
2 files changed, 18 insertions, 1 deletions
diff --git a/src/ejabberd_admin.erl b/src/ejabberd_admin.erl
index 9d081631f..8b6e27b82 100644
--- a/src/ejabberd_admin.erl
+++ b/src/ejabberd_admin.erl
@@ -31,6 +31,7 @@
status/0, reopen_log/0,
stop_kindly/2, send_service_message_all_mucs/2,
registered_vhosts/0,
+ reload_config/0,
%% Erlang
update_list/0, update/1,
%% Accounts
@@ -134,6 +135,11 @@ commands() ->
module = ?MODULE, function = registered_vhosts,
args = [],
result = {vhosts, {list, {vhost, string}}}},
+ #ejabberd_commands{name = reload_config, tags = [server],
+ desc = "Reload ejabberd configuration file into memory",
+ module = ?MODULE, function = reload_config,
+ args = [],
+ result = {res, rescode}},
#ejabberd_commands{name = import_file, tags = [mnesia],
desc = "Import user data from jabberd14 spool file",
@@ -352,6 +358,11 @@ registered_users(Host) ->
registered_vhosts() ->
?MYHOSTS.
+reload_config() ->
+ ejabberd_config:reload_file(),
+ acl:start(),
+ shaper:start().
+
%%%
%%% Migration management
%%%
diff --git a/src/ejabberd_config.erl b/src/ejabberd_config.erl
index 666ed035b..0d25224b9 100644
--- a/src/ejabberd_config.erl
+++ b/src/ejabberd_config.erl
@@ -26,7 +26,7 @@
-module(ejabberd_config).
-author('alexey@process-one.net').
--export([start/0, load_file/1, read_file/1,
+-export([start/0, load_file/1, reload_file/0, read_file/1,
add_global_option/2, add_local_option/2,
get_global_option/2, get_local_option/2,
get_global_option/3, get_local_option/3,
@@ -125,6 +125,12 @@ load_file(File) ->
State = read_file(File),
set_opts(State).
+-spec reload_file() -> ok.
+
+reload_file() ->
+ Config = get_ejabberd_config_path(),
+ load_file(Config).
+
-spec convert_to_yaml(file:filename()) -> ok | {error, any()}.
convert_to_yaml(File) ->