aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Romain <christophe.romain@process-one.net>2011-02-21 15:12:31 +0100
committerChristophe Romain <christophe.romain@process-one.net>2011-02-21 15:12:31 +0100
commit7f899ee179956daf0af1f2f443334c229c0f4a28 (patch)
tree6982b2e478ce744a385ceea2b2384b913364593d
parentMerge branch 'master' of git+ssh://gitorious.process-one.net/ejabberd/mainline (diff)
fix broadcast issue (EJAB-1411)
-rw-r--r--src/mod_pubsub/mod_pubsub.erl6
-rw-r--r--src/mod_pubsub/mod_pubsub_odbc.erl6
-rw-r--r--src/mod_pubsub/pubsub_odbc.patch4
3 files changed, 8 insertions, 8 deletions
diff --git a/src/mod_pubsub/mod_pubsub.erl b/src/mod_pubsub/mod_pubsub.erl
index 9b4c9c54f..7cca1477c 100644
--- a/src/mod_pubsub/mod_pubsub.erl
+++ b/src/mod_pubsub/mod_pubsub.erl
@@ -3361,7 +3361,7 @@ state_can_deliver({U, S, R}, SubOptions) ->
get_resource_state({U, S, R}, ShowValues, JIDs) ->
%% Get user session PID
- case ejabberd_sm:get_session_pid(exmpp_jid:make(U, S, R)) of
+ case ejabberd_sm:get_session_pid({U, S, R}) of
%% If no PID, item can be delivered
none -> lists:append([{U, S, R}], JIDs);
%% If PID ...
@@ -3478,7 +3478,7 @@ broadcast(Host, Node, NodeId, Type, NodeOptions, Notify, Condition, Stanza, SHIM
broadcast({U, S, R}, Node, NodeId, Type, NodeOptions, Subscriptions, Stanza, SHIM) ->
broadcast(S, Node, NodeId, Type, NodeOptions, Subscriptions, Stanza, SHIM)
- or case ejabberd_sm:get_session_pid(U, S, user_resource(U, S, R)) of
+ or case ejabberd_sm:get_session_pid({U, S, user_resource(U, S, R)}) of
C2SPid when is_pid(C2SPid) ->
%% set the from address on the notification to the bare JID of the account owner
%% Also, add "replyto" if entity has presence subscription to the account owner
@@ -3619,7 +3619,7 @@ sub_with_options(JID, NodeId, SubId) ->
user_resources(User, Server) ->
ejabberd_sm:get_user_resources(User, Server).
-user_resource(User, Server, []) ->
+user_resource(User, Server, undefined) ->
case user_resources(User, Server) of
[R|_] -> R;
_ -> []
diff --git a/src/mod_pubsub/mod_pubsub_odbc.erl b/src/mod_pubsub/mod_pubsub_odbc.erl
index 0ec5e0ab1..5e40b45e4 100644
--- a/src/mod_pubsub/mod_pubsub_odbc.erl
+++ b/src/mod_pubsub/mod_pubsub_odbc.erl
@@ -3166,7 +3166,7 @@ state_can_deliver({U, S, R}, SubOptions) ->
get_resource_state({U, S, R}, ShowValues, JIDs) ->
%% Get user session PID
- case ejabberd_sm:get_session_pid(exmpp_jid:make(U, S, R)) of
+ case ejabberd_sm:get_session_pid({U, S, R}) of
%% If no PID, item can be delivered
none -> lists:append([{U, S, R}], JIDs);
%% If PID ...
@@ -3283,7 +3283,7 @@ broadcast(Host, Node, NodeId, Type, NodeOptions, Notify, Condition, Stanza, SHIM
broadcast({U, S, R}, Node, NodeId, Type, NodeOptions, Subscriptions, Stanza, SHIM) ->
broadcast(S, Node, NodeId, Type, NodeOptions, Subscriptions, Stanza, SHIM)
- or case ejabberd_sm:get_session_pid(U, S, user_resource(U, S, R)) of
+ or case ejabberd_sm:get_session_pid({U, S, user_resource(U, S, R)}) of
C2SPid when is_pid(C2SPid) ->
%% set the from address on the notification to the bare JID of the account owner
%% Also, add "replyto" if entity has presence subscription to the account owner
@@ -3424,7 +3424,7 @@ sub_with_options(JID, NodeId, SubId) ->
user_resources(User, Server) ->
ejabberd_sm:get_user_resources(User, Server).
-user_resource(User, Server, []) ->
+user_resource(User, Server, undefined) ->
case user_resources(User, Server) of
[R|_] -> R;
_ -> []
diff --git a/src/mod_pubsub/pubsub_odbc.patch b/src/mod_pubsub/pubsub_odbc.patch
index 2053393a7..499c7d6e7 100644
--- a/src/mod_pubsub/pubsub_odbc.patch
+++ b/src/mod_pubsub/pubsub_odbc.patch
@@ -1,5 +1,5 @@
---- mod_pubsub.erl 2011-02-21 12:07:31.000000000 +0100
-+++ mod_pubsub_odbc.erl 2011-02-21 12:07:50.000000000 +0100
+--- mod_pubsub.erl 2011-02-21 15:11:24.000000000 +0100
++++ mod_pubsub_odbc.erl 2011-02-21 15:12:03.000000000 +0100
@@ -42,7 +42,7 @@
%%% 6.2.3.1, 6.2.3.5, and 6.3. For information on subscription leases see
%%% XEP-0060 section 12.18.