You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2022/10/09 16:45:31 UTC

[karaf] branch karaf-4.3.x updated: [KARAF-6769] - fix a bug where command options are not censored when using their aliases

This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch karaf-4.3.x
in repository https://gitbox.apache.org/repos/asf/karaf.git


The following commit(s) were added to refs/heads/karaf-4.3.x by this push:
     new 3a4f4c2443 [KARAF-6769] - fix a bug where command options are not censored when using their aliases
3a4f4c2443 is described below

commit 3a4f4c24431dc02dab9d162df6d31d0bede55646
Author: Aleksy Wróblewski <al...@bbbit.io>
AuthorDate: Sun Oct 9 00:45:46 2022 +0200

    [KARAF-6769] - fix a bug where command options are not censored when using their aliases
    
    (cherry picked from commit ff4fb20b859c853ccf3db299775799a9d79eb16d)
---
 .../karaf/shell/impl/action/command/ActionMaskingCallback.java       | 2 +-
 .../karaf/shell/impl/action/command/ActionMaskingCallbackTest.java   | 5 +++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/shell/core/src/main/java/org/apache/karaf/shell/impl/action/command/ActionMaskingCallback.java b/shell/core/src/main/java/org/apache/karaf/shell/impl/action/command/ActionMaskingCallback.java
index 0e30002c7f..fcb7df2793 100644
--- a/shell/core/src/main/java/org/apache/karaf/shell/impl/action/command/ActionMaskingCallback.java
+++ b/shell/core/src/main/java/org/apache/karaf/shell/impl/action/command/ActionMaskingCallback.java
@@ -53,7 +53,7 @@ public class ActionMaskingCallback {
                         booleanOptions.addAll(Arrays.asList(option.aliases()));
                     } else {
                         typedOptions.put(option.name(), option);
-                        Arrays.asList(option.aliases()).forEach(action -> typedOptions.put(option.name(), option));
+                        Arrays.asList(option.aliases()).forEach(alias -> typedOptions.put(alias, option));
                         censor |= option.censor();
                     }
                 }
diff --git a/shell/core/src/test/java/org/apache/karaf/shell/impl/action/command/ActionMaskingCallbackTest.java b/shell/core/src/test/java/org/apache/karaf/shell/impl/action/command/ActionMaskingCallbackTest.java
index f5b1b11ab0..445b91c11d 100644
--- a/shell/core/src/test/java/org/apache/karaf/shell/impl/action/command/ActionMaskingCallbackTest.java
+++ b/shell/core/src/test/java/org/apache/karaf/shell/impl/action/command/ActionMaskingCallbackTest.java
@@ -72,6 +72,8 @@ public class ActionMaskingCallbackTest {
         check("user-add --opt2=valOpt2 user password foo", "user-add --opt2=valOpt2 user ######## foo");
         check("user-add --opt1 --opt2 valOpt2 --opt3=valOpt3 user password foo", "user-add --opt1 --opt2 valOpt2 --opt3=@@@@@@@ user ######## foo");
         check("user-add --opt1 --opt2 valOpt2 --opt3 valOpt3 user password foo", "user-add --opt1 --opt2 valOpt2 --opt3 @@@@@@@ user ######## foo");
+        check("user-add --opt1 --opt2 valOpt2 --opt3 valOpt3 --opt4alias1 censorMe --opt4alias2 censorMeToo user password foo",
+                "user-add --opt1 --opt2 valOpt2 --opt3 @@@@@@@ --opt4alias1 ******** --opt4alias2 *********** user ######## foo");
     }
 
     private void check(String input, String expected) {
@@ -93,6 +95,9 @@ public class ActionMaskingCallbackTest {
         @Option(name = "--opt3", censor = true, mask = '@')
         private String opt3;
 
+        @Option(name = "--opt4", aliases = {"--opt4alias1", "--opt4alias2"}, censor = true, mask = '*')
+        private String opt4;
+
         @Argument(index = 0, name = "username")
         private String username;