From 29ef603122397a27a2a1b970618f0d4660655370 Mon Sep 17 00:00:00 2001 From: ameba23 Date: Tue, 18 May 2021 11:02:02 +0200 Subject: [PATCH] Add RemoteWipeActivatedEvent to activate wipe --- .../api/remotewipe/RemoteWipeActivatedEvent.java | 14 ++++++++++++++ .../briar/remotewipe/RemoteWipeManagerImpl.java | 4 ++++ 2 files changed, 18 insertions(+) create mode 100644 briar-api/src/main/java/org/briarproject/briar/api/remotewipe/RemoteWipeActivatedEvent.java diff --git a/briar-api/src/main/java/org/briarproject/briar/api/remotewipe/RemoteWipeActivatedEvent.java b/briar-api/src/main/java/org/briarproject/briar/api/remotewipe/RemoteWipeActivatedEvent.java new file mode 100644 index 000000000..57d55aa48 --- /dev/null +++ b/briar-api/src/main/java/org/briarproject/briar/api/remotewipe/RemoteWipeActivatedEvent.java @@ -0,0 +1,14 @@ +package org.briarproject.briar.api.remotewipe; + +import org.briarproject.bramble.api.event.Event; +import org.briarproject.bramble.api.nullsafety.NotNullByDefault; +import javax.annotation.concurrent.Immutable; + +/** + * An event which is activated when a critical amount of + * remote wipe messages are received. + */ +@Immutable +@NotNullByDefault +public class RemoteWipeActivatedEvent extends Event { +} diff --git a/briar-core/src/main/java/org/briarproject/briar/remotewipe/RemoteWipeManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/remotewipe/RemoteWipeManagerImpl.java index 193f0845b..599f4422f 100644 --- a/briar-core/src/main/java/org/briarproject/briar/remotewipe/RemoteWipeManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/remotewipe/RemoteWipeManagerImpl.java @@ -29,6 +29,7 @@ import org.briarproject.briar.api.conversation.ConversationMessageHeader; import org.briarproject.briar.api.conversation.DeletionResult; import org.briarproject.briar.api.remotewipe.MessageEncoder; import org.briarproject.briar.api.remotewipe.MessageParser; +import org.briarproject.briar.api.remotewipe.RemoteWipeActivatedEvent; import org.briarproject.briar.api.remotewipe.RemoteWipeManager; import org.briarproject.briar.api.remotewipe.RemoteWipeMessageHeader; import org.briarproject.briar.api.remotewipe.RemoteWipeReceivedEvent; @@ -163,6 +164,7 @@ public class RemoteWipeManagerImpl extends ConversationClientImpl receivedWipeMessages.remove(i); } else if (receivedWipeMessage.getLong(0).intValue() == contactId.getInt()) { + // If we already have one from this contact, ignore System.out.println( "Duplicate wipe message received - ignoring"); @@ -175,6 +177,8 @@ public class RemoteWipeManagerImpl extends ConversationClientImpl if (observer != null) { observer.onPanic(); } + txn.attach(new RemoteWipeActivatedEvent()); + // we could here clear the metadata to allow us to send // the wipe messages several times when testing } else {