diff options
author | louiz’ <louiz@louiz.org> | 2018-03-18 19:37:41 +0100 |
---|---|---|
committer | louiz’ <louiz@louiz.org> | 2018-03-18 19:37:41 +0100 |
commit | 0de282a177baa0ed2d38a68715e78344172894ca (patch) | |
tree | 480de27e0cd5f09eefa5e74dd2e27ba1642cf97f | |
parent | 9500bfd4ccb21b261fd8204180d78553704f7acc (diff) | |
download | biboumi-0de282a177baa0ed2d38a68715e78344172894ca.tar.gz biboumi-0de282a177baa0ed2d38a68715e78344172894ca.tar.bz2 biboumi-0de282a177baa0ed2d38a68715e78344172894ca.tar.xz biboumi-0de282a177baa0ed2d38a68715e78344172894ca.zip |
Advertise the muc#stable_id feature on disco#info results
From XEP 0045:
“Note: the requirement to reflect the 'id' attribute was added in version
1.31 of this XEP. Servers following the new specification SHOULD advertise
that with a disco info feature of 'http://jabber.org/protocol/muc#stable_id'
on both the service domain and on individual MUCs, so that clients can check
for support.”
-rw-r--r-- | src/xmpp/biboumi_component.cpp | 6 | ||||
-rw-r--r-- | src/xmpp/xmpp_component.hpp | 1 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/xmpp/biboumi_component.cpp b/src/xmpp/biboumi_component.cpp index f35c7f4..f25aeea 100644 --- a/src/xmpp/biboumi_component.cpp +++ b/src/xmpp/biboumi_component.cpp @@ -915,7 +915,7 @@ void BiboumiComponent::send_self_disco_info(const std::string& id, const std::st identity["category"] = "conference"; identity["type"] = "irc"; identity["name"] = "Biboumi XMPP-IRC gateway"; - for (const char *ns: {DISCO_INFO_NS, MUC_NS, ADHOC_NS, PING_NS, MAM_NS, VERSION_NS}) + for (const char *ns: {DISCO_INFO_NS, MUC_NS, ADHOC_NS, PING_NS, MAM_NS, VERSION_NS, STABLE_MUC_ID_NS}) { XmlSubNode feature(query, "feature"); feature["var"] = ns; @@ -939,7 +939,7 @@ void BiboumiComponent::send_irc_server_disco_info(const std::string& id, const s identity["category"] = "conference"; identity["type"] = "irc"; identity["name"] = "IRC server " + from.local + " over Biboumi"; - for (const char *ns: {DISCO_INFO_NS, MUC_NS, ADHOC_NS, PING_NS, MAM_NS, VERSION_NS}) + for (const char *ns: {DISCO_INFO_NS, MUC_NS, ADHOC_NS, PING_NS, MAM_NS, VERSION_NS, STABLE_MUC_ID_NS}) { XmlSubNode feature(query, "feature"); feature["var"] = ns; @@ -982,7 +982,7 @@ void BiboumiComponent::send_irc_channel_disco_info(const std::string& id, const identity["category"] = "conference"; identity["type"] = "irc"; identity["name"] = "IRC channel " + iid.get_local() + " from server " + iid.get_server() + " over biboumi"; - for (const char *ns: {DISCO_INFO_NS, MUC_NS, ADHOC_NS, PING_NS, MAM_NS, VERSION_NS}) + for (const char *ns: {DISCO_INFO_NS, MUC_NS, ADHOC_NS, PING_NS, MAM_NS, VERSION_NS, STABLE_MUC_ID_NS}) { XmlSubNode feature(query, "feature"); feature["var"] = ns; diff --git a/src/xmpp/xmpp_component.hpp b/src/xmpp/xmpp_component.hpp index b11e56c..e18da40 100644 --- a/src/xmpp/xmpp_component.hpp +++ b/src/xmpp/xmpp_component.hpp @@ -37,6 +37,7 @@ #define RSM_NS "http://jabber.org/protocol/rsm" #define MUC_TRAFFIC_NS "http://jabber.org/protocol/muc#traffic" #define STABLE_ID_NS "urn:xmpp:sid:0" +#define STABLE_MUC_ID_NS "http://jabber.org/protocol/muc#stable_id" /** * An XMPP component, communicating with an XMPP server using the protocole |