Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix some dialyzer errors #674

Merged
merged 7 commits into from
Feb 12, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,20 @@ apps/ejabberd/include/EJABBERD-MIB.hrl
apps/ejabberd/priv/mibs/EJABBERD-MIB.bin
apps/ejabberd/ebin/ejabberd.app

Mnesia.mongooseim@*
compile.log
ct.log
deps.log
quick_compile.log
dialyzer
configure.out
*.d
.rebar3
test/ejabberd_tests/get-deps.log
test/ejabberd_tests/quicktest.log
tags
site

# Dialyzer
.mongooseim_combo_dialyzer.plt

Expand Down
4 changes: 1 addition & 3 deletions apps/ejabberd/src/ejabberd_local.erl
Original file line number Diff line number Diff line change
Expand Up @@ -376,9 +376,7 @@ code_change(_OldVsn, State, _Extra) ->
%%--------------------------------------------------------------------
-spec do_route(From :: ejabberd:jid(),
To :: ejabberd:jid(),
Packet :: jlib:xmlel()) -> 'nothing' | 'ok' | 'todo' | pid()
| {'error','lager_not_running'}
| {'process_iq',_,_,_}.
Packet :: jlib:xmlel()) -> 'ok'.
do_route(From, To, Packet) ->
?DEBUG("local route~n\tfrom ~p~n\tto ~p~n\tpacket ~P~n",
[From, To, Packet, 8]),
Expand Down
4 changes: 2 additions & 2 deletions apps/ejabberd/src/ejabberd_s2s.erl
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ code_change(_OldVsn, State, _Extra) ->

-spec do_route(From :: ejabberd:jid(),
To :: ejabberd:jid(),
Packet :: jlib:xmlel()) -> 'false' | 'ok'.
Packet :: jlib:xmlel()) -> 'ok'.
do_route(From, To, Packet) ->
?DEBUG("s2s manager~n\tfrom ~p~n\tto ~p~n\tpacket ~P~n",
[From, To, Packet, 8]),
Expand All @@ -285,7 +285,7 @@ do_route(From, To, Packet) ->
Packet, ?ERR_SERVICE_UNAVAILABLE),
ejabberd_router:route(To, From, Err)
end,
false
ok
end.

-spec find_connection(From :: ejabberd:jid(),
Expand Down
4 changes: 2 additions & 2 deletions apps/ejabberd/src/ejabberd_sm.erl
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ bounce_offline_message(#jid{server = Server} = From, To, Packet) ->


-spec disconnect_removed_user(User :: ejabberd:user(), Server :: ejabberd:server()) ->
'ok' | {'error','lager_not_running'}.
'ok'.
disconnect_removed_user(User, Server) ->
ejabberd_sm:route(jid:make(<<>>, <<>>, <<>>),
jid:make(User, Server, <<>>),
Expand Down Expand Up @@ -505,7 +505,7 @@ set_session(SID, User, Server, Resource, Priority, Info) ->

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

-spec do_route(From, To, Packet) -> any() when
-spec do_route(From, To, Packet) -> ok when
From :: ejabberd:jid(),
To :: ejabberd:jid(),
Packet :: jlib:xmlel() | ejabberd_c2s:broadcast().
Expand Down
4 changes: 2 additions & 2 deletions apps/ejabberd/src/mam_jid.erl
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@
%%% - mam_jid_rfc
-module(mam_jid).

-callback encode(jlib:xmlel()) -> binary().
-callback decode(binary()) -> jlib:xmlel().
-callback encode(ejabberd:jid(), ejabberd:jid()) -> binary().
-callback decode(ejabberd:jid(), binary()) -> ejabberd:jid().
6 changes: 5 additions & 1 deletion apps/ejabberd/src/mod_admin_extra_accounts.erl
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,11 @@ kick_sessions(User, Server, Reason) ->
ejabberd_sm:get_user_resources(User, Server)).


-spec set_random_password(ejabberd:user(), ejabberd:server(), binary()) -> 'ok'.
-spec set_random_password(User, Server, Reason) -> Result when
User :: ejabberd:user(),
Server :: ejabberd:server(),
Reason :: binary(),
Result :: 'ok' | {error, any()}.
set_random_password(User, Server, Reason) ->
NewPass = build_random_password(Reason),
ejabberd_auth:set_password(User, Server, NewPass).
Expand Down
8 changes: 2 additions & 6 deletions apps/ejabberd/src/mod_admin_extra_roster.erl
Original file line number Diff line number Diff line change
Expand Up @@ -206,9 +206,7 @@ do_add_rosteritem(LocalUser, LocalServer, User, Server, Nick, Group, Subs) ->
attrs = [{<<"xmlns">>,<<"jabber:iq:roster">>}],
children = [ItemEl]});
{error, not_found} ->
unknown_server;
Other ->
Other
unknown_server
end.


Expand Down Expand Up @@ -249,9 +247,7 @@ unsubscribe(LU, LS, User, Server) ->
attrs = [{<<"xmlns">>,<<"jabber:iq:roster">>}],
children = [ItemEl]});
{error, not_found} ->
unknown_server;
Other ->
Other
unknown_server
end.


