Repository: ignite Updated Branches: refs/heads/master 3d32ac403 -> 6d7847c7f
Revert "IGNITE-9298 SSL support in control.sh - Fixes #5516." This reverts commit 3d32ac4033f00cb0619ee2f2c2f19115f29d54b2. Signed-off-by: Ilya Kasnacheev <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/404f79f9 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/404f79f9 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/404f79f9 Branch: refs/heads/master Commit: 404f79f992538b75a8e89dbc0c4afd33f52fde82 Parents: 3d32ac4 Author: Ilya Kasnacheev <[email protected]> Authored: Fri Nov 30 18:15:39 2018 +0300 Committer: Ilya Kasnacheev <[email protected]> Committed: Fri Nov 30 18:15:39 2018 +0300 ---------------------------------------------------------------------- .../ignite/internal/commandline/Arguments.java | 100 +------------ .../internal/commandline/CommandHandler.java | 139 +------------------ .../commandline/CommandHandlerParsingTest.java | 39 ------ .../IgniteBasicWithPersistenceTestSuite.java | 2 - .../ignite/util/GridCommandHandlerSslTest.java | 88 ------------ 5 files changed, 5 insertions(+), 363 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/404f79f9/modules/core/src/main/java/org/apache/ignite/internal/commandline/Arguments.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/commandline/Arguments.java b/modules/core/src/main/java/org/apache/ignite/internal/commandline/Arguments.java index 07e7b10..6367eef 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/commandline/Arguments.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/commandline/Arguments.java @@ -77,30 +77,6 @@ public class Arguments { /** Ping interval for grid client. See {@link GridClientConfiguration#pingInterval}. */ private long pingInterval; - /** SSL Protocol. */ - private String sslProtocol; - - /** SSL Key Algorithm. */ - private String sslKeyAlgorithm; - - /** Keystore. */ - private String sslKeyStorePath; - - /** Keystore Type. */ - private String sslKeyStoreType; - - /** Keystore Password. */ - private char[] sslKeyStorePassword; - - /** Truststore. */ - private String sslTrustStorePath; - - /** Truststore Type. */ - private String sslTrustStoreType; - - /** Truststore Password. */ - private char[] sslTrustStorePassword; - /** * @param cmd Command. * @param host Host. @@ -116,20 +92,10 @@ public class Arguments { * @param pingTimeout Ping timeout. See {@link GridClientConfiguration#pingTimeout}. * @param pingInterval Ping interval. See {@link GridClientConfiguration#pingInterval}. * @param autoConfirmation Auto confirmation flag. - * @param sslProtocol SSL Protocol. - * @param sslKeyAlgorithm SSL Key Algorithm. - * @param sslKeyStorePath Keystore. - * @param sslKeyStorePassword Keystore Password. - * @param sslKeyStoreType Keystore Type. - * @param sslTrustStorePath Truststore. - * @param sslTrustStorePassword Truststore Password. - * @param sslTrustStoreType Truststore Type. */ public Arguments(Command cmd, String host, String port, String user, String pwd, String baselineAct, String baselineArgs, VisorTxTaskArg txArg, CacheArguments cacheArgs, String walAct, String walArgs, - Long pingTimeout, Long pingInterval, boolean autoConfirmation, String sslProtocol, String sslKeyAlgorithm, - String sslKeyStorePath, char[] sslKeyStorePassword, String sslKeyStoreType, - String sslTrustStorePath, char[] sslTrustStorePassword, String sslTrustStoreType) { + Long pingTimeout, Long pingInterval, boolean autoConfirmation) { this.cmd = cmd; this.host = host; this.port = port; @@ -144,14 +110,6 @@ public class Arguments { this.pingTimeout = pingTimeout; this.pingInterval = pingInterval; this.autoConfirmation = autoConfirmation; - this.sslProtocol = sslProtocol; - this.sslKeyAlgorithm = sslKeyAlgorithm; - this.sslKeyStorePath = sslKeyStorePath; - this.sslKeyStoreType = sslKeyStoreType; - this.sslKeyStorePassword = sslKeyStorePassword; - this.sslTrustStorePath = sslTrustStorePath; - this.sslTrustStoreType = sslTrustStoreType; - this.sslTrustStorePassword = sslTrustStorePassword; } /** @@ -269,60 +227,4 @@ public class Arguments { public boolean autoConfirmation() { return autoConfirmation; } - - /** - * @return SSL protocol - */ - public String sslProtocol() { - return sslProtocol; - } - - /** - * @return SSL Key Algorithm - */ - public String sslKeyAlgorithm() { - return sslKeyAlgorithm; - } - - /** - * @return Keystore - */ - public String sslKeyStorePath() { - return sslKeyStorePath; - } - - /** - * @return Keystore type - */ - public String sslKeyStoreType() { - return sslKeyStoreType; - } - - /** - * @return Keystore password - */ - public char[] sslKeyStorePassword() { - return sslKeyStorePassword; - } - - /** - * @return Truststore - */ - public String sslTrustStorePath() { - return sslTrustStorePath; - } - - /** - * @return Truststore type - */ - public String sslTrustStoreType() { - return sslTrustStoreType; - } - - /** - * @return Truststore password - */ - public char[] sslTrustStorePassword() { - return sslTrustStorePassword; - } } http://git-wip-us.apache.org/repos/asf/ignite/blob/404f79f9/modules/core/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java index 56f278b..e9a4281 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java @@ -54,7 +54,6 @@ import org.apache.ignite.internal.client.GridClientHandshakeException; import org.apache.ignite.internal.client.GridClientNode; import org.apache.ignite.internal.client.GridServerUnreachableException; import org.apache.ignite.internal.client.impl.connection.GridClientConnectionResetException; -import org.apache.ignite.internal.client.ssl.GridSslBasicContextFactory; import org.apache.ignite.internal.commandline.cache.CacheArguments; import org.apache.ignite.internal.commandline.cache.CacheCommand; import org.apache.ignite.internal.commandline.cache.distribution.CacheDistributionTask; @@ -125,7 +124,6 @@ import org.apache.ignite.lang.IgniteProductVersion; import org.apache.ignite.plugin.security.SecurityCredentials; import org.apache.ignite.plugin.security.SecurityCredentialsBasicProvider; import org.apache.ignite.plugin.security.SecurityCredentialsProvider; -import org.apache.ignite.ssl.SslContextFactory; import static org.apache.ignite.IgniteSystemProperties.IGNITE_ENABLE_EXPERIMENTAL_COMMAND; import static org.apache.ignite.internal.IgniteVersionUtils.ACK_VER_STR; @@ -198,32 +196,6 @@ public class CommandHandler { /** */ private static final String CMD_USER_ATTRIBUTES = "--user-attributes"; - // SSL configuration section - - /** */ - private static final String CMD_SSL_PROTOCOL = "--ssl-protocol"; - - /** */ - private static final String CMD_SSL_KEY_ALGORITHM = "--ssl-key-algorithm"; - - /** */ - private static final String CMD_KEYSTORE = "--keystore"; - - /** */ - private static final String CMD_KEYSTORE_PASSWORD = "--keystore-password"; - - /** */ - private static final String CMD_KEYSTORE_TYPE = "--keystore-type"; - - /** */ - private static final String CMD_TRUSTSTORE = "--truststore"; - - /** */ - private static final String CMD_TRUSTSTORE_PASSWORD = "--truststore-password"; - - /** */ - private static final String CMD_TRUSTSTORE_TYPE = "--truststore-type"; - /** List of optional auxiliary commands. */ private static final Set<String> AUX_COMMANDS = new HashSet<>(); @@ -236,14 +208,6 @@ public class CommandHandler { AUX_COMMANDS.add(CMD_AUTO_CONFIRMATION); AUX_COMMANDS.add(CMD_PING_INTERVAL); AUX_COMMANDS.add(CMD_PING_TIMEOUT); - AUX_COMMANDS.add(CMD_SSL_PROTOCOL); - AUX_COMMANDS.add(CMD_SSL_KEY_ALGORITHM); - AUX_COMMANDS.add(CMD_KEYSTORE); - AUX_COMMANDS.add(CMD_KEYSTORE_PASSWORD); - AUX_COMMANDS.add(CMD_KEYSTORE_TYPE); - AUX_COMMANDS.add(CMD_TRUSTSTORE); - AUX_COMMANDS.add(CMD_TRUSTSTORE_PASSWORD); - AUX_COMMANDS.add(CMD_TRUSTSTORE_TYPE); } /** Broadcast uuid. */ @@ -352,13 +316,7 @@ public class CommandHandler { private static final String UTILITY_NAME = "control.sh"; /** Common options. */ - private static final String COMMON_OPTIONS = String.join(" ", op(CMD_HOST, "HOST_OR_IP"), - op(CMD_PORT, "PORT"), op(CMD_USER, "USER"), op(CMD_PASSWORD, "PASSWORD"), - op(CMD_PING_INTERVAL, "PING_INTERVAL"), op(CMD_PING_TIMEOUT, "PING_TIMEOUT"), - op(CMD_SSL_PROTOCOL, "SSL_PROTOCOL"), op(CMD_SSL_KEY_ALGORITHM, "SSL_KEY_ALGORITHM"), - op(CMD_KEYSTORE, "KEYSTORE"), op(CMD_KEYSTORE_TYPE, "KEYSTORE_TYPE"), - op(CMD_KEYSTORE_PASSWORD, "KEYSTORE_PASSWORD"), op(CMD_TRUSTSTORE, "TRUSTSTORE"), - op(CMD_TRUSTSTORE_TYPE, "TRUSTSTORE_TYPE"), op(CMD_TRUSTSTORE_PASSWORD, "TRUSTSTORE_PASSWORD")); + private static final String COMMON_OPTIONS = String.join(" ", op(CMD_HOST, "HOST_OR_IP"), op(CMD_PORT, "PORT"), op(CMD_USER, "USER"), op(CMD_PASSWORD, "PASSWORD"), op(CMD_PING_INTERVAL, "PING_INTERVAL"), op(CMD_PING_TIMEOUT, "PING_TIMEOUT")); /** Utility name with common options. */ private static final String UTILITY_NAME_WITH_COMMON_OPTIONS = String.join(" ", UTILITY_NAME, COMMON_OPTIONS); @@ -1818,22 +1776,6 @@ public class CommandHandler { VisorTxTaskArg txArgs = null; - String sslProtocol = SslContextFactory.DFLT_SSL_PROTOCOL; - - String sslKeyAlgorithm = SslContextFactory.DFLT_KEY_ALGORITHM; - - String sslKeyStorePath = null; - - String sslKeyStoreType = SslContextFactory.DFLT_STORE_TYPE; - - char sslKeyStorePassword[] = null; - - String sslTrustStorePath = null; - - String sslTrustStoreType = SslContextFactory.DFLT_STORE_TYPE; - - char sslTrustStorePassword[] = null; - while (hasNextArg()) { String str = nextArg("").toLowerCase(); @@ -1946,46 +1888,6 @@ public class CommandHandler { break; - case CMD_SSL_PROTOCOL: - sslProtocol = nextArg("Expected SSL protocol"); - - break; - - case CMD_SSL_KEY_ALGORITHM: - sslKeyAlgorithm = nextArg("Expected SSL key algorithm"); - - break; - - case CMD_KEYSTORE: - sslKeyStorePath = nextArg("Expected keystore path"); - - break; - - case CMD_KEYSTORE_PASSWORD: - sslKeyStorePassword = nextArg("Expected keystore password").toCharArray(); - - break; - - case CMD_KEYSTORE_TYPE: - sslKeyStoreType = nextArg("Expected keystore type"); - - break; - - case CMD_TRUSTSTORE: - sslTrustStorePath = nextArg("Expected truststore path"); - - break; - - case CMD_TRUSTSTORE_PASSWORD: - sslTrustStorePassword = nextArg("Expected truststore password").toCharArray(); - - break; - - case CMD_TRUSTSTORE_TYPE: - sslTrustStoreType = nextArg("Expected truststore type"); - - break; - case CMD_AUTO_CONFIRMATION: autoConfirmation = true; @@ -2008,9 +1910,7 @@ public class CommandHandler { Command cmd = commands.get(0); return new Arguments(cmd, host, port, user, pwd, baselineAct, baselineArgs, txArgs, cacheArgs, walAct, walArgs, - pingTimeout, pingInterval, autoConfirmation, - sslProtocol, sslKeyAlgorithm, sslKeyStorePath, sslKeyStorePassword, sslKeyStoreType, - sslTrustStorePath, sslTrustStorePassword, sslTrustStoreType); + pingTimeout, pingInterval, autoConfirmation); } /** @@ -2535,10 +2435,6 @@ public class CommandHandler { log(i("PORT=" + DFLT_PORT, 2)); log(i("PING_INTERVAL=" + DFLT_PING_INTERVAL, 2)); log(i("PING_TIMEOUT=" + DFLT_PING_TIMEOUT, 2)); - log(i("SSL_PROTOCOL=" + SslContextFactory.DFLT_SSL_PROTOCOL, 2)); - log(i("SSL_KEY_ALGORITHM=" + SslContextFactory.DFLT_KEY_ALGORITHM, 2)); - log(i("KEYSTORE_TYPE=" + SslContextFactory.DFLT_STORE_TYPE, 2)); - log(i("TRUSTSTORE_TYPE=" + SslContextFactory.DFLT_STORE_TYPE, 2)); nl(); log("Exit codes:"); @@ -2585,7 +2481,8 @@ public class CommandHandler { if (securityCredential == null) { securityCredential = new SecurityCredentialsBasicProvider( - new SecurityCredentials(args.getUserName(), args.getPassword())); + new SecurityCredentials(args.getUserName(), args.getPassword()) + ); clientCfg.setSecurityCredentialsProvider(securityCredential); } @@ -2594,34 +2491,6 @@ public class CommandHandler { credential.setPassword(args.getPassword()); } - if (!F.isEmpty(args.sslKeyStorePath())) { - GridSslBasicContextFactory factory = new GridSslBasicContextFactory(); - - factory.setProtocol(args.sslProtocol()); - - factory.setKeyAlgorithm(args.sslKeyAlgorithm()); - - factory.setKeyStoreFilePath(args.sslKeyStorePath()); - - if (args.sslKeyStorePassword() != null) - factory.setKeyStorePassword(args.sslKeyStorePassword()); - - factory.setKeyStoreType(args.sslKeyStoreType()); - - if (F.isEmpty(args.sslTrustStorePath())) - factory.setTrustManagers(GridSslBasicContextFactory.getDisabledTrustManager()); - else { - factory.setTrustStoreFilePath(args.sslTrustStorePath()); - - if (args.sslTrustStorePassword() != null) - factory.setTrustStorePassword(args.sslTrustStorePassword()); - - factory.setTrustStoreType(args.sslTrustStoreType()); - } - - clientCfg.setSslContextFactory(factory); - } - try (GridClient client = GridClientFactory.start(clientCfg)) { switch (args.command()) { case ACTIVATE: http://git-wip-us.apache.org/repos/asf/ignite/blob/404f79f9/modules/core/src/test/java/org/apache/ignite/internal/commandline/CommandHandlerParsingTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/commandline/CommandHandlerParsingTest.java b/modules/core/src/test/java/org/apache/ignite/internal/commandline/CommandHandlerParsingTest.java index e5ff639..bda24d1 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/commandline/CommandHandlerParsingTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/commandline/CommandHandlerParsingTest.java @@ -38,7 +38,6 @@ import static org.apache.ignite.internal.commandline.CommandHandler.VI_CHECK_FIR import static org.apache.ignite.internal.commandline.CommandHandler.VI_CHECK_THROUGH; import static org.apache.ignite.internal.commandline.CommandHandler.WAL_DELETE; import static org.apache.ignite.internal.commandline.CommandHandler.WAL_PRINT; -import static org.junit.Assert.assertArrayEquals; /** * Tests Command Handler parsing arguments. @@ -168,44 +167,6 @@ public class CommandHandlerParsingTest extends TestCase { } /** - * Tests parsing and validation for the SSL arguments. - */ - public void testParseAndValidateSSLArguments() { - CommandHandler hnd = new CommandHandler(); - - for (Command cmd : Command.values()) { - - if (cmd == Command.CACHE || cmd == Command.WAL) - continue; // --cache subcommand requires its own specific arguments. - - try { - hnd.parseAndValidate(asList("--truststore")); - - fail("expected exception: Expected truststore"); - } - catch (IllegalArgumentException e) { - e.printStackTrace(); - } - - Arguments args = hnd.parseAndValidate(asList("--keystore", "testKeystore", "--keystore-password", "testKeystorePassword", "--keystore-type", "testKeystoreType", - "--truststore", "testTruststore", "--truststore-password", "testTruststorePassword", "--truststore-type", "testTruststoreType", - "--ssl-key-algorithm", "testSSLKeyAlgorithm", "--ssl-protocol", "testSSLProtocol", cmd.text())); - - assertEquals("testSSLProtocol", args.sslProtocol()); - assertEquals("testSSLKeyAlgorithm", args.sslKeyAlgorithm()); - assertEquals("testKeystore", args.sslKeyStorePath()); - assertArrayEquals("testKeystorePassword".toCharArray(), args.sslKeyStorePassword()); - assertEquals("testKeystoreType", args.sslKeyStoreType()); - assertEquals("testTruststore", args.sslTrustStorePath()); - assertArrayEquals("testTruststorePassword".toCharArray(), args.sslTrustStorePassword()); - assertEquals("testTruststoreType", args.sslTrustStoreType()); - - assertEquals(cmd, args.command()); - } - } - - - /** * Tests parsing and validation for user and password arguments. */ public void testParseAndValidateUserAndPassword() { http://git-wip-us.apache.org/repos/asf/ignite/blob/404f79f9/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicWithPersistenceTestSuite.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicWithPersistenceTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicWithPersistenceTestSuite.java index 36f77cc..68085db 100644 --- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicWithPersistenceTestSuite.java +++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicWithPersistenceTestSuite.java @@ -34,7 +34,6 @@ import org.apache.ignite.internal.GridNodeMetricsLogPdsSelfTest; import org.apache.ignite.internal.processors.service.ServiceDeploymentOnActivationTest; import org.apache.ignite.internal.processors.service.ServiceDeploymentOutsideBaselineTest; import org.apache.ignite.marshaller.GridMarshallerMappingConsistencyTest; -import org.apache.ignite.util.GridCommandHandlerSslTest; import org.apache.ignite.util.GridCommandHandlerTest; import org.apache.ignite.util.GridInternalTaskUnusedWalSegmentsTest; import org.jetbrains.annotations.Nullable; @@ -68,7 +67,6 @@ public class IgniteBasicWithPersistenceTestSuite extends TestSuite { suite.addTestSuite(FailureHandlingConfigurationTest.class); suite.addTestSuite(GridCommandHandlerTest.class); - suite.addTestSuite(GridCommandHandlerSslTest.class); suite.addTestSuite(GridInternalTaskUnusedWalSegmentsTest.class); suite.addTestSuite(GridNodeMetricsLogPdsSelfTest.class); http://git-wip-us.apache.org/repos/asf/ignite/blob/404f79f9/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerSslTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerSslTest.java b/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerSslTest.java deleted file mode 100644 index 59155e5..0000000 --- a/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerSslTest.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.util; - -import java.util.Arrays; -import org.apache.ignite.Ignite; -import org.apache.ignite.configuration.ConnectorConfiguration; -import org.apache.ignite.configuration.DataStorageConfiguration; -import org.apache.ignite.configuration.IgniteConfiguration; -import org.apache.ignite.internal.commandline.CommandHandler; -import org.apache.ignite.testframework.GridTestUtils; -import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; - -import static org.apache.ignite.internal.commandline.CommandHandler.EXIT_CODE_CONNECTION_FAILED; -import static org.apache.ignite.internal.commandline.CommandHandler.EXIT_CODE_OK; - -/** - * Command line handler test. - */ -public class GridCommandHandlerSslTest extends GridCommonAbstractTest { - /** {@inheritDoc} */ - @Override protected void beforeTest() throws Exception { - cleanPersistenceDir(); - - stopAllGrids(); - - } - - /** {@inheritDoc} */ - @Override protected void afterTest() throws Exception { - stopAllGrids(); - - cleanPersistenceDir(); - - } - - /** {@inheritDoc} */ - @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { - IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); - - cfg.setDataStorageConfiguration(new DataStorageConfiguration()); - cfg.getDataStorageConfiguration().getDefaultDataRegionConfiguration().setMaxSize(100 * 1024 * 1024); - cfg.getDataStorageConfiguration().getDefaultDataRegionConfiguration().setPersistenceEnabled(true); - - cfg.setConnectorConfiguration(new ConnectorConfiguration()); - cfg.getConnectorConfiguration().setSslEnabled(true); - cfg.setSslContextFactory(GridTestUtils.sslFactory()); - - return cfg; - } - - /** - * Test activation works via control.sh - * - * @throws Exception If failed. - */ - public void testActivate() throws Exception { - Ignite ignite = startGrids(1); - - assertFalse(ignite.cluster().active()); - - final CommandHandler cmd = new CommandHandler(); - assertEquals(EXIT_CODE_OK, cmd.execute(Arrays.asList( - "--activate", - "--keystore", GridTestUtils.keyStorePath("node01"), - "--keystore-password", GridTestUtils.keyStorePassword()))); - - assertTrue(ignite.cluster().active()); - - assertEquals(EXIT_CODE_CONNECTION_FAILED, cmd.execute(Arrays.asList("--deactivate", "--yes"))); - } - -}
