diff --git a/gradle.properties b/gradle.properties index 3d92c73210..ec25a7ba41 100644 --- a/gradle.properties +++ b/gradle.properties @@ -41,7 +41,7 @@ mockitoKotlinVersion=4.1.0 okhttpVersion=4.12.0 pagingVersion=3.0.0 preferenceVersion=1.2.0 -protobufVersion=4.27.2 +protobufVersion=4.29.3 testCoreVersion=1.5.0 zxingVersion=3.5.3 android.defaults.buildfeatures.buildconfig=true diff --git a/libsession-util/libsession-util b/libsession-util/libsession-util index b1bd153a4e..730c5b9a91 160000 --- a/libsession-util/libsession-util +++ b/libsession-util/libsession-util @@ -1 +1 @@ -Subproject commit b1bd153a4ef7214f60e3a5f4ce7d939e6ac22024 +Subproject commit 730c5b9a919263e569451e3d908a0c414404e0dc diff --git a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageReceiver.kt b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageReceiver.kt index ca45cd39e1..389663c925 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageReceiver.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageReceiver.kt @@ -22,6 +22,8 @@ import org.session.libsignal.protos.SignalServiceProtos.Envelope import org.session.libsignal.utilities.AccountId import org.session.libsignal.utilities.IdPrefix import org.session.libsignal.utilities.Log +import java.util.concurrent.TimeUnit +import kotlin.math.abs object MessageReceiver { @@ -141,6 +143,20 @@ object MessageReceiver { } // Parse the proto val proto = SignalServiceProtos.Content.parseFrom(PushTransportDetails.getStrippedPaddingMessageBody(plaintext)) + + // Verify the signature timestamp inside the content is the same as in envelope. + // If the message is from an open group, 6 hours of difference is allowed. + if (proto.hasSigTimestamp()) { + val isCommunityOrCommunityInbox = openGroupServerID != null || otherBlindedPublicKey != null + + if ( + (isCommunityOrCommunityInbox && abs(proto.sigTimestamp - envelope.timestamp) > TimeUnit.HOURS.toMillis(6)) || + (!isCommunityOrCommunityInbox && proto.sigTimestamp != envelope.timestamp) + ) { + throw Error.InvalidSignature + } + } + // Parse the message val message: Message = ReadReceipt.fromProto(proto) ?: TypingIndicator.fromProto(proto) ?: diff --git a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt index a05d5db0bb..03e4c591d6 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt @@ -154,6 +154,10 @@ object MessageSender { proto.mergeDataMessage(message.profile.toProto()) } } + + // Set the timestamp on the content so it can be verified against envelope timestamp + proto.setSigTimestamp(message.sentTimestamp!!) + // Serialize the protobuf val plaintext = PushTransportDetails.getPaddedMessageBody(proto.build().toByteArray()) @@ -366,6 +370,10 @@ object MessageSender { if (message is VisibleMessage) { message.profile = storage.getUserProfile() } + val content = message.toProto()!!.toBuilder() + .setSigTimestamp(message.sentTimestamp!!) + .build() + when (destination) { is Destination.OpenGroup -> { val whisperMods = if (destination.whisperTo.isNullOrEmpty() && destination.whisperMods) "mods" else null @@ -374,7 +382,7 @@ object MessageSender { if (message !is VisibleMessage || !message.isValid()) { throw Error.InvalidMessage } - val messageBody = message.toProto()?.toByteArray()!! + val messageBody = content.toByteArray() val plaintext = PushTransportDetails.getPaddedMessageBody(messageBody) val openGroupMessage = OpenGroupMessage( sender = message.sender, @@ -395,7 +403,7 @@ object MessageSender { if (message !is VisibleMessage || !message.isValid()) { throw Error.InvalidMessage } - val messageBody = message.toProto()?.toByteArray()!! + val messageBody = content.toByteArray() val plaintext = PushTransportDetails.getPaddedMessageBody(messageBody) val ciphertext = MessageEncrypter.encryptBlinded( plaintext, diff --git a/libsignal/protobuf/SignalService.proto b/libsignal/protobuf/SignalService.proto index 348ddf22d3..7f941a08d0 100644 --- a/libsignal/protobuf/SignalService.proto +++ b/libsignal/protobuf/SignalService.proto @@ -60,7 +60,9 @@ message Content { optional SharedConfigMessage sharedConfigMessage = 11; optional ExpirationType expirationType = 12; optional uint32 expirationTimer = 13; - optional uint64 lastDisappearingMessageChangeTimestamp = 14; + optional uint64 sigTimestamp = 15; + + reserved 14; } message KeyPair { diff --git a/libsignal/src/main/java/org/session/libsignal/protos/SignalServiceProtos.java b/libsignal/src/main/java/org/session/libsignal/protos/SignalServiceProtos.java index 588278bca0..c6f53a46ac 100644 --- a/libsignal/src/main/java/org/session/libsignal/protos/SignalServiceProtos.java +++ b/libsignal/src/main/java/org/session/libsignal/protos/SignalServiceProtos.java @@ -1,7 +1,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // NO CHECKED-IN PROTOBUF GENCODE // source: SignalService.proto -// Protobuf Java Version: 4.27.1 +// Protobuf Java Version: 4.29.3 package org.session.libsignal.protos; @@ -11,8 +11,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", SignalServiceProtos.class.getName()); } @@ -129,8 +129,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Envelope.class.getName()); } @@ -176,8 +176,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Type.class.getName()); } @@ -1310,8 +1310,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", TypingMessage.class.getName()); } @@ -1355,8 +1355,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Action.class.getName()); } @@ -2075,8 +2075,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", UnsendRequest.class.getName()); } @@ -2909,15 +2909,15 @@ public final class SignalServiceProtos { int getExpirationTimer(); /** - * optional uint64 lastDisappearingMessageChangeTimestamp = 14; - * @return Whether the lastDisappearingMessageChangeTimestamp field is set. + * optional uint64 sigTimestamp = 15; + * @return Whether the sigTimestamp field is set. */ - boolean hasLastDisappearingMessageChangeTimestamp(); + boolean hasSigTimestamp(); /** - * optional uint64 lastDisappearingMessageChangeTimestamp = 14; - * @return The lastDisappearingMessageChangeTimestamp. + * optional uint64 sigTimestamp = 15; + * @return The sigTimestamp. */ - long getLastDisappearingMessageChangeTimestamp(); + long getSigTimestamp(); } /** * Protobuf type {@code signalservice.Content} @@ -2931,8 +2931,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Content.class.getName()); } @@ -2980,8 +2980,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", ExpirationType.class.getName()); } @@ -3343,23 +3343,23 @@ public final class SignalServiceProtos { return expirationTimer_; } - public static final int LASTDISAPPEARINGMESSAGECHANGETIMESTAMP_FIELD_NUMBER = 14; - private long lastDisappearingMessageChangeTimestamp_ = 0L; + public static final int SIGTIMESTAMP_FIELD_NUMBER = 15; + private long sigTimestamp_ = 0L; /** - * optional uint64 lastDisappearingMessageChangeTimestamp = 14; - * @return Whether the lastDisappearingMessageChangeTimestamp field is set. + * optional uint64 sigTimestamp = 15; + * @return Whether the sigTimestamp field is set. */ @java.lang.Override - public boolean hasLastDisappearingMessageChangeTimestamp() { + public boolean hasSigTimestamp() { return ((bitField0_ & 0x00000800) != 0); } /** - * optional uint64 lastDisappearingMessageChangeTimestamp = 14; - * @return The lastDisappearingMessageChangeTimestamp. + * optional uint64 sigTimestamp = 15; + * @return The sigTimestamp. */ @java.lang.Override - public long getLastDisappearingMessageChangeTimestamp() { - return lastDisappearingMessageChangeTimestamp_; + public long getSigTimestamp() { + return sigTimestamp_; } private byte memoizedIsInitialized = -1; @@ -3464,7 +3464,7 @@ public final class SignalServiceProtos { output.writeUInt32(13, expirationTimer_); } if (((bitField0_ & 0x00000800) != 0)) { - output.writeUInt64(14, lastDisappearingMessageChangeTimestamp_); + output.writeUInt64(15, sigTimestamp_); } getUnknownFields().writeTo(output); } @@ -3521,7 +3521,7 @@ public final class SignalServiceProtos { } if (((bitField0_ & 0x00000800) != 0)) { size += com.google.protobuf.CodedOutputStream - .computeUInt64Size(14, lastDisappearingMessageChangeTimestamp_); + .computeUInt64Size(15, sigTimestamp_); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; @@ -3592,10 +3592,10 @@ public final class SignalServiceProtos { if (getExpirationTimer() != other.getExpirationTimer()) return false; } - if (hasLastDisappearingMessageChangeTimestamp() != other.hasLastDisappearingMessageChangeTimestamp()) return false; - if (hasLastDisappearingMessageChangeTimestamp()) { - if (getLastDisappearingMessageChangeTimestamp() - != other.getLastDisappearingMessageChangeTimestamp()) return false; + if (hasSigTimestamp() != other.hasSigTimestamp()) return false; + if (hasSigTimestamp()) { + if (getSigTimestamp() + != other.getSigTimestamp()) return false; } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; @@ -3652,10 +3652,10 @@ public final class SignalServiceProtos { hash = (37 * hash) + EXPIRATIONTIMER_FIELD_NUMBER; hash = (53 * hash) + getExpirationTimer(); } - if (hasLastDisappearingMessageChangeTimestamp()) { - hash = (37 * hash) + LASTDISAPPEARINGMESSAGECHANGETIMESTAMP_FIELD_NUMBER; + if (hasSigTimestamp()) { + hash = (37 * hash) + SIGTIMESTAMP_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getLastDisappearingMessageChangeTimestamp()); + getSigTimestamp()); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; @@ -3849,7 +3849,7 @@ public final class SignalServiceProtos { } expirationType_ = 0; expirationTimer_ = 0; - lastDisappearingMessageChangeTimestamp_ = 0L; + sigTimestamp_ = 0L; return this; } @@ -3947,7 +3947,7 @@ public final class SignalServiceProtos { to_bitField0_ |= 0x00000400; } if (((from_bitField0_ & 0x00000800) != 0)) { - result.lastDisappearingMessageChangeTimestamp_ = lastDisappearingMessageChangeTimestamp_; + result.sigTimestamp_ = sigTimestamp_; to_bitField0_ |= 0x00000800; } result.bitField0_ |= to_bitField0_; @@ -3998,8 +3998,8 @@ public final class SignalServiceProtos { if (other.hasExpirationTimer()) { setExpirationTimer(other.getExpirationTimer()); } - if (other.hasLastDisappearingMessageChangeTimestamp()) { - setLastDisappearingMessageChangeTimestamp(other.getLastDisappearingMessageChangeTimestamp()); + if (other.hasSigTimestamp()) { + setSigTimestamp(other.getSigTimestamp()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); @@ -4152,11 +4152,11 @@ public final class SignalServiceProtos { bitField0_ |= 0x00000400; break; } // case 104 - case 112: { - lastDisappearingMessageChangeTimestamp_ = input.readUInt64(); + case 120: { + sigTimestamp_ = input.readUInt64(); bitField0_ |= 0x00000800; break; - } // case 112 + } // case 120 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag @@ -5345,42 +5345,42 @@ public final class SignalServiceProtos { return this; } - private long lastDisappearingMessageChangeTimestamp_ ; + private long sigTimestamp_ ; /** - * optional uint64 lastDisappearingMessageChangeTimestamp = 14; - * @return Whether the lastDisappearingMessageChangeTimestamp field is set. + * optional uint64 sigTimestamp = 15; + * @return Whether the sigTimestamp field is set. */ @java.lang.Override - public boolean hasLastDisappearingMessageChangeTimestamp() { + public boolean hasSigTimestamp() { return ((bitField0_ & 0x00000800) != 0); } /** - * optional uint64 lastDisappearingMessageChangeTimestamp = 14; - * @return The lastDisappearingMessageChangeTimestamp. + * optional uint64 sigTimestamp = 15; + * @return The sigTimestamp. */ @java.lang.Override - public long getLastDisappearingMessageChangeTimestamp() { - return lastDisappearingMessageChangeTimestamp_; + public long getSigTimestamp() { + return sigTimestamp_; } /** - * optional uint64 lastDisappearingMessageChangeTimestamp = 14; - * @param value The lastDisappearingMessageChangeTimestamp to set. + * optional uint64 sigTimestamp = 15; + * @param value The sigTimestamp to set. * @return This builder for chaining. */ - public Builder setLastDisappearingMessageChangeTimestamp(long value) { + public Builder setSigTimestamp(long value) { - lastDisappearingMessageChangeTimestamp_ = value; + sigTimestamp_ = value; bitField0_ |= 0x00000800; onChanged(); return this; } /** - * optional uint64 lastDisappearingMessageChangeTimestamp = 14; + * optional uint64 sigTimestamp = 15; * @return This builder for chaining. */ - public Builder clearLastDisappearingMessageChangeTimestamp() { + public Builder clearSigTimestamp() { bitField0_ = (bitField0_ & ~0x00000800); - lastDisappearingMessageChangeTimestamp_ = 0L; + sigTimestamp_ = 0L; onChanged(); return this; } @@ -5490,8 +5490,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", KeyPair.class.getName()); } @@ -6125,8 +6125,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", DataExtractionNotification.class.getName()); } @@ -6174,8 +6174,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Type.class.getName()); } @@ -7046,8 +7046,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", DataMessage.class.getName()); } @@ -7091,8 +7091,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Flags.class.getName()); } @@ -7277,8 +7277,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Quote.class.getName()); } @@ -7381,8 +7381,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", QuotedAttachment.class.getName()); } @@ -7423,8 +7423,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Flags.class.getName()); } @@ -9681,8 +9681,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Preview.class.getName()); } @@ -10644,8 +10644,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", LokiProfile.class.getName()); } @@ -11387,8 +11387,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", OpenGroupInvitation.class.getName()); } @@ -12282,8 +12282,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", GroupUpdateMessage.class.getName()); } @@ -14291,8 +14291,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", GroupUpdateInviteMessage.class.getName()); } @@ -15352,8 +15352,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", GroupUpdateDeleteMessage.class.getName()); } @@ -16079,8 +16079,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", GroupUpdatePromoteMessage.class.getName()); } @@ -16835,8 +16835,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", GroupUpdateInfoChangeMessage.class.getName()); } @@ -16886,8 +16886,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Type.class.getName()); } @@ -17891,8 +17891,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", GroupUpdateMemberChangeMessage.class.getName()); } @@ -17943,8 +17943,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Type.class.getName()); } @@ -18904,8 +18904,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", GroupUpdateMemberLeftMessage.class.getName()); } @@ -19282,8 +19282,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", GroupUpdateInviteResponseMessage.class.getName()); } @@ -19828,8 +19828,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", GroupUpdateDeleteMemberContentMessage.class.getName()); } @@ -20662,8 +20662,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", GroupUpdateMemberLeftNotificationMessage.class.getName()); } @@ -21174,8 +21174,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", ClosedGroupControlMessage.class.getName()); } @@ -21302,8 +21302,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Type.class.getName()); } @@ -21527,8 +21527,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", KeyPairWrapper.class.getName()); } @@ -24049,8 +24049,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Reaction.class.getName()); } @@ -24096,8 +24096,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Action.class.getName()); } @@ -28147,8 +28147,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", GroupDeleteMessage.class.getName()); } @@ -28756,8 +28756,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", GroupMemberLeftMessage.class.getName()); } @@ -29182,8 +29182,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", GroupInviteMessage.class.getName()); } @@ -30028,8 +30028,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", GroupPromoteMessage.class.getName()); } @@ -30748,8 +30748,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", CallMessage.class.getName()); } @@ -30815,8 +30815,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Type.class.getName()); } @@ -32242,8 +32242,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", ConfigurationMessage.class.getName()); } @@ -32378,8 +32378,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", ClosedGroup.class.getName()); } @@ -33698,8 +33698,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Contact.class.getName()); } @@ -36587,8 +36587,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", MessageRequestResponse.class.getName()); } @@ -37408,8 +37408,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", SharedConfigMessage.class.getName()); } @@ -37474,8 +37474,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Kind.class.getName()); } @@ -38326,8 +38326,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", ReceiptMessage.class.getName()); } @@ -38372,8 +38372,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Type.class.getName()); } @@ -39251,8 +39251,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", AttachmentPointer.class.getName()); } @@ -39298,8 +39298,8 @@ public final class SignalServiceProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Flags.class.getName()); } @@ -41279,7 +41279,7 @@ public final class SignalServiceProtos { "\002(\004\0223\n\006action\030\002 \002(\0162#.signalservice.Typi" + "ngMessage.Action\"\"\n\006Action\022\013\n\007STARTED\020\000\022" + "\013\n\007STOPPED\020\001\"2\n\rUnsendRequest\022\021\n\ttimesta" + - "mp\030\001 \002(\004\022\016\n\006author\030\002 \002(\t\"\373\005\n\007Content\022/\n\013" + + "mp\030\001 \002(\004\022\016\n\006author\030\002 \002(\t\"\347\005\n\007Content\022/\n\013" + "dataMessage\030\001 \001(\0132\032.signalservice.DataMe" + "ssage\022/\n\013callMessage\030\003 \001(\0132\032.signalservi" + "ce.CallMessage\0225\n\016receiptMessage\030\005 \001(\0132\035" + @@ -41295,153 +41295,153 @@ public final class SignalServiceProtos { "edConfigMessage\030\013 \001(\0132\".signalservice.Sh" + "aredConfigMessage\022=\n\016expirationType\030\014 \001(" + "\0162%.signalservice.Content.ExpirationType" + - "\022\027\n\017expirationTimer\030\r \001(\r\022.\n&lastDisappe" + - "aringMessageChangeTimestamp\030\016 \001(\004\"K\n\016Exp" + - "irationType\022\013\n\007UNKNOWN\020\000\022\025\n\021DELETE_AFTER" + - "_READ\020\001\022\025\n\021DELETE_AFTER_SEND\020\002\"0\n\007KeyPai" + - "r\022\021\n\tpublicKey\030\001 \002(\014\022\022\n\nprivateKey\030\002 \002(\014" + - "\"\226\001\n\032DataExtractionNotification\022<\n\004type\030" + - "\001 \002(\0162..signalservice.DataExtractionNoti" + - "fication.Type\022\021\n\ttimestamp\030\002 \001(\004\"\'\n\004Type" + - "\022\016\n\nSCREENSHOT\020\001\022\017\n\013MEDIA_SAVED\020\002\"\342\034\n\013Da" + - "taMessage\022\014\n\004body\030\001 \001(\t\0225\n\013attachments\030\002" + - " \003(\0132 .signalservice.AttachmentPointer\022\r" + - "\n\005flags\030\004 \001(\r\022\023\n\013expireTimer\030\005 \001(\r\022\022\n\npr" + - "ofileKey\030\006 \001(\014\022\021\n\ttimestamp\030\007 \001(\004\022/\n\005quo" + - "te\030\010 \001(\0132 .signalservice.DataMessage.Quo" + - "te\0223\n\007preview\030\n \003(\0132\".signalservice.Data" + - "Message.Preview\0225\n\010reaction\030\013 \001(\0132#.sign" + - "alservice.DataMessage.Reaction\0227\n\007profil" + - "e\030e \001(\0132&.signalservice.DataMessage.Loki" + - "Profile\022K\n\023openGroupInvitation\030f \001(\0132..s" + - "ignalservice.DataMessage.OpenGroupInvita" + - "tion\022W\n\031closedGroupControlMessage\030h \001(\0132" + - "4.signalservice.DataMessage.ClosedGroupC" + - "ontrolMessage\022\022\n\nsyncTarget\030i \001(\t\022&\n\036blo" + - "cksCommunityMessageRequests\030j \001(\010\022I\n\022gro" + - "upUpdateMessage\030x \001(\0132-.signalservice.Da" + - "taMessage.GroupUpdateMessage\032\225\002\n\005Quote\022\n" + - "\n\002id\030\001 \002(\004\022\016\n\006author\030\002 \002(\t\022\014\n\004text\030\003 \001(\t" + - "\022F\n\013attachments\030\004 \003(\01321.signalservice.Da" + - "taMessage.Quote.QuotedAttachment\032\231\001\n\020Quo" + - "tedAttachment\022\023\n\013contentType\030\001 \001(\t\022\020\n\010fi" + - "leName\030\002 \001(\t\0223\n\tthumbnail\030\003 \001(\0132 .signal" + - "service.AttachmentPointer\022\r\n\005flags\030\004 \001(\r" + - "\"\032\n\005Flags\022\021\n\rVOICE_MESSAGE\020\001\032V\n\007Preview\022" + - "\013\n\003url\030\001 \002(\t\022\r\n\005title\030\002 \001(\t\022/\n\005image\030\003 \001" + - "(\0132 .signalservice.AttachmentPointer\032:\n\013" + - "LokiProfile\022\023\n\013displayName\030\001 \001(\t\022\026\n\016prof" + - "ilePicture\030\002 \001(\t\0320\n\023OpenGroupInvitation\022" + - "\013\n\003url\030\001 \002(\t\022\014\n\004name\030\003 \002(\t\032\316\005\n\022GroupUpda" + - "teMessage\022J\n\rinviteMessage\030\001 \001(\01323.signa" + - "lservice.DataMessage.GroupUpdateInviteMe" + - "ssage\022R\n\021infoChangeMessage\030\002 \001(\01327.signa" + - "lservice.DataMessage.GroupUpdateInfoChan" + - "geMessage\022V\n\023memberChangeMessage\030\003 \001(\01329" + - ".signalservice.DataMessage.GroupUpdateMe" + - "mberChangeMessage\022L\n\016promoteMessage\030\004 \001(" + - "\01324.signalservice.DataMessage.GroupUpdat" + - "ePromoteMessage\022R\n\021memberLeftMessage\030\005 \001" + - "(\01327.signalservice.DataMessage.GroupUpda" + - "teMemberLeftMessage\022S\n\016inviteResponse\030\006 " + - "\001(\0132;.signalservice.DataMessage.GroupUpd" + - "ateInviteResponseMessage\022]\n\023deleteMember" + - "Content\030\007 \001(\0132@.signalservice.DataMessag" + - "e.GroupUpdateDeleteMemberContentMessage\022" + - "j\n\035memberLeftNotificationMessage\030\010 \001(\0132C" + - ".signalservice.DataMessage.GroupUpdateMe" + - "mberLeftNotificationMessage\032p\n\030GroupUpda" + - "teInviteMessage\022\026\n\016groupSessionId\030\001 \002(\t\022" + - "\014\n\004name\030\002 \002(\t\022\026\n\016memberAuthData\030\003 \002(\014\022\026\n" + - "\016adminSignature\030\004 \002(\014\032L\n\030GroupUpdateDele" + - "teMessage\022\030\n\020memberSessionIds\030\001 \003(\t\022\026\n\016a" + - "dminSignature\030\002 \002(\014\032D\n\031GroupUpdatePromot" + - "eMessage\022\031\n\021groupIdentitySeed\030\001 \002(\014\022\014\n\004n" + - "ame\030\002 \002(\t\032\353\001\n\034GroupUpdateInfoChangeMessa" + - "ge\022J\n\004type\030\001 \002(\0162<.signalservice.DataMes" + - "sage.GroupUpdateInfoChangeMessage.Type\022\023" + - "\n\013updatedName\030\002 \001(\t\022\031\n\021updatedExpiration" + - "\030\003 \001(\r\022\026\n\016adminSignature\030\004 \002(\014\"7\n\004Type\022\010" + - "\n\004NAME\020\001\022\n\n\006AVATAR\020\002\022\031\n\025DISAPPEARING_MES" + - "SAGES\020\003\032\345\001\n\036GroupUpdateMemberChangeMessa" + - "ge\022L\n\004type\030\001 \002(\0162>.signalservice.DataMes" + - "sage.GroupUpdateMemberChangeMessage.Type" + - "\022\030\n\020memberSessionIds\030\002 \003(\t\022\025\n\rhistorySha" + - "red\030\003 \001(\010\022\026\n\016adminSignature\030\004 \002(\014\",\n\004Typ" + - "e\022\t\n\005ADDED\020\001\022\013\n\007REMOVED\020\002\022\014\n\010PROMOTED\020\003\032" + - "\036\n\034GroupUpdateMemberLeftMessage\0326\n Group" + - "UpdateInviteResponseMessage\022\022\n\nisApprove" + - "d\030\001 \002(\010\032p\n%GroupUpdateDeleteMemberConten" + - "tMessage\022\030\n\020memberSessionIds\030\001 \003(\t\022\025\n\rme" + - "ssageHashes\030\002 \003(\t\022\026\n\016adminSignature\030\003 \001(" + - "\014\032*\n(GroupUpdateMemberLeftNotificationMe" + - "ssage\032\203\005\n\031ClosedGroupControlMessage\022G\n\004t" + - "ype\030\001 \002(\01629.signalservice.DataMessage.Cl" + - "osedGroupControlMessage.Type\022\021\n\tpublicKe" + - "y\030\002 \001(\014\022\014\n\004name\030\003 \001(\t\0221\n\021encryptionKeyPa" + - "ir\030\004 \001(\0132\026.signalservice.KeyPair\022\017\n\007memb" + - "ers\030\005 \003(\014\022\016\n\006admins\030\006 \003(\014\022U\n\010wrappers\030\007 " + - "\003(\0132C.signalservice.DataMessage.ClosedGr" + - "oupControlMessage.KeyPairWrapper\022\027\n\017expi" + - "rationTimer\030\010 \001(\r\022\030\n\020memberPrivateKey\030\t " + - "\001(\014\022\022\n\nprivateKey\030\n \001(\014\032=\n\016KeyPairWrappe" + - "r\022\021\n\tpublicKey\030\001 \002(\014\022\030\n\020encryptedKeyPair" + - "\030\002 \002(\014\"\312\001\n\004Type\022\007\n\003NEW\020\001\022\027\n\023ENCRYPTION_K" + - "EY_PAIR\020\003\022\017\n\013NAME_CHANGE\020\004\022\021\n\rMEMBERS_AD" + - "DED\020\005\022\023\n\017MEMBERS_REMOVED\020\006\022\017\n\013MEMBER_LEF" + - "T\020\007\022\n\n\006INVITE\020\t\022\013\n\007PROMOTE\020\n\022\020\n\014DELETE_G" + - "ROUP\020\013\022\023\n\017DELETE_MESSAGES\020\014\022\026\n\022DELETE_AT" + - "TACHMENTS\020\r\032\222\001\n\010Reaction\022\n\n\002id\030\001 \002(\004\022\016\n\006" + - "author\030\002 \002(\t\022\r\n\005emoji\030\003 \001(\t\022:\n\006action\030\004 " + - "\002(\0162*.signalservice.DataMessage.Reaction" + - ".Action\"\037\n\006Action\022\t\n\005REACT\020\000\022\n\n\006REMOVE\020\001" + - "\"$\n\005Flags\022\033\n\027EXPIRATION_TIMER_UPDATE\020\002\"B" + - "\n\022GroupDeleteMessage\022\021\n\tpublicKey\030\001 \002(\014\022" + - "\031\n\021lastEncryptionKey\030\002 \002(\014\"\030\n\026GroupMembe" + - "rLeftMessage\"O\n\022GroupInviteMessage\022\021\n\tpu" + - "blicKey\030\001 \002(\014\022\014\n\004name\030\002 \002(\t\022\030\n\020memberPri" + - "vateKey\030\003 \002(\014\"E\n\023GroupPromoteMessage\022\021\n\t" + - "publicKey\030\001 \002(\014\022\033\n\023encryptedPrivateKey\030\002" + - " \002(\014\"\352\001\n\013CallMessage\022-\n\004type\030\001 \002(\0162\037.sig" + - "nalservice.CallMessage.Type\022\014\n\004sdps\030\002 \003(" + - "\t\022\027\n\017sdpMLineIndexes\030\003 \003(\r\022\017\n\007sdpMids\030\004 " + - "\003(\t\022\014\n\004uuid\030\005 \002(\t\"f\n\004Type\022\r\n\tPRE_OFFER\020\006" + - "\022\t\n\005OFFER\020\001\022\n\n\006ANSWER\020\002\022\026\n\022PROVISIONAL_A" + - "NSWER\020\003\022\022\n\016ICE_CANDIDATES\020\004\022\014\n\010END_CALL\020" + - "\005\"\245\004\n\024ConfigurationMessage\022E\n\014closedGrou" + - "ps\030\001 \003(\0132/.signalservice.ConfigurationMe" + - "ssage.ClosedGroup\022\022\n\nopenGroups\030\002 \003(\t\022\023\n" + - "\013displayName\030\003 \001(\t\022\026\n\016profilePicture\030\004 \001" + - "(\t\022\022\n\nprofileKey\030\005 \001(\014\022=\n\010contacts\030\006 \003(\013" + - "2+.signalservice.ConfigurationMessage.Co" + - "ntact\032\233\001\n\013ClosedGroup\022\021\n\tpublicKey\030\001 \001(\014" + - "\022\014\n\004name\030\002 \001(\t\0221\n\021encryptionKeyPair\030\003 \001(" + - "\0132\026.signalservice.KeyPair\022\017\n\007members\030\004 \003" + - "(\014\022\016\n\006admins\030\005 \003(\014\022\027\n\017expirationTimer\030\006 " + - "\001(\r\032\223\001\n\007Contact\022\021\n\tpublicKey\030\001 \002(\014\022\014\n\004na" + - "me\030\002 \002(\t\022\026\n\016profilePicture\030\003 \001(\t\022\022\n\nprof" + - "ileKey\030\004 \001(\014\022\022\n\nisApproved\030\005 \001(\010\022\021\n\tisBl" + - "ocked\030\006 \001(\010\022\024\n\014didApproveMe\030\007 \001(\010\"y\n\026Mes" + - "sageRequestResponse\022\022\n\nisApproved\030\001 \002(\010\022" + - "\022\n\nprofileKey\030\002 \001(\014\0227\n\007profile\030\003 \001(\0132&.s" + - "ignalservice.DataMessage.LokiProfile\"\375\001\n" + - "\023SharedConfigMessage\0225\n\004kind\030\001 \002(\0162\'.sig" + - "nalservice.SharedConfigMessage.Kind\022\r\n\005s" + - "eqno\030\002 \002(\003\022\014\n\004data\030\003 \002(\014\"\221\001\n\004Kind\022\020\n\014USE" + - "R_PROFILE\020\001\022\014\n\010CONTACTS\020\002\022\027\n\023CONVO_INFO_" + - "VOLATILE\020\003\022\n\n\006GROUPS\020\004\022\025\n\021CLOSED_GROUP_I" + - "NFO\020\005\022\030\n\024CLOSED_GROUP_MEMBERS\020\006\022\023\n\017ENCRY" + - "PTION_KEYS\020\007\"u\n\016ReceiptMessage\0220\n\004type\030\001" + - " \002(\0162\".signalservice.ReceiptMessage.Type" + - "\022\021\n\ttimestamp\030\002 \003(\004\"\036\n\004Type\022\014\n\010DELIVERY\020" + - "\000\022\010\n\004READ\020\001\"\354\001\n\021AttachmentPointer\022\n\n\002id\030" + - "\001 \002(\006\022\023\n\013contentType\030\002 \001(\t\022\013\n\003key\030\003 \001(\014\022" + - "\014\n\004size\030\004 \001(\r\022\021\n\tthumbnail\030\005 \001(\014\022\016\n\006dige" + - "st\030\006 \001(\014\022\020\n\010fileName\030\007 \001(\t\022\r\n\005flags\030\010 \001(" + - "\r\022\r\n\005width\030\t \001(\r\022\016\n\006height\030\n \001(\r\022\017\n\007capt" + - "ion\030\013 \001(\t\022\013\n\003url\030e \001(\t\"\032\n\005Flags\022\021\n\rVOICE" + - "_MESSAGE\020\001B3\n\034org.session.libsignal.prot" + - "osB\023SignalServiceProtos" + "\022\027\n\017expirationTimer\030\r \001(\r\022\024\n\014sigTimestam" + + "p\030\017 \001(\004\"K\n\016ExpirationType\022\013\n\007UNKNOWN\020\000\022\025" + + "\n\021DELETE_AFTER_READ\020\001\022\025\n\021DELETE_AFTER_SE" + + "ND\020\002J\004\010\016\020\017\"0\n\007KeyPair\022\021\n\tpublicKey\030\001 \002(\014" + + "\022\022\n\nprivateKey\030\002 \002(\014\"\226\001\n\032DataExtractionN" + + "otification\022<\n\004type\030\001 \002(\0162..signalservic" + + "e.DataExtractionNotification.Type\022\021\n\ttim" + + "estamp\030\002 \001(\004\"\'\n\004Type\022\016\n\nSCREENSHOT\020\001\022\017\n\013" + + "MEDIA_SAVED\020\002\"\342\034\n\013DataMessage\022\014\n\004body\030\001 " + + "\001(\t\0225\n\013attachments\030\002 \003(\0132 .signalservice" + + ".AttachmentPointer\022\r\n\005flags\030\004 \001(\r\022\023\n\013exp" + + "ireTimer\030\005 \001(\r\022\022\n\nprofileKey\030\006 \001(\014\022\021\n\tti" + + "mestamp\030\007 \001(\004\022/\n\005quote\030\010 \001(\0132 .signalser" + + "vice.DataMessage.Quote\0223\n\007preview\030\n \003(\0132" + + "\".signalservice.DataMessage.Preview\0225\n\010r" + + "eaction\030\013 \001(\0132#.signalservice.DataMessag" + + "e.Reaction\0227\n\007profile\030e \001(\0132&.signalserv" + + "ice.DataMessage.LokiProfile\022K\n\023openGroup" + + "Invitation\030f \001(\0132..signalservice.DataMes" + + "sage.OpenGroupInvitation\022W\n\031closedGroupC" + + "ontrolMessage\030h \001(\01324.signalservice.Data" + + "Message.ClosedGroupControlMessage\022\022\n\nsyn" + + "cTarget\030i \001(\t\022&\n\036blocksCommunityMessageR" + + "equests\030j \001(\010\022I\n\022groupUpdateMessage\030x \001(" + + "\0132-.signalservice.DataMessage.GroupUpdat" + + "eMessage\032\225\002\n\005Quote\022\n\n\002id\030\001 \002(\004\022\016\n\006author" + + "\030\002 \002(\t\022\014\n\004text\030\003 \001(\t\022F\n\013attachments\030\004 \003(" + + "\01321.signalservice.DataMessage.Quote.Quot" + + "edAttachment\032\231\001\n\020QuotedAttachment\022\023\n\013con" + + "tentType\030\001 \001(\t\022\020\n\010fileName\030\002 \001(\t\0223\n\tthum" + + "bnail\030\003 \001(\0132 .signalservice.AttachmentPo" + + "inter\022\r\n\005flags\030\004 \001(\r\"\032\n\005Flags\022\021\n\rVOICE_M" + + "ESSAGE\020\001\032V\n\007Preview\022\013\n\003url\030\001 \002(\t\022\r\n\005titl" + + "e\030\002 \001(\t\022/\n\005image\030\003 \001(\0132 .signalservice.A" + + "ttachmentPointer\032:\n\013LokiProfile\022\023\n\013displ" + + "ayName\030\001 \001(\t\022\026\n\016profilePicture\030\002 \001(\t\0320\n\023" + + "OpenGroupInvitation\022\013\n\003url\030\001 \002(\t\022\014\n\004name" + + "\030\003 \002(\t\032\316\005\n\022GroupUpdateMessage\022J\n\rinviteM" + + "essage\030\001 \001(\01323.signalservice.DataMessage" + + ".GroupUpdateInviteMessage\022R\n\021infoChangeM" + + "essage\030\002 \001(\01327.signalservice.DataMessage" + + ".GroupUpdateInfoChangeMessage\022V\n\023memberC" + + "hangeMessage\030\003 \001(\01329.signalservice.DataM" + + "essage.GroupUpdateMemberChangeMessage\022L\n" + + "\016promoteMessage\030\004 \001(\01324.signalservice.Da" + + "taMessage.GroupUpdatePromoteMessage\022R\n\021m" + + "emberLeftMessage\030\005 \001(\01327.signalservice.D" + + "ataMessage.GroupUpdateMemberLeftMessage\022" + + "S\n\016inviteResponse\030\006 \001(\0132;.signalservice." + + "DataMessage.GroupUpdateInviteResponseMes" + + "sage\022]\n\023deleteMemberContent\030\007 \001(\0132@.sign" + + "alservice.DataMessage.GroupUpdateDeleteM" + + "emberContentMessage\022j\n\035memberLeftNotific" + + "ationMessage\030\010 \001(\0132C.signalservice.DataM" + + "essage.GroupUpdateMemberLeftNotification" + + "Message\032p\n\030GroupUpdateInviteMessage\022\026\n\016g" + + "roupSessionId\030\001 \002(\t\022\014\n\004name\030\002 \002(\t\022\026\n\016mem" + + "berAuthData\030\003 \002(\014\022\026\n\016adminSignature\030\004 \002(" + + "\014\032L\n\030GroupUpdateDeleteMessage\022\030\n\020memberS" + + "essionIds\030\001 \003(\t\022\026\n\016adminSignature\030\002 \002(\014\032" + + "D\n\031GroupUpdatePromoteMessage\022\031\n\021groupIde" + + "ntitySeed\030\001 \002(\014\022\014\n\004name\030\002 \002(\t\032\353\001\n\034GroupU" + + "pdateInfoChangeMessage\022J\n\004type\030\001 \002(\0162<.s" + + "ignalservice.DataMessage.GroupUpdateInfo" + + "ChangeMessage.Type\022\023\n\013updatedName\030\002 \001(\t\022" + + "\031\n\021updatedExpiration\030\003 \001(\r\022\026\n\016adminSigna" + + "ture\030\004 \002(\014\"7\n\004Type\022\010\n\004NAME\020\001\022\n\n\006AVATAR\020\002" + + "\022\031\n\025DISAPPEARING_MESSAGES\020\003\032\345\001\n\036GroupUpd" + + "ateMemberChangeMessage\022L\n\004type\030\001 \002(\0162>.s" + + "ignalservice.DataMessage.GroupUpdateMemb" + + "erChangeMessage.Type\022\030\n\020memberSessionIds" + + "\030\002 \003(\t\022\025\n\rhistoryShared\030\003 \001(\010\022\026\n\016adminSi" + + "gnature\030\004 \002(\014\",\n\004Type\022\t\n\005ADDED\020\001\022\013\n\007REMO" + + "VED\020\002\022\014\n\010PROMOTED\020\003\032\036\n\034GroupUpdateMember" + + "LeftMessage\0326\n GroupUpdateInviteResponse" + + "Message\022\022\n\nisApproved\030\001 \002(\010\032p\n%GroupUpda" + + "teDeleteMemberContentMessage\022\030\n\020memberSe" + + "ssionIds\030\001 \003(\t\022\025\n\rmessageHashes\030\002 \003(\t\022\026\n" + + "\016adminSignature\030\003 \001(\014\032*\n(GroupUpdateMemb" + + "erLeftNotificationMessage\032\203\005\n\031ClosedGrou" + + "pControlMessage\022G\n\004type\030\001 \002(\01629.signalse" + + "rvice.DataMessage.ClosedGroupControlMess" + + "age.Type\022\021\n\tpublicKey\030\002 \001(\014\022\014\n\004name\030\003 \001(" + + "\t\0221\n\021encryptionKeyPair\030\004 \001(\0132\026.signalser" + + "vice.KeyPair\022\017\n\007members\030\005 \003(\014\022\016\n\006admins\030" + + "\006 \003(\014\022U\n\010wrappers\030\007 \003(\0132C.signalservice." + + "DataMessage.ClosedGroupControlMessage.Ke" + + "yPairWrapper\022\027\n\017expirationTimer\030\010 \001(\r\022\030\n" + + "\020memberPrivateKey\030\t \001(\014\022\022\n\nprivateKey\030\n " + + "\001(\014\032=\n\016KeyPairWrapper\022\021\n\tpublicKey\030\001 \002(\014" + + "\022\030\n\020encryptedKeyPair\030\002 \002(\014\"\312\001\n\004Type\022\007\n\003N" + + "EW\020\001\022\027\n\023ENCRYPTION_KEY_PAIR\020\003\022\017\n\013NAME_CH" + + "ANGE\020\004\022\021\n\rMEMBERS_ADDED\020\005\022\023\n\017MEMBERS_REM" + + "OVED\020\006\022\017\n\013MEMBER_LEFT\020\007\022\n\n\006INVITE\020\t\022\013\n\007P" + + "ROMOTE\020\n\022\020\n\014DELETE_GROUP\020\013\022\023\n\017DELETE_MES" + + "SAGES\020\014\022\026\n\022DELETE_ATTACHMENTS\020\r\032\222\001\n\010Reac" + + "tion\022\n\n\002id\030\001 \002(\004\022\016\n\006author\030\002 \002(\t\022\r\n\005emoj" + + "i\030\003 \001(\t\022:\n\006action\030\004 \002(\0162*.signalservice." + + "DataMessage.Reaction.Action\"\037\n\006Action\022\t\n" + + "\005REACT\020\000\022\n\n\006REMOVE\020\001\"$\n\005Flags\022\033\n\027EXPIRAT" + + "ION_TIMER_UPDATE\020\002\"B\n\022GroupDeleteMessage" + + "\022\021\n\tpublicKey\030\001 \002(\014\022\031\n\021lastEncryptionKey" + + "\030\002 \002(\014\"\030\n\026GroupMemberLeftMessage\"O\n\022Grou" + + "pInviteMessage\022\021\n\tpublicKey\030\001 \002(\014\022\014\n\004nam" + + "e\030\002 \002(\t\022\030\n\020memberPrivateKey\030\003 \002(\014\"E\n\023Gro" + + "upPromoteMessage\022\021\n\tpublicKey\030\001 \002(\014\022\033\n\023e" + + "ncryptedPrivateKey\030\002 \002(\014\"\352\001\n\013CallMessage" + + "\022-\n\004type\030\001 \002(\0162\037.signalservice.CallMessa" + + "ge.Type\022\014\n\004sdps\030\002 \003(\t\022\027\n\017sdpMLineIndexes" + + "\030\003 \003(\r\022\017\n\007sdpMids\030\004 \003(\t\022\014\n\004uuid\030\005 \002(\t\"f\n" + + "\004Type\022\r\n\tPRE_OFFER\020\006\022\t\n\005OFFER\020\001\022\n\n\006ANSWE" + + "R\020\002\022\026\n\022PROVISIONAL_ANSWER\020\003\022\022\n\016ICE_CANDI" + + "DATES\020\004\022\014\n\010END_CALL\020\005\"\245\004\n\024ConfigurationM" + + "essage\022E\n\014closedGroups\030\001 \003(\0132/.signalser" + + "vice.ConfigurationMessage.ClosedGroup\022\022\n" + + "\nopenGroups\030\002 \003(\t\022\023\n\013displayName\030\003 \001(\t\022\026" + + "\n\016profilePicture\030\004 \001(\t\022\022\n\nprofileKey\030\005 \001" + + "(\014\022=\n\010contacts\030\006 \003(\0132+.signalservice.Con" + + "figurationMessage.Contact\032\233\001\n\013ClosedGrou" + + "p\022\021\n\tpublicKey\030\001 \001(\014\022\014\n\004name\030\002 \001(\t\0221\n\021en" + + "cryptionKeyPair\030\003 \001(\0132\026.signalservice.Ke" + + "yPair\022\017\n\007members\030\004 \003(\014\022\016\n\006admins\030\005 \003(\014\022\027" + + "\n\017expirationTimer\030\006 \001(\r\032\223\001\n\007Contact\022\021\n\tp" + + "ublicKey\030\001 \002(\014\022\014\n\004name\030\002 \002(\t\022\026\n\016profileP" + + "icture\030\003 \001(\t\022\022\n\nprofileKey\030\004 \001(\014\022\022\n\nisAp" + + "proved\030\005 \001(\010\022\021\n\tisBlocked\030\006 \001(\010\022\024\n\014didAp" + + "proveMe\030\007 \001(\010\"y\n\026MessageRequestResponse\022" + + "\022\n\nisApproved\030\001 \002(\010\022\022\n\nprofileKey\030\002 \001(\014\022" + + "7\n\007profile\030\003 \001(\0132&.signalservice.DataMes" + + "sage.LokiProfile\"\375\001\n\023SharedConfigMessage" + + "\0225\n\004kind\030\001 \002(\0162\'.signalservice.SharedCon" + + "figMessage.Kind\022\r\n\005seqno\030\002 \002(\003\022\014\n\004data\030\003" + + " \002(\014\"\221\001\n\004Kind\022\020\n\014USER_PROFILE\020\001\022\014\n\010CONTA" + + "CTS\020\002\022\027\n\023CONVO_INFO_VOLATILE\020\003\022\n\n\006GROUPS" + + "\020\004\022\025\n\021CLOSED_GROUP_INFO\020\005\022\030\n\024CLOSED_GROU" + + "P_MEMBERS\020\006\022\023\n\017ENCRYPTION_KEYS\020\007\"u\n\016Rece" + + "iptMessage\0220\n\004type\030\001 \002(\0162\".signalservice" + + ".ReceiptMessage.Type\022\021\n\ttimestamp\030\002 \003(\004\"" + + "\036\n\004Type\022\014\n\010DELIVERY\020\000\022\010\n\004READ\020\001\"\354\001\n\021Atta" + + "chmentPointer\022\n\n\002id\030\001 \002(\006\022\023\n\013contentType" + + "\030\002 \001(\t\022\013\n\003key\030\003 \001(\014\022\014\n\004size\030\004 \001(\r\022\021\n\tthu" + + "mbnail\030\005 \001(\014\022\016\n\006digest\030\006 \001(\014\022\020\n\010fileName" + + "\030\007 \001(\t\022\r\n\005flags\030\010 \001(\r\022\r\n\005width\030\t \001(\r\022\016\n\006" + + "height\030\n \001(\r\022\017\n\007caption\030\013 \001(\t\022\013\n\003url\030e \001" + + "(\t\"\032\n\005Flags\022\021\n\rVOICE_MESSAGE\020\001B3\n\034org.se" + + "ssion.libsignal.protosB\023SignalServicePro" + + "tos" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -41470,7 +41470,7 @@ public final class SignalServiceProtos { internal_static_signalservice_Content_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_signalservice_Content_descriptor, - new java.lang.String[] { "DataMessage", "CallMessage", "ReceiptMessage", "TypingMessage", "ConfigurationMessage", "DataExtractionNotification", "UnsendRequest", "MessageRequestResponse", "SharedConfigMessage", "ExpirationType", "ExpirationTimer", "LastDisappearingMessageChangeTimestamp", }); + new java.lang.String[] { "DataMessage", "CallMessage", "ReceiptMessage", "TypingMessage", "ConfigurationMessage", "DataExtractionNotification", "UnsendRequest", "MessageRequestResponse", "SharedConfigMessage", "ExpirationType", "ExpirationTimer", "SigTimestamp", }); internal_static_signalservice_KeyPair_descriptor = getDescriptor().getMessageTypes().get(4); internal_static_signalservice_KeyPair_fieldAccessorTable = new diff --git a/libsignal/src/main/java/org/session/libsignal/protos/UtilProtos.java b/libsignal/src/main/java/org/session/libsignal/protos/UtilProtos.java index f8b6cde466..b8508d8fe4 100644 --- a/libsignal/src/main/java/org/session/libsignal/protos/UtilProtos.java +++ b/libsignal/src/main/java/org/session/libsignal/protos/UtilProtos.java @@ -1,7 +1,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // NO CHECKED-IN PROTOBUF GENCODE // source: Utils.proto -// Protobuf Java Version: 4.27.1 +// Protobuf Java Version: 4.29.3 package org.session.libsignal.protos; @@ -11,8 +11,8 @@ public final class UtilProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", UtilProtos.class.getName()); } @@ -58,8 +58,8 @@ public final class UtilProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", ByteArrayList.class.getName()); } diff --git a/libsignal/src/main/java/org/session/libsignal/protos/WebSocketProtos.java b/libsignal/src/main/java/org/session/libsignal/protos/WebSocketProtos.java index 9e5e6e1c4c..ffc8c03ae7 100644 --- a/libsignal/src/main/java/org/session/libsignal/protos/WebSocketProtos.java +++ b/libsignal/src/main/java/org/session/libsignal/protos/WebSocketProtos.java @@ -1,7 +1,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // NO CHECKED-IN PROTOBUF GENCODE // source: WebSocketResources.proto -// Protobuf Java Version: 4.27.1 +// Protobuf Java Version: 4.29.3 package org.session.libsignal.protos; @@ -11,8 +11,8 @@ public final class WebSocketProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", WebSocketProtos.class.getName()); } @@ -122,8 +122,8 @@ public final class WebSocketProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", WebSocketRequestMessage.class.getName()); } @@ -1248,8 +1248,8 @@ public final class WebSocketProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", WebSocketResponseMessage.class.getName()); } @@ -2268,8 +2268,8 @@ public final class WebSocketProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", WebSocketMessage.class.getName()); } @@ -2317,8 +2317,8 @@ public final class WebSocketProtos { com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 27, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Type.class.getName()); }