~singpolyma/biboumi

ad5bd99618fd4f1ee92d48d90912d627187aaa11 — Florent Le Coz 7 years ago 5475d16
Properly send error response on presence stanzas
1 files changed, 9 insertions(+), 0 deletions(-)

M src/xmpp/biboumi_component.cpp
M src/xmpp/biboumi_component.cpp => src/xmpp/biboumi_component.cpp +9 -0
@@ 116,6 116,7 @@ void BiboumiComponent::handle_presence(const Stanza& stanza)
                              error_type, error_name, "");
        });

  try {
  if (iid.is_channel && !iid.get_server().empty())
    { // presence toward a MUC that corresponds to an irc channel, or a
      // dummy channel if iid.chan is empty


@@ 141,6 142,14 @@ void BiboumiComponent::handle_presence(const Stanza& stanza)
      if (type.empty())
        this->send_invalid_room_error(to.local, to.resource, from);
    }
  }
  catch (const IRCNotConnected& ex)
    {
      this->send_stanza_error("presence", from, to_str, id,
                              "cancel", "remote-server-not-found",
                              "Not connected to IRC server "s + ex.hostname,
                              true);
    }
  stanza_error.disable();
}