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;
|
continue;
|
||||||
}
|
}
|
||||||
AppAttemptInfo attemptInfo =
|
AppAttemptInfo attemptInfo =
|
||||||
new AppAttemptInfo(this.rm, rmAppAttempt, rmApp.getUser(),
|
new AppAttemptInfo(this.rm, rmAppAttempt, true, rmApp.getUser(),
|
||||||
WebAppUtils.getHttpSchemePrefix(conf));
|
WebAppUtils.getHttpSchemePrefix(conf));
|
||||||
Set<String> nodes = rmAppAttempt.getBlacklistedNodes();
|
Set<String> nodes = rmAppAttempt.getBlacklistedNodes();
|
||||||
// nodes which are blacklisted by the application
|
// nodes which are blacklisted by the application
|
||||||
|
@ -1074,7 +1074,7 @@ public AppAttemptsInfo getAppAttempts(@Context HttpServletRequest hsr,
|
|||||||
AppAttemptsInfo appAttemptsInfo = new AppAttemptsInfo();
|
AppAttemptsInfo appAttemptsInfo = new AppAttemptsInfo();
|
||||||
for (RMAppAttempt attempt : app.getAppAttempts().values()) {
|
for (RMAppAttempt attempt : app.getAppAttempts().values()) {
|
||||||
AppAttemptInfo attemptInfo = new AppAttemptInfo(rm, attempt,
|
AppAttemptInfo attemptInfo = new AppAttemptInfo(rm, attempt,
|
||||||
app.getUser(), hsr.getScheme() + "://");
|
hasAccess(app, hsr), app.getUser(), hsr.getScheme() + "://");
|
||||||
appAttemptsInfo.add(attemptInfo);
|
appAttemptsInfo.add(attemptInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,8 +49,8 @@ public class AppAttemptInfo {
|
|||||||
public AppAttemptInfo() {
|
public AppAttemptInfo() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public AppAttemptInfo(ResourceManager rm, RMAppAttempt attempt, String user,
|
public AppAttemptInfo(ResourceManager rm, RMAppAttempt attempt,
|
||||||
String schemePrefix) {
|
Boolean hasAccess, String user, String schemePrefix) {
|
||||||
this.startTime = 0;
|
this.startTime = 0;
|
||||||
this.containerId = "";
|
this.containerId = "";
|
||||||
this.nodeHttpAddress = "";
|
this.nodeHttpAddress = "";
|
||||||
@ -63,7 +63,7 @@ public AppAttemptInfo(ResourceManager rm, RMAppAttempt attempt, String user,
|
|||||||
this.startTime = attempt.getStartTime();
|
this.startTime = attempt.getStartTime();
|
||||||
this.finishedTime = attempt.getFinishTime();
|
this.finishedTime = attempt.getFinishTime();
|
||||||
Container masterContainer = attempt.getMasterContainer();
|
Container masterContainer = attempt.getMasterContainer();
|
||||||
if (masterContainer != null) {
|
if (masterContainer != null && hasAccess) {
|
||||||
this.containerId = masterContainer.getId().toString();
|
this.containerId = masterContainer.getId().toString();
|
||||||
this.nodeHttpAddress = masterContainer.getNodeHttpAddress();
|
this.nodeHttpAddress = masterContainer.getNodeHttpAddress();
|
||||||
this.nodeId = masterContainer.getNodeId().toString();
|
this.nodeId = masterContainer.getNodeId().toString();
|
||||||
|
Loading…
Reference in New Issue
Block a user