diff --git a/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java b/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java index 9dcf1e5e8a83394a215475a1735228246fd9c0aa..10835207e5bcfac41476fd159b93d0491fa6b63c 100644 --- a/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java +++ b/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java @@ -460,6 +460,7 @@ class BuildHandler { return 0; } + private static final String PROP_REJECT_NONPARTICIPANT = "router.participantOnly"; private void handleReq(RouterInfo nextPeerInfo, BuildMessageState state, BuildRequestRecord req, Hash nextPeer) { long ourId = req.readReceiveTunnelId(); long nextId = req.readNextTunnelId(); @@ -497,6 +498,11 @@ class BuildHandler { } } + if (response == 0 && (isInGW || isOutEnd) && + Boolean.valueOf(_context.getProperty(PROP_REJECT_NONPARTICIPANT))) { + response = TunnelHistory.TUNNEL_REJECT_BANDWIDTH; + } + if (_log.shouldLog(Log.DEBUG)) _log.debug("Responding to " + state.msg.getUniqueId() + "/" + ourId + " after " + recvDelay + "/" + proactiveDrops + " with " + response