From 22c7b2d876e581a94215163bbd6888fdfcbff144 Mon Sep 17 00:00:00 2001 From: chimp1984 Date: Mon, 22 Nov 2021 22:43:31 +0100 Subject: [PATCH] Only try to remove invalid filter from network if it's our own. This avoids unnecessary/confusing warning logs in data storage. --- .../java/bisq/core/filter/FilterManager.java | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/core/src/main/java/bisq/core/filter/FilterManager.java b/core/src/main/java/bisq/core/filter/FilterManager.java index dfae9cf6858..f7b068dc54a 100644 --- a/core/src/main/java/bisq/core/filter/FilterManager.java +++ b/core/src/main/java/bisq/core/filter/FilterManager.java @@ -314,13 +314,18 @@ public void addToInvalidFilters(Filter filter) { } public void removeInvalidFilters(Filter filter, String privKeyString) { - log.info("Remove invalid filter {}", filter); - setFilterSigningKey(privKeyString); - String signatureAsBase64 = getSignature(Filter.cloneWithoutSig(filter)); - Filter filterWithSig = Filter.cloneWithSig(filter, signatureAsBase64); - boolean result = p2PService.removeData(filterWithSig); - if (!result) { - log.warn("Could not remove filter {}", filter); + // We can only remove the filter if it's our own filter + if (Arrays.equals(filter.getOwnerPubKey().getEncoded(), keyRing.getSignatureKeyPair().getPublic().getEncoded())) { + log.info("Remove invalid filter {}", filter); + setFilterSigningKey(privKeyString); + String signatureAsBase64 = getSignature(Filter.cloneWithoutSig(filter)); + Filter filterWithSig = Filter.cloneWithSig(filter, signatureAsBase64); + boolean result = p2PService.removeData(filterWithSig); + if (!result) { + log.warn("Could not remove filter {}", filter); + } + } else { + log.info("The invalid filter is not our own, so we cannot remove it from the network"); } } @@ -523,13 +528,13 @@ private void onFilterAddedFromNetwork(Filter newFilter) { if (currentFilter != null) { if (currentFilter.getCreationDate() > newFilter.getCreationDate()) { - log.debug("We received a new filter from the network but the creation date is older than the " + + log.info("We received a new filter from the network but the creation date is older than the " + "filter we have already. We ignore the new filter."); addToInvalidFilters(newFilter); return; } else { - log.debug("We received a new filter from the network and the creation date is newer than the " + + log.info("We received a new filter from the network and the creation date is newer than the " + "filter we have already. We ignore the old filter."); addToInvalidFilters(currentFilter); } @@ -580,7 +585,7 @@ private void onFilterRemovedFromNetwork(Filter filter) { // We don't check for banned filter as we want to remove a banned filter anyway. - if (!filterProperty.get().equals(filter)) { + if (filterProperty.get() != null && !filterProperty.get().equals(filter)) { return; }