summaryrefslogtreecommitdiff
path: root/src/bridge/bridge.cpp
diff options
context:
space:
mode:
authorlouiz’ <louiz@louiz.org>2017-08-27 14:32:29 +0200
committerlouiz’ <louiz@louiz.org>2017-08-27 14:32:29 +0200
commit25243f53c2479e2fda0f1a05d1589c8214b70b4b (patch)
tree32f90dc7293661f2bb33d5e709f856ed707cb19b /src/bridge/bridge.cpp
parent2c717d347d796a2b007331c42d78146e156eaea0 (diff)
downloadbiboumi-25243f53c2479e2fda0f1a05d1589c8214b70b4b.tar.gz
biboumi-25243f53c2479e2fda0f1a05d1589c8214b70b4b.tar.bz2
biboumi-25243f53c2479e2fda0f1a05d1589c8214b70b4b.tar.xz
biboumi-25243f53c2479e2fda0f1a05d1589c8214b70b4b.zip
In fixed mode, server messages come from biboumi’s hostname directly
Instead of irc.example.com@biboumi, because that’s actually user named “irc.example.com”, in that case. And that fixes the raw messages in fixed mode. fix #3286
Diffstat (limited to 'src/bridge/bridge.cpp')
-rw-r--r--src/bridge/bridge.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/bridge/bridge.cpp b/src/bridge/bridge.cpp
index 9fd0a5b..b1685e0 100644
--- a/src/bridge/bridge.cpp
+++ b/src/bridge/bridge.cpp
@@ -932,7 +932,10 @@ void Bridge::send_xmpp_message(const std::string& from, const std::string& autho
const auto encoding = in_encoding_for(*this, {from, this});
for (const auto& resource: this->resources_in_server[from])
{
- this->xmpp.send_message(from, this->make_xmpp_body(body, encoding), this->user_jid + "/" + resource, "chat", false, false);
+ if (Config::get("fixed_irc_server", "").empty())
+ this->xmpp.send_message(from, this->make_xmpp_body(body, encoding), this->user_jid + "/" + resource, "chat", false, false);
+ else
+ this->xmpp.send_message("", this->make_xmpp_body(body, encoding), this->user_jid + "/" + resource, "chat", false, false);
}
}
@@ -947,7 +950,7 @@ void Bridge::send_user_join(const std::string& hostname, const std::string& chan
const Iid iid(chan_name, hostname, Iid::Type::Channel);
this->send_xmpp_invitation(iid, "");
}
- else
+ else
{
for (const auto& resource: resources)
this->send_user_join(hostname, chan_name, user, user_mode, self, resource);