mirror of
https://github.com/samba-team/samba.git
synced 2025-01-24 02:04:21 +03:00
r20228: Bring the calling conventions of inherit_access_acl and change_owner_to_parent
a bit closer together: Move the lp_inherit_perms() check into the callers. Volker (This used to be commit 0874093e5fff480d8ec442072318525079add633)
This commit is contained in:
parent
771f595693
commit
9933b596d1
@ -283,7 +283,9 @@ static NTSTATUS open_file(files_struct *fsp,
|
||||
}
|
||||
|
||||
/* Inherit the ACL if the file was created. */
|
||||
if ((local_flags & O_CREAT) && !file_existed) {
|
||||
if ((local_flags & O_CREAT)
|
||||
&& !file_existed
|
||||
&& lp_inherit_perms(SNUM(conn))) {
|
||||
inherit_access_acl(conn, fname, unx_mode);
|
||||
}
|
||||
|
||||
|
@ -3457,8 +3457,8 @@ int chmod_acl(connection_struct *conn, const char *name, mode_t mode)
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
If "inherit permissions" is set and the parent directory has no default
|
||||
ACL but it does have an Access ACL, inherit this Access ACL to file name.
|
||||
If the parent directory has no default ACL but it does have an Access ACL,
|
||||
inherit this Access ACL to file name.
|
||||
****************************************************************************/
|
||||
|
||||
int inherit_access_acl(connection_struct *conn, const char *name, mode_t mode)
|
||||
@ -3466,7 +3466,7 @@ int inherit_access_acl(connection_struct *conn, const char *name, mode_t mode)
|
||||
pstring dirname;
|
||||
pstrcpy(dirname, parent_dirname(name));
|
||||
|
||||
if (!lp_inherit_perms(SNUM(conn)) || directory_has_default_acl(conn, dirname))
|
||||
if (directory_has_default_acl(conn, dirname))
|
||||
return 0;
|
||||
|
||||
return copy_access_acl(conn, dirname, name, mode);
|
||||
|
@ -4307,7 +4307,10 @@ size = %.0f, uid = %u, gid = %u, raw perms = 0%o\n",
|
||||
if (SMB_VFS_MKNOD(conn,fname, unixmode, dev) != 0)
|
||||
return(UNIXERROR(ERRDOS,ERRnoaccess));
|
||||
|
||||
inherit_access_acl(conn, fname, unixmode);
|
||||
if (lp_inherit_perms(SNUM(conn))) {
|
||||
inherit_access_acl(conn, fname,
|
||||
unixmode);
|
||||
}
|
||||
|
||||
SSVAL(params,0,0);
|
||||
send_trans2_replies(outbuf, bufsize, params, 2, *ppdata, 0, max_data_bytes);
|
||||
|
@ -319,7 +319,9 @@ int vfs_MkDir(connection_struct *conn, const char *name, mode_t mode)
|
||||
return ret;
|
||||
}
|
||||
|
||||
inherit_access_acl(conn, name, mode);
|
||||
if (lp_inherit_perms(SNUM(conn))) {
|
||||
inherit_access_acl(conn, name, mode);
|
||||
}
|
||||
|
||||
/*
|
||||
* Check if high bits should have been set,
|
||||
|
Loading…
x
Reference in New Issue
Block a user