[
https://issues.apache.org/jira/browse/KNOX-2940?focusedWorklogId=872178&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-872178
]
ASF GitHub Bot logged work on KNOX-2940:
----------------------------------------
Author: ASF GitHub Bot
Created on: 21/Jul/23 12:47
Start Date: 21/Jul/23 12:47
Worklog Time Spent: 10m
Work Description: zeroflag opened a new pull request, #778:
URL: https://github.com/apache/knox/pull/778
## What changes were proposed in this pull request?
Modified a check for the create-alias/create-aliases commands to support
values with leading dash.
## How was this patch tested?
missing value:
```bash
bin/knoxcli.sh create-alias a1 --value
```
value with dashes
```bash
bin/knoxcli.sh create-alias a1 --value ---content---
```
Incorrect usage
```bash
bin/knoxcli.sh create-alias a1 --value --generate
```
```bash
bin/knoxcli.sh create-alias a1 --value --cluster
```
Batch alias with dashes
```bash
bin/knoxcli.sh create-aliases --alias --a1
Issue Time Tracking
-------------------
Worklog Id: (was: 872178)
Remaining Estimate: 0h
Time Spent: 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: 10m
> 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)