Fix compilation of microbenchmarks.

This commit is contained in:
Greyson Parrelli
2023-10-05 14:17:54 -04:00
committed by Nicholas Tinsley
parent 7d5786ea93
commit 945921fa9a
2 changed files with 57 additions and 43 deletions

View File

@@ -142,6 +142,14 @@ class InMemorySignalServiceAccountDataStore : SignalServiceAccountDataStore {
kyberPreKeys.remove(kyberPreKeyId) kyberPreKeys.remove(kyberPreKeyId)
} }
override fun deleteAllStaleOneTimeEcPreKeys(threshold: Long, minCount: Int) {
error("Not used")
}
override fun markAllOneTimeEcPreKeysStaleIfNecessary(staleTime: Long) {
error("Not used")
}
override fun storeLastResortKyberPreKey(kyberPreKeyId: Int, kyberPreKeyRecord: KyberPreKeyRecord) { override fun storeLastResortKyberPreKey(kyberPreKeyId: Int, kyberPreKeyRecord: KyberPreKeyRecord) {
error("Not used") error("Not used")
} }
@@ -150,6 +158,14 @@ class InMemorySignalServiceAccountDataStore : SignalServiceAccountDataStore {
error("Not used") error("Not used")
} }
override fun markAllOneTimeKyberPreKeysStaleIfNecessary(staleTime: Long) {
error("Not used")
}
override fun deleteAllStaleOneTimeKyberPreKeys(threshold: Long, minCount: Int) {
error("Not used")
}
override fun loadLastResortKyberPreKeys(): List<KyberPreKeyRecord> { override fun loadLastResortKyberPreKeys(): List<KyberPreKeyRecord> {
error("Not used") error("Not used")
} }

View File

