From 68c40893c90c776e7c434f5bca91489f3548e97f Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Fri, 22 Jun 2018 11:24:31 +0200 Subject: [PATCH] Handle unknown PB data from encrypted messages - Use ProtobufferException for CoreNetworkProtoResolver.fromProto(PB.NetworkEnvelope proto) - Add raw PB data in case if an exception - log error if the encrypted data contains unknown PB data Note: We should refactor the resolvers with checked exceptions instead of the ProtobufferRuntimeException, but for the moment we leave that to not add too much complexity/risk for that release. --- src/main/java/bisq/desktop/main/MainViewModel.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/bisq/desktop/main/MainViewModel.java b/src/main/java/bisq/desktop/main/MainViewModel.java index 9636275cb16..8e8296a1e2f 100644 --- a/src/main/java/bisq/desktop/main/MainViewModel.java +++ b/src/main/java/bisq/desktop/main/MainViewModel.java @@ -88,6 +88,7 @@ import bisq.common.crypto.CryptoException; import bisq.common.crypto.KeyRing; import bisq.common.crypto.SealedAndSigned; +import bisq.common.proto.ProtobufferException; import bisq.common.storage.CorruptedDatabaseFilesHandler; import org.bitcoinj.core.Address; @@ -807,7 +808,7 @@ public void run() { } else { throw new CryptoException("Payload not correct after decryption"); } - } catch (CryptoException e) { + } catch (CryptoException | ProtobufferException e) { e.printStackTrace(); String msg = Res.get("popup.warning.cryptoTestFailed", e.getMessage()); log.error(msg);