Skip to content

Commit fc22c89

Browse files
committedAug 29, 2024
Interim build fix for PluginSubject related changes (#4690)
Signed-off-by: Craig Perkins <cwperx@amazon.com> (cherry picked from commit a1c0c7b) Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 parent 0e9737f commit fc22c89

File tree

2 files changed

+50
-1
lines changed

2 files changed

+50
-1
lines changed
 

‎src/main/java/org/opensearch/security/OpenSearchSecurityPlugin.java

+9-1
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@
107107
import org.opensearch.http.HttpServerTransport;
108108
import org.opensearch.http.HttpServerTransport.Dispatcher;
109109
import org.opensearch.http.netty4.ssl.SecureNetty4HttpServerTransport;
110+
import org.opensearch.identity.PluginSubject;
110111
import org.opensearch.identity.Subject;
111112
import org.opensearch.identity.noop.NoopSubject;
112113
import org.opensearch.index.IndexModule;
@@ -117,6 +118,7 @@
117118
import org.opensearch.plugins.ExtensionAwarePlugin;
118119
import org.opensearch.plugins.IdentityPlugin;
119120
import org.opensearch.plugins.MapperPlugin;
121+
import org.opensearch.plugins.Plugin;
120122
import org.opensearch.plugins.SecureHttpTransportSettingsProvider;
121123
import org.opensearch.plugins.SecureSettingsFactory;
122124
import org.opensearch.plugins.SecureTransportSettingsProvider;
@@ -162,6 +164,7 @@
162164
import org.opensearch.security.hasher.PasswordHasherFactory;
163165
import org.opensearch.security.http.NonSslHttpServerTransport;
164166
import org.opensearch.security.http.XFFResolver;
167+
import org.opensearch.security.identity.NoopPluginSubject;
165168
import org.opensearch.security.identity.SecurityTokenManager;
166169
import org.opensearch.security.privileges.PrivilegesEvaluator;
167170
import org.opensearch.security.privileges.PrivilegesInterceptor;
@@ -2100,7 +2103,7 @@ private static String handleKeyword(final String field) {
21002103
}
21012104

21022105
@Override
2103-
public Subject getSubject() {
2106+
public Subject getCurrentSubject() {
21042107
// Not supported
21052108
return new NoopSubject();
21062109
}
@@ -2110,6 +2113,11 @@ public SecurityTokenManager getTokenManager() {
21102113
return tokenManager;
21112114
}
21122115

2116+
@Override
2117+
public PluginSubject getPluginSubject(Plugin plugin) {
2118+
return new NoopPluginSubject(threadPool);
2119+
}
2120+
21132121
@Override
21142122
public Optional<SecureSettingsFactory> getSecureSettingFactory(Settings settings) {
21152123
return Optional.of(new OpenSearchSecureSettingsFactory(threadPool, sks, sslExceptionHandler, securityRestHandler));
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/*
2+
* SPDX-License-Identifier: Apache-2.0
3+
*
4+
* The OpenSearch Contributors require contributions made to
5+
* this file be licensed under the Apache-2.0 license or a
6+
* compatible open source license.
7+
*
8+
* Modifications Copyright OpenSearch Contributors. See
9+
* GitHub history for details.
10+
*/
11+
12+
package org.opensearch.security.identity;
13+
14+
import java.security.Principal;
15+
import java.util.concurrent.Callable;
16+
17+
import org.opensearch.common.util.concurrent.ThreadContext;
18+
import org.opensearch.identity.NamedPrincipal;
19+
import org.opensearch.identity.PluginSubject;
20+
import org.opensearch.threadpool.ThreadPool;
21+
22+
public class NoopPluginSubject implements PluginSubject {
23+
private final ThreadPool threadPool;
24+
25+
public NoopPluginSubject(ThreadPool threadPool) {
26+
super();
27+
this.threadPool = threadPool;
28+
}
29+
30+
@Override
31+
public Principal getPrincipal() {
32+
return NamedPrincipal.UNAUTHENTICATED;
33+
}
34+
35+
@Override
36+
public <T> T runAs(Callable<T> callable) throws Exception {
37+
try (ThreadContext.StoredContext ctx = threadPool.getThreadContext().stashContext()) {
38+
return callable.call();
39+
}
40+
}
41+
}

0 commit comments

Comments
 (0)