[ 
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)

Reply via email to