diff --git a/router/java/src/net/i2p/router/peermanager/PeerManager.java b/router/java/src/net/i2p/router/peermanager/PeerManager.java index 800b75c3e..a2c432763 100644 --- a/router/java/src/net/i2p/router/peermanager/PeerManager.java +++ b/router/java/src/net/i2p/router/peermanager/PeerManager.java @@ -11,7 +11,6 @@ package net.i2p.router.peermanager; import java.io.IOException; import java.io.Writer; import java.util.ArrayList; -import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.List; @@ -116,7 +115,9 @@ class PeerManager { */ List selectPeers(PeerSelectionCriteria criteria) { Set peers = new HashSet(criteria.getMinimumRequired()); - Set exclude = Collections.singleton(_context.routerHash()); + // not a singleton, SANFP adds to it + Set exclude = new HashSet(1); + exclude.add(_context.routerHash()); switch (criteria.getPurpose()) { case PeerSelectionCriteria.PURPOSE_TEST: // for now, the peers we test will be the reliable ones diff --git a/router/java/src/net/i2p/router/tunnel/pool/TestJob.java b/router/java/src/net/i2p/router/tunnel/pool/TestJob.java index 50f87f4da..7c64df958 100644 --- a/router/java/src/net/i2p/router/tunnel/pool/TestJob.java +++ b/router/java/src/net/i2p/router/tunnel/pool/TestJob.java @@ -1,6 +1,6 @@ package net.i2p.router.tunnel.pool; -import java.util.Collections; +import java.util.HashSet; import java.util.Set; import net.i2p.crypto.SessionKeyManager; @@ -144,7 +144,9 @@ class TestJob extends JobImpl { scheduleRetest(); return; } - Set encryptTags = Collections.singleton(encryptTag); + // can't be a singleton, the SKM modifies it + Set encryptTags = new HashSet(1); + encryptTags.add(encryptTag); // Register the single tag with the appropriate SKM if (_cfg.isInbound() && !_pool.getSettings().isExploratory()) { SessionKeyManager skm = getContext().clientManager().getClientSessionKeyManager(_pool.getSettings().getDestination());