From 715ae139972b9eb08c7187c5a96d4cf8564ec960 Mon Sep 17 00:00:00 2001 From: zzz Date: Sat, 16 Jan 2010 17:06:01 +0000 Subject: [PATCH] dont log a RI DSM down a client tunnel as an error, just silently drop, as probably the result of a FVSJ --- .../i2p/router/tunnel/InboundMessageDistributor.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/router/java/src/net/i2p/router/tunnel/InboundMessageDistributor.java b/router/java/src/net/i2p/router/tunnel/InboundMessageDistributor.java index 8533a48bc..4a9c48dc2 100644 --- a/router/java/src/net/i2p/router/tunnel/InboundMessageDistributor.java +++ b/router/java/src/net/i2p/router/tunnel/InboundMessageDistributor.java @@ -66,6 +66,16 @@ public class InboundMessageDistributor implements GarlicMessageReceiver.CloveRec newMsg.setFromHash(orig.getFromHash()); newMsg.setSearchKey(orig.getSearchKey()); msg = newMsg; + } else if ( (_client != null) && + (msg.getType() == DatabaseStoreMessage.MESSAGE_TYPE) && + (((DatabaseStoreMessage)msg).getValueType() == DatabaseStoreMessage.KEY_TYPE_ROUTERINFO)) { + // FVSJ may result in an unsolicited RI store if the peer went non-ff. + // Maybe we can figure out a way to handle this safely, so we don't ask him again. + // For now, just hope we eventually find out through other means. + // Todo: if peer was ff and RI is not ff, queue for exploration in netdb (but that isn't part of the facade now) + if (_log.shouldLog(Log.WARN)) + _log.warn("Dropping DSM down a tunnel for " + _client.toBase64() + ": " + msg); + return; } else if ( (_client != null) && (msg.getType() != DeliveryStatusMessage.MESSAGE_TYPE) && (msg.getType() != GarlicMessage.MESSAGE_TYPE) &&