Add device list and legacy verification commands

This commit is contained in:
Tulir Asokan
2020-07-24 21:47:22 +03:00
parent ecdd4f08cb
commit 77a1514c90
6 changed files with 386 additions and 95 deletions

View File

@ -162,6 +162,8 @@ func (c *Container) PasswordLogin(user, password string) error {
},
Password: password,
InitialDeviceDisplayName: "gomuks",
StoreCredentials: true,
})
if err != nil {
return err
@ -171,8 +173,6 @@ func (c *Container) PasswordLogin(user, password string) error {
}
func (c *Container) finishLogin(resp *mautrix.RespLogin) {
c.client.SetCredentials(resp.UserID, resp.AccessToken)
c.client.DeviceID = resp.DeviceID
c.config.UserID = resp.UserID
c.config.DeviceID = resp.DeviceID
c.config.AccessToken = resp.AccessToken
@ -218,6 +218,8 @@ func (c *Container) SingleSignOn() error {
Type: "m.login.token",
Token: loginToken,
InitialDeviceDisplayName: "gomuks",
StoreCredentials: true,
})
if err != nil {
respondHTML(w, http.StatusForbidden, err.Error())

View File

@ -73,6 +73,19 @@ func (cache *RoomCache) IsEncrypted(roomID id.RoomID) bool {
return room != nil && room.Encrypted
}
func (cache *RoomCache) GetEncryptionEvent(roomID id.RoomID) *event.EncryptionEventContent {
room := cache.Get(roomID)
evt := room.GetStateEvent(event.StateEncryption, "")
if evt == nil {
return nil
}
content, ok := evt.Content.Parsed.(*event.EncryptionEventContent)
if !ok {
return nil
}
return content
}
func (cache *RoomCache) FindSharedRooms(userID id.UserID) (shared []id.RoomID) {
// FIXME this disables unloading so TouchNode wouldn't try to double-lock
cache.DisableUnloading()