diff --git a/libs/entitlement/bridge/src/main/java/org/elasticsearch/entitlement/bridge/EntitlementChecker.java b/libs/entitlement/bridge/src/main/java/org/elasticsearch/entitlement/bridge/EntitlementChecker.java index 6457eacb14e9f..7633fbf869ccc 100644 --- a/libs/entitlement/bridge/src/main/java/org/elasticsearch/entitlement/bridge/EntitlementChecker.java +++ b/libs/entitlement/bridge/src/main/java/org/elasticsearch/entitlement/bridge/EntitlementChecker.java @@ -270,7 +270,7 @@ public interface EntitlementChecker { void check$java_net_DatagramSocket$bind(Class callerClass, DatagramSocket that, SocketAddress addr); - void check$java_net_DatagramSocket$connect(Class callerClass, DatagramSocket that, InetAddress addr); + void check$java_net_DatagramSocket$connect(Class callerClass, DatagramSocket that, InetAddress addr, int port); void check$java_net_DatagramSocket$connect(Class callerClass, DatagramSocket that, SocketAddress addr); @@ -398,6 +398,7 @@ public interface EntitlementChecker { void check$sun_net_www_protocol_ftp_FtpURLConnection$getOutputStream(Class callerClass, java.net.URLConnection that); + // removed in JDK 24 void check$sun_net_www_protocol_http_HttpURLConnection$$openConnectionCheckRedirects(Class callerClass, java.net.URLConnection c); void check$sun_net_www_protocol_http_HttpURLConnection$connect(Class callerClass, java.net.HttpURLConnection that); diff --git a/libs/entitlement/qa/entitlement-test-plugin/src/main/java/org/elasticsearch/entitlement/qa/test/NetworkAccessCheckActions.java b/libs/entitlement/qa/entitlement-test-plugin/src/main/java/org/elasticsearch/entitlement/qa/test/NetworkAccessCheckActions.java index af82a29c750e9..10839f508a3d7 100644 --- a/libs/entitlement/qa/entitlement-test-plugin/src/main/java/org/elasticsearch/entitlement/qa/test/NetworkAccessCheckActions.java +++ b/libs/entitlement/qa/entitlement-test-plugin/src/main/java/org/elasticsearch/entitlement/qa/test/NetworkAccessCheckActions.java @@ -402,6 +402,13 @@ static void connectDatagramSocket() throws SocketException { } } + @EntitlementTest(expectedAccess = PLUGINS) + static void connectDatagramSocketInetAddress() throws IOException { + try (var socket = new DummyImplementations.DummyDatagramSocket()) { + socket.connect(InetAddress.getByAddress(new byte[] { (byte) 230, 0, 0, 1 }), 1234); + } + } + @EntitlementTest(expectedAccess = PLUGINS) static void joinGroupDatagramSocket() throws IOException { try (var socket = new DummyImplementations.DummyDatagramSocket()) { diff --git a/libs/entitlement/src/main/java/org/elasticsearch/entitlement/runtime/policy/ElasticsearchEntitlementChecker.java b/libs/entitlement/src/main/java/org/elasticsearch/entitlement/runtime/policy/ElasticsearchEntitlementChecker.java index 29d4a3f4d0337..c6320233b8f83 100644 --- a/libs/entitlement/src/main/java/org/elasticsearch/entitlement/runtime/policy/ElasticsearchEntitlementChecker.java +++ b/libs/entitlement/src/main/java/org/elasticsearch/entitlement/runtime/policy/ElasticsearchEntitlementChecker.java @@ -509,7 +509,7 @@ public ElasticsearchEntitlementChecker(PolicyChecker policyChecker) { } @Override - public void check$java_net_DatagramSocket$connect(Class callerClass, DatagramSocket that, InetAddress addr) { + public void check$java_net_DatagramSocket$connect(Class callerClass, DatagramSocket that, InetAddress addr, int port) { policyChecker.checkAllNetworkAccess(callerClass); }