aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ejabberd_auth_ldap.erl2
-rw-r--r--src/ejabberd_xmlrpc.erl4
-rw-r--r--src/mod_pubsub.erl8
-rw-r--r--src/mod_pubsub_odbc.erl8
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