mirror of
https://github.com/matrix-org/dendrite.git
synced 2026-01-09 23:23:10 -06:00
Move creation of pseudo ID keys to the roomserver
This commit is contained in:
parent
88b0f6a053
commit
6697f4377d
|
|
@ -454,25 +454,6 @@ func buildMembershipEvent(
|
|||
return nil, err
|
||||
}
|
||||
|
||||
// If we're inviting a local user, we can generate the needed key here.
|
||||
if targetSenderID == "" && cfg.Matrix.IsLocalServerName(targetID.Domain()) { // todo: remove
|
||||
var roomVersion gomatrixserverlib.RoomVersion
|
||||
roomVersion, err = rsAPI.QueryRoomVersionForRoom(ctx, roomID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
switch roomVersion {
|
||||
case gomatrixserverlib.RoomVersionPseudoIDs:
|
||||
var key ed25519.PrivateKey
|
||||
key, err = rsAPI.GetOrCreateUserRoomPrivateKey(ctx, *targetID, *validRoomID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
targetSenderID = spec.SenderIDFromPseudoIDKey(key)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
identity, err := rsAPI.SigningIdentityFor(ctx, *validRoomID, *userID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
|
|
|||
|
|
@ -153,6 +153,23 @@ func (r *Inviter) PerformInvite(
|
|||
}
|
||||
isTargetLocal := r.Cfg.Matrix.IsLocalServerName(invitedUser.Domain())
|
||||
|
||||
// If we're inviting a local user, we can generate the needed pseudoID key here. (if needed)
|
||||
if isTargetLocal {
|
||||
var roomVersion gomatrixserverlib.RoomVersion
|
||||
roomVersion, err = r.DB.GetRoomVersion(ctx, event.RoomID())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
switch roomVersion {
|
||||
case gomatrixserverlib.RoomVersionPseudoIDs:
|
||||
_, err = r.RSAPI.GetOrCreateUserRoomPrivateKey(ctx, *invitedUser, *validRoomID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
invitedSenderID, err := r.RSAPI.QuerySenderIDForUser(ctx, *validRoomID, *invitedUser)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed looking up senderID for invited user")
|
||||
|
|
|
|||
Loading…
Reference in a new issue