@@ -1,6 +1,6 @@
package org.signal.util package org.signal.util
import com.google.protobuf.ByteString import okio.ByteString.Companion.toByteString
import org.signal.libsignal.internal.Native import org.signal.libsignal.internal.Native
import org.signal.libsignal.internal.NativeHandleGuard import org.signal.libsignal.internal.NativeHandleGuard
import org.signal.libsignal.metadata.certificate.CertificateValidator import org.signal.libsignal.metadata.certificate.CertificateValidator
@@ -22,8 +22,10 @@ import org.whispersystems.signalservice.api.crypto.SignalServiceCipher
import org.whispersystems.signalservice.api.crypto.UnidentifiedAccess import org.whispersystems.signalservice.api.crypto.UnidentifiedAccess
import org.whispersystems.signalservice.api.push.ServiceId.ACI import org.whispersystems.signalservice.api.push.ServiceId.ACI
import org.whispersystems.signalservice.api.push.SignalServiceAddress import org.whispersystems.signalservice.api.push.SignalServiceAddress
import org.whispersystems.signalservice.internal.push.Content
import org.whispersystems.signalservice.internal.push.DataMessage
import org.whispersystems.signalservice.internal.push.Envelope
import org.whispersystems.signalservice.internal.push.OutgoingPushMessage import org.whispersystems.signalservice.internal.push.OutgoingPushMessage
import org.whispersystems.signalservice.internal.push.SignalServiceProtos
import org.whispersystems.signalservice.internal.util.Util import org.whispersystems.signalservice.internal.util.Util
import org.whispersystems.util.Base64 import org.whispersystems.util.Base64
import java.util.Optional import java.util.Optional
@@ -78,17 +80,15 @@ class SignalClient {
SessionBuilder(store, address).process(to.preKeyBundle) SessionBuilder(store, address).process(to.preKeyBundle)
} }
fun encryptUnsealedSender(to: SignalClient): SignalServiceProtos.Envelope { fun encryptUnsealedSender(to: SignalClient): Envelope {
val sentTimestamp = System.currentTimeMillis() val sentTimestamp = System.currentTimeMillis()
val message = SignalServiceProtos.DataMessage.newBuilder() val content = Content(
.setBody("Test Message") dataMessage = DataMessage(
.setTimestamp(sentTimestamp) body = "Test Message",
.build() timestamp = sentTimestamp
)
val content = SignalServiceProtos.Content.newBuilder() )
.setDataMessage(message)
.build()
val outgoingPushMessage: OutgoingPushMessage = cipher.encrypt( val outgoingPushMessage: OutgoingPushMessage = cipher.encrypt(
SignalProtocolAddress(to.aci.toString(), 1), SignalProtocolAddress(to.aci.toString(), 1),
@@ -98,30 +98,28 @@ class SignalClient {
val encryptedContent: ByteArray = Base64.decode(outgoingPushMessage.content) val encryptedContent: ByteArray = Base64.decode(outgoingPushMessage.content)
return SignalServiceProtos.Envelope.newBuilder() return Envelope(
.setSourceServiceId(aci.toString()) sourceServiceId = aci.toString(),
.setSourceDevice(1) sourceDevice = 1,
.setDestinationServiceId(to.aci.toString()) destinationServiceId = to.aci.toString(),
.setTimestamp(sentTimestamp) timestamp = sentTimestamp,
.setServerTimestamp(sentTimestamp) serverTimestamp = sentTimestamp,
.setServerGuid(UUID.randomUUID().toString()) serverGuid = UUID.randomUUID().toString(),
.setType(SignalServiceProtos.Envelope.Type.valueOf(outgoingPushMessage.type)) type = Envelope.Type.fromValue(outgoingPushMessage.type),
.setUrgent(true) urgent = true,
.setContent(ByteString.copyFrom(encryptedContent)) content = encryptedContent.toByteString()
.build() )
} }
fun encryptSealedSender(to: SignalClient): SignalServiceProtos.Envelope { fun encryptSealedSender(to: SignalClient): Envelope {
val sentTimestamp = System.currentTimeMillis() val sentTimestamp = System.currentTimeMillis()
val message = SignalServiceProtos.DataMessage.newBuilder() val content = Content(
.setBody("Test Message") dataMessage = DataMessage(
.setTimestamp(sentTimestamp) body = "Test Message",
.build() timestamp = sentTimestamp
)
val content = SignalServiceProtos.Content.newBuilder() )
.setDataMessage(message)
.build()
val outgoingPushMessage: OutgoingPushMessage = cipher.encrypt( val outgoingPushMessage: OutgoingPushMessage = cipher.encrypt(
SignalProtocolAddress(to.aci.toString(), 1), SignalProtocolAddress(to.aci.toString(), 1),
@@ -131,20 +129,20 @@ class SignalClient {
val encryptedContent: ByteArray = Base64.decode(outgoingPushMessage.content) val encryptedContent: ByteArray = Base64.decode(outgoingPushMessage.content)
return SignalServiceProtos.Envelope.newBuilder() return Envelope(
.setSourceServiceId(aci.toString()) sourceServiceId = aci.toString(),
.setSourceDevice(1) sourceDevice = 1,
.setDestinationServiceId(to.aci.toString()) destinationServiceId = to.aci.toString(),
.setTimestamp(sentTimestamp) timestamp = sentTimestamp,
.setServerTimestamp(sentTimestamp) serverTimestamp = sentTimestamp,
.setServerGuid(UUID.randomUUID().toString()) serverGuid = UUID.randomUUID().toString(),
.setType(SignalServiceProtos.Envelope.Type.valueOf(outgoingPushMessage.type)) type = Envelope.Type.fromValue(outgoingPushMessage.type),
.setUrgent(true) urgent = true,
.setContent(ByteString.copyFrom(encryptedContent)) content = encryptedContent.toByteString()
.build() )
} }
fun decryptMessage(envelope: SignalServiceProtos.Envelope) { fun decryptMessage(envelope: Envelope) {
cipher.decrypt(envelope, System.currentTimeMillis()) cipher.decrypt(envelope, System.currentTimeMillis())
} }
} }