diff options
author | sersut <serdar@opscode.com> | 2013-05-20 10:41:40 -0700 |
---|---|---|
committer | sersut <serdar@opscode.com> | 2013-05-20 10:41:40 -0700 |
commit | 4a18e1bf98e2a8edabab3b13c674c68150605228 (patch) | |
tree | 4a53c1cfcdabfc9ac7117154463e08ebf3a0a214 /lib/chef/file_access_control | |
parent | 9f2b02b2bedfb9450b8de90cbfc869583bb84103 (diff) | |
download | chef-4a18e1bf98e2a8edabab3b13c674c68150605228.tar.gz |
Increase windows ACL testing coverage. Fix children inheritance of windows ACLs.
Diffstat (limited to 'lib/chef/file_access_control')
-rw-r--r-- | lib/chef/file_access_control/windows.rb | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/lib/chef/file_access_control/windows.rb b/lib/chef/file_access_control/windows.rb index be0ece291f..35a16337ab 100644 --- a/lib/chef/file_access_control/windows.rb +++ b/lib/chef/file_access_control/windows.rb @@ -218,17 +218,24 @@ class Chef def calculate_flags(rights) # Handle inheritance flags flags = 0 - case rights[:applies_to_children] - when :containers_only - flags |= CONTAINER_INHERIT_ACE - when :objects_only - flags |= OBJECT_INHERIT_ACE - when true - flags |= CONTAINER_INHERIT_ACE - flags |= OBJECT_INHERIT_ACE - when nil - flags |= CONTAINER_INHERIT_ACE - flags |= OBJECT_INHERIT_ACE + + # + # Configure child inheritence only if the the resource is some + # type of a directory. + # + if resource.is_a? Chef::Resource::Directory + case rights[:applies_to_children] + when :containers_only + flags |= CONTAINER_INHERIT_ACE + when :objects_only + flags |= OBJECT_INHERIT_ACE + when true + flags |= CONTAINER_INHERIT_ACE + flags |= OBJECT_INHERIT_ACE + when nil + flags |= CONTAINER_INHERIT_ACE + flags |= OBJECT_INHERIT_ACE + end end if rights[:applies_to_self] == false |