diff --git a/router/java/src/net/i2p/router/tunnelmanager/RequestTunnelJob.java b/router/java/src/net/i2p/router/tunnelmanager/RequestTunnelJob.java index dd685cb836db2e1cdfc963a87f4fe877932b9da4..86d048a8f0169589ae336aa64bafec82a0131845 100644 --- a/router/java/src/net/i2p/router/tunnelmanager/RequestTunnelJob.java +++ b/router/java/src/net/i2p/router/tunnelmanager/RequestTunnelJob.java @@ -82,7 +82,6 @@ public class RequestTunnelJob extends JobImpl { _pool = pool; _tunnelGateway = tunnelGateway; - _toBeRequested = new ArrayList(); _timeoutMs = timeoutMs; _expiration = -1; _isInbound = isInbound; @@ -112,8 +111,15 @@ public class RequestTunnelJob extends JobImpl { // work backwards (end point, then the router pointing at the endpoint, then the router pointing at that, etc, until the gateway _toBeRequested = new ArrayList(participants.size()); - for (int i = participants.size()-1; i >= 0; i--) - _toBeRequested.add(participants.get(i)); + for (int i = participants.size()-1; i >= 0; i--) { + TunnelInfo peer = (TunnelInfo)participants.get(i); + if (null != _context.netDb().lookupRouterInfoLocally(peer.getThisHop())) { + _toBeRequested.add(participants.get(i)); + } else { + if (_log.shouldLog(Log.WARN)) + _log.warn("ok who the fuck requested someone we don't know about? (dont answer that"); + } + } } public String getName() { return "Request Tunnel"; }