diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ejabberd_auth_ldap.erl | 2 | ||||
-rw-r--r-- | src/ejabberd_xmlrpc.erl | 4 | ||||
-rw-r--r-- | src/mod_pubsub.erl | 8 | ||||
-rw-r--r-- | src/mod_pubsub_odbc.erl | 8 |
4 files changed, 15 insertions, 7 deletions
diff --git a/src/ejabberd_auth_ldap.erl b/src/ejabberd_auth_ldap.erl index 77937d010..7eba6ef32 100644 --- a/src/ejabberd_auth_ldap.erl +++ b/src/ejabberd_auth_ldap.erl @@ -387,7 +387,7 @@ parse_options(Host) -> [{<<"%u">>, <<"*">>}]), {DNFilter, DNFilterAttrs} = eldap_utils:get_opt({ldap_dn_filter, Host}, [], - fun({DNF, DNFA}) -> + fun([{DNF, DNFA}]) -> NewDNFA = case DNFA of undefined -> []; diff --git a/src/ejabberd_xmlrpc.erl b/src/ejabberd_xmlrpc.erl index c3b2fdab7..b59001819 100644 --- a/src/ejabberd_xmlrpc.erl +++ b/src/ejabberd_xmlrpc.erl @@ -448,8 +448,8 @@ format_arg({array, Elements}, {list, ElementsDef}) format_arg(Arg, integer) when is_integer(Arg) -> Arg; format_arg(Arg, binary) when is_list(Arg) -> list_to_binary(Arg); format_arg(Arg, binary) when is_binary(Arg) -> Arg; -format_arg(Arg, string) when is_list(Arg) -> list_to_binary(Arg); -format_arg(Arg, string) when is_binary(Arg) -> Arg; +format_arg(Arg, string) when is_list(Arg) -> Arg; +format_arg(Arg, string) when is_binary(Arg) -> binary_to_list(Arg); format_arg(Arg, Format) -> ?ERROR_MSG("don't know how to format Arg ~p for format ~p", [Arg, Format]), throw({error_formatting_argument, Arg, Format}). diff --git a/src/mod_pubsub.erl b/src/mod_pubsub.erl index e6437199b..8ba28e051 100644 --- a/src/mod_pubsub.erl +++ b/src/mod_pubsub.erl @@ -1179,8 +1179,12 @@ presence_probe(#jid{luser = U, lserver = S}, #jid{luser = U, lserver = S}, _Pid) %% ignore presence_probe from my other ressources %% to not get duplicated last items ok; -presence_probe(#jid{luser = U, lserver = S, lresource = R}, #jid{lserver = Host} = JID, _Pid) -> - presence(Host, {presence, U, S, [R], JID}). +presence_probe(#jid{luser = U, lserver = S, lresource = R}, #jid{lserver = S} = JID, _Pid) -> + presence(S, {presence, U, S, [R], JID}); +presence_probe(_Host, _JID, _Pid) -> + %% ignore presence_probe from remote contacts, + %% those are handled via caps_update + ok. presence(ServerHost, Presence) -> SendLoop = case diff --git a/src/mod_pubsub_odbc.erl b/src/mod_pubsub_odbc.erl index e2b357f03..30016c24a 100644 --- a/src/mod_pubsub_odbc.erl +++ b/src/mod_pubsub_odbc.erl @@ -830,8 +830,12 @@ presence_probe(#jid{luser = U, lserver = S}, #jid{luser = U, lserver = S}, _Pid) %% ignore presence_probe from my other ressources %% to not get duplicated last items ok; -presence_probe(#jid{luser = U, lserver = S, lresource = R}, #jid{lserver = Host} = JID, _Pid) -> - presence(Host, {presence, U, S, [R], JID}). +presence_probe(#jid{luser = U, lserver = S, lresource = R}, #jid{lserver = S} = JID, _Pid) -> + presence(S, {presence, U, S, [R], JID}); +presence_probe(_Host, _JID, _Pid) -> + %% ignore presence_probe from remote contacts, + %% those are handled via caps_update + ok. presence(ServerHost, Presence) -> SendLoop = case |