From f2533ac4b76cfbac68644588066ba183da0878ad Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Fri, 23 Jul 2021 07:41:09 -0400 Subject: [PATCH] Fallback to legacy sends upon getting a 401 during sender key. --- .../org/thoughtcrime/securesms/messages/GroupSendUtil.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/messages/GroupSendUtil.java b/app/src/main/java/org/thoughtcrime/securesms/messages/GroupSendUtil.java index 5568544eea..107d7b910a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messages/GroupSendUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/messages/GroupSendUtil.java @@ -35,6 +35,7 @@ import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage; import org.whispersystems.signalservice.api.messages.SignalServiceTypingMessage; import org.whispersystems.signalservice.api.push.DistributionId; import org.whispersystems.signalservice.api.push.SignalServiceAddress; +import org.whispersystems.signalservice.internal.push.exceptions.InvalidUnidentifiedAccessHeaderException; import org.whispersystems.signalservice.internal.push.http.CancelationSignal; import org.whispersystems.signalservice.internal.push.http.PartialSendCompleteListener; @@ -206,6 +207,9 @@ public final class GroupSendUtil { if (sendOperation.shouldIncludeInMessageLog()) { DatabaseFactory.getMessageLogDatabase(context).insertIfPossible(sendOperation.getSentTimestamp(), senderKeyTargets, results, sendOperation.getContentHint(), sendOperation.getRelatedMessageId()); } + } catch (InvalidUnidentifiedAccessHeaderException e) { + Log.w(TAG, "Someone had a bad UD header. Falling back to legacy sends.", e); + legacyTargets.addAll(senderKeyTargets); } catch (NoSessionException e) { Log.w(TAG, "No session. Falling back to legacy sends.", e); legacyTargets.addAll(senderKeyTargets);