[ https://issues.apache.org/jira/browse/KNOX-2940?focusedWorklogId=873704&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-873704 ]
ASF GitHub Bot logged work on KNOX-2940: ---------------------------------------- Author: ASF GitHub Bot Created on: 31/Jul/23 08:19 Start Date: 31/Jul/23 08:19 Worklog Time Spent: 10m Work Description: zeroflag merged PR #778: URL: https://github.com/apache/knox/pull/778 Issue Time Tracking ------------------- Worklog Id: (was: 873704) Time Spent: 20m (was: 10m) > knoxcli create-alias/create-aliases command doesn't support values starting > with dash > ------------------------------------------------------------------------------------- > > Key: KNOX-2940 > URL: https://issues.apache.org/jira/browse/KNOX-2940 > Project: Apache Knox > Issue Type: Bug > Components: KnoxCLI > Reporter: Attila Magyar > Assignee: Attila Magyar > Priority: Major > Time Spent: 20m > Remaining Estimate: 0h > > If I want to create a password with a leading - character the create-alias > command will fail: > {code} > knoxcli.sh create-alias name --value "-asdf" > {code} > The same is true for the batch alias creation command. Using quotes around > the value doesn't help. Generated passwords sometimes contain - character and > sometimes they start with that character. > The reason for this is this check: > {code} > } else if (args[i].equals("--value")) { > if (i + 1 >= args.length || args[i + 1].startsWith("-")) { > printKnoxShellUsage(); > return -1; > } > {code} > This tries to prevent incorrect usage by checking if the next parameter is > likely an another command (so the actual value is missing). > For example this prevents this case where the user mistakenly combined the > --value (without defining a value) with the --generate command. > {code} > bin/knoxcli.sh create-alias test --value --generate > {code} > However we can prevent this by explicitly testing if the next parameter is > any of the commands supported by the create-alias/create-aliases command. > There are only 2, --generate and --cluster. > So these kind of incorrect usages can be tested with: > {code} > if (args.length > i + 1 && ("--generate".equals(args[i + 1]) || > "--cluster".equals(args[i + 1]))) { // missing value > printKnoxShellUsage(); > return -1; > } > {code} > So I think we should use the above check instead. > Misusing the batch alias command will generate error regardless of this check > because the number of parameters won't match. > Here there is no value for a1. > {code} > knoxcli.sh create-aliases --alias a1 --value --alias a2 --value v2 > {code} > For this no extra check is required. -- This message was sent by Atlassian Jira (v8.20.10#820010)