Skip to content

Commit cab0c43

Browse files
committed
TEMPORARY: Always allow managing current thread
1 parent c3d07d3 commit cab0c43

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1009,7 +1009,7 @@ public void checkNewInputStream(Class<?> callerClass, FileSystemProvider that, P
10091009

10101010
@Override
10111011
public void check$java_lang_Thread$setDaemon(Class<?> callerClass, Thread thread, boolean on) {
1012-
policyManager.checkManageThreadsEntitlement(callerClass);
1012+
policyManager.checkManageThreadsEntitlement(callerClass, thread);
10131013
}
10141014

10151015
@Override
@@ -1024,12 +1024,12 @@ public void checkNewInputStream(Class<?> callerClass, FileSystemProvider that, P
10241024

10251025
@Override
10261026
public void check$java_lang_Thread$setName(Class<?> callerClass, Thread thread, String name) {
1027-
policyManager.checkManageThreadsEntitlement(callerClass);
1027+
policyManager.checkManageThreadsEntitlement(callerClass, thread);
10281028
}
10291029

10301030
@Override
10311031
public void check$java_lang_Thread$setPriority(Class<?> callerClass, Thread thread, int newPriority) {
1032-
policyManager.checkManageThreadsEntitlement(callerClass);
1032+
policyManager.checkManageThreadsEntitlement(callerClass, thread);
10331033
}
10341034

10351035
@Override
@@ -1038,7 +1038,7 @@ public void checkNewInputStream(Class<?> callerClass, FileSystemProvider that, P
10381038
Thread thread,
10391039
Thread.UncaughtExceptionHandler ueh
10401040
) {
1041-
policyManager.checkManageThreadsEntitlement(callerClass);
1041+
policyManager.checkManageThreadsEntitlement(callerClass, thread);
10421042
}
10431043

10441044
@Override

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,13 @@ public void checkManageThreadsEntitlement(Class<?> callerClass) {
380380
checkEntitlementPresent(callerClass, ManageThreadsEntitlement.class);
381381
}
382382

383+
public void checkManageThreadsEntitlement(Class<?> callerClass, Thread targetThread) {
384+
if (targetThread == Thread.currentThread()) {
385+
return;
386+
}
387+
checkEntitlementPresent(callerClass, ManageThreadsEntitlement.class);
388+
}
389+
383390
private void checkEntitlementPresent(Class<?> callerClass, Class<? extends Entitlement> entitlementClass) {
384391
var requestingClass = requestingClass(callerClass);
385392
if (isTriviallyAllowed(requestingClass)) {

0 commit comments

Comments
 (0)