Fix senderID/key conversions

This commit is contained in:
Devon Hudson 2023-06-14 16:42:09 +01:00
parent e4665979bf
commit 5aaa539e3e
No known key found for this signature in database
GPG key ID: CD06B18E77F6A628
3 changed files with 5 additions and 3 deletions

View file

@ -16,6 +16,7 @@ package perform
import ( import (
"context" "context"
"crypto/ed25519"
"encoding/json" "encoding/json"
"fmt" "fmt"
"net/http" "net/http"
@ -74,7 +75,7 @@ func (c *Creator) PerformCreateRoom(ctx context.Context, userID spec.UserID, roo
JSON: spec.InternalServerError{}, JSON: spec.InternalServerError{},
} }
} }
senderID = spec.SenderID(spec.Base64Bytes(key).Encode()) senderID = spec.SenderID(spec.Base64Bytes(key.Public().(ed25519.PublicKey)).Encode())
} else { } else {
senderID = spec.SenderID(userID.String()) senderID = spec.SenderID(userID.String())
} }

View file

@ -145,7 +145,7 @@ func (s *userRoomKeysStatements) BulkSelectUserNIDs(ctx context.Context, txn *sq
if err = rows.Scan(&userRoomKeyPair.EventStateKeyNID, &userRoomKeyPair.RoomNID, &publicKey); err != nil { if err = rows.Scan(&userRoomKeyPair.EventStateKeyNID, &userRoomKeyPair.RoomNID, &publicKey); err != nil {
return nil, err return nil, err
} }
result[string(publicKey)] = userRoomKeyPair result[spec.Base64Bytes(publicKey).Encode()] = userRoomKeyPair
} }
return result, rows.Err() return result, rows.Err()
} }

View file

@ -25,6 +25,7 @@ import (
"github.com/matrix-org/dendrite/internal/sqlutil" "github.com/matrix-org/dendrite/internal/sqlutil"
"github.com/matrix-org/dendrite/roomserver/storage/tables" "github.com/matrix-org/dendrite/roomserver/storage/tables"
"github.com/matrix-org/dendrite/roomserver/types" "github.com/matrix-org/dendrite/roomserver/types"
"github.com/matrix-org/gomatrixserverlib/spec"
) )
const userRoomKeysSchema = ` const userRoomKeysSchema = `
@ -159,7 +160,7 @@ func (s *userRoomKeysStatements) BulkSelectUserNIDs(ctx context.Context, txn *sq
if err = rows.Scan(&userRoomKeyPair.EventStateKeyNID, &userRoomKeyPair.RoomNID, &publicKey); err != nil { if err = rows.Scan(&userRoomKeyPair.EventStateKeyNID, &userRoomKeyPair.RoomNID, &publicKey); err != nil {
return nil, err return nil, err
} }
result[string(publicKey)] = userRoomKeyPair result[spec.Base64Bytes(publicKey).Encode()] = userRoomKeyPair
} }
return result, rows.Err() return result, rows.Err()
} }