From 823f0c96692cc0d3fe7ffae0beb2ebe15eb37e2c Mon Sep 17 00:00:00 2001 From: Alena Prokharchyk Date: Thu, 4 Oct 2012 12:11:37 -0700 Subject: [PATCH] Fixed ipAssoc and createNetworkACL (for vpc) commands - didn't work in Project scenario Conflicts: server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java --- server/src/com/cloud/network/NetworkManagerImpl.java | 2 +- server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java | 5 ++++- server/src/com/cloud/server/ManagementServerImpl.java | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index 25c0032316f..7b38c836466 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -1142,7 +1142,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag Network network = _networksDao.findById(networkId); if (network != null) { - _accountMgr.checkAccess(caller, AccessType.UseNetwork, false, network); + _accountMgr.checkAccess(owner, AccessType.UseNetwork, false, network); } else { s_logger.debug("Unable to find ip address by id: " + ipId); return null; diff --git a/server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java b/server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java index 33757148523..e3483a00418 100644 --- a/server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java +++ b/server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java @@ -137,8 +137,11 @@ public class NetworkACLManagerImpl implements Manager,NetworkACLManager{ Vpc vpc = _vpcMgr.getVpc(network.getVpcId()); Account aclOwner = _accountMgr.getAccount(vpc.getAccountId()); - _accountMgr.checkAccess(caller, AccessType.UseNetwork, false, network); + //check if the caller can access vpc + _accountMgr.checkAccess(caller, null, false, vpc); + //check if the acl can be created for this network + _accountMgr.checkAccess(aclOwner, AccessType.UseNetwork, false, network); if (!_networkMgr.areServicesSupportedInNetwork(networkId, Service.NetworkACL)) { throw new InvalidParameterValueException("Service " + Service.NetworkACL + " is not supported in network " + network); diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index ea32dbbf591..d043ab17b59 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -1263,7 +1263,7 @@ public class ManagementServerImpl implements ManagementServer { boolean listAll = false; if (isoFilter != null && isoFilter == TemplateFilter.all) { if (caller.getType() == Account.ACCOUNT_TYPE_NORMAL) { - throw new InvalidParameterValueException("Filter " + TemplateFilter.all + " can be specified by admin only", null); + throw new InvalidParameterValueException("Filter " + TemplateFilter.all + " can be specified by admin only"); } listAll = true; } @@ -1292,7 +1292,7 @@ public class ManagementServerImpl implements ManagementServer { boolean listAll = false; if (templateFilter != null && templateFilter == TemplateFilter.all) { if (caller.getType() == Account.ACCOUNT_TYPE_NORMAL) { - throw new InvalidParameterValueException("Filter " + TemplateFilter.all + " can be specified by admin only", null); + throw new InvalidParameterValueException("Filter " + TemplateFilter.all + " can be specified by admin only"); } listAll = true; }