diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/ejabberd_commands.hrl | 1 | ||||
-rw-r--r-- | include/ejabberd_http.hrl | 2 | ||||
-rw-r--r-- | include/ejabberd_router.hrl | 6 | ||||
-rw-r--r-- | include/ejabberd_sm.hrl | 2 | ||||
-rw-r--r-- | include/ejabberd_sql.hrl | 41 | ||||
-rw-r--r-- | include/ejabberd_sql_pt.hrl | 18 | ||||
-rw-r--r-- | include/ejabberd_web_admin.hrl | 16 | ||||
-rw-r--r-- | include/eldap.hrl | 16 | ||||
-rw-r--r-- | include/logger.hrl | 10 | ||||
-rw-r--r-- | include/mod_mam.hrl | 12 | ||||
-rw-r--r-- | include/mod_muc_room.hrl | 37 |
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()]}. |