Skip to content

Commit 0b79b6c

Browse files
committed
Fix bearer token exposure in exit condition as well
1 parent 585968f commit 0b79b6c

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

test/extended/util/client.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -933,7 +933,7 @@ func (c *CLI) start(stdOutBuff, stdErrBuff *bytes.Buffer) (*exec.Cmd, error) {
933933
cmd := exec.Command(c.execPath, c.finalArgs...)
934934
cmd.Stdin = c.stdin
935935
// Redact any bearer token information from the log.
936-
framework.Logf("Running '%s %s'", c.execPath, redactBearerToken(c.finalArgs))
936+
framework.Logf("Running '%s %s'", c.execPath, RedactBearerToken(strings.Join(c.finalArgs, " ")))
937937

938938
cmd.Stdout = stdOutBuff
939939
cmd.Stderr = stdErrBuff
@@ -942,8 +942,7 @@ func (c *CLI) start(stdOutBuff, stdErrBuff *bytes.Buffer) (*exec.Cmd, error) {
942942
return cmd, err
943943
}
944944

945-
func redactBearerToken(finalArgs []string) string {
946-
args := strings.Join(finalArgs, " ")
945+
func RedactBearerToken(args string) string {
947946
if strings.Contains(args, "Authorization: Bearer") {
948947
// redact bearer token
949948
re := regexp.MustCompile(`Authorization:\s+Bearer.*\s+`)
@@ -981,8 +980,8 @@ func (c *CLI) outputs(stdOutBuff, stdErrBuff *bytes.Buffer) (string, string, err
981980
c.stderr = bytes.NewBuffer(stdErrBytes)
982981
return stdOut, stdErr, nil
983982
case *exec.ExitError:
984-
framework.Logf("Error running %v:\nStdOut>\n%s\nStdErr>\n%s\n", cmd, stdOut, stdErr)
985-
wrappedErr := fmt.Errorf("Error running %v:\nStdOut>\n%s\nStdErr>\n%s\n%w\n", cmd, stdOut[getStartingIndexForLastN(stdOutBytes, 4096):], stdErr[getStartingIndexForLastN(stdErrBytes, 4096):], err)
983+
framework.Logf("Error running %s %s:\nStdOut>\n%s\nStdErr>\n%s\n", c.execPath, RedactBearerToken(strings.Join(c.finalArgs, " ")), stdOut, stdErr)
984+
wrappedErr := fmt.Errorf("Error running %s %s:\nStdOut>\n%s\nStdErr>\n%s\n%w\n", c.execPath, RedactBearerToken(strings.Join(c.finalArgs, " ")), stdOut[getStartingIndexForLastN(stdOutBytes, 4096):], stdErr[getStartingIndexForLastN(stdErrBytes, 4096):], err)
986985
return stdOut, stdErr, wrappedErr
987986
default:
988987
FatalErr(fmt.Errorf("unable to execute %q: %v", c.execPath, err))

test/extended/util/prometheus/helpers.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ func GetBearerTokenURLViaPod(oc *exutil.CLI, execPodName, url, bearer string) (s
440440
auth := fmt.Sprintf("Authorization: Bearer %s", bearer)
441441
stdout, stderr, err := oc.AsAdmin().Run("exec").Args(execPodName, "--", "curl", "-s", "-k", "-H", auth, url).Outputs()
442442
if err != nil {
443-
return "", fmt.Errorf("command failed: %v\nstderr: %s\nstdout:%s", err, stderr, stdout)
443+
return "", fmt.Errorf("command failed: %v\nstderr: %s\nstdout:%s", exutil.RedactBearerToken(err.Error()), exutil.RedactBearerToken(stderr), exutil.RedactBearerToken(stdout))
444444
}
445445
// Terminate stdout with a newline to avoid an unexpected end of stream error.
446446
if len(stdout) > 0 {

0 commit comments

Comments
 (0)