aboutsummaryrefslogtreecommitdiff
path: root/src/mod_disco.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2018-01-08 11:29:17 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2018-01-08 11:29:17 +0300
commit9d943614668b0e88e4b28958cef165bdee165e9a (patch)
treea2a741b593b418ce850637f2e5a57cec4e578721 /src/mod_disco.erl
parentUpdate copyright dates in header files (diff)
Process 'name' option for all route-registering modules
The option allows to set arbitrary text for disco#info identity name. Previously, option 'name' was supported by mod_proxy65 and mod_http_upload only. Now, all the following modules support this option as well: - mod_disco - mod_irc - mod_muc - mod_multicast - mod_pubsub - mod_vcard Example: ``` modules: ... mod_disco: name: "Cool XMPP Server" ... ```
Diffstat (limited to '')
-rw-r--r--src/mod_disco.erl11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/mod_disco.erl b/src/mod_disco.erl
index f77cb7ef4..e2632a0b4 100644
--- a/src/mod_disco.erl
+++ b/src/mod_disco.erl
@@ -41,7 +41,7 @@
-include("ejabberd.hrl").
-include("logger.hrl").
-
+-include("translate.hrl").
-include("xmpp.hrl").
-include_lib("stdlib/include/ms_transform.hrl").
-include("mod_roster.hrl").
@@ -195,10 +195,12 @@ process_local_iq_info(#iq{type = get, lang = Lang,
-spec get_local_identity([identity()], jid(), jid(),
binary(), binary()) -> [identity()].
-get_local_identity(Acc, _From, _To, <<"">>, _Lang) ->
+get_local_identity(Acc, _From, To, <<"">>, _Lang) ->
+ Host = To#jid.lserver,
+ Name = gen_mod:get_module_opt(Host, ?MODULE, name, ?T("ejabberd")),
Acc ++ [#identity{category = <<"server">>,
type = <<"im">>,
- name = <<"ejabberd">>}];
+ name = Name}];
get_local_identity(Acc, _From, _To, _Node, _Lang) ->
Acc.
@@ -456,6 +458,7 @@ depends(_Host, _Opts) ->
mod_opt_type(extra_domains) ->
fun (Hs) -> [iolist_to_binary(H) || H <- Hs] end;
mod_opt_type(iqdisc) -> fun gen_iq_handler:check_type/1;
+mod_opt_type(name) -> fun iolist_to_binary/1;
mod_opt_type(server_info) ->
fun (L) ->
lists:map(fun (Opts) ->
@@ -466,4 +469,4 @@ mod_opt_type(server_info) ->
end,
L)
end;
-mod_opt_type(_) -> [extra_domains, iqdisc, server_info].
+mod_opt_type(_) -> [extra_domains, iqdisc, server_info, name].