/* Inherit the ACL if required */
if (lp_inherit_permissions(SNUM(conn))) {
inherit_access_posix_acl(conn,
- parent_dir,
+ parent_dir->fsp,
smb_fname,
unx_mode);
need_re_stat = true;
}
if (lp_inherit_permissions(SNUM(conn))) {
- inherit_access_posix_acl(conn, parent_dir_fname,
+ inherit_access_posix_acl(conn, parent_dir_fname->fsp,
smb_dname, mode);
need_re_stat = true;
}
****************************************************************************/
int inherit_access_posix_acl(connection_struct *conn,
- struct smb_filename *inherit_from_dir,
- const struct smb_filename *smb_fname,
- mode_t mode)
+ struct files_struct *inherit_from_dirfsp,
+ const struct smb_filename *smb_fname,
+ mode_t mode)
{
int ret;
- if (directory_has_default_posix_acl(inherit_from_dir->fsp))
+ if (directory_has_default_posix_acl(inherit_from_dirfsp))
return 0;
ret = copy_access_posix_acl(
- inherit_from_dir->fsp, smb_fname->fsp, mode);
+ inherit_from_dirfsp, smb_fname->fsp, mode);
return ret;
}
const struct smb_filename *smb_fname,
mode_t *mode);
int inherit_access_posix_acl(connection_struct *conn,
- struct smb_filename *inherit_from_dir,
- const struct smb_filename *smb_fname,
- mode_t mode);
+ struct files_struct *inherit_from_dirfsp,
+ const struct smb_filename *smb_fname,
+ mode_t mode);
NTSTATUS set_unix_posix_default_acl(connection_struct *conn,
files_struct *fsp,
uint16_t num_def_acls, const char *pdata);
if (lp_inherit_permissions(SNUM(conn))) {
inherit_access_posix_acl(conn,
- parent_fname,
+ parent_fname->fsp,
smb_fname,
unixmode);
}