Merge branch 'krille/decrypt-last-event' into 'main'
fix: Decrypt of last event might make an old message as last event See merge request famedly/company/frontend/famedlysdk!1110
This commit is contained in:
commit
a536a7ea8b
|
|
@ -183,9 +183,14 @@ class KeyManager {
|
||||||
final room = client.getRoomById(roomId);
|
final room = client.getRoomById(roomId);
|
||||||
if (room != null) {
|
if (room != null) {
|
||||||
// attempt to decrypt the last event
|
// attempt to decrypt the last event
|
||||||
final event = room.getState(EventTypes.Encrypted);
|
final event = room.lastEvent;
|
||||||
if (event != null && event.content['session_id'] == sessionId) {
|
if (event != null &&
|
||||||
room.setState(encryption.decryptRoomEventSync(roomId, event));
|
event.type == EventTypes.Encrypted &&
|
||||||
|
event.content['session_id'] == sessionId) {
|
||||||
|
final decrypted = encryption.decryptRoomEventSync(roomId, event);
|
||||||
|
if (decrypted.type != EventTypes.Encrypted) {
|
||||||
|
room.setState(decrypted);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// and finally broadcast the new session
|
// and finally broadcast the new session
|
||||||
room.onSessionKeyReceived.add(sessionId);
|
room.onSessionKeyReceived.add(sessionId);
|
||||||
|
|
@ -887,7 +892,11 @@ class KeyManager {
|
||||||
// we *received* an incoming key request
|
// we *received* an incoming key request
|
||||||
final encryptedContent = event.encryptedContent;
|
final encryptedContent = event.encryptedContent;
|
||||||
if (encryptedContent == null) {
|
if (encryptedContent == null) {
|
||||||
return; // event wasn't encrypted, this is a security risk
|
Logs().w(
|
||||||
|
'Ignoring an unencrypted forwarded key from a to device message',
|
||||||
|
event.toJson(),
|
||||||
|
);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
final request = outgoingShareRequests.values.firstWhereOrNull((r) =>
|
final request = outgoingShareRequests.values.firstWhereOrNull((r) =>
|
||||||
r.room.id == event.content['room_id'] &&
|
r.room.id == event.content['room_id'] &&
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue