From 1491cf24f67d81add657d401ebc0744a4523242f Mon Sep 17 00:00:00 2001 From: Stu Tomlinson Date: Fri, 9 Feb 2018 13:23:32 +0000 Subject: [PATCH] Pubsub fixes Add 'pubsub:delete' support Make 'subid' optional on pubsub:unsubscribe (ie. when unsubscribing self) --- src/tsung/ts_jabber_common.erl | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/tsung/ts_jabber_common.erl b/src/tsung/ts_jabber_common.erl index d2349b7e9..80d3903b1 100644 --- a/src/tsung/ts_jabber_common.erl +++ b/src/tsung/ts_jabber_common.erl @@ -191,6 +191,9 @@ get_message(Jabber=#jabber{type = 'raw'}) -> get_message(#jabber{type = 'pubsub:create', username=Username, node=Node, node_type=NodeType, data = Data, pubsub_service = PubSubComponent, domain = Domain}) -> create_pubsub_node(Domain, PubSubComponent, Username, Node, NodeType, Data); +get_message(#jabber{type = 'pubsub:delete', username=Username, node=Node, + pubsub_service = PubSubComponent, domain = Domain}) -> + delete_pubsub_node(Domain, PubSubComponent, Username, Node); %% For node subscription, data contain the pubsub nodename (relative to user %% hierarchy or absolute) get_message(#jabber{type = 'pubsub:subscribe', id=Id, username=UserFrom, user_server=UserServer, @@ -645,6 +648,23 @@ pubsub_node_type(undefined) -> pubsub_node_type(Type) when is_list(Type) -> [" type='", Type, "' "]. +pubsub_subid(undefined) -> ""; +pubsub_subid(SubId) when is_list(SubId) -> + [" subid='", SubId, "' "]. + +%%%---------------------------------------------------------------------- +%%% Func: delete_pubsub_node/4 +%%% Delete a pubsub node: Generate XML packet +%%% Nodenames are relative to the User pubsub hierarchy (ejabberd); they are +%%% absolute with leading slash. +%%%---------------------------------------------------------------------- +delete_pubsub_node(Domain, PubSubComponent,Username, Node) -> + list_to_binary(["" + "" + ""]). + %%%---------------------------------------------------------------------- %%% Func: subscribe_pubsub_node/4 %%% Subscribe to a pubsub node: Generate XML packet @@ -677,7 +697,7 @@ unsubscribe_pubsub_node(Domain, PubSubComponent, UserFrom, UserTo, Node, SubId) "", "", ""]).