1
0
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:
Volker Lendecke 2006-12-17 18:30:44 +00:00 committed by Gerald (Jerry) Carter
parent 771f595693
commit 9933b596d1
4 changed files with 13 additions and 6 deletions

View File

@ -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);
}

View File

@ -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);

View File

@ -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);

View File

@ -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,