Expand Down
8 changes: 3 additions & 5 deletions apps/ejabberd/src/mod_admin_extra_vcard.erl
Original file line number Diff line number Diff line change
Expand Up @@ -182,16 +182,14 @@ get_vcard_content(User, Server, Data) ->
%% TODO: This may benefit from better type control
IQr = Module:Function(JID, JID, IQ),
case IQr#iq.sub_el of
[A1] ->
[#xmlel{} = A1] ->
case get_vcard(Data, A1) of
[] ->
{error, "Value not found in vcard"};
ElemList ->
[exml_query:cdata(Elem) || Elem <- ElemList]
end;
[] ->
{error, "Vcard not found"};
[undefined, _] ->
_ ->
{error, "Vcard not found"}
end.

Expand Down Expand Up @@ -251,4 +249,4 @@ update_vcard_els(Data, ContentList, Els1) ->
[#xmlel{ name = Data1, children = ContentNew}]
end,
Els3 = lists:keydelete(Data1, 2, Els2),
lists:keymerge(2, NewEls, Els3).
lists:keymerge(2, NewEls, Els3).
4 changes: 3 additions & 1 deletion apps/ejabberd/src/mod_mam_muc.erl
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,9 @@
| 'mam_lookup_messages'
| 'mam_purge_multiple_messages'
| 'mam_purge_single_message'
| 'mam_set_prefs'.
| 'mam_set_prefs'
| 'mam_set_message_form'
| 'mam_get_message_form'.
-type packet() :: any().
-type row_batch() :: {TotalCount :: non_neg_integer(),
Offset :: non_neg_integer(),
Expand Down
8 changes: 3 additions & 5 deletions apps/ejabberd/src/mod_muc_room.erl
Original file line number Diff line number Diff line change
Expand Up @@ -2648,9 +2648,7 @@ iq_admin_allowed(get, affiliation, admin, _, _) ->
true;
iq_admin_allowed(get, affiliation, _, Role, State) ->
Cfg = State#state.config,
lists:member(Role, Cfg#config.maygetmemberlist);
iq_admin_allowed(_, _, _, _, _) ->
false.
lists:member(Role, Cfg#config.maygetmemberlist).


-spec items_with_role(mod_muc:role(), state()) -> [jlib:xmlel()].
Expand Down Expand Up @@ -3596,7 +3594,7 @@ set_config(XEl, StateData) ->
set_xoption(Opts, Config#config{Opt = Set})
end).

-spec set_xoption([{binary(), binary()}], config()) -> config() | {error, jlib:xmlel()}.
-spec set_xoption([{binary(), [binary()]}], config()) -> config() | {error, jlib:xmlel()}.
set_xoption([], Config) ->
Config;
set_xoption([{<<"muc#roomconfig_roomname">>, [Val]} | Opts], Config) ->
Expand Down Expand Up @@ -3653,7 +3651,7 @@ set_xoption([{<<"muc#roomconfig_maxusers">>, [Val]} | Opts], Config) ->
end;
set_xoption([{<<"muc#roomconfig_getmemberlist">>, Val} | Opts], Config) ->
case Val of
<<"none">> ->
[<<"none">>] ->
?SET_XOPT(maygetmemberlist, []);
_ ->
?SET_XOPT(maygetmemberlist, [binary_to_existing_atom(V, latin1) || V <- Val])
Expand Down
10 changes: 5 additions & 5 deletions apps/ejabberd/src/mod_privacy_riak.erl
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ get_list_names_only(LUser, LServer) ->
riakc_set:value(Set);
{error, {notfound, set}} ->
[];
Err ->
Err ->
?ERROR_MSG("~p", [Err]),
[]
end.
Expand Down Expand Up @@ -119,15 +119,15 @@ remove_privacy_list(LUser, LServer, Name) ->
{ok, S1} ->
S2 = riakc_set:del_element(Name, S1),
mongoose_riak:update_type(?BKT_LISTS_NAMES(LServer), LUser, riakc_set:to_op(S2));
Err ->
Err ->
?ERROR_MSG("~p", [Err]),
Err
Err
end.

replace_privacy_list(LUser, LServer, Name, List) ->
% store privacy-list content
%NOTE: List is automatically serialized
Obj = riakc_obj:new(?BKT_LISTS(LServer), <<LUser/binary, $/, Name/binary>>, List),
BinaryList = term_to_binary(List),
Obj = riakc_obj:new(?BKT_LISTS(LServer), <<LUser/binary, $/, Name/binary>>, BinaryList),
mongoose_riak:put(Obj),

% add new list name to user privacy-lists set
Expand Down
4 changes: 2 additions & 2 deletions apps/ejabberd/src/mod_websockets.erl
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
c2s_pid :: pid(),
open_tag :: stream | open,
parser :: exml_stream:parser(),
ping_rate :: integer()
ping_rate :: integer() | none
}).

%%--------------------------------------------------------------------
Expand Down Expand Up @@ -399,4 +399,4 @@ send_ping_request(PingRate) ->
maybe_send_ping_request(none) ->
ok;
maybe_send_ping_request(PingRate) ->
send_ping_request(PingRate).
send_ping_request(PingRate).
6 changes: 4 additions & 2 deletions apps/ejabberd/src/xmpp_router.erl
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,10 @@
-callback do_route(From :: ejabberd:jid(), To :: ejabberd:jid(),
Packet :: jlib:xmlel()) -> ok.

-spec route(Module :: module(), From :: ejabberd:jid(), To :: ejabberd:jid(),
Packet :: jlib:xmlel()) -> ok.
-spec route(Module :: module(),
From :: ejabberd:jid(),
To :: ejabberd:jid(),
Packet :: jlib:xmlel() | ejabberd_c2s:broadcast()) -> ok.
route(Module,From,To,Packet) ->
case (catch Module:do_route(From,To,Packet)) of
{'EXIT', Reason} ->
Expand Down