summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlouiz’ <louiz@louiz.org>2017-06-23 15:05:07 +0200
committerlouiz’ <louiz@louiz.org>2017-07-16 00:16:43 +0200
commit368bb82818d4b68e4984698ea4454091ecb049a2 (patch)
treec4bc9a90bfc43904dd3bc626264ff47561f88fd6
parent7e5cd2f13036b61781e1799565597ab798b50a74 (diff)
downloadbiboumi-368bb82818d4b68e4984698ea4454091ecb049a2.tar.gz
biboumi-368bb82818d4b68e4984698ea4454091ecb049a2.tar.bz2
biboumi-368bb82818d4b68e4984698ea4454091ecb049a2.tar.xz
biboumi-368bb82818d4b68e4984698ea4454091ecb049a2.zip
Send an additional unsubscribed presence when receiving an unsubscribe one
-rw-r--r--src/xmpp/biboumi_component.cpp1
-rw-r--r--tests/end_to_end/__main__.py2
2 files changed, 3 insertions, 0 deletions
diff --git a/src/xmpp/biboumi_component.cpp b/src/xmpp/biboumi_component.cpp
index 263b7bd..91e92aa 100644
--- a/src/xmpp/biboumi_component.cpp
+++ b/src/xmpp/biboumi_component.cpp
@@ -181,6 +181,7 @@ void BiboumiComponent::handle_presence(const Stanza& stanza)
else if (type == "unsubscribe")
{
this->send_presence_to_contact(to_str, from.bare(), "unavailable", id);
+ this->send_presence_to_contact(to_str, from.bare(), "unsubscribed");
this->send_presence_to_contact(to_str, from.bare(), "unsubscribe");
#ifdef USE_DATABASE
const bool res = Database::has_roster_item(to_str, from.bare());
diff --git a/tests/end_to_end/__main__.py b/tests/end_to_end/__main__.py
index a718a63..2957820 100644
--- a/tests/end_to_end/__main__.py
+++ b/tests/end_to_end/__main__.py
@@ -2692,8 +2692,10 @@ if __name__ == '__main__':
# Unsubscribe
partial(send_stanza, "<presence from='{jid_one}' to='{biboumi_host}' type='unsubscribe' id='unsubid1' />"),
partial(expect_stanza, "/presence[@type='unavailable']"),
+ partial(expect_stanza, "/presence[@type='unsubscribed']"),
partial(expect_stanza, "/presence[@type='unsubscribe']"),
partial(send_stanza, "<presence from='{jid_one}' to='{biboumi_host}' type='unavailable' />"),
+ partial(send_stanza, "<presence from='{jid_one}' to='{biboumi_host}' type='unsubscribed' />"),
])
)