Skip to content

Commit

Permalink
[FLINK-34499] Configuration#toString hides sensitive values
Browse files Browse the repository at this point in the history
  • Loading branch information
zentol authored and XComp committed Feb 29, 2024
1 parent 9802d24 commit e770cef
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
import java.util.Properties;
import java.util.Set;
import java.util.function.BiFunction;
import java.util.stream.Collectors;

import static org.apache.flink.configuration.ConfigurationUtils.canBePrefixMap;
import static org.apache.flink.configuration.ConfigurationUtils.containsPrefixMap;
Expand Down Expand Up @@ -1007,6 +1008,12 @@ public boolean equals(Object obj) {

@Override
public String toString() {
return this.confData.toString();
return ConfigurationUtils.hideSensitiveValues(
this.confData.entrySet().stream()
.collect(
Collectors.toMap(
Map.Entry::getKey,
entry -> entry.getValue().toString())))
.toString();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.hamcrest.Matchers.containsInAnyOrder;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.not;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
Expand Down Expand Up @@ -496,6 +497,19 @@ public void testMapParserErrorDoesNotLeakSensitiveData() {
.doesNotContain("secret_value"));
}

@Test
public void testToStringDoesNotLeakSensitiveData() {
ConfigOption<Map<String, String>> secret =
ConfigOptions.key("secret").mapType().noDefaultValue();

assertTrue(GlobalConfiguration.isSensitive(secret.key()));

final Configuration cfg = new Configuration();
cfg.setString(secret.key(), "secret_value");

assertThat(cfg.toString(), not(containsString("secret_value")));
}

// --------------------------------------------------------------------------------------------
// Test classes
// --------------------------------------------------------------------------------------------
Expand Down

0 comments on commit e770cef

Please sign in to comment.