Skip to content

Commit 6c61c65

Browse files
authored
🍒 8544 - Make the default config sources more robust when a security manager is installed (#8545)
* Make the default config sources more robust when a security manager is installed If we don't have permission to access system properties or the environment then fall back to defaults. (cherry picked from commit d099b5f) * Exclude from instruction coverage as hard to test security exception case in this module (cherry picked from commit 640cddb)
1 parent 481a23f commit 6c61c65

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

‎internal-api/build.gradle

+5-1
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,11 @@ excludedClassesBranchCoverage = [
215215
'datadog.trace.util.stacktrace.HotSpotStackWalker',
216216
'datadog.trace.util.stacktrace.StackWalkerFactory'
217217
]
218-
excludedClassesInstructionCoverage = ['datadog.trace.util.stacktrace.StackWalkerFactory']
218+
excludedClassesInstructionCoverage = [
219+
'datadog.trace.bootstrap.config.provider.EnvironmentConfigSource',
220+
'datadog.trace.bootstrap.config.provider.SystemPropertiesConfigSource',
221+
'datadog.trace.util.stacktrace.StackWalkerFactory'
222+
]
219223

220224
compileTestJava.dependsOn 'generateTestClassNameTries'
221225

‎internal-api/src/main/java/datadog/trace/bootstrap/config/provider/EnvironmentConfigSource.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ final class EnvironmentConfigSource extends ConfigProvider.Source {
88

99
@Override
1010
protected String get(String key) {
11-
return System.getenv(propertyNameToEnvironmentVariableName(key));
11+
try {
12+
return System.getenv(propertyNameToEnvironmentVariableName(key));
13+
} catch (SecurityException e) {
14+
return null;
15+
}
1216
}
1317

1418
@Override

‎internal-api/src/main/java/datadog/trace/bootstrap/config/provider/SystemPropertiesConfigSource.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ public final class SystemPropertiesConfigSource extends ConfigProvider.Source {
88

99
@Override
1010
protected String get(String key) {
11-
return System.getProperty(propertyNameToSystemPropertyName(key));
11+
try {
12+
return System.getProperty(propertyNameToSystemPropertyName(key));
13+
} catch (SecurityException e) {
14+
return null;
15+
}
1216
}
1317

1418
@Override

0 commit comments

Comments
 (0)