diff --git a/pom.xml b/pom.xml
index 98a6fe892..3a3b6b0d2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -46,7 +46,7 @@
2.2.1
26.57.0
- 1.69.0
+ 1.70.0
2.12.1
4.4.16
@@ -65,9 +65,9 @@
3.5.0
1.14.5
4.1.119.Final
-
- 3.25.5
+
+ 4.29.4
0.15.4
1.2.4
2024.0.4
@@ -127,7 +127,7 @@
com.google.cloud
- libraries-bom-protobuf3
+ libraries-bom
${google-cloud-libraries.version}
pom
import
@@ -175,11 +175,6 @@
pushy-dropwizard-metrics-listener
${pushy.version}
-
- com.google.protobuf
- protobuf-java
- ${protobuf.version}
-
com.googlecode.libphonenumber
libphonenumber
@@ -443,7 +438,7 @@
0.6.1
false
- com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}
+ com.google.protobuf:protoc:${protoc.version}:exe:${os.detected.classifier}
grpc-java
io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}
diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/grpc/ValidatingInterceptor.java b/service/src/main/java/org/whispersystems/textsecuregcm/grpc/ValidatingInterceptor.java
index 97f5c0363..db7b640f6 100644
--- a/service/src/main/java/org/whispersystems/textsecuregcm/grpc/ValidatingInterceptor.java
+++ b/service/src/main/java/org/whispersystems/textsecuregcm/grpc/ValidatingInterceptor.java
@@ -8,7 +8,7 @@ package org.whispersystems.textsecuregcm.grpc;
import static org.whispersystems.textsecuregcm.grpc.validators.ValidatorUtils.internalError;
import com.google.protobuf.Descriptors;
-import com.google.protobuf.GeneratedMessageV3;
+import com.google.protobuf.Message;
import io.grpc.ForwardingServerCallListener;
import io.grpc.Metadata;
import io.grpc.ServerCall;
@@ -75,7 +75,7 @@ public class ValidatingInterceptor implements ServerInterceptor {
}
private void validateMessage(final Object message) throws StatusException {
- if (message instanceof GeneratedMessageV3 msg) {
+ if (message instanceof Message msg) {
try {
for (final Descriptors.FieldDescriptor fd: msg.getDescriptorForType().getFields()) {
for (final Map.Entry entry: fd.getOptions().getAllFields().entrySet()) {
diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/grpc/validators/BaseFieldValidator.java b/service/src/main/java/org/whispersystems/textsecuregcm/grpc/validators/BaseFieldValidator.java
index c9707fd86..4c84d3980 100644
--- a/service/src/main/java/org/whispersystems/textsecuregcm/grpc/validators/BaseFieldValidator.java
+++ b/service/src/main/java/org/whispersystems/textsecuregcm/grpc/validators/BaseFieldValidator.java
@@ -11,7 +11,6 @@ import static org.whispersystems.textsecuregcm.grpc.validators.ValidatorUtils.in
import com.google.protobuf.ByteString;
import com.google.protobuf.Descriptors;
-import com.google.protobuf.GeneratedMessageV3;
import com.google.protobuf.Message;
import io.grpc.Status;
import io.grpc.StatusException;
@@ -49,7 +48,7 @@ public abstract class BaseFieldValidator implements FieldValidator {
public void validate(
final Object extensionValue,
final Descriptors.FieldDescriptor fd,
- final GeneratedMessageV3 msg) throws StatusException {
+ final Message msg) throws StatusException {
try {
final T extensionValueTyped = resolveExtensionValue(extensionValue);
@@ -116,7 +115,7 @@ public abstract class BaseFieldValidator implements FieldValidator {
protected void validateRepeatedField(
final T extensionValue,
final Descriptors.FieldDescriptor fd,
- final GeneratedMessageV3 msg) throws StatusException {
+ final Message msg) throws StatusException {
throw internalError("`validateRepeatedField` method needs to be implemented");
}
diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/grpc/validators/ExactlySizeFieldValidator.java b/service/src/main/java/org/whispersystems/textsecuregcm/grpc/validators/ExactlySizeFieldValidator.java
index 1bd0ce009..6eed659d1 100644
--- a/service/src/main/java/org/whispersystems/textsecuregcm/grpc/validators/ExactlySizeFieldValidator.java
+++ b/service/src/main/java/org/whispersystems/textsecuregcm/grpc/validators/ExactlySizeFieldValidator.java
@@ -9,7 +9,7 @@ import static org.whispersystems.textsecuregcm.grpc.validators.ValidatorUtils.in
import com.google.protobuf.ByteString;
import com.google.protobuf.Descriptors;
-import com.google.protobuf.GeneratedMessageV3;
+import com.google.protobuf.Message;
import io.grpc.StatusException;
import java.util.List;
import java.util.Set;
@@ -53,7 +53,7 @@ public class ExactlySizeFieldValidator extends BaseFieldValidator>
protected void validateRepeatedField(
final Set permittedSizes,
final Descriptors.FieldDescriptor fd,
- final GeneratedMessageV3 msg) throws StatusException {
+ final Message msg) throws StatusException {
final int size = msg.getRepeatedFieldCount(fd);
if (permittedSizes.contains(size)) {
return;
diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/grpc/validators/FieldValidator.java b/service/src/main/java/org/whispersystems/textsecuregcm/grpc/validators/FieldValidator.java
index 7283602bb..cdf668e90 100644
--- a/service/src/main/java/org/whispersystems/textsecuregcm/grpc/validators/FieldValidator.java
+++ b/service/src/main/java/org/whispersystems/textsecuregcm/grpc/validators/FieldValidator.java
@@ -6,11 +6,11 @@
package org.whispersystems.textsecuregcm.grpc.validators;
import com.google.protobuf.Descriptors;
-import com.google.protobuf.GeneratedMessageV3;
+import com.google.protobuf.Message;
import io.grpc.StatusException;
public interface FieldValidator {
- void validate(Object extensionValue, Descriptors.FieldDescriptor fd, GeneratedMessageV3 msg)
+ void validate(Object extensionValue, Descriptors.FieldDescriptor fd, Message msg)
throws StatusException;
}
diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/grpc/validators/NonEmptyFieldValidator.java b/service/src/main/java/org/whispersystems/textsecuregcm/grpc/validators/NonEmptyFieldValidator.java
index 05460d0c3..91bb256b3 100644
--- a/service/src/main/java/org/whispersystems/textsecuregcm/grpc/validators/NonEmptyFieldValidator.java
+++ b/service/src/main/java/org/whispersystems/textsecuregcm/grpc/validators/NonEmptyFieldValidator.java
@@ -9,7 +9,7 @@ import static org.whispersystems.textsecuregcm.grpc.validators.ValidatorUtils.in
import com.google.protobuf.ByteString;
import com.google.protobuf.Descriptors;
-import com.google.protobuf.GeneratedMessageV3;
+import com.google.protobuf.Message;
import io.grpc.StatusException;
import java.util.Set;
import org.apache.commons.lang3.StringUtils;
@@ -52,7 +52,7 @@ public class NonEmptyFieldValidator extends BaseFieldValidator {
protected void validateRepeatedField(
final Boolean extensionValue,
final Descriptors.FieldDescriptor fd,
- final GeneratedMessageV3 msg) throws StatusException {
+ final Message msg) throws StatusException {
if (msg.getRepeatedFieldCount(fd) > 0) {
return;
}
diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/grpc/validators/SizeFieldValidator.java b/service/src/main/java/org/whispersystems/textsecuregcm/grpc/validators/SizeFieldValidator.java
index 532b84059..8d8fd2298 100644
--- a/service/src/main/java/org/whispersystems/textsecuregcm/grpc/validators/SizeFieldValidator.java
+++ b/service/src/main/java/org/whispersystems/textsecuregcm/grpc/validators/SizeFieldValidator.java
@@ -9,7 +9,7 @@ import static org.whispersystems.textsecuregcm.grpc.validators.ValidatorUtils.in
import com.google.protobuf.ByteString;
import com.google.protobuf.Descriptors;
-import com.google.protobuf.GeneratedMessageV3;
+import com.google.protobuf.Message;
import io.grpc.StatusException;
import java.util.Set;
import org.signal.chat.require.SizeConstraint;
@@ -48,7 +48,7 @@ public class SizeFieldValidator extends BaseFieldValidator {
}
@Override
- protected void validateRepeatedField(final Range range, final Descriptors.FieldDescriptor fd, final GeneratedMessageV3 msg) throws StatusException {
+ protected void validateRepeatedField(final Range range, final Descriptors.FieldDescriptor fd, final Message msg) throws StatusException {
final int size = msg.getRepeatedFieldCount(fd);
if (size < range.min() || size > range.max()) {
throw invalidArgument("field value is [%d] but expected to be within the [%d, %d] range".formatted(