From ff94b2423ec58cec64059bc6aa030c33f426367a Mon Sep 17 00:00:00 2001 From: idk Date: Thu, 29 Jun 2023 23:40:56 -0400 Subject: [PATCH] account for RAP vs RAR in multihomeCache --- .../jsp/themes/console/images/notblob.png | Bin 7208 -> 7817 bytes .../jsp/themes/console/images/ramble.png | Bin 8271 -> 6508 bytes .../HandleDatabaseLookupMessageJob.java | 10 ++------- ...andleFloodfillDatabaseStoreMessageJob.java | 21 +++++++++--------- 4 files changed, 13 insertions(+), 18 deletions(-) diff --git a/apps/routerconsole/jsp/themes/console/images/notblob.png b/apps/routerconsole/jsp/themes/console/images/notblob.png index 547a7bea7996757ef83dc540b439e43315602800..7c7c8dff600b08dbd662c5fb797ec689b0aca1ad 100644 GIT binary patch delta 4590 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 P00000NkvXXu0mjf!fgcp delta 4369 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 LNkvXXu0mjfEXhgZ diff --git a/router/java/src/net/i2p/router/networkdb/HandleDatabaseLookupMessageJob.java b/router/java/src/net/i2p/router/networkdb/HandleDatabaseLookupMessageJob.java index d072604b9..d6fc7c49c 100644 --- a/router/java/src/net/i2p/router/networkdb/HandleDatabaseLookupMessageJob.java +++ b/router/java/src/net/i2p/router/networkdb/HandleDatabaseLookupMessageJob.java @@ -163,10 +163,7 @@ public class HandleDatabaseLookupMessageJob extends JobImpl { getContext().statManager().addRateData("netDb.lookupsMatchedLocalClosest", 1); sendData(searchKey, ls, fromKey, toTunnel); } else if (possibleMultihomed != null) { - if (possibleMultihomed.isCurrent(Router.CLOCK_FUDGE_FACTOR / 4)) { - // If it's in the possibleMultihomed cache, then it was definitely stored to us meaning it is effectively - // always recievedAsPublished. No need to decide whether or not to answer the request like above, just - // answer it so it doesn't look different from other stores. + if (possibleMultihomed.isCurrent(Router.CLOCK_FUDGE_FACTOR / 4) && possibleMultihomed.getReceivedAsPublished()) { if (_log.shouldLog(Log.INFO)) _log.info("We have local LS, possibly from a multihomed router " + searchKey + ", and somebody requested it back from us. Answering query, as if in our keyspace, to avoid attack."); getContext().statManager().addRateData("netDb.lookupsMatchedLocalMultihome", 1); @@ -192,10 +189,7 @@ public class HandleDatabaseLookupMessageJob extends JobImpl { } else { LeaseSet possibleMultihomed = getContext().clientMessagePool().getCache().multihomedCache.get(searchKey); if (possibleMultihomed != null) { - if (possibleMultihomed.isCurrent(Router.CLOCK_FUDGE_FACTOR / 4)) { - // If it's in the possibleMultihomed cache, then it was definitely stored to us meaning it is effectively - // always recievedAsPublished. No need to decide whether or not to answer the request like above, just - // answer it so it doesn't look different from other stores. + if (possibleMultihomed.isCurrent(Router.CLOCK_FUDGE_FACTOR / 4) && possibleMultihomed.getReceivedAsPublished()) { if (_log.shouldLog(Log.INFO)) _log.info("We have local LS, possibly from a multihomed router " + searchKey + ", and somebody requested it back from us. Answering query, as if in our keyspace, to avoid attack."); getContext().statManager().addRateData("netDb.lookupsMatchedLocalMultihome", 1); diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/HandleFloodfillDatabaseStoreMessageJob.java b/router/java/src/net/i2p/router/networkdb/kademlia/HandleFloodfillDatabaseStoreMessageJob.java index c28fa376f..3a299be09 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/HandleFloodfillDatabaseStoreMessageJob.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/HandleFloodfillDatabaseStoreMessageJob.java @@ -92,6 +92,16 @@ class HandleFloodfillDatabaseStoreMessageJob extends JobImpl { // This could happen with multihoming - where it's really important to prevent // storing the other guy's leaseset, it will confuse us badly. LeaseSet ls = (LeaseSet) entry; + // If this was received as a response to a query, + // FloodOnlyLookupMatchJob called setReceivedAsReply(), + // and we are seeing this only as a duplicate, + // so we don't set the receivedAsPublished() flag. + // Otherwise, mark it as something we received unsolicited, so we'll answer queries + // for it. This flag must NOT get set on entries that we + // receive in response to our own lookups. + // See ../HDLMJ for more info + if (!ls.getReceivedAsReply()) + ls.setReceivedAsPublished(); if (getContext().clientManager().isLocal(key)) { getContext().statManager().addRateData("netDb.storeLocalLeaseSetAttempt", 1, 0); // throw rather than return, so that we send the ack below (prevent easy attack) @@ -111,16 +121,7 @@ class HandleFloodfillDatabaseStoreMessageJob extends JobImpl { } //boolean oldrar = ls.getReceivedAsReply(); //boolean oldrap = ls.getReceivedAsPublished(); - // If this was received as a response to a query, - // FloodOnlyLookupMatchJob called setReceivedAsReply(), - // and we are seeing this only as a duplicate, - // so we don't set the receivedAsPublished() flag. - // Otherwise, mark it as something we received unsolicited, so we'll answer queries - // for it. This flag must NOT get set on entries that we - // receive in response to our own lookups. - // See ../HDLMJ for more info - if (!ls.getReceivedAsReply()) - ls.setReceivedAsPublished(); + //boolean rap = ls.getReceivedAsPublished(); //if (_log.shouldLog(Log.INFO)) // _log.info("oldrap? " + oldrap + " oldrar? " + oldrar + " newrap? " + rap);