Skip to content

Commit 50f72bf

Browse files
authored
Fix entitlements for DatagramSocket.connect (#135847)
1 parent 76df465 commit 50f72bf

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

libs/entitlement/bridge/src/main/java/org/elasticsearch/entitlement/bridge/EntitlementChecker.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ public interface EntitlementChecker {
270270

271271
void check$java_net_DatagramSocket$bind(Class<?> callerClass, DatagramSocket that, SocketAddress addr);
272272

273-
void check$java_net_DatagramSocket$connect(Class<?> callerClass, DatagramSocket that, InetAddress addr);
273+
void check$java_net_DatagramSocket$connect(Class<?> callerClass, DatagramSocket that, InetAddress addr, int port);
274274

275275
void check$java_net_DatagramSocket$connect(Class<?> callerClass, DatagramSocket that, SocketAddress addr);
276276

@@ -398,6 +398,7 @@ public interface EntitlementChecker {
398398

399399
void check$sun_net_www_protocol_ftp_FtpURLConnection$getOutputStream(Class<?> callerClass, java.net.URLConnection that);
400400

401+
// removed in JDK 24
401402
void check$sun_net_www_protocol_http_HttpURLConnection$$openConnectionCheckRedirects(Class<?> callerClass, java.net.URLConnection c);
402403

403404
void check$sun_net_www_protocol_http_HttpURLConnection$connect(Class<?> callerClass, java.net.HttpURLConnection that);

libs/entitlement/qa/entitlement-test-plugin/src/main/java/org/elasticsearch/entitlement/qa/test/NetworkAccessCheckActions.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,13 @@ static void connectDatagramSocket() throws SocketException {
402402
}
403403
}
404404

405+
@EntitlementTest(expectedAccess = PLUGINS)
406+
static void connectDatagramSocketInetAddress() throws IOException {
407+
try (var socket = new DummyImplementations.DummyDatagramSocket()) {
408+
socket.connect(InetAddress.getByAddress(new byte[] { (byte) 230, 0, 0, 1 }), 1234);
409+
}
410+
}
411+
405412
@EntitlementTest(expectedAccess = PLUGINS)
406413
static void joinGroupDatagramSocket() throws IOException {
407414
try (var socket = new DummyImplementations.DummyDatagramSocket()) {

libs/entitlement/src/main/java/org/elasticsearch/entitlement/runtime/policy/ElasticsearchEntitlementChecker.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ public ElasticsearchEntitlementChecker(PolicyChecker policyChecker) {
509509
}
510510

511511
@Override
512-
public void check$java_net_DatagramSocket$connect(Class<?> callerClass, DatagramSocket that, InetAddress addr) {
512+
public void check$java_net_DatagramSocket$connect(Class<?> callerClass, DatagramSocket that, InetAddress addr, int port) {
513513
policyChecker.checkAllNetworkAccess(callerClass);
514514
}
515515

0 commit comments

Comments
 (0)