diff --git a/crypto.go b/crypto.go index 1bc7536..ee05cc2 100644 --- a/crypto.go +++ b/crypto.go @@ -107,7 +107,7 @@ func (helper *CryptoHelper) allowKeyShare(device *crypto.DeviceIdentity, info ev return &crypto.KeyShareRejection{Code: event.RoomKeyWithheldUnavailable, Reason: "Requested room is not a portal room"} } user := helper.bridge.GetUserByMXID(device.UserID) - if !user.IsInPortal(portal.Key) { + if !user.Admin && !user.IsInPortal(portal.Key) { helper.log.Debugfln("Rejecting key request for %s from %s/%s: user is not in portal", info.SessionID, device.UserID, device.DeviceID) return &crypto.KeyShareRejection{Code: event.RoomKeyWithheldUnauthorized, Reason: "You're not in that portal"} }