Make version requests work with global user JIDs as well

fix #3210
This commit is contained in:
louiz’
2016-10-03 21:35:16 +02:00
parent 45aebb8d8a
commit 28f1dd7654
3 changed files with 33 additions and 2 deletions
+1 -1
View File
@@ -713,7 +713,7 @@ void Bridge::send_irc_version_request(const std::string& irc_hostname, const std
if (irc_hostname != hostname)
return false;
IrcUser user(message.prefix);
if (message.command == "NOTICE" && user.nick == target &&
if (message.command == "NOTICE" && utils::tolower(user.nick) == utils::tolower(target) &&
message.arguments.size() >= 2 && message.arguments[1].substr(0, 9) == "\01VERSION ")
{
// remove the "\01VERSION " and the "\01" parts from the string
+2 -1
View File
@@ -412,7 +412,8 @@ void BiboumiComponent::handle_iq(const Stanza& stanza)
else if ((query = stanza.get_child("query", VERSION_NS)))
{
Iid iid(to.local, bridge);
if (iid.type != Iid::Type::Server && !to.resource.empty())
if ((iid.type == Iid::Type::Channel && !to.resource.empty()) ||
(iid.type == Iid::Type::User))
{
// Get the IRC user version
std::string target;