mirror of
https://github.com/oxen-io/session-android.git
synced 2025-08-25 15:37:32 +00:00
Automatically recover from bad encrypted messages.
This commit is contained in:
@@ -275,6 +275,7 @@ public class SignalServiceMessageSender {
|
||||
sendMessage(localAddress, Optional.<UnidentifiedAccess>absent(), timestamp, syncMessage, false, null);
|
||||
}
|
||||
|
||||
// TODO [greyson][session] Delete this when we delete the button
|
||||
if (message.isEndSession()) {
|
||||
if (recipient.getUuid().isPresent()) {
|
||||
store.deleteAllSessions(recipient.getUuid().get().toString());
|
||||
@@ -481,7 +482,6 @@ public class SignalServiceMessageSender {
|
||||
attachment.getUploadTimestamp());
|
||||
}
|
||||
|
||||
|
||||
private void sendMessage(VerifiedMessage message, Optional<UnidentifiedAccessPair> unidentifiedAccess)
|
||||
throws IOException, UntrustedIdentityException
|
||||
{
|
||||
@@ -507,6 +507,26 @@ public class SignalServiceMessageSender {
|
||||
}
|
||||
}
|
||||
|
||||
public SendMessageResult sendNullMessage(SignalServiceAddress address, Optional<UnidentifiedAccessPair> unidentifiedAccess)
|
||||
throws UntrustedIdentityException, IOException
|
||||
{
|
||||
byte[] nullMessageBody = DataMessage.newBuilder()
|
||||
.setBody(Base64.encodeBytes(Util.getRandomLengthBytes(140)))
|
||||
.build()
|
||||
.toByteArray();
|
||||
|
||||
NullMessage nullMessage = NullMessage.newBuilder()
|
||||
.setPadding(ByteString.copyFrom(nullMessageBody))
|
||||
.build();
|
||||
|
||||
byte[] content = Content.newBuilder()
|
||||
.setNullMessage(nullMessage)
|
||||
.build()
|
||||
.toByteArray();
|
||||
|
||||
return sendMessage(address, getTargetUnidentifiedAccess(unidentifiedAccess), System.currentTimeMillis(), content, false, null);
|
||||
}
|
||||
|
||||
private byte[] createTypingContent(SignalServiceTypingMessage message) {
|
||||
Content.Builder container = Content.newBuilder();
|
||||
TypingMessage.Builder builder = TypingMessage.newBuilder();
|
||||
|
Reference in New Issue
Block a user