From 8bbab3187255b67e2ecd88389908622e52d2888a Mon Sep 17 00:00:00 2001 From: zzz Date: Sun, 12 Jan 2014 19:21:52 +0000 Subject: [PATCH] * NetDB: Fix handling of DSM down client tunnels --- history.txt | 2 +- router/java/src/net/i2p/router/RouterVersion.java | 2 +- .../src/net/i2p/router/tunnel/InboundMessageDistributor.java | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/history.txt b/history.txt index 127bd9c8b..bfaf76d24 100644 --- a/history.txt +++ b/history.txt @@ -1,5 +1,5 @@ 2014-01-12 zzz - * NetDB: Fix handling of DSRM down client tunnels + * NetDB: Fix handling of DSRM and DSM down client tunnels 2014-01-11 zzz * NetDB: diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index f2522cd4e..7ca1a3ec2 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 9; + public final static long BUILD = 10; /** for example "-test" */ public final static String EXTRA = ""; diff --git a/router/java/src/net/i2p/router/tunnel/InboundMessageDistributor.java b/router/java/src/net/i2p/router/tunnel/InboundMessageDistributor.java index 1de66b037..a7977d5d4 100644 --- a/router/java/src/net/i2p/router/tunnel/InboundMessageDistributor.java +++ b/router/java/src/net/i2p/router/tunnel/InboundMessageDistributor.java @@ -90,8 +90,9 @@ class InboundMessageDistributor implements GarlicMessageReceiver.CloveReceiver { (type != DeliveryStatusMessage.MESSAGE_TYPE) && (type != GarlicMessage.MESSAGE_TYPE) && // allow DSM of our own key (used by FloodfillVerifyStoreJob) - // as long as there's no reply token (FVSJ will never set a reply token but an attacker might) - ((type != DatabaseStoreMessage.MESSAGE_TYPE) || (!_client.equals(((DatabaseStoreMessage)msg).getKey())) || + // or other keys (used by IterativeSearchJob) + // as long as there's no reply token (we will never set a reply token but an attacker might) + ((type != DatabaseStoreMessage.MESSAGE_TYPE) || (((DatabaseStoreMessage)msg).getReplyToken() != 0)) && (type != TunnelBuildReplyMessage.MESSAGE_TYPE) && (type != VariableTunnelBuildReplyMessage.MESSAGE_TYPE)) {