|
@@ -33,6 +33,7 @@ import java.net.InetSocketAddress;
|
|
|
import java.net.JarURLConnection;
|
|
import java.net.JarURLConnection;
|
|
|
import java.net.MulticastSocket;
|
|
import java.net.MulticastSocket;
|
|
|
import java.net.NetworkInterface;
|
|
import java.net.NetworkInterface;
|
|
|
|
|
+import java.net.ProtocolFamily;
|
|
|
import java.net.Proxy;
|
|
import java.net.Proxy;
|
|
|
import java.net.ProxySelector;
|
|
import java.net.ProxySelector;
|
|
|
import java.net.ResponseCache;
|
|
import java.net.ResponseCache;
|
|
@@ -52,6 +53,9 @@ import java.nio.channels.AsynchronousServerSocketChannel;
|
|
|
import java.nio.channels.AsynchronousSocketChannel;
|
|
import java.nio.channels.AsynchronousSocketChannel;
|
|
|
import java.nio.channels.CompletionHandler;
|
|
import java.nio.channels.CompletionHandler;
|
|
|
import java.nio.channels.DatagramChannel;
|
|
import java.nio.channels.DatagramChannel;
|
|
|
|
|
+import java.nio.channels.SelectableChannel;
|
|
|
|
|
+import java.nio.channels.SelectionKey;
|
|
|
|
|
+import java.nio.channels.Selector;
|
|
|
import java.nio.channels.ServerSocketChannel;
|
|
import java.nio.channels.ServerSocketChannel;
|
|
|
import java.nio.channels.SocketChannel;
|
|
import java.nio.channels.SocketChannel;
|
|
|
import java.nio.channels.spi.SelectorProvider;
|
|
import java.nio.channels.spi.SelectorProvider;
|
|
@@ -1138,6 +1142,27 @@ public class ElasticsearchEntitlementChecker implements EntitlementChecker {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void check$java_nio_channels_spi_AbstractSelectableChannel$register(
|
|
|
|
|
+ Class<?> callerClass,
|
|
|
|
|
+ SelectableChannel that,
|
|
|
|
|
+ Selector sel,
|
|
|
|
|
+ int ops,
|
|
|
|
|
+ Object att
|
|
|
|
|
+ ) {
|
|
|
|
|
+ check$java_nio_channels_SelectableChannel$register(callerClass, that, sel, ops);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void check$java_nio_channels_SelectableChannel$register(Class<?> callerClass, SelectableChannel that, Selector sel, int ops) {
|
|
|
|
|
+ if ((ops & SelectionKey.OP_CONNECT) != 0) {
|
|
|
|
|
+ policyChecker.checkOutboundNetworkAccess(callerClass);
|
|
|
|
|
+ }
|
|
|
|
|
+ if ((ops & SelectionKey.OP_ACCEPT) != 0) {
|
|
|
|
|
+ policyChecker.checkInboundNetworkAccess(callerClass);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public void check$java_nio_channels_AsynchronousServerSocketChannel$bind(
|
|
public void check$java_nio_channels_AsynchronousServerSocketChannel$bind(
|
|
|
Class<?> callerClass,
|
|
Class<?> callerClass,
|
|
@@ -1186,6 +1211,21 @@ public class ElasticsearchEntitlementChecker implements EntitlementChecker {
|
|
|
policyChecker.checkInboundNetworkAccess(callerClass);
|
|
policyChecker.checkInboundNetworkAccess(callerClass);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void check$java_nio_channels_SocketChannel$$open(Class<?> callerClass) {
|
|
|
|
|
+ policyChecker.checkOutboundNetworkAccess(callerClass);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void check$java_nio_channels_SocketChannel$$open(Class<?> callerClass, ProtocolFamily family) {
|
|
|
|
|
+ policyChecker.checkOutboundNetworkAccess(callerClass);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void check$java_nio_channels_SocketChannel$$open(Class<?> callerClass, SocketAddress remote) {
|
|
|
|
|
+ policyChecker.checkOutboundNetworkAccess(callerClass);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public void check$sun_nio_ch_SocketChannelImpl$bind(Class<?> callerClass, SocketChannel that, SocketAddress local) {
|
|
public void check$sun_nio_ch_SocketChannelImpl$bind(Class<?> callerClass, SocketChannel that, SocketAddress local) {
|
|
|
policyChecker.checkOutboundNetworkAccess(callerClass);
|
|
policyChecker.checkOutboundNetworkAccess(callerClass);
|
|
@@ -1275,6 +1315,36 @@ public class ElasticsearchEntitlementChecker implements EntitlementChecker {
|
|
|
policyChecker.checkChangeNetworkHandling(callerClass);
|
|
policyChecker.checkChangeNetworkHandling(callerClass);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void checkSelectorProviderOpenDatagramChannel(Class<?> callerClass, SelectorProvider that) {
|
|
|
|
|
+ policyChecker.checkOutboundNetworkAccess(callerClass);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void checkSelectorProviderOpenDatagramChannel(Class<?> callerClass, SelectorProvider that, ProtocolFamily family) {
|
|
|
|
|
+ policyChecker.checkOutboundNetworkAccess(callerClass);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void checkSelectorProviderOpenServerSocketChannel(Class<?> callerClass, SelectorProvider that) {
|
|
|
|
|
+ policyChecker.checkInboundNetworkAccess(callerClass);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void checkSelectorProviderOpenServerSocketChannel(Class<?> callerClass, SelectorProvider that, ProtocolFamily family) {
|
|
|
|
|
+ policyChecker.checkInboundNetworkAccess(callerClass);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void checkSelectorProviderOpenSocketChannel(Class<?> callerClass, SelectorProvider that) {
|
|
|
|
|
+ policyChecker.checkOutboundNetworkAccess(callerClass);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void checkSelectorProviderOpenSocketChannel(Class<?> callerClass, SelectorProvider that, ProtocolFamily family) {
|
|
|
|
|
+ policyChecker.checkOutboundNetworkAccess(callerClass);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public void check$java_lang_Runtime$load(Class<?> callerClass, Runtime that, String filename) {
|
|
public void check$java_lang_Runtime$load(Class<?> callerClass, Runtime that, String filename) {
|
|
|
policyChecker.checkFileRead(callerClass, Path.of(filename));
|
|
policyChecker.checkFileRead(callerClass, Path.of(filename));
|