Skip to content

Commit d810ab4

Browse files
author
Kishan Kavala
committed
Revert "reverted 3a3fec3 because it fails a unit test"
This reverts commit f4ee1a8.
1 parent 96309a7 commit d810ab4

1 file changed

Lines changed: 12 additions & 4 deletions

File tree

server/src/com/cloud/network/vpc/NetworkACLServiceImpl.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,15 @@
2323
import javax.ejb.Local;
2424
import javax.inject.Inject;
2525

26+
import com.cloud.network.vpc.dao.VpcDao;
27+
import org.apache.cloudstack.api.command.user.network.ListNetworkACLListsCmd;
2628
import org.apache.commons.lang.StringUtils;
2729
import org.apache.log4j.Logger;
2830
import org.springframework.stereotype.Component;
2931

3032
import org.apache.cloudstack.api.ApiErrorCode;
3133
import org.apache.cloudstack.api.ServerApiException;
3234
import org.apache.cloudstack.api.command.user.network.CreateNetworkACLCmd;
33-
import org.apache.cloudstack.api.command.user.network.ListNetworkACLListsCmd;
3435
import org.apache.cloudstack.api.command.user.network.ListNetworkACLsCmd;
3536
import org.apache.cloudstack.context.CallContext;
3637

@@ -42,7 +43,6 @@
4243
import com.cloud.network.dao.NetworkDao;
4344
import com.cloud.network.dao.NetworkVO;
4445
import com.cloud.network.vpc.dao.NetworkACLDao;
45-
import com.cloud.network.vpc.dao.VpcDao;
4646
import com.cloud.network.vpc.dao.VpcGatewayDao;
4747
import com.cloud.projects.Project.ListProjectResourcesCriteria;
4848
import com.cloud.server.ResourceTag.ResourceObjectType;
@@ -579,8 +579,16 @@ public Pair<List<? extends NetworkACLItem>, Integer> listNetworkACLItems(ListNet
579579
@Override
580580
public boolean revokeNetworkACLItem(long ruleId) {
581581
NetworkACLItemVO aclItem = _networkACLItemDao.findById(ruleId);
582-
if (aclItem != null) {
583-
if ((aclItem.getAclId() == NetworkACL.DEFAULT_ALLOW) || (aclItem.getAclId() == NetworkACL.DEFAULT_DENY)) {
582+
if(aclItem != null){
583+
NetworkACL acl = _networkAclMgr.getNetworkACL(aclItem.getAclId());
584+
585+
Vpc vpc = _entityMgr.findById(Vpc.class, acl.getVpcId());
586+
587+
Account caller = CallContext.current().getCallingAccount();
588+
589+
_accountMgr.checkAccess(caller, null, true, vpc);
590+
591+
if((aclItem.getAclId() == NetworkACL.DEFAULT_ALLOW) || (aclItem.getAclId() == NetworkACL.DEFAULT_DENY)){
584592
throw new InvalidParameterValueException("ACL Items in default ACL cannot be deleted");
585593
}
586594
}

0 commit comments

Comments
 (0)