Skip to content

Commit 6570221

Browse files
committed
Fix tests
Signed-off-by: Gulshan Kumar <[email protected]>
1 parent d0bc0dc commit 6570221

File tree

4 files changed

+18
-5
lines changed

4 files changed

+18
-5
lines changed

libs/agent-sm/agent/src/main/java/org/opensearch/javaagent/SocketChannelInterceptor.java

+6-5
Original file line numberDiff line numberDiff line change
@@ -52,19 +52,20 @@ public static void intercept(@Advice.AllArguments Object[] args, @Origin Method
5252
if (args[0] instanceof InetSocketAddress address) {
5353
if (!AgentPolicy.isTrustedHost(address.getHostString())) {
5454
final String host = address.getHostString() + ":" + address.getPort();
55-
56-
final SocketPermission permission = new SocketPermission(host, "connect,resolve");
55+
final SocketPermission connectResolve = new SocketPermission("*", "connect,resolve");
56+
final SocketPermission allSocketActions = new SocketPermission("*", "connect,resolve,listen,accept");
5757
for (final ProtectionDomain domain : callers) {
58-
if (!policy.implies(domain, permission)) {
59-
throw new SecurityException("Denied access to: " + host + ", domain " + domain);
58+
boolean hasPermission = policy.implies(domain, connectResolve) || policy.implies(domain, allSocketActions);
59+
if (!hasPermission) {
60+
throw new SecurityException("Denied access to: " + host + ", domain: " + domain);
6061
}
6162
}
6263
}
6364
} else if (args[0] instanceof UnixDomainSocketAddress address) {
6465
final NetPermission permission = new NetPermission("accessUnixDomainSocket");
6566
for (final ProtectionDomain domain : callers) {
6667
if (!policy.implies(domain, permission)) {
67-
throw new SecurityException("Denied access to: " + address + ", domain " + domain);
68+
throw new SecurityException("Denied access to: " + address + ", domain: " + domain);
6869
}
6970
}
7071
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
grant {
2+
permission java.net.SocketPermission "*", "connect,resolve,listen,accept";
3+
permission java.net.NetPermission "accessUnixDomainSocket";
4+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
grant {
2+
permission java.net.SocketPermission "*", "connect,resolve,listen,accept";
3+
permission java.net.NetPermission "accessUnixDomainSocket";
4+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
grant {
2+
permission java.net.SocketPermission "*", "connect,resolve,listen,accept";
3+
permission java.net.NetPermission "accessUnixDomainSocket";
4+
};

0 commit comments

Comments
 (0)