24
1
mirror of https://github.com/processone/ejabberd.git synced 2024-06-12 21:52:07 +02:00

Compare commits

..

No commits in common. "c5437235f3942214a0122bee63ed44903e8be9ad" and "8f20dd8425aa0543feeee0b679041a6c5c7bd882" have entirely different histories.

7 changed files with 9 additions and 67 deletions

17
mix.exs
View File

@ -80,20 +80,6 @@ defmodule Ejabberd.MixProject do
end
end
defp if_type_exported(module, typeDef, okResult) do
try do
{:ok, concrete} = :dialyzer_utils.get_core_from_beam(:code.which(module))
{:ok, types} = :dialyzer_utils.get_record_and_type_info(concrete)
if Maps.has_key(types, typeDef) do
okResult
else
[]
end
rescue
_ -> []
end
end
defp erlc_options do
# Use our own includes + includes from all dependencies
includes = ["include", deps_include()]
@ -111,8 +97,7 @@ defmodule Ejabberd.MixProject do
if_version_below(~c"24", [{:d, :COMPILER_REPORTS_ONLY_LINES}]) ++
if_version_below(~c"24", [{:d, :SYSTOOLS_APP_DEF_WITHOUT_OPTIONAL}]) ++
if_version_below(~c"24", [{:d, :OTP_BELOW_24}]) ++
if_version_below(~c"25", [{:d, :OTP_BELOW_25}]) ++
if_type_exported(:odbc, {:opaque, :connection_reference, 0}, [{:d, :ODBC_HAS_TYPES}])
if_version_below(~c"25", [{:d, :OTP_BELOW_25}])
defines = for {:d, value} <- result, do: {:d, value}
result ++ [{:d, :ALL_DEFS, defines}]
end

View File

@ -152,7 +152,6 @@
{if_var_true, roster_gateway_workaround, {d, 'ROSTER_GATEWAY_WORKAROUND'}},
{if_var_true, sip, {d, 'SIP'}},
{if_var_true, stun, {d, 'STUN'}},
{if_type_exported, {odbc, {opaque, connection_reference, 0}}, {d, 'ODBC_HAS_TYPES'}},
{src_dirs, [src,
{if_rebar3, sql},
{if_var_true, tools, tools}]}]}.

View File

@ -151,30 +151,6 @@ ProcessVars = fun F([], Acc) ->
false ->
F(Tail, Acc)
end;
F([{Type, {Mod, TypeDef}, Value} | Tail], Acc) when
Type == if_type_exported orelse
Type == if_type_not_exported ->
try
{ok, Concrete} = dialyzer_utils:get_core_from_beam(code:which(Mod)),
{ok, Types} = dialyzer_utils:get_record_and_type_info(Concrete),
maps:get(TypeDef, Types, undefined)
of
undefined when Type == if_type_not_exported ->
F(Tail, ProcessSingleVar(F, Value, Acc));
undefined ->
F(Tail, Acc);
_ when Type == if_type_exported ->
F(Tail, ProcessSingleVar(F, Value, Acc));
_ ->
F(Tail, Acc)
catch _:_ ->
if
Type == if_type_not_exported ->
F(Tail, ProcessSingleVar(F, Value, Acc));
true ->
F(Tail, Acc)
end
end;
F([Other1 | Tail1], Acc) ->
F(Tail1, [F(Other1, []) | Acc]);
F(Val, Acc) when is_tuple(Val) ->

View File

@ -52,8 +52,7 @@
-export([get_presence/1, set_presence/2, resend_presence/1, resend_presence/2,
open_session/1, call/3, cast/2, send/2, close/1, close/2, stop_async/1,
reply/2, copy_state/2, set_timeout/2, route/2, format_reason/2,
host_up/1, host_down/1, send_ws_ping/1, bounce_message_queue/2,
reset_vcard_xupdate_resend_presence/1]).
host_up/1, host_down/1, send_ws_ping/1, bounce_message_queue/2]).
-include_lib("xmpp/include/xmpp.hrl").
-include("logger.hrl").
@ -109,10 +108,6 @@ resend_presence(Pid) ->
resend_presence(Pid, To) ->
route(Pid, {resend_presence, To}).
-spec reset_vcard_xupdate_resend_presence(pid()) -> boolean().
reset_vcard_xupdate_resend_presence(Pid) ->
route(Pid, reset_vcard_xupdate_resend_presence).
-spec close(pid()) -> ok;
(state()) -> state().
close(Ref) ->
@ -251,13 +246,6 @@ process_info(#{lserver := LServer} = State, {route, Packet}) ->
true ->
State1
end;
process_info(State, reset_vcard_xupdate_resend_presence) ->
case maps:get(pres_last, State, error) of
error -> State;
Pres ->
Pres2 = xmpp:remove_subtag(Pres, #vcard_xupdate{}),
process_self_presence(State#{pres_last => Pres2}, Pres2)
end;
process_info(#{jid := JID} = State, {resend_presence, To}) ->
case maps:get(pres_last, State, error) of
error -> State;

View File

@ -56,7 +56,6 @@
get_vh_session_number/1,
get_vh_by_backend/1,
force_update_presence/1,
reset_vcard_xupdate_resend_presence/1,
connected_users/0,
connected_users_number/0,
user_resources/2,
@ -927,15 +926,6 @@ force_update_presence({LUser, LServer}) ->
end,
Ss).
-spec reset_vcard_xupdate_resend_presence({binary(), binary()}) -> ok.
reset_vcard_xupdate_resend_presence({LUser, LServer}) ->
Mod = get_sm_backend(LServer),
Ss = get_sessions(Mod, LUser, LServer),
lists:foreach(
fun(#session{sid = {_, Pid}}) ->
ejabberd_c2s:reset_vcard_xupdate_resend_presence(Pid)
end, Ss).
-spec get_sm_backend(binary()) -> module().
get_sm_backend(Host) ->

View File

@ -67,8 +67,12 @@
-export([connecting/2, connecting/3,
session_established/2, session_established/3]).
-ifdef(ODBC_HAS_TYPES).
-type(odbc_connection_reference() :: odbc:connection_reference()).
-ifdef(OTP_RELEASE).
-if(?OTP_RELEASE >= 27).
-type(odbc_connection_reference() :: odbc:connection_reference()).
-else.
-type(odbc_connection_reference() :: pid()).
-endif.
-else.
-type(odbc_connection_reference() :: pid()).
-endif.

View File

@ -97,7 +97,7 @@ user_send_packet(Acc) ->
-spec vcard_set(iq()) -> iq().
vcard_set(#iq{from = #jid{luser = LUser, lserver = LServer}} = IQ) ->
ets_cache:delete(?VCARD_XUPDATE_CACHE, {LUser, LServer}, ejabberd_cluster:get_nodes()),
ejabberd_sm:reset_vcard_xupdate_resend_presence({LUser, LServer}),
ejabberd_sm:force_update_presence({LUser, LServer}),
IQ;
vcard_set(Acc) ->
Acc.