1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-10 12:58:35 +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 commit is contained in:
Volker Lendecke 2006-12-17 18:30:44 +00:00 committed by Gerald (Jerry) Carter
parent b24cf79e9e
commit 0874093e5f
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,