# File lib/chef/provider/cookbook_file.rb, line 82 def enforce_tempfile_inheritance(tempfile_path) # On the Windows platform, files in the temp directory # default to not inherit unless the new resource specifies rights of # some sort. Here we ensure that even when no rights are # specified, the dacl's inheritance flag is set. if Chef::Platform.windows? && @new_resource.rights.nil? && @new_resource.group.nil? && @new_resource.owner.nil? && @new_resource.deny_rights.nil? securable_tempfile = Chef::ReservedNames::Win32::Security::SecurableObject.new(tempfile_path) # No rights were specified, so the dacl will have no explicit aces default_dacl = Chef::ReservedNames::Win32::Security::ACL.create([]) # In setting this default dacl, set inheritance to true securable_tempfile.set_dacl(default_dacl, true) end end