xep-0106 escape the JIDs listed in a disco#items server query

fix #3325
This commit is contained in:
louiz’
2018-01-18 19:34:56 +01:00
parent 6e1af8b082
commit f371d9ca46
2 changed files with 19 additions and 1 deletions
+4 -1
View File
@@ -7,6 +7,7 @@
#include <xmpp/adhoc_command.hpp>
#include <xmpp/biboumi_adhoc_commands.hpp>
#include <bridge/list_element.hpp>
#include <utils/encoding.hpp>
#include <config/config.hpp>
#include <utils/time.hpp>
#include <xmpp/jid.hpp>
@@ -1010,7 +1011,9 @@ void BiboumiComponent::send_iq_room_list_result(const std::string& id, const std
for (auto it = begin; it != end; ++it)
{
XmlSubNode item(query, "item");
item["jid"] = it->channel + "@" + this->served_hostname;
std::string channel_name = it->channel;
xep0106::encode(channel_name);
item["jid"] = channel_name + "@" + this->served_hostname;
}
if ((rs_info.max >= 0 || !rs_info.after.empty() || !rs_info.before.empty()))