This is an automated email from the ASF dual-hosted git repository. lgoldstein pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mina-sshd.git
commit 91b437dc5813469c098a4f30f84c4ff256e6893c Author: Lyor Goldstein <lgoldst...@apache.org> AuthorDate: Mon Feb 15 19:06:31 2021 +0200 [SSHD-1124] Using Factory<? extends Random> method signature --- .../server/session/EndlessTarpitSenderSupportDevelopment.java | 2 +- sshd-core/src/main/java/org/apache/sshd/common/FactoryManager.java | 2 +- .../org/apache/sshd/common/helpers/AbstractFactoryManager.java | 6 +++--- .../org/apache/sshd/common/session/helpers/AbstractSession.java | 2 +- .../src/main/java/org/apache/sshd/server/kex/DHGEXServer.java | 2 +- .../org/apache/sshd/client/ClientAuthenticationManagerTest.java | 5 +++-- .../sshd/client/keyverifier/KnownHostsServerKeyVerifierTest.java | 7 +++++-- 7 files changed, 15 insertions(+), 11 deletions(-) diff --git a/sshd-contrib/src/test/java/org/apache/sshd/contrib/server/session/EndlessTarpitSenderSupportDevelopment.java b/sshd-contrib/src/test/java/org/apache/sshd/contrib/server/session/EndlessTarpitSenderSupportDevelopment.java index 9298b3b..735c507 100644 --- a/sshd-contrib/src/test/java/org/apache/sshd/contrib/server/session/EndlessTarpitSenderSupportDevelopment.java +++ b/sshd-contrib/src/test/java/org/apache/sshd/contrib/server/session/EndlessTarpitSenderSupportDevelopment.java @@ -83,7 +83,7 @@ public final class EndlessTarpitSenderSupportDevelopment extends AbstractLogging this.dataBuffer = new byte[(lineLength * 4) / 6 /* BASE64 */]; this.outputBuffer = new byte[lineLength + 8 /* some padding */ + 2 /* CRLF */]; FactoryManager manager = session.getFactoryManager(); - Factory<Random> randomFactory = manager.getRandomFactory(); + Factory<? extends Random> randomFactory = manager.getRandomFactory(); this.randomizer = randomFactory.create(); this.session.addSessionListener(this); } diff --git a/sshd-core/src/main/java/org/apache/sshd/common/FactoryManager.java b/sshd-core/src/main/java/org/apache/sshd/common/FactoryManager.java index e5abe88..23b6cc4 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/FactoryManager.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/FactoryManager.java @@ -84,7 +84,7 @@ public interface FactoryManager * * @return The <code>Random</code> factory, never {@code null} */ - Factory<Random> getRandomFactory(); + Factory<? extends Random> getRandomFactory(); /** * Retrieve the list of named factories for <code>Channel</code> objects. diff --git a/sshd-core/src/main/java/org/apache/sshd/common/helpers/AbstractFactoryManager.java b/sshd-core/src/main/java/org/apache/sshd/common/helpers/AbstractFactoryManager.java index 0d15a61..15bd3ed 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/helpers/AbstractFactoryManager.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/helpers/AbstractFactoryManager.java @@ -72,7 +72,7 @@ import org.apache.sshd.server.forward.ForwardingFilter; public abstract class AbstractFactoryManager extends AbstractKexFactoryManager implements FactoryManager { protected IoServiceFactoryFactory ioServiceFactoryFactory; protected IoServiceFactory ioServiceFactory; - protected Factory<Random> randomFactory; + protected Factory<? extends Random> randomFactory; protected List<? extends ChannelFactory> channelFactories; protected SshAgentFactory agentFactory; protected ScheduledExecutorService executor; @@ -135,11 +135,11 @@ public abstract class AbstractFactoryManager extends AbstractKexFactoryManager i } @Override - public Factory<Random> getRandomFactory() { + public Factory<? extends Random> getRandomFactory() { return randomFactory; } - public void setRandomFactory(Factory<Random> randomFactory) { + public void setRandomFactory(Factory<? extends Random> randomFactory) { this.randomFactory = randomFactory; } diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java index 6a2b146..41eae68 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java @@ -228,7 +228,7 @@ public abstract class AbstractSession extends SessionHelper { attachSession(ioSession, this); - Factory<Random> factory = ValidateUtils.checkNotNull( + Factory<? extends Random> factory = ValidateUtils.checkNotNull( factoryManager.getRandomFactory(), "No random factory for %s", ioSession); random = ValidateUtils.checkNotNull( factory.create(), "No randomizer instance for %s", ioSession); diff --git a/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGEXServer.java b/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGEXServer.java index 3403c1d..34c2e9d 100644 --- a/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGEXServer.java +++ b/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGEXServer.java @@ -280,7 +280,7 @@ public class DHGEXServer extends AbstractDHServerKeyExchange { } FactoryManager manager = Objects.requireNonNull(session.getFactoryManager(), "No factory manager"); - Factory<Random> factory = Objects.requireNonNull(manager.getRandomFactory(), "No random factory"); + Factory<? extends Random> factory = Objects.requireNonNull(manager.getRandomFactory(), "No random factory"); Random random = Objects.requireNonNull(factory.create(), "No random generator"); int which = random.random(selected.size()); Moduli.DhGroup group = selected.get(which); diff --git a/sshd-core/src/test/java/org/apache/sshd/client/ClientAuthenticationManagerTest.java b/sshd-core/src/test/java/org/apache/sshd/client/ClientAuthenticationManagerTest.java index 735b57f..0130c5c 100644 --- a/sshd-core/src/test/java/org/apache/sshd/client/ClientAuthenticationManagerTest.java +++ b/sshd-core/src/test/java/org/apache/sshd/client/ClientAuthenticationManagerTest.java @@ -270,6 +270,7 @@ public class ClientAuthenticationManagerTest extends BaseTestSupport { return manager; } + @SuppressWarnings({ "unchecked", "rawtypes" }) private ClientSession createMockClientSession() throws Exception { ClientFactoryManager client = Mockito.mock(ClientFactoryManager.class); Mockito.when(client.getForwarderFactory()).thenReturn(DefaultForwarderFactory.INSTANCE); @@ -296,8 +297,8 @@ public class ClientAuthenticationManagerTest extends BaseTestSupport { }); Mockito.when(client.getChannelListenerProxy()).thenReturn(ChannelListener.EMPTY); Mockito.when(client.getPortForwardingEventListenerProxy()).thenReturn(PortForwardingEventListener.EMPTY); - Factory<Random> randomFactory = new SingletonRandomFactory(JceRandomFactory.INSTANCE); - Mockito.when(client.getRandomFactory()).thenReturn(randomFactory); + Factory<? extends Random> randomFactory = new SingletonRandomFactory(JceRandomFactory.INSTANCE); + Mockito.when(client.getRandomFactory()).thenReturn((Factory) randomFactory); Mockito.when(client.getServiceFactories()).thenReturn((List) SshClient.DEFAULT_SERVICE_FACTORIES); Mockito.when(client.getUserAuthFactories()).thenReturn(SshClient.DEFAULT_USER_AUTH_FACTORIES); diff --git a/sshd-core/src/test/java/org/apache/sshd/client/keyverifier/KnownHostsServerKeyVerifierTest.java b/sshd-core/src/test/java/org/apache/sshd/client/keyverifier/KnownHostsServerKeyVerifierTest.java index d23521c..98fd5b0 100644 --- a/sshd-core/src/test/java/org/apache/sshd/client/keyverifier/KnownHostsServerKeyVerifierTest.java +++ b/sshd-core/src/test/java/org/apache/sshd/client/keyverifier/KnownHostsServerKeyVerifierTest.java @@ -40,6 +40,7 @@ import org.apache.sshd.client.config.hosts.KnownHostEntry; import org.apache.sshd.client.config.hosts.KnownHostHashValue; import org.apache.sshd.client.keyverifier.KnownHostsServerKeyVerifier.HostEntryPair; import org.apache.sshd.client.session.ClientSession; +import org.apache.sshd.common.Factory; import org.apache.sshd.common.NamedFactory; import org.apache.sshd.common.SshConstants; import org.apache.sshd.common.config.keys.AuthorizedKeyEntry; @@ -95,6 +96,7 @@ public class KnownHostsServerKeyVerifierTest extends BaseTestSupport { } @Test + @SuppressWarnings({ "unchecked", "rawtypes" }) public void testParallelLoading() { KnownHostsServerKeyVerifier verifier = new KnownHostsServerKeyVerifier(AcceptAllServerKeyVerifier.INSTANCE, entriesFile) { @@ -115,7 +117,7 @@ public class KnownHostsServerKeyVerifierTest extends BaseTestSupport { }; ClientFactoryManager manager = Mockito.mock(ClientFactoryManager.class); - Mockito.when(manager.getRandomFactory()).thenReturn(JceRandomFactory.INSTANCE); + Mockito.when(manager.getRandomFactory()).thenReturn((Factory) JceRandomFactory.INSTANCE); HOST_KEYS.entrySet().parallelStream().forEach(line -> { KnownHostEntry entry = hostsEntries.get(line.getKey()); @@ -221,6 +223,7 @@ public class KnownHostsServerKeyVerifierTest extends BaseTestSupport { } @Test + @SuppressWarnings({ "rawtypes", "unchecked" }) public void testWriteHashedHostValues() throws Exception { Path path = getKnownHostCopyPath(); Files.deleteIfExists(path); @@ -234,7 +237,7 @@ public class KnownHostsServerKeyVerifierTest extends BaseTestSupport { }; ClientFactoryManager manager = Mockito.mock(ClientFactoryManager.class); - Mockito.when(manager.getRandomFactory()).thenReturn(JceRandomFactory.INSTANCE); + Mockito.when(manager.getRandomFactory()).thenReturn((Factory) JceRandomFactory.INSTANCE); ClientSession session = Mockito.mock(ClientSession.class); Mockito.when(session.getFactoryManager()).thenReturn(manager);