/** * Creates a new instance of {@link MutableInodeDirectory}. * * @param id the id to use */ private MutableInodeDirectory(long id) { super(id, true); mMountPoint = false; mDirectChildrenLoaded = false; mChildCount = 0; mDefaultAcl = new DefaultAccessControlList(mAcl); }
AclEntry aclEntry = AclEntry.fromCliString(stringEntries.get(0)); if (aclEntry.isDefault()) { acl = new DefaultAccessControlList(); } else { acl = new AccessControlList(); acl = new DefaultAccessControlList();
/** * Creates a child directory's access ACL and default ACL based on the default ACL. * @param umask child's umask * @return child directory's access ACL and default ACL */ public Pair<AccessControlList, DefaultAccessControlList> generateChildDirACL(Short umask) { AccessControlList acl = generateChildFileACL(umask); DefaultAccessControlList dAcl = new DefaultAccessControlList(acl); dAcl.setEmpty(false); dAcl.mOwningUser = mOwningUser; dAcl.mOwningGroup = mOwningGroup; dAcl.mMode = mMode; if (mExtendedEntries == null) { dAcl.mExtendedEntries = null; } else { dAcl.mExtendedEntries = new ExtendedACLEntries(mExtendedEntries); } return new Pair<>(acl, dAcl); }
private void apply(SetAclEntry entry) { MutableInode<?> inode = mInodeStore.getMutable(entry.getId()).get(); List<AclEntry> entries = StreamUtils.map(ProtoUtils::fromProto, entry.getEntriesList()); switch (entry.getAction()) { case REPLACE: // fully replace the acl for the path inode.replaceAcl(entries); break; case MODIFY: inode.setAcl(entries); break; case REMOVE: inode.removeAcl(entries); break; case REMOVE_ALL: inode.removeExtendedAcl(); break; case REMOVE_DEFAULT: inode.setDefaultACL(new DefaultAccessControlList(inode.getACL())); break; default: LOG.warn("Unrecognized acl action: " + entry.getAction()); } mInodeStore.writeInode(inode); }
/** * @param pAcl the proto representation * @return the {@link AccessControlList} instance created from the proto representation */ public static AccessControlList fromProto(PAcl pAcl) { AccessControlList acl; if (pAcl.getIsDefault()) { acl = new DefaultAccessControlList(); ((DefaultAccessControlList) acl).setEmpty(pAcl.getIsDefaultEmpty()); } else { acl = new AccessControlList(); } acl.setOwningUser(pAcl.getOwner()); acl.setOwningGroup(pAcl.getOwningGroup()); acl.setMode((short) pAcl.getMode()); if (pAcl.getEntriesCount() > 0) { for (PAclEntry tEntry : pAcl.getEntriesList()) { acl.setEntry(fromProto(tEntry)); } } return acl; }
AccessControlList ret; if (acl.hasIsDefault() && acl.getIsDefault()) { ret = new DefaultAccessControlList(); } else { ret = new AccessControlList();
ret.mDefaultAcl = (DefaultAccessControlList) ProtoUtils.fromProto(entry.getDefaultAcl()); } else { ret.mDefaultAcl = new DefaultAccessControlList();