~singpolyma/biboumi

7fe0dc2667229287ab9f1825e84403a25bc863fe — Florent Le Coz 7 years ago ad5bd99
Fix the case of the nick for ping requests

fix #3041
2 files changed, 3 insertions(+), 3 deletions(-)

M src/bridge/bridge.cpp
M src/irc/irc_client.cpp
M src/bridge/bridge.cpp => src/bridge/bridge.cpp +2 -2
@@ 409,13 409,13 @@ void Bridge::send_irc_user_ping_request(const std::string& irc_hostname, const s
  Iid iid(nick + "!" + irc_hostname);
  this->send_private_message(iid, "\01PING " + iq_id + "\01");

  irc_responder_callback_t cb = [this, nick, iq_id, to_jid, irc_hostname, from_jid](const std::string& hostname, const IrcMessage& message) -> bool
  irc_responder_callback_t cb = [this, nick=utils::tolower(nick), iq_id, to_jid, irc_hostname, from_jid](const std::string& hostname, const IrcMessage& message) -> bool
    {
      if (irc_hostname != hostname)
        return false;
      IrcUser user(message.prefix);
      const std::string body = message.arguments[1];
      if (message.command == "NOTICE" && user.nick == nick &&
      if (message.command == "NOTICE" && utils::tolower(user.nick) == nick &&
          message.arguments.size() >= 2 && body.substr(0, 6) == "\01PING ")
        {
          const std::string id = body.substr(6, body.size() - 6);

M src/irc/irc_client.cpp => src/irc/irc_client.cpp +1 -1
@@ 452,7 452,7 @@ void IrcClient::on_channel_message(const IrcMessage& message)
      else if (body.substr(1, 8) == "VERSION\01")
        this->bridge->send_iq_version_request(nick, this->hostname);
      else if (body.substr(1, 5) == "PING ")
        this->bridge->send_xmpp_ping_request(nick, this->hostname,
        this->bridge->send_xmpp_ping_request(utils::tolower(nick), this->hostname,
                                             body.substr(6, body.size() - 7));
    }
  else