From 85fbbf89807007eadc144d5f7afdc6966545e31d Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Wed, 22 Aug 2012 17:40:25 +0000 Subject: [PATCH] * NetDB: Add hash collision detection --- .../networkdb/kademlia/KademliaNetworkDatabaseFacade.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java b/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java index 2e83c238ec..3da3b819b6 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java @@ -676,6 +676,10 @@ public class KademliaNetworkDatabaseFacade extends NetworkDatabaseFacade { throw new IllegalArgumentException("Attempt to replace RI with " + leaseSet); } + // spoof / hash collision detection + if (rv != null && !leaseSet.getDestination().equals(rv.getDestination())) + throw new IllegalArgumentException("LS Hash collision"); + String err = validate(key, leaseSet); if (err != null) throw new IllegalArgumentException("Invalid store attempt - " + err); @@ -815,6 +819,10 @@ public class KademliaNetworkDatabaseFacade extends NetworkDatabaseFacade { throw new IllegalArgumentException("Attempt to replace LS with " + routerInfo); } + // spoof / hash collision detection + if (rv != null && !routerInfo.getIdentity().equals(rv.getIdentity())) + throw new IllegalArgumentException("RI Hash collision"); + String err = validate(key, routerInfo); if (err != null) throw new IllegalArgumentException("Invalid store attempt - " + err); -- GitLab