chef 0.10.10 → 10.12.0.rc.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +6 -0
- data/distro/common/html/chef-client.8.html +4 -3
- data/distro/common/html/chef-expander.8.html +3 -3
- data/distro/common/html/chef-expanderctl.8.html +3 -3
- data/distro/common/html/chef-server-webui.8.html +3 -3
- data/distro/common/html/chef-server.8.html +3 -3
- data/distro/common/html/chef-solo.8.html +3 -3
- data/distro/common/html/chef-solr.8.html +3 -3
- data/distro/common/html/knife-bootstrap.1.html +3 -3
- data/distro/common/html/knife-client.1.html +3 -3
- data/distro/common/html/knife-configure.1.html +3 -3
- data/distro/common/html/knife-cookbook-site.1.html +3 -3
- data/distro/common/html/knife-cookbook.1.html +3 -3
- data/distro/common/html/knife-data-bag.1.html +3 -3
- data/distro/common/html/knife-environment.1.html +3 -3
- data/distro/common/html/knife-exec.1.html +3 -3
- data/distro/common/html/knife-index.1.html +3 -3
- data/distro/common/html/knife-node.1.html +3 -3
- data/distro/common/html/knife-role.1.html +3 -3
- data/distro/common/html/knife-search.1.html +3 -3
- data/distro/common/html/knife-ssh.1.html +3 -3
- data/distro/common/html/knife-status.1.html +3 -3
- data/distro/common/html/knife-tag.1.html +3 -3
- data/distro/common/html/knife.1.html +3 -3
- data/distro/common/html/shef.1.html +3 -3
- data/distro/common/man/man1/knife-bootstrap.1 +1 -1
- data/distro/common/man/man1/knife-client.1 +1 -1
- data/distro/common/man/man1/knife-configure.1 +1 -1
- data/distro/common/man/man1/knife-cookbook-site.1 +1 -1
- data/distro/common/man/man1/knife-cookbook.1 +1 -1
- data/distro/common/man/man1/knife-data-bag.1 +1 -1
- data/distro/common/man/man1/knife-environment.1 +1 -1
- data/distro/common/man/man1/knife-exec.1 +1 -1
- data/distro/common/man/man1/knife-index.1 +1 -1
- data/distro/common/man/man1/knife-node.1 +1 -1
- data/distro/common/man/man1/knife-role.1 +1 -1
- data/distro/common/man/man1/knife-search.1 +1 -1
- data/distro/common/man/man1/knife-ssh.1 +1 -1
- data/distro/common/man/man1/knife-status.1 +1 -1
- data/distro/common/man/man1/knife-tag.1 +1 -1
- data/distro/common/man/man1/knife.1 +1 -1
- data/distro/common/man/man1/shef.1 +1 -1
- data/distro/common/man/man8/chef-client.8 +5 -1
- data/distro/common/man/man8/chef-expander.8 +1 -1
- data/distro/common/man/man8/chef-expanderctl.8 +1 -1
- data/distro/common/man/man8/chef-server-webui.8 +1 -1
- data/distro/common/man/man8/chef-server.8 +1 -1
- data/distro/common/man/man8/chef-solo.8 +1 -1
- data/distro/common/man/man8/chef-solr.8 +1 -1
- data/distro/common/markdown/man8/chef-client.mkd +2 -0
- data/lib/chef/application/client.rb +1 -1
- data/lib/chef/application/solo.rb +1 -1
- data/lib/chef/application/windows_service.rb +1 -1
- data/lib/chef/config.rb +1 -1
- data/lib/chef/exceptions.rb +3 -0
- data/lib/chef/file_access_control/unix.rb +21 -6
- data/lib/chef/file_access_control/windows.rb +7 -7
- data/lib/chef/knife/ssh.rb +4 -2
- data/lib/chef/mixin/enforce_ownership_and_permissions.rb +1 -1
- data/lib/chef/provider/link.rb +49 -45
- data/lib/chef/provider/mdadm.rb +4 -1
- data/lib/chef/provider/package/rubygems.rb +2 -1
- data/lib/chef/provider/remote_file.rb +17 -1
- data/lib/chef/reserved_names.rb +9 -0
- data/lib/chef/resource/link.rb +1 -17
- data/lib/chef/resource/mdadm.rb +1 -1
- data/lib/chef/resource_platform_map.rb +1 -3
- data/lib/chef/rest.rb +48 -17
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/api.rb +16 -1
- data/lib/chef/win32/api/error.rb +9 -9
- data/lib/chef/win32/api/file.rb +263 -17
- data/lib/chef/win32/api/memory.rb +12 -12
- data/lib/chef/win32/api/process.rb +5 -5
- data/lib/chef/win32/api/psapi.rb +3 -3
- data/lib/chef/win32/api/security.rb +41 -41
- data/lib/chef/win32/api/system.rb +8 -8
- data/lib/chef/win32/api/unicode.rb +6 -6
- data/lib/chef/win32/error.rb +4 -4
- data/lib/chef/win32/file.rb +65 -15
- data/lib/chef/win32/file/info.rb +7 -7
- data/lib/chef/win32/handle.rb +3 -3
- data/lib/chef/win32/memory.rb +8 -8
- data/lib/chef/win32/process.rb +8 -8
- data/lib/chef/win32/security.rb +49 -49
- data/lib/chef/win32/security/ace.rb +11 -11
- data/lib/chef/win32/security/acl.rb +10 -10
- data/lib/chef/win32/security/securable_object.rb +13 -13
- data/lib/chef/win32/security/security_descriptor.rb +12 -12
- data/lib/chef/win32/security/sid.rb +8 -8
- data/lib/chef/win32/security/token.rb +8 -8
- data/lib/chef/win32/unicode.rb +5 -5
- data/lib/chef/win32/version.rb +4 -4
- metadata +374 -370
@@ -23,31 +23,31 @@ require 'chef/win32/memory'
|
|
23
23
|
require 'ffi'
|
24
24
|
|
25
25
|
class Chef
|
26
|
-
module Win32
|
26
|
+
module ReservedNames::Win32
|
27
27
|
class Security
|
28
28
|
class ACE
|
29
29
|
|
30
30
|
def initialize(pointer, owner = nil)
|
31
|
-
if Chef::Win32::API::Security::ACE_WITH_MASK_AND_SID.supports?(pointer.read_uchar)
|
32
|
-
@struct = Chef::Win32::API::Security::ACE_WITH_MASK_AND_SID.new pointer
|
31
|
+
if Chef::ReservedNames::Win32::API::Security::ACE_WITH_MASK_AND_SID.supports?(pointer.read_uchar)
|
32
|
+
@struct = Chef::ReservedNames::Win32::API::Security::ACE_WITH_MASK_AND_SID.new pointer
|
33
33
|
else
|
34
34
|
# TODO Support ALL the things
|
35
|
-
@struct = Chef::Win32::API::Security::ACE_HEADER.new pointer
|
35
|
+
@struct = Chef::ReservedNames::Win32::API::Security::ACE_HEADER.new pointer
|
36
36
|
end
|
37
37
|
# Keep a reference to the actual owner of this memory so we don't get freed
|
38
38
|
@owner = owner
|
39
39
|
end
|
40
40
|
|
41
41
|
def self.size_with_sid(sid)
|
42
|
-
Chef::Win32::API::Security::ACE_WITH_MASK_AND_SID.offset_of(:SidStart) + sid.size
|
42
|
+
Chef::ReservedNames::Win32::API::Security::ACE_WITH_MASK_AND_SID.offset_of(:SidStart) + sid.size
|
43
43
|
end
|
44
44
|
|
45
45
|
def self.access_allowed(sid, mask, flags = 0)
|
46
|
-
create_ace_with_mask_and_sid(Chef::Win32::API::Security::ACCESS_ALLOWED_ACE_TYPE, flags, mask, sid)
|
46
|
+
create_ace_with_mask_and_sid(Chef::ReservedNames::Win32::API::Security::ACCESS_ALLOWED_ACE_TYPE, flags, mask, sid)
|
47
47
|
end
|
48
48
|
|
49
49
|
def self.access_denied(sid, mask, flags = 0)
|
50
|
-
create_ace_with_mask_and_sid(Chef::Win32::API::Security::ACCESS_DENIED_ACE_TYPE, flags, mask, sid)
|
50
|
+
create_ace_with_mask_and_sid(Chef::ReservedNames::Win32::API::Security::ACCESS_DENIED_ACE_TYPE, flags, mask, sid)
|
51
51
|
end
|
52
52
|
|
53
53
|
attr_reader :struct
|
@@ -73,7 +73,7 @@ class Chef
|
|
73
73
|
end
|
74
74
|
|
75
75
|
def inherited?
|
76
|
-
(struct[:AceFlags] & Chef::Win32::API::Security::INHERITED_ACE) != 0
|
76
|
+
(struct[:AceFlags] & Chef::ReservedNames::Win32::API::Security::INHERITED_ACE) != 0
|
77
77
|
end
|
78
78
|
|
79
79
|
def mask
|
@@ -95,7 +95,7 @@ class Chef
|
|
95
95
|
def sid
|
96
96
|
# The SID runs off the end of the structure, starting at :SidStart.
|
97
97
|
# Use pointer arithmetic to get a pointer to that location.
|
98
|
-
Chef::Win32::Security::SID.new(struct.pointer + struct.offset_of(:SidStart))
|
98
|
+
Chef::ReservedNames::Win32::Security::SID.new(struct.pointer + struct.offset_of(:SidStart))
|
99
99
|
end
|
100
100
|
|
101
101
|
def to_s
|
@@ -111,12 +111,12 @@ class Chef
|
|
111
111
|
def self.create_ace_with_mask_and_sid(type, flags, mask, sid)
|
112
112
|
size_needed = size_with_sid(sid)
|
113
113
|
pointer = FFI::MemoryPointer.new size_needed
|
114
|
-
struct = Chef::Win32::API::Security::ACE_WITH_MASK_AND_SID.new pointer
|
114
|
+
struct = Chef::ReservedNames::Win32::API::Security::ACE_WITH_MASK_AND_SID.new pointer
|
115
115
|
struct[:AceType] = type
|
116
116
|
struct[:AceFlags] = flags
|
117
117
|
struct[:AceSize] = size_needed
|
118
118
|
struct[:Mask] = mask
|
119
|
-
Chef::Win32::Memory.memcpy(struct.pointer + struct.offset_of(:SidStart), sid.pointer, sid.size)
|
119
|
+
Chef::ReservedNames::Win32::Memory.memcpy(struct.pointer + struct.offset_of(:SidStart), sid.pointer, sid.size)
|
120
120
|
ACE.new(struct.pointer)
|
121
121
|
end
|
122
122
|
end
|
@@ -21,13 +21,13 @@ require 'chef/win32/security/ace'
|
|
21
21
|
require 'ffi'
|
22
22
|
|
23
23
|
class Chef
|
24
|
-
module Win32
|
24
|
+
module ReservedNames::Win32
|
25
25
|
class Security
|
26
26
|
class ACL
|
27
27
|
include Enumerable
|
28
28
|
|
29
29
|
def initialize(pointer, owner = nil)
|
30
|
-
@struct = Chef::Win32::API::Security::ACLStruct.new pointer
|
30
|
+
@struct = Chef::ReservedNames::Win32::API::Security::ACLStruct.new pointer
|
31
31
|
# Keep a reference to the actual owner of this memory so that it isn't freed out from under us
|
32
32
|
# TODO this could be avoided if we could mark a pointer's parent manually
|
33
33
|
@owner = owner
|
@@ -35,9 +35,9 @@ class Chef
|
|
35
35
|
|
36
36
|
def self.create(aces)
|
37
37
|
aces_size = aces.inject(0) { |sum,ace| sum + ace.size }
|
38
|
-
acl_size = align_dword(Chef::Win32::API::Security::ACLStruct.size + aces_size) # What the heck is 94???
|
39
|
-
acl = Chef::Win32::Security.initialize_acl(acl_size)
|
40
|
-
aces.each { |ace| Chef::Win32::Security.add_ace(acl, ace) }
|
38
|
+
acl_size = align_dword(Chef::ReservedNames::Win32::API::Security::ACLStruct.size + aces_size) # What the heck is 94???
|
39
|
+
acl = Chef::ReservedNames::Win32::Security.initialize_acl(acl_size)
|
40
|
+
aces.each { |ace| Chef::ReservedNames::Win32::Security.add_ace(acl, ace) }
|
41
41
|
acl
|
42
42
|
end
|
43
43
|
|
@@ -56,11 +56,11 @@ class Chef
|
|
56
56
|
end
|
57
57
|
|
58
58
|
def [](index)
|
59
|
-
Chef::Win32::Security.get_ace(self, index)
|
59
|
+
Chef::ReservedNames::Win32::Security.get_ace(self, index)
|
60
60
|
end
|
61
61
|
|
62
62
|
def delete_at(index)
|
63
|
-
Chef::Win32::Security.delete_ace(self, index)
|
63
|
+
Chef::ReservedNames::Win32::Security.delete_ace(self, index)
|
64
64
|
end
|
65
65
|
|
66
66
|
def each
|
@@ -76,15 +76,15 @@ class Chef
|
|
76
76
|
end
|
77
77
|
|
78
78
|
def push(*aces)
|
79
|
-
aces.each { |ace| Chef::Win32::Security.add_ace(self, ace) }
|
79
|
+
aces.each { |ace| Chef::ReservedNames::Win32::Security.add_ace(self, ace) }
|
80
80
|
end
|
81
81
|
|
82
82
|
def unshift(*aces)
|
83
|
-
aces.each { |ace| Chef::Win32::Security.add_ace(self, ace, 0) }
|
83
|
+
aces.each { |ace| Chef::ReservedNames::Win32::Security.add_ace(self, ace, 0) }
|
84
84
|
end
|
85
85
|
|
86
86
|
def valid?
|
87
|
-
Chef::Win32::Security.is_valid_acl(self)
|
87
|
+
Chef::ReservedNames::Win32::Security.is_valid_acl(self)
|
88
88
|
end
|
89
89
|
|
90
90
|
def to_s
|
@@ -21,7 +21,7 @@ require 'chef/win32/security/acl'
|
|
21
21
|
require 'chef/win32/security/sid'
|
22
22
|
|
23
23
|
class Chef
|
24
|
-
module Win32
|
24
|
+
module ReservedNames::Win32
|
25
25
|
class Security
|
26
26
|
class SecurableObject
|
27
27
|
|
@@ -33,7 +33,7 @@ class Chef
|
|
33
33
|
attr_reader :path
|
34
34
|
attr_reader :type
|
35
35
|
|
36
|
-
SecurityConst = Chef::Win32::API::Security
|
36
|
+
SecurityConst = Chef::ReservedNames::Win32::API::Security
|
37
37
|
|
38
38
|
# This method predicts what the rights mask would be on an object
|
39
39
|
# if you created an ACE with the given mask. Specifically, it looks for
|
@@ -42,26 +42,26 @@ class Chef
|
|
42
42
|
# compare an existing ACE with one you want to create.
|
43
43
|
def predict_rights_mask(generic_mask)
|
44
44
|
mask = generic_mask
|
45
|
-
#mask |= Chef::Win32::API::Security::STANDARD_RIGHTS_READ if (mask | Chef::Win32::API::Security::GENERIC_READ) != 0
|
46
|
-
#mask |= Chef::Win32::API::Security::STANDARD_RIGHTS_WRITE if (mask | Chef::Win32::API::Security::GENERIC_WRITE) != 0
|
47
|
-
#mask |= Chef::Win32::API::Security::STANDARD_RIGHTS_EXECUTE if (mask | Chef::Win32::API::Security::GENERIC_EXECUTE) != 0
|
48
|
-
#mask |= Chef::Win32::API::Security::STANDARD_RIGHTS_ALL if (mask | Chef::Win32::API::Security::GENERIC_ALL) != 0
|
45
|
+
#mask |= Chef::ReservedNames::Win32::API::Security::STANDARD_RIGHTS_READ if (mask | Chef::ReservedNames::Win32::API::Security::GENERIC_READ) != 0
|
46
|
+
#mask |= Chef::ReservedNames::Win32::API::Security::STANDARD_RIGHTS_WRITE if (mask | Chef::ReservedNames::Win32::API::Security::GENERIC_WRITE) != 0
|
47
|
+
#mask |= Chef::ReservedNames::Win32::API::Security::STANDARD_RIGHTS_EXECUTE if (mask | Chef::ReservedNames::Win32::API::Security::GENERIC_EXECUTE) != 0
|
48
|
+
#mask |= Chef::ReservedNames::Win32::API::Security::STANDARD_RIGHTS_ALL if (mask | Chef::ReservedNames::Win32::API::Security::GENERIC_ALL) != 0
|
49
49
|
if type == :SE_FILE_OBJECT
|
50
|
-
mask |= Chef::Win32::API::Security::FILE_GENERIC_READ if (mask & Chef::Win32::API::Security::GENERIC_READ) != 0
|
51
|
-
mask |= Chef::Win32::API::Security::FILE_GENERIC_WRITE if (mask & Chef::Win32::API::Security::GENERIC_WRITE) != 0
|
52
|
-
mask |= Chef::Win32::API::Security::FILE_GENERIC_EXECUTE if (mask & Chef::Win32::API::Security::GENERIC_EXECUTE) != 0
|
53
|
-
mask |= Chef::Win32::API::Security::FILE_ALL_ACCESS if (mask & Chef::Win32::API::Security::GENERIC_ALL) != 0
|
50
|
+
mask |= Chef::ReservedNames::Win32::API::Security::FILE_GENERIC_READ if (mask & Chef::ReservedNames::Win32::API::Security::GENERIC_READ) != 0
|
51
|
+
mask |= Chef::ReservedNames::Win32::API::Security::FILE_GENERIC_WRITE if (mask & Chef::ReservedNames::Win32::API::Security::GENERIC_WRITE) != 0
|
52
|
+
mask |= Chef::ReservedNames::Win32::API::Security::FILE_GENERIC_EXECUTE if (mask & Chef::ReservedNames::Win32::API::Security::GENERIC_EXECUTE) != 0
|
53
|
+
mask |= Chef::ReservedNames::Win32::API::Security::FILE_ALL_ACCESS if (mask & Chef::ReservedNames::Win32::API::Security::GENERIC_ALL) != 0
|
54
54
|
else
|
55
55
|
raise "Unimplemented object type for predict_security_mask: #{type}"
|
56
56
|
end
|
57
|
-
mask &= ~(Chef::Win32::API::Security::GENERIC_READ | Chef::Win32::API::Security::GENERIC_WRITE | Chef::Win32::API::Security::GENERIC_EXECUTE | Chef::Win32::API::Security::GENERIC_ALL)
|
57
|
+
mask &= ~(Chef::ReservedNames::Win32::API::Security::GENERIC_READ | Chef::ReservedNames::Win32::API::Security::GENERIC_WRITE | Chef::ReservedNames::Win32::API::Security::GENERIC_EXECUTE | Chef::ReservedNames::Win32::API::Security::GENERIC_ALL)
|
58
58
|
mask
|
59
59
|
end
|
60
60
|
|
61
61
|
def security_descriptor(include_sacl = false)
|
62
|
-
security_information = Chef::Win32::API::Security::OWNER_SECURITY_INFORMATION | Chef::Win32::API::Security::GROUP_SECURITY_INFORMATION | Chef::Win32::API::Security::DACL_SECURITY_INFORMATION
|
62
|
+
security_information = Chef::ReservedNames::Win32::API::Security::OWNER_SECURITY_INFORMATION | Chef::ReservedNames::Win32::API::Security::GROUP_SECURITY_INFORMATION | Chef::ReservedNames::Win32::API::Security::DACL_SECURITY_INFORMATION
|
63
63
|
if include_sacl
|
64
|
-
security_information |= Chef::Win32::API::Security::SACL_SECURITY_INFORMATION
|
64
|
+
security_information |= Chef::ReservedNames::Win32::API::Security::SACL_SECURITY_INFORMATION
|
65
65
|
Security.with_privileges("SeSecurityPrivilege") do
|
66
66
|
Security.get_named_security_info(path, type, security_information)
|
67
67
|
end
|
@@ -21,7 +21,7 @@ require 'chef/win32/security/acl'
|
|
21
21
|
require 'chef/win32/security/sid'
|
22
22
|
|
23
23
|
class Chef
|
24
|
-
module Win32
|
24
|
+
module ReservedNames::Win32
|
25
25
|
class Security
|
26
26
|
class SecurityDescriptor
|
27
27
|
|
@@ -36,56 +36,56 @@ class Chef
|
|
36
36
|
end
|
37
37
|
|
38
38
|
def control
|
39
|
-
control, version = Chef::Win32::Security.get_security_descriptor_control(self)
|
39
|
+
control, version = Chef::ReservedNames::Win32::Security.get_security_descriptor_control(self)
|
40
40
|
control
|
41
41
|
end
|
42
42
|
|
43
43
|
def dacl
|
44
44
|
raise "DACL not present" if !dacl_present?
|
45
|
-
present, acl, defaulted = Chef::Win32::Security.get_security_descriptor_dacl(self)
|
45
|
+
present, acl, defaulted = Chef::ReservedNames::Win32::Security.get_security_descriptor_dacl(self)
|
46
46
|
acl
|
47
47
|
end
|
48
48
|
|
49
49
|
def dacl_inherits?
|
50
|
-
(control & Chef::Win32::API::Security::SE_DACL_PROTECTED) == 0
|
50
|
+
(control & Chef::ReservedNames::Win32::API::Security::SE_DACL_PROTECTED) == 0
|
51
51
|
end
|
52
52
|
|
53
53
|
def dacl_present?
|
54
|
-
(control & Chef::Win32::API::Security::SE_DACL_PRESENT) != 0
|
54
|
+
(control & Chef::ReservedNames::Win32::API::Security::SE_DACL_PRESENT) != 0
|
55
55
|
end
|
56
56
|
|
57
57
|
def group
|
58
|
-
result, defaulted = Chef::Win32::Security.get_security_descriptor_group(self)
|
58
|
+
result, defaulted = Chef::ReservedNames::Win32::Security.get_security_descriptor_group(self)
|
59
59
|
result
|
60
60
|
end
|
61
61
|
|
62
62
|
def owner
|
63
|
-
result, defaulted = Chef::Win32::Security.get_security_descriptor_owner(self)
|
63
|
+
result, defaulted = Chef::ReservedNames::Win32::Security.get_security_descriptor_owner(self)
|
64
64
|
result
|
65
65
|
end
|
66
66
|
|
67
67
|
def sacl
|
68
68
|
raise "SACL not present" if !sacl_present?
|
69
69
|
Security.with_privileges("SeSecurityPrivilege") do
|
70
|
-
present, acl, defaulted = Chef::Win32::Security.get_security_descriptor_sacl(self)
|
70
|
+
present, acl, defaulted = Chef::ReservedNames::Win32::Security.get_security_descriptor_sacl(self)
|
71
71
|
acl
|
72
72
|
end
|
73
73
|
end
|
74
74
|
|
75
75
|
def sacl_inherits?
|
76
|
-
(control & Chef::Win32::API::Security::SE_SACL_PROTECTED) == 0
|
76
|
+
(control & Chef::ReservedNames::Win32::API::Security::SE_SACL_PROTECTED) == 0
|
77
77
|
end
|
78
78
|
|
79
79
|
def sacl_present?
|
80
|
-
(control & Chef::Win32::API::Security::SE_SACL_PRESENT) != 0
|
80
|
+
(control & Chef::ReservedNames::Win32::API::Security::SE_SACL_PRESENT) != 0
|
81
81
|
end
|
82
82
|
|
83
83
|
def self_relative?
|
84
|
-
(control & Chef::Win32::API::Security::SE_SELF_RELATIVE) != 0
|
84
|
+
(control & Chef::ReservedNames::Win32::API::Security::SE_SELF_RELATIVE) != 0
|
85
85
|
end
|
86
86
|
|
87
87
|
def valid?
|
88
|
-
Chef::Win32::Security.is_valid_security_descriptor(self)
|
88
|
+
Chef::ReservedNames::Win32::Security.is_valid_security_descriptor(self)
|
89
89
|
end
|
90
90
|
end
|
91
91
|
end
|
@@ -19,7 +19,7 @@
|
|
19
19
|
require 'chef/win32/security'
|
20
20
|
|
21
21
|
class Chef
|
22
|
-
module Win32
|
22
|
+
module ReservedNames::Win32
|
23
23
|
class Security
|
24
24
|
class SID
|
25
25
|
|
@@ -30,22 +30,22 @@ class Chef
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def self.from_account(name)
|
33
|
-
domain, sid, use = Chef::Win32::Security.lookup_account_name(name)
|
33
|
+
domain, sid, use = Chef::ReservedNames::Win32::Security.lookup_account_name(name)
|
34
34
|
sid
|
35
35
|
end
|
36
36
|
|
37
37
|
def self.from_string_sid(string_sid)
|
38
|
-
Chef::Win32::Security::convert_string_sid_to_sid(string_sid)
|
38
|
+
Chef::ReservedNames::Win32::Security::convert_string_sid_to_sid(string_sid)
|
39
39
|
end
|
40
40
|
|
41
41
|
def ==(other)
|
42
|
-
other != nil && Chef::Win32::Security.equal_sid(self, other)
|
42
|
+
other != nil && Chef::ReservedNames::Win32::Security.equal_sid(self, other)
|
43
43
|
end
|
44
44
|
|
45
45
|
attr_reader :pointer
|
46
46
|
|
47
47
|
def account
|
48
|
-
Chef::Win32::Security.lookup_account_sid(self)
|
48
|
+
Chef::ReservedNames::Win32::Security.lookup_account_sid(self)
|
49
49
|
end
|
50
50
|
|
51
51
|
def account_name
|
@@ -54,15 +54,15 @@ class Chef
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def size
|
57
|
-
Chef::Win32::Security.get_length_sid(self)
|
57
|
+
Chef::ReservedNames::Win32::Security.get_length_sid(self)
|
58
58
|
end
|
59
59
|
|
60
60
|
def to_s
|
61
|
-
Chef::Win32::Security.convert_sid_to_string_sid(self)
|
61
|
+
Chef::ReservedNames::Win32::Security.convert_sid_to_string_sid(self)
|
62
62
|
end
|
63
63
|
|
64
64
|
def valid?
|
65
|
-
Chef::Win32::Security.is_valid_sid(self)
|
65
|
+
Chef::ReservedNames::Win32::Security.is_valid_sid(self)
|
66
66
|
end
|
67
67
|
|
68
68
|
# Well-known SIDs
|
@@ -22,7 +22,7 @@ require 'chef/win32/api/security'
|
|
22
22
|
require 'ffi'
|
23
23
|
|
24
24
|
class Chef
|
25
|
-
module Win32
|
25
|
+
module ReservedNames::Win32
|
26
26
|
class Security
|
27
27
|
class Token
|
28
28
|
|
@@ -34,28 +34,28 @@ class Chef
|
|
34
34
|
|
35
35
|
def enable_privileges(*privilege_names)
|
36
36
|
# Build the list of privileges we want to set
|
37
|
-
new_privileges = Chef::Win32::API::Security::TOKEN_PRIVILEGES.new(
|
38
|
-
FFI::MemoryPointer.new(Chef::Win32::API::Security::TOKEN_PRIVILEGES.size_with_privileges(privilege_names.length)))
|
37
|
+
new_privileges = Chef::ReservedNames::Win32::API::Security::TOKEN_PRIVILEGES.new(
|
38
|
+
FFI::MemoryPointer.new(Chef::ReservedNames::Win32::API::Security::TOKEN_PRIVILEGES.size_with_privileges(privilege_names.length)))
|
39
39
|
new_privileges[:PrivilegeCount] = 0
|
40
40
|
privilege_names.each do |privilege_name|
|
41
|
-
luid = Chef::Win32::API::Security::LUID.new
|
41
|
+
luid = Chef::ReservedNames::Win32::API::Security::LUID.new
|
42
42
|
# Ignore failure (with_privileges TRIES but does not guarantee success--
|
43
43
|
# APIs down the line will fail if privilege escalation fails)
|
44
|
-
if Chef::Win32::API::Security.LookupPrivilegeValueW(nil, privilege_name.to_wstring, luid)
|
44
|
+
if Chef::ReservedNames::Win32::API::Security.LookupPrivilegeValueW(nil, privilege_name.to_wstring, luid)
|
45
45
|
new_privilege = new_privileges.privilege(new_privileges[:PrivilegeCount])
|
46
46
|
new_privilege[:Luid][:LowPart] = luid[:LowPart]
|
47
47
|
new_privilege[:Luid][:HighPart] = luid[:HighPart]
|
48
|
-
new_privilege[:Attributes] = Chef::Win32::API::Security::SE_PRIVILEGE_ENABLED
|
48
|
+
new_privilege[:Attributes] = Chef::ReservedNames::Win32::API::Security::SE_PRIVILEGE_ENABLED
|
49
49
|
new_privileges[:PrivilegeCount] = new_privileges[:PrivilegeCount] + 1
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
-
old_privileges = Chef::Win32::Security.adjust_token_privileges(self, new_privileges)
|
53
|
+
old_privileges = Chef::ReservedNames::Win32::Security.adjust_token_privileges(self, new_privileges)
|
54
54
|
end
|
55
55
|
|
56
56
|
def adjust_privileges(privileges_struct)
|
57
57
|
if privileges_struct[:PrivilegeCount] > 0
|
58
|
-
Chef::Win32::Security::adjust_token_privileges(self, privileges_struct)
|
58
|
+
Chef::ReservedNames::Win32::Security::adjust_token_privileges(self, privileges_struct)
|
59
59
|
end
|
60
60
|
end
|
61
61
|
end
|
data/lib/chef/win32/unicode.rb
CHANGED
@@ -20,10 +20,10 @@
|
|
20
20
|
require 'chef/win32/api/unicode'
|
21
21
|
|
22
22
|
class Chef
|
23
|
-
module Win32
|
23
|
+
module ReservedNames::Win32
|
24
24
|
class Unicode
|
25
|
-
include Chef::Win32::API::Unicode
|
26
|
-
extend Chef::Win32::API::Unicode
|
25
|
+
include Chef::ReservedNames::Win32::API::Unicode
|
26
|
+
extend Chef::ReservedNames::Win32::API::Unicode
|
27
27
|
end
|
28
28
|
end
|
29
29
|
end
|
@@ -31,13 +31,13 @@ end
|
|
31
31
|
module FFI
|
32
32
|
class Pointer
|
33
33
|
def read_wstring(num_wchars)
|
34
|
-
Chef::Win32::Unicode.wide_to_utf8(self.get_bytes(0, num_wchars*2))
|
34
|
+
Chef::ReservedNames::Win32::Unicode.wide_to_utf8(self.get_bytes(0, num_wchars*2))
|
35
35
|
end
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
39
|
class String
|
40
40
|
def to_wstring
|
41
|
-
Chef::Win32::Unicode.utf8_to_wide(self)
|
41
|
+
Chef::ReservedNames::Win32::Unicode.utf8_to_wide(self)
|
42
42
|
end
|
43
43
|
end
|
data/lib/chef/win32/version.rb
CHANGED
@@ -20,10 +20,10 @@ require 'chef/win32/api'
|
|
20
20
|
require 'chef/win32/api/system'
|
21
21
|
|
22
22
|
class Chef
|
23
|
-
module Win32
|
23
|
+
module ReservedNames::Win32
|
24
24
|
class Version
|
25
|
-
include Chef::Win32::API::Macros
|
26
|
-
include Chef::Win32::API::System
|
25
|
+
include Chef::ReservedNames::Win32::API::Macros
|
26
|
+
include Chef::ReservedNames::Win32::API::System
|
27
27
|
|
28
28
|
# Ruby implementation of
|
29
29
|
# http://msdn.microsoft.com/en-us/library/ms724833(v=vs.85).aspx
|
@@ -99,7 +99,7 @@ class Chef
|
|
99
99
|
lp_version_info = OSVERSIONINFOEX.new
|
100
100
|
lp_version_info[:dw_os_version_info_size] = OSVERSIONINFOEX.size
|
101
101
|
unless GetVersionExW(lp_version_info)
|
102
|
-
Chef::Win32::Error.raise!
|
102
|
+
Chef::ReservedNames::Win32::Error.raise!
|
103
103
|
end
|
104
104
|
lp_version_info
|
105
105
|
end
|
metadata
CHANGED
@@ -1,457 +1,449 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 15424407
|
5
|
+
prerelease: 8
|
6
|
+
segments:
|
7
|
+
- 10
|
8
|
+
- 12
|
9
|
+
- 0
|
10
|
+
- rc
|
11
|
+
- 1
|
12
|
+
version: 10.12.0.rc.1
|
6
13
|
platform: ruby
|
7
|
-
authors:
|
14
|
+
authors:
|
8
15
|
- Adam Jacob
|
9
16
|
autorequire:
|
10
17
|
bindir: bin
|
11
18
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
19
|
+
|
20
|
+
date: 2012-05-31 00:00:00 Z
|
21
|
+
dependencies:
|
22
|
+
- !ruby/object:Gem::Dependency
|
15
23
|
name: mixlib-config
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ! '>='
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: 1.1.2
|
22
|
-
type: :runtime
|
23
24
|
prerelease: false
|
24
|
-
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
25
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ">="
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
hash: 23
|
31
|
+
segments:
|
32
|
+
- 1
|
33
|
+
- 1
|
34
|
+
- 2
|
29
35
|
version: 1.1.2
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: mixlib-cli
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ! '>='
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: 1.1.0
|
38
36
|
type: :runtime
|
37
|
+
version_requirements: *id001
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: mixlib-cli
|
39
40
|
prerelease: false
|
40
|
-
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
41
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
hash: 19
|
47
|
+
segments:
|
48
|
+
- 1
|
49
|
+
- 1
|
50
|
+
- 0
|
45
51
|
version: 1.1.0
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: mixlib-log
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: 1.3.0
|
54
52
|
type: :runtime
|
53
|
+
version_requirements: *id002
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: mixlib-log
|
55
56
|
prerelease: false
|
56
|
-
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- -
|
60
|
-
- !ruby/object:Gem::Version
|
57
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
hash: 27
|
63
|
+
segments:
|
64
|
+
- 1
|
65
|
+
- 3
|
66
|
+
- 0
|
61
67
|
version: 1.3.0
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: mixlib-authentication
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ! '>='
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: 1.1.0
|
70
68
|
type: :runtime
|
69
|
+
version_requirements: *id003
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: mixlib-authentication
|
71
72
|
prerelease: false
|
72
|
-
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- -
|
76
|
-
- !ruby/object:Gem::Version
|
73
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ">="
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
hash: 19
|
79
|
+
segments:
|
80
|
+
- 1
|
81
|
+
- 1
|
82
|
+
- 0
|
77
83
|
version: 1.1.0
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: mixlib-shellout
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
|
-
requirements:
|
83
|
-
- - ~>
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: 1.0.0.rc
|
86
84
|
type: :runtime
|
85
|
+
version_requirements: *id004
|
86
|
+
- !ruby/object:Gem::Dependency
|
87
|
+
name: mixlib-shellout
|
87
88
|
prerelease: false
|
88
|
-
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- -
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
none: false
|
98
|
-
requirements:
|
99
|
-
- - ! '>='
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: 0.6.0
|
89
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
91
|
+
requirements:
|
92
|
+
- - ">="
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
hash: 3
|
95
|
+
segments:
|
96
|
+
- 0
|
97
|
+
version: "0"
|
102
98
|
type: :runtime
|
99
|
+
version_requirements: *id005
|
100
|
+
- !ruby/object:Gem::Dependency
|
101
|
+
name: ohai
|
103
102
|
prerelease: false
|
104
|
-
|
105
|
-
none: false
|
106
|
-
requirements:
|
107
|
-
- -
|
108
|
-
- !ruby/object:Gem::Version
|
103
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
104
|
+
none: false
|
105
|
+
requirements:
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
hash: 7
|
109
|
+
segments:
|
110
|
+
- 0
|
111
|
+
- 6
|
112
|
+
- 0
|
109
113
|
version: 0.6.0
|
110
|
-
- !ruby/object:Gem::Dependency
|
111
|
-
name: rest-client
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
|
-
requirements:
|
115
|
-
- - ! '>='
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: 1.0.4
|
118
|
-
- - <
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
version: 1.7.0
|
121
114
|
type: :runtime
|
115
|
+
version_requirements: *id006
|
116
|
+
- !ruby/object:Gem::Dependency
|
117
|
+
name: rest-client
|
122
118
|
prerelease: false
|
123
|
-
|
124
|
-
none: false
|
125
|
-
requirements:
|
126
|
-
- -
|
127
|
-
- !ruby/object:Gem::Version
|
119
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
120
|
+
none: false
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
hash: 31
|
125
|
+
segments:
|
126
|
+
- 1
|
127
|
+
- 0
|
128
|
+
- 4
|
128
129
|
version: 1.0.4
|
129
130
|
- - <
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
hash: 11
|
133
|
+
segments:
|
134
|
+
- 1
|
135
|
+
- 7
|
136
|
+
- 0
|
131
137
|
version: 1.7.0
|
132
|
-
- !ruby/object:Gem::Dependency
|
133
|
-
name: bunny
|
134
|
-
requirement: !ruby/object:Gem::Requirement
|
135
|
-
none: false
|
136
|
-
requirements:
|
137
|
-
- - ! '>='
|
138
|
-
- !ruby/object:Gem::Version
|
139
|
-
version: 0.6.0
|
140
138
|
type: :runtime
|
139
|
+
version_requirements: *id007
|
140
|
+
- !ruby/object:Gem::Dependency
|
141
|
+
name: bunny
|
141
142
|
prerelease: false
|
142
|
-
|
143
|
-
none: false
|
144
|
-
requirements:
|
145
|
-
- -
|
146
|
-
- !ruby/object:Gem::Version
|
143
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
144
|
+
none: false
|
145
|
+
requirements:
|
146
|
+
- - ">="
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
hash: 7
|
149
|
+
segments:
|
150
|
+
- 0
|
151
|
+
- 6
|
152
|
+
- 0
|
147
153
|
version: 0.6.0
|
148
|
-
- !ruby/object:Gem::Dependency
|
149
|
-
name: json
|
150
|
-
requirement: !ruby/object:Gem::Requirement
|
151
|
-
none: false
|
152
|
-
requirements:
|
153
|
-
- - ! '>='
|
154
|
-
- !ruby/object:Gem::Version
|
155
|
-
version: 1.4.4
|
156
|
-
- - <=
|
157
|
-
- !ruby/object:Gem::Version
|
158
|
-
version: 1.6.1
|
159
154
|
type: :runtime
|
155
|
+
version_requirements: *id008
|
156
|
+
- !ruby/object:Gem::Dependency
|
157
|
+
name: json
|
160
158
|
prerelease: false
|
161
|
-
|
162
|
-
none: false
|
163
|
-
requirements:
|
164
|
-
- -
|
165
|
-
- !ruby/object:Gem::Version
|
159
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
160
|
+
none: false
|
161
|
+
requirements:
|
162
|
+
- - ">="
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
hash: 15
|
165
|
+
segments:
|
166
|
+
- 1
|
167
|
+
- 4
|
168
|
+
- 4
|
166
169
|
version: 1.4.4
|
167
170
|
- - <=
|
168
|
-
- !ruby/object:Gem::Version
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
hash: 13
|
173
|
+
segments:
|
174
|
+
- 1
|
175
|
+
- 6
|
176
|
+
- 1
|
169
177
|
version: 1.6.1
|
170
|
-
- !ruby/object:Gem::Dependency
|
171
|
-
name: yajl-ruby
|
172
|
-
requirement: !ruby/object:Gem::Requirement
|
173
|
-
none: false
|
174
|
-
requirements:
|
175
|
-
- - ! '>='
|
176
|
-
- !ruby/object:Gem::Version
|
177
|
-
version: 1.1.0
|
178
178
|
type: :runtime
|
179
|
+
version_requirements: *id009
|
180
|
+
- !ruby/object:Gem::Dependency
|
181
|
+
name: yajl-ruby
|
179
182
|
prerelease: false
|
180
|
-
|
181
|
-
none: false
|
182
|
-
requirements:
|
183
|
-
- -
|
184
|
-
- !ruby/object:Gem::Version
|
183
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
184
|
+
none: false
|
185
|
+
requirements:
|
186
|
+
- - ">="
|
187
|
+
- !ruby/object:Gem::Version
|
188
|
+
hash: 19
|
189
|
+
segments:
|
190
|
+
- 1
|
191
|
+
- 1
|
192
|
+
- 0
|
185
193
|
version: 1.1.0
|
186
|
-
- !ruby/object:Gem::Dependency
|
187
|
-
name: treetop
|
188
|
-
requirement: !ruby/object:Gem::Requirement
|
189
|
-
none: false
|
190
|
-
requirements:
|
191
|
-
- - ~>
|
192
|
-
- !ruby/object:Gem::Version
|
193
|
-
version: 1.4.9
|
194
194
|
type: :runtime
|
195
|
+
version_requirements: *id010
|
196
|
+
- !ruby/object:Gem::Dependency
|
197
|
+
name: treetop
|
195
198
|
prerelease: false
|
196
|
-
|
199
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
197
200
|
none: false
|
198
|
-
requirements:
|
201
|
+
requirements:
|
199
202
|
- - ~>
|
200
|
-
- !ruby/object:Gem::Version
|
203
|
+
- !ruby/object:Gem::Version
|
204
|
+
hash: 21
|
205
|
+
segments:
|
206
|
+
- 1
|
207
|
+
- 4
|
208
|
+
- 9
|
201
209
|
version: 1.4.9
|
202
|
-
- !ruby/object:Gem::Dependency
|
203
|
-
name: net-ssh
|
204
|
-
requirement: !ruby/object:Gem::Requirement
|
205
|
-
none: false
|
206
|
-
requirements:
|
207
|
-
- - ~>
|
208
|
-
- !ruby/object:Gem::Version
|
209
|
-
version: 2.2.2
|
210
210
|
type: :runtime
|
211
|
+
version_requirements: *id011
|
212
|
+
- !ruby/object:Gem::Dependency
|
213
|
+
name: net-ssh
|
211
214
|
prerelease: false
|
212
|
-
|
215
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
213
216
|
none: false
|
214
|
-
requirements:
|
217
|
+
requirements:
|
215
218
|
- - ~>
|
216
|
-
- !ruby/object:Gem::Version
|
219
|
+
- !ruby/object:Gem::Version
|
220
|
+
hash: 3
|
221
|
+
segments:
|
222
|
+
- 2
|
223
|
+
- 2
|
224
|
+
- 2
|
217
225
|
version: 2.2.2
|
218
|
-
- !ruby/object:Gem::Dependency
|
219
|
-
name: net-ssh-multi
|
220
|
-
requirement: !ruby/object:Gem::Requirement
|
221
|
-
none: false
|
222
|
-
requirements:
|
223
|
-
- - ~>
|
224
|
-
- !ruby/object:Gem::Version
|
225
|
-
version: 1.1.0
|
226
226
|
type: :runtime
|
227
|
+
version_requirements: *id012
|
228
|
+
- !ruby/object:Gem::Dependency
|
229
|
+
name: net-ssh-multi
|
227
230
|
prerelease: false
|
228
|
-
|
231
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
229
232
|
none: false
|
230
|
-
requirements:
|
233
|
+
requirements:
|
231
234
|
- - ~>
|
232
|
-
- !ruby/object:Gem::Version
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
hash: 19
|
237
|
+
segments:
|
238
|
+
- 1
|
239
|
+
- 1
|
240
|
+
- 0
|
233
241
|
version: 1.1.0
|
234
|
-
- !ruby/object:Gem::Dependency
|
235
|
-
name: highline
|
236
|
-
requirement: !ruby/object:Gem::Requirement
|
237
|
-
none: false
|
238
|
-
requirements:
|
239
|
-
- - ! '>='
|
240
|
-
- !ruby/object:Gem::Version
|
241
|
-
version: 1.6.9
|
242
242
|
type: :runtime
|
243
|
+
version_requirements: *id013
|
244
|
+
- !ruby/object:Gem::Dependency
|
245
|
+
name: highline
|
243
246
|
prerelease: false
|
244
|
-
|
245
|
-
none: false
|
246
|
-
requirements:
|
247
|
-
- -
|
248
|
-
- !ruby/object:Gem::Version
|
247
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
248
|
+
none: false
|
249
|
+
requirements:
|
250
|
+
- - ">="
|
251
|
+
- !ruby/object:Gem::Version
|
252
|
+
hash: 29
|
253
|
+
segments:
|
254
|
+
- 1
|
255
|
+
- 6
|
256
|
+
- 9
|
249
257
|
version: 1.6.9
|
250
|
-
- !ruby/object:Gem::Dependency
|
251
|
-
name: erubis
|
252
|
-
requirement: !ruby/object:Gem::Requirement
|
253
|
-
none: false
|
254
|
-
requirements:
|
255
|
-
- - ! '>='
|
256
|
-
- !ruby/object:Gem::Version
|
257
|
-
version: '0'
|
258
258
|
type: :runtime
|
259
|
+
version_requirements: *id014
|
260
|
+
- !ruby/object:Gem::Dependency
|
261
|
+
name: erubis
|
259
262
|
prerelease: false
|
260
|
-
|
261
|
-
none: false
|
262
|
-
requirements:
|
263
|
-
- -
|
264
|
-
- !ruby/object:Gem::Version
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
none: false
|
270
|
-
requirements:
|
271
|
-
- - ! '>='
|
272
|
-
- !ruby/object:Gem::Version
|
273
|
-
version: '0'
|
263
|
+
requirement: &id015 !ruby/object:Gem::Requirement
|
264
|
+
none: false
|
265
|
+
requirements:
|
266
|
+
- - ">="
|
267
|
+
- !ruby/object:Gem::Version
|
268
|
+
hash: 3
|
269
|
+
segments:
|
270
|
+
- 0
|
271
|
+
version: "0"
|
274
272
|
type: :runtime
|
273
|
+
version_requirements: *id015
|
274
|
+
- !ruby/object:Gem::Dependency
|
275
|
+
name: moneta
|
275
276
|
prerelease: false
|
276
|
-
|
277
|
-
none: false
|
278
|
-
requirements:
|
279
|
-
- -
|
280
|
-
- !ruby/object:Gem::Version
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
none: false
|
286
|
-
requirements:
|
287
|
-
- - ! '>='
|
288
|
-
- !ruby/object:Gem::Version
|
289
|
-
version: '0'
|
277
|
+
requirement: &id016 !ruby/object:Gem::Requirement
|
278
|
+
none: false
|
279
|
+
requirements:
|
280
|
+
- - ">="
|
281
|
+
- !ruby/object:Gem::Version
|
282
|
+
hash: 3
|
283
|
+
segments:
|
284
|
+
- 0
|
285
|
+
version: "0"
|
290
286
|
type: :runtime
|
287
|
+
version_requirements: *id016
|
288
|
+
- !ruby/object:Gem::Dependency
|
289
|
+
name: uuidtools
|
291
290
|
prerelease: false
|
292
|
-
|
293
|
-
none: false
|
294
|
-
requirements:
|
295
|
-
- -
|
296
|
-
- !ruby/object:Gem::Version
|
297
|
-
|
298
|
-
|
291
|
+
requirement: &id017 !ruby/object:Gem::Requirement
|
292
|
+
none: false
|
293
|
+
requirements:
|
294
|
+
- - ">="
|
295
|
+
- !ruby/object:Gem::Version
|
296
|
+
hash: 3
|
297
|
+
segments:
|
298
|
+
- 0
|
299
|
+
version: "0"
|
300
|
+
type: :runtime
|
301
|
+
version_requirements: *id017
|
302
|
+
- !ruby/object:Gem::Dependency
|
299
303
|
name: rdoc
|
300
|
-
requirement: !ruby/object:Gem::Requirement
|
301
|
-
none: false
|
302
|
-
requirements:
|
303
|
-
- - ! '>='
|
304
|
-
- !ruby/object:Gem::Version
|
305
|
-
version: '0'
|
306
|
-
type: :development
|
307
304
|
prerelease: false
|
308
|
-
|
309
|
-
none: false
|
310
|
-
requirements:
|
311
|
-
- -
|
312
|
-
- !ruby/object:Gem::Version
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
none: false
|
318
|
-
requirements:
|
319
|
-
- - ! '>='
|
320
|
-
- !ruby/object:Gem::Version
|
321
|
-
version: '0'
|
305
|
+
requirement: &id018 !ruby/object:Gem::Requirement
|
306
|
+
none: false
|
307
|
+
requirements:
|
308
|
+
- - ">="
|
309
|
+
- !ruby/object:Gem::Version
|
310
|
+
hash: 3
|
311
|
+
segments:
|
312
|
+
- 0
|
313
|
+
version: "0"
|
322
314
|
type: :development
|
315
|
+
version_requirements: *id018
|
316
|
+
- !ruby/object:Gem::Dependency
|
317
|
+
name: sdoc
|
323
318
|
prerelease: false
|
324
|
-
|
325
|
-
none: false
|
326
|
-
requirements:
|
327
|
-
- -
|
328
|
-
- !ruby/object:Gem::Version
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
none: false
|
334
|
-
requirements:
|
335
|
-
- - ! '>='
|
336
|
-
- !ruby/object:Gem::Version
|
337
|
-
version: '0'
|
319
|
+
requirement: &id019 !ruby/object:Gem::Requirement
|
320
|
+
none: false
|
321
|
+
requirements:
|
322
|
+
- - ">="
|
323
|
+
- !ruby/object:Gem::Version
|
324
|
+
hash: 3
|
325
|
+
segments:
|
326
|
+
- 0
|
327
|
+
version: "0"
|
338
328
|
type: :development
|
329
|
+
version_requirements: *id019
|
330
|
+
- !ruby/object:Gem::Dependency
|
331
|
+
name: ronn
|
339
332
|
prerelease: false
|
340
|
-
|
341
|
-
none: false
|
342
|
-
requirements:
|
343
|
-
- -
|
344
|
-
- !ruby/object:Gem::Version
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
none: false
|
350
|
-
requirements:
|
351
|
-
- - ! '>='
|
352
|
-
- !ruby/object:Gem::Version
|
353
|
-
version: '0'
|
333
|
+
requirement: &id020 !ruby/object:Gem::Requirement
|
334
|
+
none: false
|
335
|
+
requirements:
|
336
|
+
- - ">="
|
337
|
+
- !ruby/object:Gem::Version
|
338
|
+
hash: 3
|
339
|
+
segments:
|
340
|
+
- 0
|
341
|
+
version: "0"
|
354
342
|
type: :development
|
343
|
+
version_requirements: *id020
|
344
|
+
- !ruby/object:Gem::Dependency
|
345
|
+
name: rake
|
355
346
|
prerelease: false
|
356
|
-
|
357
|
-
none: false
|
358
|
-
requirements:
|
359
|
-
- -
|
360
|
-
- !ruby/object:Gem::Version
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
none: false
|
366
|
-
requirements:
|
367
|
-
- - ! '>='
|
368
|
-
- !ruby/object:Gem::Version
|
369
|
-
version: '0'
|
347
|
+
requirement: &id021 !ruby/object:Gem::Requirement
|
348
|
+
none: false
|
349
|
+
requirements:
|
350
|
+
- - ">="
|
351
|
+
- !ruby/object:Gem::Version
|
352
|
+
hash: 3
|
353
|
+
segments:
|
354
|
+
- 0
|
355
|
+
version: "0"
|
370
356
|
type: :development
|
357
|
+
version_requirements: *id021
|
358
|
+
- !ruby/object:Gem::Dependency
|
359
|
+
name: rack
|
371
360
|
prerelease: false
|
372
|
-
|
373
|
-
none: false
|
374
|
-
requirements:
|
375
|
-
- -
|
376
|
-
- !ruby/object:Gem::Version
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
none: false
|
382
|
-
requirements:
|
383
|
-
- - ! '>='
|
384
|
-
- !ruby/object:Gem::Version
|
385
|
-
version: '0'
|
361
|
+
requirement: &id022 !ruby/object:Gem::Requirement
|
362
|
+
none: false
|
363
|
+
requirements:
|
364
|
+
- - ">="
|
365
|
+
- !ruby/object:Gem::Version
|
366
|
+
hash: 3
|
367
|
+
segments:
|
368
|
+
- 0
|
369
|
+
version: "0"
|
386
370
|
type: :development
|
371
|
+
version_requirements: *id022
|
372
|
+
- !ruby/object:Gem::Dependency
|
373
|
+
name: rspec_junit_formatter
|
387
374
|
prerelease: false
|
388
|
-
|
389
|
-
none: false
|
390
|
-
requirements:
|
391
|
-
- -
|
392
|
-
- !ruby/object:Gem::Version
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
none: false
|
398
|
-
requirements:
|
399
|
-
- - ~>
|
400
|
-
- !ruby/object:Gem::Version
|
401
|
-
version: 2.8.0
|
375
|
+
requirement: &id023 !ruby/object:Gem::Requirement
|
376
|
+
none: false
|
377
|
+
requirements:
|
378
|
+
- - ">="
|
379
|
+
- !ruby/object:Gem::Version
|
380
|
+
hash: 3
|
381
|
+
segments:
|
382
|
+
- 0
|
383
|
+
version: "0"
|
402
384
|
type: :development
|
385
|
+
version_requirements: *id023
|
386
|
+
- !ruby/object:Gem::Dependency
|
387
|
+
name: rspec-core
|
403
388
|
prerelease: false
|
404
|
-
|
405
|
-
none: false
|
406
|
-
requirements:
|
407
|
-
- - ~>
|
408
|
-
- !ruby/object:Gem::Version
|
409
|
-
version: 2.8.0
|
410
|
-
- !ruby/object:Gem::Dependency
|
411
|
-
name: rspec-expectations
|
412
|
-
requirement: !ruby/object:Gem::Requirement
|
389
|
+
requirement: &id024 !ruby/object:Gem::Requirement
|
413
390
|
none: false
|
414
|
-
requirements:
|
391
|
+
requirements:
|
415
392
|
- - ~>
|
416
|
-
- !ruby/object:Gem::Version
|
393
|
+
- !ruby/object:Gem::Version
|
394
|
+
hash: 47
|
395
|
+
segments:
|
396
|
+
- 2
|
397
|
+
- 8
|
398
|
+
- 0
|
417
399
|
version: 2.8.0
|
418
400
|
type: :development
|
401
|
+
version_requirements: *id024
|
402
|
+
- !ruby/object:Gem::Dependency
|
403
|
+
name: rspec-expectations
|
419
404
|
prerelease: false
|
420
|
-
|
405
|
+
requirement: &id025 !ruby/object:Gem::Requirement
|
421
406
|
none: false
|
422
|
-
requirements:
|
407
|
+
requirements:
|
423
408
|
- - ~>
|
424
|
-
- !ruby/object:Gem::Version
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
requirements:
|
431
|
-
- - ~>
|
432
|
-
- !ruby/object:Gem::Version
|
409
|
+
- !ruby/object:Gem::Version
|
410
|
+
hash: 47
|
411
|
+
segments:
|
412
|
+
- 2
|
413
|
+
- 8
|
414
|
+
- 0
|
433
415
|
version: 2.8.0
|
434
416
|
type: :development
|
417
|
+
version_requirements: *id025
|
418
|
+
- !ruby/object:Gem::Dependency
|
419
|
+
name: rspec-mocks
|
435
420
|
prerelease: false
|
436
|
-
|
421
|
+
requirement: &id026 !ruby/object:Gem::Requirement
|
437
422
|
none: false
|
438
|
-
requirements:
|
423
|
+
requirements:
|
439
424
|
- - ~>
|
440
|
-
- !ruby/object:Gem::Version
|
425
|
+
- !ruby/object:Gem::Version
|
426
|
+
hash: 47
|
427
|
+
segments:
|
428
|
+
- 2
|
429
|
+
- 8
|
430
|
+
- 0
|
441
431
|
version: 2.8.0
|
442
|
-
|
443
|
-
|
432
|
+
type: :development
|
433
|
+
version_requirements: *id026
|
434
|
+
description: A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.
|
444
435
|
email: adam@opscode.com
|
445
|
-
executables:
|
436
|
+
executables:
|
446
437
|
- chef-client
|
447
438
|
- chef-solo
|
448
439
|
- knife
|
449
440
|
- shef
|
450
441
|
extensions: []
|
451
|
-
|
442
|
+
|
443
|
+
extra_rdoc_files:
|
452
444
|
- README.rdoc
|
453
445
|
- LICENSE
|
454
|
-
files:
|
446
|
+
files:
|
455
447
|
- LICENSE
|
456
448
|
- README.rdoc
|
457
449
|
- distro/common/html/knife-search.1.html
|
@@ -907,6 +899,7 @@ files:
|
|
907
899
|
- lib/chef/resource/group.rb
|
908
900
|
- lib/chef/certificate.rb
|
909
901
|
- lib/chef/search/query.rb
|
902
|
+
- lib/chef/reserved_names.rb
|
910
903
|
- lib/chef/mixin/convert_to_class_name.rb
|
911
904
|
- lib/chef/mixin/deep_merge.rb
|
912
905
|
- lib/chef/mixin/shell_out.rb
|
@@ -940,27 +933,38 @@ files:
|
|
940
933
|
- bin/shef
|
941
934
|
homepage: http://wiki.opscode.com/display/chef
|
942
935
|
licenses: []
|
936
|
+
|
943
937
|
post_install_message:
|
944
938
|
rdoc_options: []
|
945
|
-
|
939
|
+
|
940
|
+
require_paths:
|
946
941
|
- lib
|
947
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
942
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
948
943
|
none: false
|
949
|
-
requirements:
|
950
|
-
- -
|
951
|
-
- !ruby/object:Gem::Version
|
952
|
-
|
953
|
-
|
944
|
+
requirements:
|
945
|
+
- - ">="
|
946
|
+
- !ruby/object:Gem::Version
|
947
|
+
hash: 3
|
948
|
+
segments:
|
949
|
+
- 0
|
950
|
+
version: "0"
|
951
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
954
952
|
none: false
|
955
|
-
requirements:
|
956
|
-
- -
|
957
|
-
- !ruby/object:Gem::Version
|
958
|
-
|
953
|
+
requirements:
|
954
|
+
- - ">"
|
955
|
+
- !ruby/object:Gem::Version
|
956
|
+
hash: 25
|
957
|
+
segments:
|
958
|
+
- 1
|
959
|
+
- 3
|
960
|
+
- 1
|
961
|
+
version: 1.3.1
|
959
962
|
requirements: []
|
963
|
+
|
960
964
|
rubyforge_project:
|
961
|
-
rubygems_version: 1.8.
|
965
|
+
rubygems_version: 1.8.10
|
962
966
|
signing_key:
|
963
967
|
specification_version: 3
|
964
|
-
summary: A systems integration framework, built to bring the benefits of configuration
|
965
|
-
management to your entire infrastructure.
|
968
|
+
summary: A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.
|
966
969
|
test_files: []
|
970
|
+
|