YARN-10555. Missing access check before getAppAttempts (#2608)
Co-authored-by: lujie <lujie@foxmail.com>
Signed-off-by: Akira Ajisaka <aajisaka@apache.org>
(cherry picked from commit d92a25b790
)
This commit is contained in:
parent
2f56e2b54d
commit
137e20cc9b
@ -142,7 +142,7 @@ protected void generateApplicationTable(Block html,
|
||||
continue;
|
||||
}
|
||||
AppAttemptInfo attemptInfo =
|
||||
new AppAttemptInfo(this.rm, rmAppAttempt, rmApp.getUser(),
|
||||
new AppAttemptInfo(this.rm, rmAppAttempt, true, rmApp.getUser(),
|
||||
WebAppUtils.getHttpSchemePrefix(conf));
|
||||
Set<String> nodes = rmAppAttempt.getBlacklistedNodes();
|
||||
// nodes which are blacklisted by the application
|
||||
|
@ -1074,7 +1074,7 @@ public AppAttemptsInfo getAppAttempts(@Context HttpServletRequest hsr,
|
||||
AppAttemptsInfo appAttemptsInfo = new AppAttemptsInfo();
|
||||
for (RMAppAttempt attempt : app.getAppAttempts().values()) {
|
||||
AppAttemptInfo attemptInfo = new AppAttemptInfo(rm, attempt,
|
||||
app.getUser(), hsr.getScheme() + "://");
|
||||
hasAccess(app, hsr), app.getUser(), hsr.getScheme() + "://");
|
||||
appAttemptsInfo.add(attemptInfo);
|
||||
}
|
||||
|
||||
|
@ -49,8 +49,8 @@ public class AppAttemptInfo {
|
||||
public AppAttemptInfo() {
|
||||
}
|
||||
|
||||
public AppAttemptInfo(ResourceManager rm, RMAppAttempt attempt, String user,
|
||||
String schemePrefix) {
|
||||
public AppAttemptInfo(ResourceManager rm, RMAppAttempt attempt,
|
||||
Boolean hasAccess, String user, String schemePrefix) {
|
||||
this.startTime = 0;
|
||||
this.containerId = "";
|
||||
this.nodeHttpAddress = "";
|
||||
@ -63,7 +63,7 @@ public AppAttemptInfo(ResourceManager rm, RMAppAttempt attempt, String user,
|
||||
this.startTime = attempt.getStartTime();
|
||||
this.finishedTime = attempt.getFinishTime();
|
||||
Container masterContainer = attempt.getMasterContainer();
|
||||
if (masterContainer != null) {
|
||||
if (masterContainer != null && hasAccess) {
|
||||
this.containerId = masterContainer.getId().toString();
|
||||
this.nodeHttpAddress = masterContainer.getNodeHttpAddress();
|
||||
this.nodeId = masterContainer.getNodeId().toString();
|
||||
|
Loading…
Reference in New Issue
Block a user