Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cloudFoundryDeploy fails when SAP password contain special characters #4989

Open
SayakMukhopadhyay opened this issue Jul 19, 2024 · 3 comments

Comments

@SayakMukhopadhyay
Copy link

Hello

I am encountering an issue where the library step cloudFoundryDeploy fails if the password contains special characters. Below is a snippet of the relevant log with some data redacted

info  cloudFoundryDeploy - running command: cf version
info  cloudFoundryDeploy - cf version 8.7.10+5b7ce3c.2024-04-04
info  cloudFoundryDeploy - Logging in to Cloud Foundry
info  cloudFoundryDeploy - Logging into Cloud Foundry..
info  cloudFoundryDeploy - running command: cf login -a https://api.cf.us10-001.hana.ondemand.com/ -o redacted -s dev -u **** -p ****
info  cloudFoundryDeploy - API endpoint: https://api.cf.us10-001.hana.ondemand.com/
info  cloudFoundryDeploy - 
info  cloudFoundryDeploy - 
info  cloudFoundryDeploy - Authenticating...
info  cloudFoundryDeploy - 
info  cloudFoundryDeploy - Error Code: 401
info  cloudFoundryDeploy - Password: API endpoint:   https://api.cf.us10-001.hana.ondemand.com/
info  cloudFoundryDeploy - API version:    3.167.0
info  cloudFoundryDeploy - Raw Response: {"error":"invalid_client","error_description":"{\"error\":\"invalid_grant\",\"error_description\":\"User authentication failed: Unauthorized\"}"}
info  cloudFoundryDeploy - Not logged in. Use 'cf login' or 'cf login --sso' to log in.
info  cloudFoundryDeploy - Unable to authenticate.
info  cloudFoundryDeploy - FAILED

In fact, I checked how cf CLI would behave if I omit quoting my password in my local desktop and the logs are the same. Locally, quoting my password was enough to get things working. Moreover, when I changed my password to remove all special characters, this error didn't happen in Jenkins and the login was successful.

Related to #32.

@anilkeshav27
Copy link
Member

in which secret store do you store the password ?, is it jenkins / vault or something else

@SayakMukhopadhyay
Copy link
Author

I am storing it in Jenkins' System store. I believe the issue lies in cloudfoundry/Authentication.go in the following lines

var cfLoginScript = append([]string{
"login",
"-a", options.CfAPIEndpoint,
"-o", options.CfOrg,
"-s", options.CfSpace,
"-u", options.Username,
"-p", options.Password,
}, options.CfLoginOpts...)

As you can see, the password will be appended to -p verbatim. Thus is the password is abc$123, the appended string will become -p abc$123 which will be an issue in both linux and windows shells. Same is also true if the username contains a special character.

@anilkeshav27
Copy link
Member

thanks for pointing it out, will get to you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants