TALLOC_CTX *frame = talloc_stackframe();
bool ignore_file_system_acl = lp_parm_bool(
SNUM(handle->conn), module_name, "ignore system acls", false);
+ struct acl_common_fsp_ext *ext = NULL;
if (DEBUGLEVEL >= 10) {
DBG_DEBUG("incoming sd for file %s\n", fsp_str_dbg(fsp));
psd->type |= SEC_DESC_SACL_PRESENT;
}
+ ext = VFS_ADD_FSP_EXTENSION(handle,
+ fsp,
+ struct acl_common_fsp_ext,
+ NULL);
+ ext->setting_nt_acl = true;
+
if (ignore_file_system_acl) {
if (chown_needed) {
/* send only ownership stuff to lower layer */
status = store_acl_blob_fsp_fn(handle, fsp, &blob);
done:
+ VFS_REMOVE_FSP_EXTENSION(handle, fsp);
TALLOC_FREE(frame);
return status;
}
enum default_acl_style default_acl_style;
};
+struct acl_common_fsp_ext {
+ bool setting_nt_acl;
+};
+
bool init_acl_common_config(vfs_handle_struct *handle,
const char *module_name);