From 8e05fe3b0c34227ec2ac690d4eb729b25bccd8e7 Mon Sep 17 00:00:00 2001 From: Nicholas Date: Fri, 13 Oct 2023 11:43:42 -0400 Subject: [PATCH] Rotate incremental MAC proto field. --- .../signalservice/api/util/AttachmentPointerUtil.java | 4 ++-- .../signalservice/internal/push/http/DigestingRequestBody.kt | 3 +-- libsignal/service/src/main/protowire/SignalService.proto | 5 +++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libsignal/service/src/main/java/org/whispersystems/signalservice/api/util/AttachmentPointerUtil.java b/libsignal/service/src/main/java/org/whispersystems/signalservice/api/util/AttachmentPointerUtil.java index 045e5e3d30..b8d5522614 100644 --- a/libsignal/service/src/main/java/org/whispersystems/signalservice/api/util/AttachmentPointerUtil.java +++ b/libsignal/service/src/main/java/org/whispersystems/signalservice/api/util/AttachmentPointerUtil.java @@ -27,7 +27,7 @@ public final class AttachmentPointerUtil { pointer.width != null ? pointer.width : 0, pointer.height != null ? pointer.height : 0, pointer.digest != null ? Optional.of(pointer.digest.toByteArray()) : Optional.empty(), - pointer.incrementalDigest != null ? Optional.of(pointer.incrementalDigest.toByteArray()) : Optional.empty(), + pointer.incrementalMac != null ? Optional.of(pointer.incrementalMac.toByteArray()) : Optional.empty(), pointer.incrementalMacChunkSize != null ? pointer.incrementalMacChunkSize : 0, pointer.fileName != null ? Optional.of(pointer.fileName) : Optional.empty(), ((pointer.flags != null ? pointer.flags : 0) & FlagUtil.toBinaryFlag(AttachmentPointer.Flags.VOICE_MESSAGE.getValue())) != 0, @@ -49,7 +49,7 @@ public final class AttachmentPointerUtil { .uploadTimestamp(attachment.getUploadTimestamp()); if (attachment.getIncrementalDigest().isPresent()) { - builder.incrementalDigest(ByteString.of(attachment.getIncrementalDigest().get())); + builder.incrementalMac(ByteString.of(attachment.getIncrementalDigest().get())); } if (attachment.getIncrementalMacChunkSize() > 0) { diff --git a/libsignal/service/src/main/java/org/whispersystems/signalservice/internal/push/http/DigestingRequestBody.kt b/libsignal/service/src/main/java/org/whispersystems/signalservice/internal/push/http/DigestingRequestBody.kt index 06968d5c06..a032b3cc7c 100644 --- a/libsignal/service/src/main/java/org/whispersystems/signalservice/internal/push/http/DigestingRequestBody.kt +++ b/libsignal/service/src/main/java/org/whispersystems/signalservice/internal/push/http/DigestingRequestBody.kt @@ -41,7 +41,7 @@ class DigestingRequestBody( override fun writeTo(sink: BufferedSink) { val digestStream = ByteArrayOutputStream() val inner = SkippingOutputStream(contentStart, sink.outputStream()) - val isIncremental = outputStreamFactory is AttachmentCipherOutputStreamFactory && INCREMENTAL_MAC_SENDING_ENABLED + val isIncremental = outputStreamFactory is AttachmentCipherOutputStreamFactory val sizeChoice: ChunkSizeChoice = ChunkSizeChoice.inferChunkSize(contentLength.toInt()) val outputStream: DigestingOutputStream = if (isIncremental) { (outputStreamFactory as AttachmentCipherOutputStreamFactory).createIncrementalFor(inner, contentLength, sizeChoice, digestStream) @@ -95,6 +95,5 @@ class DigestingRequestBody( companion object { const val TAG = "DigestingRequestBody" - const val INCREMENTAL_MAC_SENDING_ENABLED = false } } diff --git a/libsignal/service/src/main/protowire/SignalService.proto b/libsignal/service/src/main/protowire/SignalService.proto index de9b4ea8de..a0545df9ed 100644 --- a/libsignal/service/src/main/protowire/SignalService.proto +++ b/libsignal/service/src/main/protowire/SignalService.proto @@ -675,7 +675,8 @@ message AttachmentPointer { optional uint32 size = 4; optional bytes thumbnail = 5; optional bytes digest = 6; - optional bytes incrementalDigest = 16; + reserved 16; + optional bytes incrementalMac = 18; optional uint32 incrementalMacChunkSize = 17; optional string fileName = 7; optional uint32 flags = 8; @@ -685,7 +686,7 @@ message AttachmentPointer { optional string blurHash = 12; optional uint64 uploadTimestamp = 13; optional uint32 cdnNumber = 14; - // Next ID: 18 + // Next ID: 19 } message GroupContext {