From c359692705a859609e97ed91b10c1d3ccabb87ba Mon Sep 17 00:00:00 2001 From: ian Date: Mon, 30 Sep 2024 16:22:13 +0100 Subject: [PATCH] Tolerate cid codecs we don't understand in bitswap queries --- .../java/org/peergos/protocol/bitswap/BitswapEngine.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/peergos/protocol/bitswap/BitswapEngine.java b/src/main/java/org/peergos/protocol/bitswap/BitswapEngine.java index 3e9927c8..fb4ddb9c 100644 --- a/src/main/java/org/peergos/protocol/bitswap/BitswapEngine.java +++ b/src/main/java/org/peergos/protocol/bitswap/BitswapEngine.java @@ -158,7 +158,12 @@ public void receiveMessage(MessageOuterClass.Message msg, Stream source, Counter int presentBlocks = 0; if (msg.hasWantlist()) { for (MessageOuterClass.Message.Wantlist.Entry e : msg.getWantlist().getEntriesList()) { - Cid c = Cid.cast(e.getBlock().toByteArray()); + Cid c; + try { + c = Cid.cast(e.getBlock().toByteArray()); + } catch (Exception ex) { + continue; + } Optional auth = e.getAuth().isEmpty() ? Optional.empty() : Optional.of(ArrayOps.bytesToHex(e.getAuth().toByteArray())); boolean isCancel = e.getCancel(); boolean sendDontHave = e.getSendDontHave();