From 0c6761fcfd4fe30b40dda8c2d6a6092988ffebc5 Mon Sep 17 00:00:00 2001 From: Chris Eager <79161849+eager-signal@users.noreply.github.com> Date: Thu, 14 Mar 2024 09:52:26 -0500 Subject: [PATCH] Update Option.RECAPTCHA to Option.CAPTCHA --- .../org/thoughtcrime/securesms/jobs/PushSendJob.java | 9 +++++++-- .../api/push/exceptions/ProofRequiredException.java | 4 +++- .../internal/push/SubmitRecaptchaChallengePayload.java | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushSendJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushSendJob.java index f13cfa2390..8580aaad0d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushSendJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushSendJob.java @@ -594,8 +594,13 @@ public abstract class PushSendJob extends SendJob { SignalDatabase.messages().markAsRateLimited(messageId); } - if (proofRequired.getOptions().contains(ProofRequiredException.Option.RECAPTCHA)) { - Log.i(TAG, "[Proof Required] ReCAPTCHA required."); + final Optional captchaRequired = + proofRequired.getOptions().stream() + .filter(option -> option.equals(ProofRequiredException.Option.RECAPTCHA) || option.equals(ProofRequiredException.Option.CAPTCHA)) + .findFirst(); + + if (captchaRequired.isPresent()) { + Log.i(TAG, "[Proof Required] " + captchaRequired.get() + " required."); SignalStore.rateLimit().markNeedsRecaptcha(proofRequired.getToken()); if (recipient != null) { diff --git a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/push/exceptions/ProofRequiredException.java b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/push/exceptions/ProofRequiredException.java index e19e5fa415..ac5526d2be 100644 --- a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/push/exceptions/ProofRequiredException.java +++ b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/push/exceptions/ProofRequiredException.java @@ -44,6 +44,8 @@ public class ProofRequiredException extends NonSuccessfulResponseCodeException { switch (raw) { case "recaptcha": options.add(Option.RECAPTCHA); + case "captcha": + options.add(Option.CAPTCHA); break; case "pushChallenge": options.add(Option.PUSH_CHALLENGE); @@ -58,6 +60,6 @@ public class ProofRequiredException extends NonSuccessfulResponseCodeException { } public enum Option { - RECAPTCHA, PUSH_CHALLENGE + @Deprecated RECAPTCHA, CAPTCHA, PUSH_CHALLENGE } } diff --git a/libsignal-service/src/main/java/org/whispersystems/signalservice/internal/push/SubmitRecaptchaChallengePayload.java b/libsignal-service/src/main/java/org/whispersystems/signalservice/internal/push/SubmitRecaptchaChallengePayload.java index bd35dc81a1..2218dab3be 100644 --- a/libsignal-service/src/main/java/org/whispersystems/signalservice/internal/push/SubmitRecaptchaChallengePayload.java +++ b/libsignal-service/src/main/java/org/whispersystems/signalservice/internal/push/SubmitRecaptchaChallengePayload.java @@ -16,7 +16,7 @@ class SubmitRecaptchaChallengePayload { public SubmitRecaptchaChallengePayload() {} public SubmitRecaptchaChallengePayload(String challenge, String recaptchaToken) { - this.type = "recaptcha"; + this.type = "captcha"; this.token = challenge; this.captcha = recaptchaToken; }