You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by mu...@apache.org on 2013/06/05 11:32:33 UTC
git commit: updated refs/heads/master to 91b1571
Updated Branches:
refs/heads/master 52a901099 -> 91b15711b
CLOUDSTACK-2343: listGlobalLoadBalancerRules shouldn't list the
globalGSLBRules of other accounts
imposing ACL checks
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/91b15711
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/91b15711
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/91b15711
Branch: refs/heads/master
Commit: 91b15711b638f7ea604ef34cdfe60fcf845aec52
Parents: 52a9010
Author: Murali Reddy <mu...@gmail.com>
Authored: Wed Jun 5 15:01:09 2013 +0530
Committer: Murali Reddy <mu...@gmail.com>
Committed: Wed Jun 5 15:02:03 2013 +0530
----------------------------------------------------------------------
.../gslb/GlobalLoadBalancingRulesServiceImpl.java | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91b15711/server/src/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
----------------------------------------------------------------------
diff --git a/server/src/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java b/server/src/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
index 7c46d4a..483c19a 100644
--- a/server/src/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
+++ b/server/src/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
@@ -528,6 +528,10 @@ public class GlobalLoadBalancingRulesServiceImpl implements GlobalLoadBalancingR
@Override
public List<GlobalLoadBalancerRule> listGlobalLoadBalancerRule(ListGlobalLoadBalancerRuleCmd listGslbCmd) {
+
+ UserContext ctx = UserContext.current();
+ Account caller = ctx.getCaller();
+
Integer regionId = listGslbCmd.getRegionId();
Long ruleId = listGslbCmd.getId();
List<GlobalLoadBalancerRule> response = new ArrayList<GlobalLoadBalancerRule>();
@@ -546,12 +550,14 @@ public class GlobalLoadBalancingRulesServiceImpl implements GlobalLoadBalancingR
if (gslbRule == null) {
throw new InvalidParameterValueException("Invalid gslb rule id specified");
}
+ _accountMgr.checkAccess(caller, org.apache.cloudstack.acl.SecurityChecker.AccessType.ListEntry, false, gslbRule);
+
response.add(gslbRule);
return response;
}
if (regionId != null) {
- List<GlobalLoadBalancerRuleVO> gslbRules = _gslbRuleDao.listByRegionId(regionId);
+ List<GlobalLoadBalancerRuleVO> gslbRules = _gslbRuleDao.listByAccount(caller.getAccountId());
if (gslbRules != null) {
response.addAll(gslbRules);
}