From a6814dd6961f8d6e559d1912dabb9c507c424d24 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Mon, 5 Mar 2018 00:53:59 -0800 Subject: [PATCH] ircd::m: Unconditionally use a hash of user's mxid for user_room. --- ircd/m/user.cc | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/ircd/m/user.cc b/ircd/m/user.cc index 52cc2de64..dc78b01ee 100644 --- a/ircd/m/user.cc +++ b/ircd/m/user.cc @@ -158,30 +158,19 @@ ircd::m::id::room::buf ircd::m::user::room_id() const { - char buf[256]; - return room_id(buf); + ircd::m::id::room::buf buf; + return buf.assigned(room_id(buf)); } -/// Generates a room MXID of the following form: `!@user:host` If the user -/// is on my_host(), then the room localpart is literally "!@user" but if -/// the user is not on my_host, the full user_id is hashed and the room_id -/// is the b58 hash on my_host. -/// -/// This is the "user's room" essentially serving as a database mechanism for -/// this specific user. +/// This generates a room mxid for the "user's room" essentially serving as +/// a database mechanism for this specific user. This room_id is a hash of +/// the user's full mxid. /// ircd::m::id::room ircd::m::user::room_id(const mutable_buffer &buf) const { assert(!empty(user_id)); - - if(my(user_id)) - return - { - buf, user_id.local(), my_host() - }; - const sha256::buf hash { sha256{user_id}