@@ -248,7 +248,7 @@ internal class MXMegolmDecryption(
248248 senderKey = forwardedRoomKeyContent.senderKey.orEmpty(),
249249 ).isEmpty()
250250
251- trusted = false
251+ trusted = forceAccept
252252
253253 if (! forceAccept && wasNotRequested) {
254254// val senderId = cryptoStore.deviceWithIdentityKey(event.getSenderKey().orEmpty())?.userId.orEmpty()
@@ -258,26 +258,25 @@ internal class MXMegolmDecryption(
258258 return
259259 }
260260
261- // Check who sent the request, as we requested we have the device keys (no need to download)
262- val sessionThatIsSharing = cryptoStore.deviceWithIdentityKey(eventSenderKey)
263- if (sessionThatIsSharing == null ) {
264- Timber .tag(loggerTag.value).w(" Ignoring forwarded_room_key from unknown device with identity $eventSenderKey " )
265- return
266- }
267- val isOwnDevice = myUserId == sessionThatIsSharing.userId
268- val isDeviceVerified = sessionThatIsSharing.isVerified
269- val isFromSessionInitiator = sessionThatIsSharing.identityKey() == sessionInitiatorSenderKey
270-
271- val isLegitForward = (isOwnDevice && isDeviceVerified) ||
272- (! cryptoConfig.limitRoomKeyRequestsToMyDevices && isFromSessionInitiator)
273-
274- val shouldAcceptForward = forceAccept || isLegitForward
275-
276- if (! shouldAcceptForward) {
277- Timber .tag(loggerTag.value)
261+ if (! forceAccept) {
262+ // Check who sent the request, as we requested we have the device keys (no need to download)
263+ val sessionThatIsSharing = cryptoStore.deviceWithIdentityKey(eventSenderKey)
264+ if (sessionThatIsSharing == null ) {
265+ Timber .tag(loggerTag.value).w(" Ignoring forwarded_room_key from unknown device with identity $eventSenderKey " )
266+ return
267+ }
268+ val isOwnDevice = myUserId == sessionThatIsSharing.userId
269+ val isDeviceVerified = sessionThatIsSharing.isVerified
270+ val isFromSessionInitiator = sessionThatIsSharing.identityKey() == sessionInitiatorSenderKey
271+
272+ val isLegitForward = (isOwnDevice && isDeviceVerified) ||
273+ (! cryptoConfig.limitRoomKeyRequestsToMyDevices && isFromSessionInitiator)
274+ if (! isLegitForward) {
275+ Timber .tag(loggerTag.value)
278276 .w(" Ignoring forwarded_room_key device:$eventSenderKey , ownVerified:{$isOwnDevice &&$isDeviceVerified }," +
279277 " fromInitiator:$isFromSessionInitiator " )
280- return
278+ return
279+ }
281280 }
282281 } else {
283282 // It's a m.room_key so safe
0 commit comments