mirror of
https://github.com/oxen-io/session-android.git
synced 2024-11-24 02:25:19 +00:00
fix: send new kp to each user individually vs target group
This commit is contained in:
parent
f45a285141
commit
8df2a8af01
@ -383,7 +383,7 @@ object ClosedGroupsProtocolV2 {
|
|||||||
pendingKeyPair[groupPublicKey] = Optional.absent()
|
pendingKeyPair[groupPublicKey] = Optional.absent()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun sendEncryptionKeyPair(context: Context, groupPublicKey: String, newKeyPair: ECKeyPair, targetMembers: Collection<String>, force: Boolean = true) {
|
private fun sendEncryptionKeyPair(context: Context, target: String, newKeyPair: ECKeyPair, targetMembers: Collection<String>, force: Boolean = true) {
|
||||||
val proto = SignalServiceProtos.KeyPair.newBuilder()
|
val proto = SignalServiceProtos.KeyPair.newBuilder()
|
||||||
proto.publicKey = ByteString.copyFrom(newKeyPair.publicKey.serialize().removing05PrefixIfNeeded())
|
proto.publicKey = ByteString.copyFrom(newKeyPair.publicKey.serialize().removing05PrefixIfNeeded())
|
||||||
proto.privateKey = ByteString.copyFrom(newKeyPair.privateKey.serialize())
|
proto.privateKey = ByteString.copyFrom(newKeyPair.privateKey.serialize())
|
||||||
@ -392,7 +392,7 @@ object ClosedGroupsProtocolV2 {
|
|||||||
val ciphertext = SessionProtocolImpl(context).encrypt(plaintext, publicKey)
|
val ciphertext = SessionProtocolImpl(context).encrypt(plaintext, publicKey)
|
||||||
ClosedGroupUpdateMessageSendJobV2.KeyPairWrapper(publicKey, ciphertext)
|
ClosedGroupUpdateMessageSendJobV2.KeyPairWrapper(publicKey, ciphertext)
|
||||||
}
|
}
|
||||||
val job = ClosedGroupUpdateMessageSendJobV2(groupPublicKey, ClosedGroupUpdateMessageSendJobV2.Kind.EncryptionKeyPair(wrappers), System.currentTimeMillis())
|
val job = ClosedGroupUpdateMessageSendJobV2(target, ClosedGroupUpdateMessageSendJobV2.Kind.EncryptionKeyPair(wrappers), System.currentTimeMillis())
|
||||||
if (force) {
|
if (force) {
|
||||||
job.setContext(context)
|
job.setContext(context)
|
||||||
job.onRun() // Run the job immediately
|
job.onRun() // Run the job immediately
|
||||||
@ -573,7 +573,9 @@ object ClosedGroupsProtocolV2 {
|
|||||||
if (encryptionKeyPair == null) {
|
if (encryptionKeyPair == null) {
|
||||||
Log.d("Loki", "Couldn't get encryption key pair for closed group.")
|
Log.d("Loki", "Couldn't get encryption key pair for closed group.")
|
||||||
} else {
|
} else {
|
||||||
sendEncryptionKeyPair(context, groupPublicKey, encryptionKeyPair, newMembers, false)
|
for (user in updateMembers) {
|
||||||
|
sendEncryptionKeyPair(context, user, encryptionKeyPair, newMembers, false)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user