summaryrefslogtreecommitdiff
path: root/src/xmpp
diff options
context:
space:
mode:
authorlouiz’ <louiz@louiz.org>2017-07-11 19:52:09 +0200
committerlouiz’ <louiz@louiz.org>2017-07-16 00:16:43 +0200
commit50a2bd736ef76f7ebb7067372d5f89b59a337bec (patch)
tree4dd6a8d693c10e6b56a4c6c170c391399982107d /src/xmpp
parentbefdefd98712c940637b9913f895259e7f1952bb (diff)
downloadbiboumi-50a2bd736ef76f7ebb7067372d5f89b59a337bec.tar.gz
biboumi-50a2bd736ef76f7ebb7067372d5f89b59a337bec.tar.bz2
biboumi-50a2bd736ef76f7ebb7067372d5f89b59a337bec.tar.xz
biboumi-50a2bd736ef76f7ebb7067372d5f89b59a337bec.zip
Answer to presences of type='probe'
Diffstat (limited to 'src/xmpp')
-rw-r--r--src/xmpp/biboumi_component.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/xmpp/biboumi_component.cpp b/src/xmpp/biboumi_component.cpp
index b951629..ab66519 100644
--- a/src/xmpp/biboumi_component.cpp
+++ b/src/xmpp/biboumi_component.cpp
@@ -188,6 +188,12 @@ void BiboumiComponent::handle_presence(const Stanza& stanza)
Database::delete_roster_item(to_str, from.bare());
#endif
}
+ else if (type == "probe")
+ {
+ if ((iid.type == Iid::Type::Server && bridge->find_irc_client(iid.get_server())) ||
+ iid.type == Iid::Type::None)
+ this->send_presence_to_contact(to_str, from.bare(), "");
+ }
else if (type.empty())
{ // We just receive a presence from someone (as the result of a probe,
// or a directed presence, or a normal presence change)