aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/ejabberd_commands.hrl1
-rw-r--r--include/ejabberd_http.hrl2
-rw-r--r--include/ejabberd_router.hrl6
-rw-r--r--include/ejabberd_sm.hrl2
-rw-r--r--include/ejabberd_sql.hrl41
-rw-r--r--include/ejabberd_sql_pt.hrl18
-rw-r--r--include/ejabberd_web_admin.hrl16
-rw-r--r--include/eldap.hrl16
-rw-r--r--include/logger.hrl10
-rw-r--r--include/mod_mam.hrl12
-rw-r--r--include/mod_muc_room.hrl37
11 files changed, 106 insertions, 55 deletions
diff --git a/include/ejabberd_commands.hrl b/include/ejabberd_commands.hrl
index 1e24cc5d5..e3c498ca6 100644
--- a/include/ejabberd_commands.hrl
+++ b/include/ejabberd_commands.hrl
@@ -59,6 +59,7 @@
%% access is: [accessRuleName] or [{Module, AccessOption, DefaultAccessRuleName}]
access = [] :: [{atom(),atom(),atom()}|atom()],
result = {res, rescode} :: rterm() | '_' | '$2',
+ args_rename = [] :: [{atom(),atom()}],
args_desc = none :: none | [string()] | '_',
result_desc = none :: none | string() | '_',
args_example = none :: none | [any()] | '_',
diff --git a/include/ejabberd_http.hrl b/include/ejabberd_http.hrl
index 33c02ca2b..7c237a223 100644
--- a/include/ejabberd_http.hrl
+++ b/include/ejabberd_http.hrl
@@ -23,7 +23,7 @@
path = [] :: [binary()],
q = [] :: [{binary() | nokey, binary()}],
us = {<<>>, <<>>} :: {binary(), binary()},
- auth :: {binary(), binary()} | {oauth, binary(), []} | undefined,
+ auth :: {binary(), binary()} | {oauth, binary(), []} | undefined | invalid,
lang = <<"">> :: binary(),
data = <<"">> :: binary(),
ip :: {inet:ip_address(), inet:port_number()},
diff --git a/include/ejabberd_router.hrl b/include/ejabberd_router.hrl
index 04ea6e304..060ab79a1 100644
--- a/include/ejabberd_router.hrl
+++ b/include/ejabberd_router.hrl
@@ -2,7 +2,7 @@
-type local_hint() :: integer() | {apply, atom(), atom()}.
--record(route, {domain :: binary() | '_',
- server_host :: binary() | '_',
+-record(route, {domain :: binary(),
+ server_host :: binary(),
pid :: undefined | pid(),
- local_hint :: local_hint() | undefined | '_'}).
+ local_hint :: local_hint() | undefined}).
diff --git a/include/ejabberd_sm.hrl b/include/ejabberd_sm.hrl
index 0d216e90c..8e7b6c7f4 100644
--- a/include/ejabberd_sm.hrl
+++ b/include/ejabberd_sm.hrl
@@ -30,7 +30,7 @@
-type info() :: [{conn, atom()} | {ip, ip()} | {node, atom()}
| {oor, boolean()} | {auth_module, atom()}
| {num_stanzas_in, non_neg_integer()}
- | offline].
+ | {atom(), term()}].
-type prio() :: undefined | integer().
-endif.
diff --git a/include/ejabberd_sql.hrl b/include/ejabberd_sql.hrl
new file mode 100644
index 000000000..c3c618758
--- /dev/null
+++ b/include/ejabberd_sql.hrl
@@ -0,0 +1,41 @@
+%%%----------------------------------------------------------------------
+%%%
+%%% ejabberd, Copyright (C) 2002-2019 ProcessOne
+%%%
+%%% This program is free software; you can redistribute it and/or
+%%% modify it under the terms of the GNU General Public License as
+%%% published by the Free Software Foundation; either version 2 of the
+%%% License, or (at your option) any later version.
+%%%
+%%% This program is distributed in the hope that it will be useful,
+%%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%%% General Public License for more details.
+%%%
+%%% You should have received a copy of the GNU General Public License along
+%%% with this program; if not, write to the Free Software Foundation, Inc.,
+%%% 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+%%%
+%%%----------------------------------------------------------------------
+-define(SQL_MARK, sql__mark_).
+-define(SQL(SQL), ?SQL_MARK(SQL)).
+
+-define(SQL_UPSERT_MARK, sql_upsert__mark_).
+-define(SQL_UPSERT(Host, Table, Fields),
+ ejabberd_sql:sql_query(Host, ?SQL_UPSERT_MARK(Table, Fields))).
+-define(SQL_UPSERT_T(Table, Fields),
+ ejabberd_sql:sql_query_t(?SQL_UPSERT_MARK(Table, Fields))).
+
+-define(SQL_INSERT_MARK, sql_insert__mark_).
+-define(SQL_INSERT(Table, Fields), ?SQL_INSERT_MARK(Table, Fields)).
+
+-record(sql_query, {hash :: binary(),
+ format_query :: fun(),
+ format_res :: fun(),
+ args :: fun(),
+ loc :: {module(), pos_integer()}}).
+
+-record(sql_escape, {string :: fun((binary()) -> binary()),
+ integer :: fun((integer()) -> binary()),
+ boolean :: fun((boolean()) -> binary()),
+ in_array_string :: fun((binary()) -> binary())}).
diff --git a/include/ejabberd_sql_pt.hrl b/include/ejabberd_sql_pt.hrl
index 5906a2efb..54330bc46 100644
--- a/include/ejabberd_sql_pt.hrl
+++ b/include/ejabberd_sql_pt.hrl
@@ -17,19 +17,5 @@
%%% 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
%%%
%%%----------------------------------------------------------------------
-
--define(SQL_MARK, sql__mark_).
--define(SQL(SQL), ?SQL_MARK(SQL)).
-
--define(SQL_UPSERT_MARK, sql_upsert__mark_).
--define(SQL_UPSERT(Host, Table, Fields),
- ejabberd_sql:sql_query(Host, ?SQL_UPSERT_MARK(Table, Fields))).
--define(SQL_UPSERT_T(Table, Fields),
- ejabberd_sql:sql_query_t(?SQL_UPSERT_MARK(Table, Fields))).
-
--define(SQL_INSERT_MARK, sql_insert__mark_).
--define(SQL_INSERT(Table, Fields), ?SQL_INSERT_MARK(Table, Fields)).
-
--record(sql_query, {hash, format_query, format_res, args, loc}).
-
--record(sql_escape, {string, integer, boolean, in_array_string}).
+-compile([{parse_transform, ejabberd_sql_pt}]).
+-include("ejabberd_sql.hrl").
diff --git a/include/ejabberd_web_admin.hrl b/include/ejabberd_web_admin.hrl
index 477ee97a2..9700ab0b3 100644
--- a/include/ejabberd_web_admin.hrl
+++ b/include/ejabberd_web_admin.hrl
@@ -37,14 +37,12 @@
-define(XAC(Name, Attrs, Text),
?XAE(Name, Attrs, [?C(Text)])).
--define(T(Text), translate:translate(Lang, Text)).
+-define(CT(Text), ?C((translate:translate(Lang, Text)))).
--define(CT(Text), ?C((?T(Text)))).
-
--define(XCT(Name, Text), ?XC(Name, (?T(Text)))).
+-define(XCT(Name, Text), ?XC(Name, (translate:translate(Lang, Text)))).
-define(XACT(Name, Attrs, Text),
- ?XAC(Name, Attrs, (?T(Text)))).
+ ?XAC(Name, Attrs, (translate:translate(Lang, Text)))).
-define(LI(Els), ?XE(<<"li">>, Els)).
@@ -53,7 +51,7 @@
-define(AC(URL, Text), ?A(URL, [?C(Text)])).
--define(ACT(URL, Text), ?AC(URL, (?T(Text)))).
+-define(ACT(URL, Text), ?AC(URL, (translate:translate(Lang, Text)))).
-define(P, ?X(<<"p">>)).
@@ -65,7 +63,7 @@
{<<"value">>, Value}])).
-define(INPUTT(Type, Name, Value),
- ?INPUT(Type, Name, (?T(Value)))).
+ ?INPUT(Type, Name, (translate:translate(Lang, Value)))).
-define(INPUTS(Type, Name, Value, Size),
?XA(<<"input">>,
@@ -73,7 +71,7 @@
{<<"value">>, Value}, {<<"size">>, Size}])).
-define(INPUTST(Type, Name, Value, Size),
- ?INPUT(Type, Name, (?T(Value)), Size)).
+ ?INPUT(Type, Name, (translate:translate(Lang, Value)), Size)).
-define(ACLINPUT(Text),
?XE(<<"td">>,
@@ -90,7 +88,7 @@
?XAC(<<"p">>, [{<<"class">>, <<"result">>}], Text)).
%% Guide Link
--define(XREST(Text), ?XRES((?T(Text)))).
+-define(XREST(Text), ?XRES((translate:translate(Lang, Text)))).
-define(GL(Ref, Title),
?XAE(<<"div">>, [{<<"class">>, <<"guidelink">>}],
diff --git a/include/eldap.hrl b/include/eldap.hrl
index f839aa94f..be1d53d6b 100644
--- a/include/eldap.hrl
+++ b/include/eldap.hrl
@@ -44,6 +44,7 @@
attributes = [] :: [{binary(), [binary()]}]}).
-type tlsopts() :: [{encrypt, tls | starttls | none} |
+ {tls_certfile, binary() | undefined} |
{tls_cacertfile, binary() | undefined} |
{tls_depth, non_neg_integer() | undefined} |
{tls_verify, hard | soft | false}].
@@ -61,3 +62,18 @@
-type eldap_config() :: #eldap_config{}.
-type eldap_search() :: #eldap_search{}.
-type eldap_entry() :: #eldap_entry{}.
+
+-define(eldap_config(M, H),
+ #eldap_config{
+ servers = M:ldap_servers(H),
+ backups = M:ldap_backups(H),
+ tls_options = [{encrypt, M:ldap_encrypt(H)},
+ {tls_verify, M:ldap_tls_verify(H)},
+ {tls_certfile, M:ldap_tls_certfile(H)},
+ {tls_cacertfile, M:ldap_tls_cacertfile(H)},
+ {tls_depth, M:ldap_tls_depth(H)}],
+ port = M:ldap_port(H),
+ dn = M:ldap_rootdn(H),
+ password = M:ldap_password(H),
+ base = M:ldap_base(H),
+ deref_aliases = M:ldap_deref_aliases(H)}).
diff --git a/include/logger.hrl b/include/logger.hrl
index 2dd23e1ad..2acd126b4 100644
--- a/include/logger.hrl
+++ b/include/logger.hrl
@@ -22,19 +22,19 @@
-compile([{parse_transform, lager_transform}]).
-define(DEBUG(Format, Args),
- lager:debug(Format, Args)).
+ begin lager:debug(Format, Args), ok end).
-define(INFO_MSG(Format, Args),
- lager:info(Format, Args)).
+ begin lager:info(Format, Args), ok end).
-define(WARNING_MSG(Format, Args),
- lager:warning(Format, Args)).
+ begin lager:warning(Format, Args), ok end).
-define(ERROR_MSG(Format, Args),
- lager:error(Format, Args)).
+ begin lager:error(Format, Args), ok end).
-define(CRITICAL_MSG(Format, Args),
- lager:critical(Format, Args)).
+ begin lager:critical(Format, Args), ok end).
%% Use only when trying to troubleshoot test problem with ExUnit
-define(EXUNIT_LOG(Format, Args),
diff --git a/include/mod_mam.hrl b/include/mod_mam.hrl
index 0d03014ad..6ed6f84bf 100644
--- a/include/mod_mam.hrl
+++ b/include/mod_mam.hrl
@@ -19,12 +19,12 @@
%%%----------------------------------------------------------------------
-record(archive_msg,
- {us = {<<"">>, <<"">>} :: {binary(), binary()} | '$2',
- id = <<>> :: binary() | '_',
- timestamp = erlang:timestamp() :: erlang:timestamp() | '_' | '$1',
- peer = {<<"">>, <<"">>, <<"">>} :: ljid() | '_' | '$3' | undefined,
- bare_peer = {<<"">>, <<"">>, <<"">>} :: ljid() | '_' | '$3',
- packet = #xmlel{} :: xmlel() | message() | '_',
+ {us = {<<"">>, <<"">>} :: {binary(), binary()},
+ id = <<>> :: binary(),
+ timestamp = erlang:timestamp() :: erlang:timestamp(),
+ peer = {<<"">>, <<"">>, <<"">>} :: ljid() | undefined,
+ bare_peer = {<<"">>, <<"">>, <<"">>} :: ljid(),
+ packet = #xmlel{} :: xmlel() | message(),
nick = <<"">> :: binary(),
type = chat :: chat | groupchat}).
diff --git a/include/mod_muc_room.hrl b/include/mod_muc_room.hrl
index efb702337..2f09e5a5c 100644
--- a/include/mod_muc_room.hrl
+++ b/include/mod_muc_room.hrl
@@ -24,11 +24,13 @@
-record(lqueue,
{
- queue :: p1_queue:queue(),
- max = 0 :: integer()
+ queue = p1_queue:new() :: p1_queue:queue(lqueue_elem()),
+ max = 0 :: integer()
}).
-type lqueue() :: #lqueue{}.
+-type lqueue_elem() :: {binary(), message(), boolean(),
+ erlang:timestamp(), non_neg_integer()}.
-record(config,
{
@@ -63,7 +65,7 @@
captcha_whitelist = (?SETS):empty() :: gb_sets:set(),
mam = false :: boolean(),
pubsub = <<"">> :: binary(),
- lang = ejabberd_config:get_mylang() :: binary()
+ lang = ejabberd_option:language() :: binary()
}).
-type config() :: #config{}.
@@ -89,8 +91,8 @@
{
message_time = 0 :: integer(),
presence_time = 0 :: integer(),
- message_shaper = none :: shaper:shaper(),
- presence_shaper = none :: shaper:shaper(),
+ message_shaper = none :: ejabberd_shaper:shaper(),
+ presence_shaper = none :: ejabberd_shaper:shaper(),
message :: message() | undefined,
presence :: {binary(), presence()} | undefined
}).
@@ -103,18 +105,25 @@
access = {none,none,none,none,none} :: {atom(), atom(), atom(), atom(), atom()},
jid = #jid{} :: jid(),
config = #config{} :: config(),
- users = #{} :: map(),
- subscribers = #{} :: map(),
- subscriber_nicks = #{} :: map(),
+ users = #{} :: users(),
+ subscribers = #{} :: subscribers(),
+ subscriber_nicks = #{} :: subscriber_nicks(),
last_voice_request_time = treap:empty() :: treap:treap(),
- robots = #{} :: map(),
- nicks = #{} :: map(),
- affiliations = #{} :: map(),
- history :: lqueue(),
+ robots = #{} :: robots(),
+ nicks = #{} :: nicks(),
+ affiliations = #{} :: affiliations(),
+ history = #lqueue{} :: lqueue(),
subject = [] :: [text()],
subject_author = <<"">> :: binary(),
just_created = erlang:system_time(microsecond) :: true | integer(),
activity = treap:empty() :: treap:treap(),
- room_shaper = none :: shaper:shaper(),
- room_queue :: p1_queue:queue() | undefined
+ room_shaper = none :: ejabberd_shaper:shaper(),
+ room_queue :: p1_queue:queue({message | presence, jid()}) | undefined
}).
+
+-type users() :: #{ljid() => #user{}}.
+-type robots() :: #{jid() => {binary(), stanza()}}.
+-type nicks() :: #{binary() => [ljid()]}.
+-type affiliations() :: #{ljid() => affiliation() | {affiliation(), binary()}}.
+-type subscribers() :: #{ljid() => #subscriber{}}.
+-type subscriber_nicks() :: #{binary() => [ljid()]}.