Skip to content

Commit 2b54de1

Browse files
authored
Skip SM policy parsing and validation for Java24+ (#122233)
1 parent 9112aba commit 2b54de1

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

distribution/tools/plugin-cli/src/main/java/org/elasticsearch/plugins/cli/InstallPluginAction.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import org.elasticsearch.core.Tuple;
3939
import org.elasticsearch.env.Environment;
4040
import org.elasticsearch.jdk.JarHell;
41+
import org.elasticsearch.jdk.RuntimeVersionFeature;
4142
import org.elasticsearch.plugin.scanner.ClassReaders;
4243
import org.elasticsearch.plugin.scanner.NamedComponentScanner;
4344
import org.elasticsearch.plugins.Platforms;
@@ -922,10 +923,12 @@ void jarHellCheck(PluginDescriptor candidateInfo, Path candidateDir, Path plugin
922923
*/
923924
private PluginDescriptor installPlugin(InstallablePlugin descriptor, Path tmpRoot, List<Path> deleteOnFailure) throws Exception {
924925
final PluginDescriptor info = loadPluginInfo(tmpRoot);
925-
PluginPolicyInfo pluginPolicy = PolicyUtil.getPluginPolicyInfo(tmpRoot, env.tmpDir());
926-
if (pluginPolicy != null) {
927-
Set<String> permissions = PluginSecurity.getPermissionDescriptions(pluginPolicy, env.tmpDir());
928-
PluginSecurity.confirmPolicyExceptions(terminal, permissions, batch);
926+
if (RuntimeVersionFeature.isSecurityManagerAvailable()) {
927+
PluginPolicyInfo pluginPolicy = PolicyUtil.getPluginPolicyInfo(tmpRoot, env.tmpDir());
928+
if (pluginPolicy != null) {
929+
Set<String> permissions = PluginSecurity.getPermissionDescriptions(pluginPolicy, env.tmpDir());
930+
PluginSecurity.confirmPolicyExceptions(terminal, permissions, batch);
931+
}
929932
}
930933

931934
// Validate that the downloaded plugin's ID matches what we expect from the descriptor. The

0 commit comments

Comments
 (0)