mirror of
https://github.com/element-hq/element-android
synced 2024-11-28 05:31:21 +03:00
Merge pull request #1203 from vector-im/feature/fix_e2e_null_alg
Feature/fix e2e null alg
This commit is contained in:
commit
50a8ffeca1
6 changed files with 4 additions and 235 deletions
|
@ -14,6 +14,7 @@ Bugfix 🐛:
|
|||
- Missing avatar/displayname after verification request message (#841)
|
||||
- Crypto | RiotX sometimes rotate the current device keys (#1170)
|
||||
- RiotX can't restore cross signing keys saved by web in SSSS (#1174)
|
||||
- Failed to encrypt message in room (message stays in red), [thanks to pwr22] (#925)
|
||||
|
||||
Translations 🗣:
|
||||
-
|
||||
|
|
|
@ -792,10 +792,11 @@ internal class DefaultCryptoService @Inject constructor(
|
|||
val params = LoadRoomMembersTask.Params(roomId)
|
||||
try {
|
||||
loadRoomMembersTask.execute(params)
|
||||
val userIds = getRoomUserIds(roomId)
|
||||
setEncryptionInRoom(roomId, event.content?.get("algorithm")?.toString(), true, userIds)
|
||||
} catch (throwable: Throwable) {
|
||||
Timber.e(throwable, "## onRoomEncryptionEvent ERROR FAILED TO SETUP CRYPTO ")
|
||||
} finally {
|
||||
val userIds = getRoomUserIds(roomId)
|
||||
setEncryptionInRoom(roomId, event.content?.get("algorithm")?.toString(), true, userIds)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,56 +0,0 @@
|
|||
// /*
|
||||
// * Copyright 2018 New Vector Ltd
|
||||
// *
|
||||
// * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// * you may not use this file except in compliance with the License.
|
||||
// * You may obtain a copy of the License at
|
||||
// *
|
||||
// * http://www.apache.org/licenses/LICENSE-2.0
|
||||
// *
|
||||
// * Unless required by applicable law or agreed to in writing, software
|
||||
// * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// * See the License for the specific language governing permissions and
|
||||
// * limitations under the License.
|
||||
// */
|
||||
//
|
||||
// package im.vector.matrix.android.internal.crypto.store.db.model
|
||||
//
|
||||
// import im.vector.matrix.android.internal.crypto.IncomingRoomKeyRequest
|
||||
// import im.vector.matrix.android.internal.crypto.model.rest.RoomKeyRequestBody
|
||||
// import io.realm.RealmObject
|
||||
//
|
||||
// internal open class IncomingRoomKeyRequestEntity(
|
||||
// var requestId: String? = null,
|
||||
// var userId: String? = null,
|
||||
// var deviceId: String? = null,
|
||||
// // RoomKeyRequestBody fields
|
||||
// var requestBodyAlgorithm: String? = null,
|
||||
// var requestBodyRoomId: String? = null,
|
||||
// var requestBodySenderKey: String? = null,
|
||||
// var requestBodySessionId: String? = null
|
||||
// ) : RealmObject() {
|
||||
//
|
||||
// fun toIncomingRoomKeyRequest(): IncomingRoomKeyRequest {
|
||||
// return IncomingRoomKeyRequest(
|
||||
// requestId = requestId,
|
||||
// userId = userId,
|
||||
// deviceId = deviceId,
|
||||
// requestBody = RoomKeyRequestBody(
|
||||
// algorithm = requestBodyAlgorithm,
|
||||
// roomId = requestBodyRoomId,
|
||||
// senderKey = requestBodySenderKey,
|
||||
// sessionId = requestBodySessionId
|
||||
// )
|
||||
// )
|
||||
// }
|
||||
//
|
||||
// fun putRequestBody(requestBody: RoomKeyRequestBody?) {
|
||||
// requestBody?.let {
|
||||
// requestBodyAlgorithm = it.algorithm
|
||||
// requestBodyRoomId = it.roomId
|
||||
// requestBodySenderKey = it.senderKey
|
||||
// requestBodySessionId = it.sessionId
|
||||
// }
|
||||
// }
|
||||
// }
|
|
@ -1,37 +0,0 @@
|
|||
// /*
|
||||
// * Copyright (c) 2020 New Vector Ltd
|
||||
// *
|
||||
// * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// * you may not use this file except in compliance with the License.
|
||||
// * You may obtain a copy of the License at
|
||||
// *
|
||||
// * http://www.apache.org/licenses/LICENSE-2.0
|
||||
// *
|
||||
// * Unless required by applicable law or agreed to in writing, software
|
||||
// * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// * See the License for the specific language governing permissions and
|
||||
// * limitations under the License.
|
||||
// */
|
||||
//
|
||||
// package im.vector.matrix.android.internal.crypto.store.db.model
|
||||
//
|
||||
// import im.vector.matrix.android.internal.crypto.IncomingSecretShareRequest
|
||||
// import io.realm.RealmObject
|
||||
//
|
||||
// internal open class IncomingSecretRequestEntity(
|
||||
// var requestId: String? = null,
|
||||
// var userId: String? = null,
|
||||
// var deviceId: String? = null,
|
||||
// var secretName: String? = null
|
||||
// ) : RealmObject() {
|
||||
//
|
||||
// fun toIncomingSecretShareRequest(): IncomingSecretShareRequest {
|
||||
// return IncomingSecretShareRequest(
|
||||
// requestId = requestId,
|
||||
// userId = userId,
|
||||
// deviceId = deviceId,
|
||||
// secretName = secretName
|
||||
// )
|
||||
// }
|
||||
// }
|
|
@ -1,77 +0,0 @@
|
|||
// /*
|
||||
// * Copyright 2018 New Vector Ltd
|
||||
// *
|
||||
// * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// * you may not use this file except in compliance with the License.
|
||||
// * You may obtain a copy of the License at
|
||||
// *
|
||||
// * http://www.apache.org/licenses/LICENSE-2.0
|
||||
// *
|
||||
// * Unless required by applicable law or agreed to in writing, software
|
||||
// * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// * See the License for the specific language governing permissions and
|
||||
// * limitations under the License.
|
||||
// */
|
||||
//
|
||||
// package im.vector.matrix.android.internal.crypto.store.db.model
|
||||
//
|
||||
// import im.vector.matrix.android.internal.crypto.OutgoingRoomKeyRequest
|
||||
// import im.vector.matrix.android.internal.crypto.ShareRequestState
|
||||
// import im.vector.matrix.android.internal.crypto.model.rest.RoomKeyRequestBody
|
||||
// import im.vector.matrix.android.internal.crypto.store.db.deserializeFromRealm
|
||||
// import im.vector.matrix.android.internal.crypto.store.db.serializeForRealm
|
||||
// import io.realm.RealmObject
|
||||
// import io.realm.annotations.PrimaryKey
|
||||
//
|
||||
// internal open class OutgoingRoomKeyRequestEntity(
|
||||
// @PrimaryKey var requestId: String? = null,
|
||||
// var cancellationTxnId: String? = null,
|
||||
// // Serialized Json
|
||||
// var recipientsData: String? = null,
|
||||
// // RoomKeyRequestBody fields
|
||||
// var requestBodyAlgorithm: String? = null,
|
||||
// var requestBodyRoomId: String? = null,
|
||||
// var requestBodySenderKey: String? = null,
|
||||
// var requestBodySessionId: String? = null,
|
||||
// // State
|
||||
// var state: Int = 0
|
||||
// ) : RealmObject() {
|
||||
//
|
||||
// /**
|
||||
// * Convert to OutgoingRoomKeyRequest
|
||||
// */
|
||||
// fun toOutgoingRoomKeyRequest(): OutgoingRoomKeyRequest {
|
||||
// val cancellationTxnId = this.cancellationTxnId
|
||||
// return OutgoingRoomKeyRequest(
|
||||
// RoomKeyRequestBody(
|
||||
// algorithm = requestBodyAlgorithm,
|
||||
// roomId = requestBodyRoomId,
|
||||
// senderKey = requestBodySenderKey,
|
||||
// sessionId = requestBodySessionId
|
||||
// ),
|
||||
// getRecipients()!!,
|
||||
// requestId!!,
|
||||
// ShareRequestState.from(state)
|
||||
// ).apply {
|
||||
// this.cancellationTxnId = cancellationTxnId
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private fun getRecipients(): List<Map<String, String>>? {
|
||||
// return deserializeFromRealm(recipientsData)
|
||||
// }
|
||||
//
|
||||
// fun putRecipients(recipients: List<Map<String, String>>?) {
|
||||
// recipientsData = serializeForRealm(recipients)
|
||||
// }
|
||||
//
|
||||
// fun putRequestBody(requestBody: RoomKeyRequestBody?) {
|
||||
// requestBody?.let {
|
||||
// requestBodyAlgorithm = it.algorithm
|
||||
// requestBodyRoomId = it.roomId
|
||||
// requestBodySenderKey = it.senderKey
|
||||
// requestBodySessionId = it.sessionId
|
||||
// }
|
||||
// }
|
||||
// }
|
|
@ -1,63 +0,0 @@
|
|||
// /*
|
||||
// * Copyright (c) 2020 New Vector Ltd
|
||||
// *
|
||||
// * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// * you may not use this file except in compliance with the License.
|
||||
// * You may obtain a copy of the License at
|
||||
// *
|
||||
// * http://www.apache.org/licenses/LICENSE-2.0
|
||||
// *
|
||||
// * Unless required by applicable law or agreed to in writing, software
|
||||
// * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// * See the License for the specific language governing permissions and
|
||||
// * limitations under the License.
|
||||
// */
|
||||
//
|
||||
// package im.vector.matrix.android.internal.crypto.store.db.model
|
||||
//
|
||||
// import im.vector.matrix.android.internal.crypto.OutgoingSecretRequest
|
||||
// import im.vector.matrix.android.internal.crypto.ShareRequestState
|
||||
// import im.vector.matrix.android.internal.crypto.store.db.deserializeFromRealm
|
||||
// import im.vector.matrix.android.internal.crypto.store.db.serializeForRealm
|
||||
// import io.realm.RealmObject
|
||||
// import io.realm.annotations.PrimaryKey
|
||||
//
|
||||
// internal open class OutgoingSecretRequestEntity(
|
||||
// @PrimaryKey var requestId: String? = null,
|
||||
// var cancellationTxnId: String? = null,
|
||||
// // Serialized Json
|
||||
// var recipientsData: String? = null,
|
||||
// // RoomKeyRequestBody fields
|
||||
// var secretName: String? = null,
|
||||
// // State
|
||||
// var state: Int = 0
|
||||
// ) : RealmObject() {
|
||||
//
|
||||
// /**
|
||||
// * Convert to OutgoingRoomKeyRequest
|
||||
// */
|
||||
// fun toOutgoingSecretRequest(): OutgoingSecretRequest {
|
||||
// val cancellationTxnId = this.cancellationTxnId
|
||||
// return OutgoingSecretRequest(
|
||||
// secretName,
|
||||
// getRecipients() ?: emptyList(),
|
||||
// requestId!!,
|
||||
// ShareRequestState.from(state)
|
||||
// ).apply {
|
||||
// this.cancellationTxnId = cancellationTxnId
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private fun getRecipients(): List<Map<String, String>>? {
|
||||
// return try {
|
||||
// deserializeFromRealm(recipientsData)
|
||||
// } catch (failure: Throwable) {
|
||||
// null
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// fun putRecipients(recipients: List<Map<String, String>>?) {
|
||||
// recipientsData = serializeForRealm(recipients)
|
||||
// }
|
||||
// }
|
Loading…
Reference in a new issue