diff options
author | Neil Alexander <neilalexander@users.noreply.github.com> | 2022-04-22 14:58:24 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-22 14:58:24 +0100 |
commit | 6d78c4d67d5096f5bb2c7cd56f15ab79949edc86 (patch) | |
tree | 82672307682813e28b4d4fbd39361111f049a4e5 /keyserver/storage/shared/storage.go | |
parent | c07f347f0054515a41834e171759569dc513187e (diff) |
Fix retrieving cross-signing signatures in `/user/devices/{userId}` (#2368)
* Fix retrieving cross-signing signatures in `/user/devices/{userId}`
We need to know the target device IDs in order to get the signatures and we weren't populating those.
* Fix up signature retrieval
* Fix SQLite
* Always include the target's own signatures as well as the requesting user
Diffstat (limited to 'keyserver/storage/shared/storage.go')
-rw-r--r-- | keyserver/storage/shared/storage.go | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/keyserver/storage/shared/storage.go b/keyserver/storage/shared/storage.go index 7ba0b3ea..0e587b5a 100644 --- a/keyserver/storage/shared/storage.go +++ b/keyserver/storage/shared/storage.go @@ -190,7 +190,7 @@ func (d *Database) CrossSigningKeysForUser(ctx context.Context, userID string) ( keyID: key, }, } - sigMap, err := d.CrossSigningSigsTable.SelectCrossSigningSigsForTarget(ctx, nil, userID, keyID) + sigMap, err := d.CrossSigningSigsTable.SelectCrossSigningSigsForTarget(ctx, nil, userID, userID, keyID) if err != nil { continue } @@ -219,8 +219,8 @@ func (d *Database) CrossSigningKeysDataForUser(ctx context.Context, userID strin } // CrossSigningSigsForTarget returns the signatures for a given user's key ID, if any. -func (d *Database) CrossSigningSigsForTarget(ctx context.Context, targetUserID string, targetKeyID gomatrixserverlib.KeyID) (types.CrossSigningSigMap, error) { - return d.CrossSigningSigsTable.SelectCrossSigningSigsForTarget(ctx, nil, targetUserID, targetKeyID) +func (d *Database) CrossSigningSigsForTarget(ctx context.Context, originUserID, targetUserID string, targetKeyID gomatrixserverlib.KeyID) (types.CrossSigningSigMap, error) { + return d.CrossSigningSigsTable.SelectCrossSigningSigsForTarget(ctx, nil, originUserID, targetUserID, targetKeyID) } // StoreCrossSigningKeysForUser stores the latest known cross-signing keys for a user. |