diff options
-rw-r--r-- | .codecov.yml | 3 | ||||
-rw-r--r-- | CMakeLists.txt | 6 | ||||
-rw-r--r-- | packaging/biboumi.spec.cmake | 3 | ||||
-rw-r--r-- | src/xmpp/biboumi_component.cpp | 5 | ||||
-rw-r--r-- | tests/end_to_end/__main__.py | 15 |
5 files changed, 25 insertions, 7 deletions
diff --git a/.codecov.yml b/.codecov.yml deleted file mode 100644 index 74ba41b..0000000 --- a/.codecov.yml +++ /dev/null @@ -1,3 +0,0 @@ -codecov: - ignore: - - "tests" diff --git a/CMakeLists.txt b/CMakeLists.txt index b31d718..f30037c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,9 +2,9 @@ cmake_minimum_required(VERSION 3.0) project(biboumi) -set(${PROJECT_NAME}_VERSION_MAJOR 7) -set(${PROJECT_NAME}_VERSION_MINOR 1) -set(${PROJECT_NAME}_VERSION_SUFFIX "") +set(${PROJECT_NAME}_VERSION_MAJOR 8) +set(${PROJECT_NAME}_VERSION_MINOR 0) +set(${PROJECT_NAME}_VERSION_SUFFIX "~dev") if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "Debug" CACHE STRING diff --git a/packaging/biboumi.spec.cmake b/packaging/biboumi.spec.cmake index 0bb0db8..eeec557 100644 --- a/packaging/biboumi.spec.cmake +++ b/packaging/biboumi.spec.cmake @@ -63,6 +63,9 @@ make check %{?_smp_mflags} %changelog +* ${RPM_DATE} Le Coz Florent <louiz@louiz.org> - ${RPM_VERSION}-1 +- Build latest git revision + * Wed Jan 22 2018 Le Coz Florent <louiz@louiz.org> - 7.1-1 Update to version 7.1 diff --git a/src/xmpp/biboumi_component.cpp b/src/xmpp/biboumi_component.cpp index 8775869..a0e52e6 100644 --- a/src/xmpp/biboumi_component.cpp +++ b/src/xmpp/biboumi_component.cpp @@ -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())) diff --git a/tests/end_to_end/__main__.py b/tests/end_to_end/__main__.py index 649e073..e223ead 100644 --- a/tests/end_to_end/__main__.py +++ b/tests/end_to_end/__main__.py @@ -2254,6 +2254,21 @@ if __name__ == '__main__': "/iq/disco_items:query/disco_items:item[@jid='#bar%{irc_server_one}']" )) ]), + Scenario("channel_list_escaping", + [ + handshake_sequence(), + + partial(send_stanza, + "<presence from='{jid_one}/{resource_one}' to='#true\\2ffalse%{irc_server_one}/{nick_one}' />"), + connection_sequence("irc.localhost", '{jid_one}/{resource_one}'), + partial(expect_stanza, + "/message/body[text()='Mode #true/false [+nt] by {irc_host_one}']"), + partial(expect_stanza, + ("/presence[@to='{jid_one}/{resource_one}'][@from='#true\\2ffalse%{irc_server_one}/{nick_one}']/muc_user:x/muc_user:item[@affiliation='admin'][@role='moderator']", + "/presence/muc_user:x/muc_user:status[@code='110']") + ), + partial(expect_stanza, "/message[@from='#true\\2ffalse%{irc_server_one}'][@type='groupchat']/subject[not(text())]"), + ]), Scenario("channel_list_with_rsm", [ handshake_sequence(), |