Skip to content

Commit 40c4bc3

Browse files
committed
GG-20639 control.sh shows passwords in the output
(cherry picked from commit 483d046) (cherry picked from commit f3a762d) (cherry picked from commit 4fddf21) # Conflicts: # modules/core/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java
1 parent 6864d2c commit 40c4bc3

18 files changed

+122
-17
lines changed

modules/core/src/main/java/org/apache/ignite/internal/commandline/Command.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,13 @@ public default void parseArguments(CommandArgIterator argIterator) {
101101
*/
102102
public void printUsage(Logger logger);
103103

104+
/**
105+
* @return String which reflect of command-specific arguments in human-friendly format.
106+
*/
107+
public default String argumentString() {
108+
return arg() == null? "" : arg().toString();
109+
}
110+
104111
/**
105112
* @return command name.
106113
*/

modules/core/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,11 @@ public int execute(List<String> rawArgs) {
248248

249249
try {
250250
logger.info("Command [" + commandName + "] started");
251-
logger.info("Arguments: " + String.join(" ", rawArgs));
251+
logger.info("Common arguments: " + args.toString());
252+
253+
if (command.arg() != null)
254+
logger.info("Command arguments: " + command.argumentString());
255+
252256
logger.info(DELIM);
253257
lastOperationRes = command.execute(clientCfg, logger);
254258
}

modules/core/src/main/java/org/apache/ignite/internal/commandline/ConnectionAndSslParameters.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
package org.apache.ignite.internal.commandline;
1919

2020
import org.apache.ignite.internal.client.GridClientConfiguration;
21+
import org.apache.ignite.internal.util.tostring.GridToStringExclude;
22+
import org.apache.ignite.internal.util.typedef.internal.S;
2123

2224
/**
2325
* Container with common parsed and validated arguments.
@@ -33,6 +35,7 @@ public class ConnectionAndSslParameters {
3335
private String user;
3436

3537
/** Password. */
38+
@GridToStringExclude
3639
private String pwd;
3740

3841
/** Force option is used for auto confirmation. */
@@ -60,6 +63,7 @@ public class ConnectionAndSslParameters {
6063
private String sslKeyStoreType;
6164

6265
/** Keystore Password. */
66+
@GridToStringExclude
6367
private char[] sslKeyStorePassword;
6468

6569
/** Truststore. */
@@ -69,6 +73,7 @@ public class ConnectionAndSslParameters {
6973
private String sslTrustStoreType;
7074

7175
/** Truststore Password. */
76+
@GridToStringExclude
7277
private char[] sslTrustStorePassword;
7378

7479
/** High-level command. */
@@ -259,4 +264,13 @@ public String sslTrustStoreType() {
259264
public char[] sslTrustStorePassword() {
260265
return sslTrustStorePassword;
261266
}
267+
268+
/** {@inheritDoc} */
269+
@Override public String toString() {
270+
return S.toString(ConnectionAndSslParameters.class, this,
271+
"password", pwd == null ? null : "*****",
272+
"sslKeyStorePassword", sslKeyStorePassword == null ? null: "*****",
273+
"sslTrustStorePassword", sslTrustStorePassword == null? null: "*****"
274+
);
275+
}
262276
}

modules/core/src/main/java/org/apache/ignite/internal/commandline/WalCommands.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,11 @@ public class WalCommands implements Command<T2<String, String>> {
148148
return new T2<>(walAct, walArgs);
149149
}
150150

151+
/** {@inheritDoc} */
152+
@Override public String argumentString() {
153+
return "walAction=" + walAct + ", walArgs=" + walArgs;
154+
}
155+
151156
/**
152157
* Execute delete unused WAL segments task.
153158
* @param client Client.

modules/core/src/main/java/org/apache/ignite/internal/commandline/baseline/BaselineArguments.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
package org.apache.ignite.internal.commandline.baseline;
2222

2323
import java.util.List;
24+
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
25+
import org.apache.ignite.internal.util.typedef.internal.S;
2426

2527
/**
2628
* This class contains all possible arguments after parsing baseline command input.
@@ -38,6 +40,7 @@ public class BaselineArguments {
3840
/** Requested topology version. */
3941
private long topVer = -1;
4042
/** List of consistent ids for operation. */
43+
@GridToStringInclude
4144
List<String> consistentIds;
4245

4346
/**
@@ -92,6 +95,11 @@ public List<String> getConsistentIds() {
9295
return consistentIds;
9396
}
9497

98+
/** {@inheritDoc} */
99+
@Override public String toString() {
100+
return S.toString(BaselineArguments.class, this);
101+
}
102+
95103
/**
96104
* Builder of {@link BaselineArguments}.
97105
*/

modules/core/src/main/java/org/apache/ignite/internal/commandline/cache/CacheCommands.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,12 @@ private static String extendToLen(String s, int targetLen) {
214214
return subcommand;
215215
}
216216

217+
/** {@inheritDoc} */
218+
@Override public String argumentString() {
219+
return "cacheSubcommand=" + subcommand.name() +
220+
(subcommand.subcommand() == null ? "" : ", " + subcommand.subcommand().argumentString());
221+
}
222+
217223
/** {@inheritDoc} */
218224
@Override public String name() {
219225
return CACHE.toCommandName();

modules/core/src/main/java/org/apache/ignite/internal/commandline/cache/CacheContention.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import org.apache.ignite.internal.commandline.CommandArgIterator;
3030
import org.apache.ignite.internal.commandline.CommandLogger;
3131
import org.apache.ignite.internal.processors.cache.verify.ContentionInfo;
32+
import org.apache.ignite.internal.util.typedef.internal.S;
3233
import org.apache.ignite.internal.visor.verify.VisorContentionTask;
3334
import org.apache.ignite.internal.visor.verify.VisorContentionTaskArg;
3435
import org.apache.ignite.internal.visor.verify.VisorContentionTaskResult;
@@ -93,6 +94,11 @@ public int minQueueSize() {
9394
public int maxPrint() {
9495
return maxPrint;
9596
}
97+
98+
/** {@inheritDoc} */
99+
@Override public String toString() {
100+
return S.toString(Arguments.class, this);
101+
}
96102
}
97103

98104
/**

modules/core/src/main/java/org/apache/ignite/internal/commandline/cache/CacheDistribution.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import org.apache.ignite.internal.commandline.cache.distribution.CacheDistributionTask;
3737
import org.apache.ignite.internal.commandline.cache.distribution.CacheDistributionTaskArg;
3838
import org.apache.ignite.internal.commandline.cache.distribution.CacheDistributionTaskResult;
39+
import org.apache.ignite.internal.util.typedef.internal.S;
3940

4041
import static org.apache.ignite.internal.commandline.CommandHandler.NULL;
4142
import static org.apache.ignite.internal.commandline.CommandLogger.optional;
@@ -102,6 +103,11 @@ public UUID nodeId() {
102103
public Set<String> getUserAttributes() {
103104
return userAttributes;
104105
}
106+
107+
/** {@inheritDoc} */
108+
@Override public String toString() {
109+
return S.toString(Arguments.class, this);
110+
}
105111
}
106112

107113
/** Command parsed arguments */

modules/core/src/main/java/org/apache/ignite/internal/commandline/cache/CacheValidateIndexes.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import org.apache.ignite.internal.commandline.cache.argument.ValidateIndexesCommandArg;
3737
import org.apache.ignite.internal.processors.cache.verify.PartitionKey;
3838
import org.apache.ignite.internal.util.typedef.F;
39+
import org.apache.ignite.internal.util.typedef.internal.S;
3940
import org.apache.ignite.internal.util.typedef.internal.U;
4041
import org.apache.ignite.internal.visor.verify.IndexIntegrityCheckIssue;
4142
import org.apache.ignite.internal.visor.verify.IndexValidationIssue;
@@ -137,6 +138,11 @@ public int checkThrough() {
137138
public UUID nodeId() {
138139
return nodeId;
139140
}
141+
142+
/** {@inheritDoc} */
143+
@Override public String toString() {
144+
return S.toString(Arguments.class, this);
145+
}
140146
}
141147

142148
/** Command parsed arguments. */

modules/core/src/main/java/org/apache/ignite/internal/commandline/cache/CacheViewer.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import org.apache.ignite.internal.commandline.argument.CommandArgUtils;
3737
import org.apache.ignite.internal.commandline.cache.argument.ListCommandArg;
3838
import org.apache.ignite.internal.processors.cache.verify.CacheInfo;
39+
import org.apache.ignite.internal.util.typedef.internal.S;
3940
import org.apache.ignite.internal.util.typedef.internal.SB;
4041
import org.apache.ignite.internal.util.typedef.internal.U;
4142
import org.apache.ignite.internal.visor.cache.VisorCacheAffinityConfiguration;
@@ -149,6 +150,11 @@ public VisorViewCacheCmd cacheCommand() {
149150
* @return Full config flag.
150151
*/
151152
public boolean fullConfig(){ return fullConfig; }
153+
154+
/** {@inheritDoc} */
155+
@Override public String toString() {
156+
return S.toString(Arguments.class, this);
157+
}
152158
}
153159

154160
/** Command parsed arguments */

0 commit comments

Comments
 (0)