From 986f591caa02a0f6a70db01e320cd80903fdc5c2 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Fri, 18 May 2018 16:42:25 -0700 Subject: [PATCH] ircd::m: Ignore my_host's signature when adding signatures. --- ircd/m/event.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ircd/m/event.cc b/ircd/m/event.cc index 61bb5f92e..c640ce74d 100644 --- a/ircd/m/event.cc +++ b/ircd/m/event.cc @@ -724,7 +724,7 @@ ircd::m::event::signatures(const mutable_buffer &out, } ircd::m::event -ircd::m::signatures(const mutable_buffer &out, +ircd::m::signatures(const mutable_buffer &out_, const m::event &event_) { thread_local char content[64_KiB]; @@ -759,9 +759,11 @@ ircd::m::signatures(const mutable_buffer &out, size_t i(0); sigs.at(i++) = my_sig; for(const auto &other : json::get<"signatures"_>(event_)) - sigs.at(i++) = { other.first, other.second }; + if(!my_host(unquote(other.first))) + sigs.at(i++) = { other.first, other.second }; - json::get<"signatures"_>(event) = json::stringify(mutable_buffer{out}, sigs.data(), sigs.data() + i); + mutable_buffer out{out_}; + json::get<"signatures"_>(event) = json::stringify(out, sigs.data(), sigs.data() + i); return event; }