puppet 6.21.1 → 6.22.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/Gemfile.lock +24 -18
- data/ext/project_data.yaml +2 -2
- data/lib/puppet/application/ssl.rb +11 -0
- data/lib/puppet/defaults.rb +22 -2
- data/lib/puppet/environments.rb +16 -1
- data/lib/puppet/face/facts.rb +128 -30
- data/lib/puppet/file_system/memory_file.rb +8 -1
- data/lib/puppet/file_system/windows.rb +2 -0
- data/lib/puppet/functions/partition.rb +8 -0
- data/lib/puppet/indirector/facts/facter.rb +24 -3
- data/lib/puppet/network/formats.rb +67 -0
- data/lib/puppet/network/http/factory.rb +4 -0
- data/lib/puppet/provider/package/dnfmodule.rb +1 -1
- data/lib/puppet/provider/service/systemd.rb +1 -1
- data/lib/puppet/provider/user/useradd.rb +1 -1
- data/lib/puppet/settings/environment_conf.rb +1 -0
- data/lib/puppet/util/fact_dif.rb +36 -17
- data/lib/puppet/util/monkey_patches.rb +7 -0
- data/lib/puppet/util/windows/adsi.rb +46 -0
- data/lib/puppet/util/windows/api_types.rb +1 -1
- data/lib/puppet/util/windows/principal.rb +9 -2
- data/lib/puppet/util/windows/sid.rb +4 -2
- data/lib/puppet/version.rb +1 -1
- data/locales/puppet.pot +139 -87
- data/man/man5/puppet.conf.5 +11 -3
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +60 -2
- data/man/man8/puppet-filebucket.8 +1 -1
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-key.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-man.8 +1 -1
- data/man/man8/puppet-module.8 +1 -1
- data/man/man8/puppet-node.8 +1 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +5 -1
- data/man/man8/puppet-status.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +9 -0
- data/spec/integration/application/plugin_spec.rb +1 -1
- data/spec/integration/http/client_spec.rb +12 -0
- data/spec/integration/indirector/direct_file_server_spec.rb +1 -3
- data/spec/integration/util/windows/adsi_spec.rb +18 -0
- data/spec/integration/util/windows/principal_spec.rb +21 -0
- data/spec/integration/util/windows/registry_spec.rb +6 -0
- data/spec/spec_helper.rb +11 -1
- data/spec/unit/application/facts_spec.rb +482 -3
- data/spec/unit/application/ssl_spec.rb +23 -0
- data/spec/unit/defaults_spec.rb +16 -0
- data/spec/unit/environments_spec.rb +164 -88
- data/spec/unit/face/facts_spec.rb +4 -0
- data/spec/unit/file_system_spec.rb +9 -0
- data/spec/unit/indirector/facts/facter_spec.rb +95 -0
- data/spec/unit/network/formats_spec.rb +41 -0
- data/spec/unit/network/http/factory_spec.rb +19 -0
- data/spec/unit/provider/package/dnfmodule_spec.rb +10 -1
- data/spec/unit/provider/service/systemd_spec.rb +11 -0
- data/spec/unit/provider/user/useradd_spec.rb +18 -3
- data/spec/unit/resource/catalog_spec.rb +1 -1
- data/spec/unit/util/windows/sid_spec.rb +6 -0
- metadata +4 -6
- data/spec/lib/matchers/include.rb +0 -27
- data/spec/lib/matchers/include_spec.rb +0 -32
@@ -128,6 +128,8 @@ class Puppet::FileSystem::Windows < Puppet::FileSystem::Posix
|
|
128
128
|
end
|
129
129
|
|
130
130
|
current_sid = Puppet::Util::Windows::SID.name_to_sid(Puppet::Util::Windows::ADSI::User.current_user_name)
|
131
|
+
current_sid = Puppet::Util::Windows::SID.name_to_sid(Puppet::Util::Windows::ADSI::User.current_sam_compatible_user_name) unless current_sid
|
132
|
+
|
131
133
|
dacl = case mode
|
132
134
|
when 0644
|
133
135
|
dacl = secure_dacl(current_sid)
|
@@ -5,13 +5,21 @@
|
|
5
5
|
Puppet::Functions.create_function(:partition) do
|
6
6
|
# @param collection A collection of things to partition.
|
7
7
|
# @example Partition array of empty strings, results in e.g. [[''], [b, c]]
|
8
|
+
# ```puppet
|
8
9
|
# ['', b, c].partition |$s| { $s.empty }
|
10
|
+
# ```
|
9
11
|
# @example Partition array of strings using index, results in e.g. [['', 'ab'], ['b']]
|
12
|
+
# ```puppet
|
10
13
|
# ['', b, ab].partition |$i, $s| { $i == 2 or $s.empty }
|
14
|
+
# ```
|
11
15
|
# @example Partition hash of strings by key-value pair, results in e.g. [[['b', []]], [['a', [1, 2]]]]
|
16
|
+
# ```puppet
|
12
17
|
# { a => [1, 2], b => [] }.partition |$kv| { $kv[1].empty }
|
18
|
+
# ```
|
13
19
|
# @example Partition hash of strings by key and value, results in e.g. [[['b', []]], [['a', [1, 2]]]]
|
20
|
+
# ```puppet
|
14
21
|
# { a => [1, 2], b => [] }.partition |$k, $v| { $v.empty }
|
22
|
+
# ```
|
15
23
|
dispatch :partition_1 do
|
16
24
|
required_param 'Collection', :collection
|
17
25
|
block_param 'Callable[1,1]', :block
|
@@ -32,8 +32,14 @@ class Puppet::Node::Facts::Facter < Puppet::Indirector::Code
|
|
32
32
|
# Initialize core Puppet facts, such as puppetversion
|
33
33
|
Puppet.initialize_facts
|
34
34
|
|
35
|
-
result =
|
36
|
-
|
35
|
+
result = if request.options[:resolve_options]
|
36
|
+
raise(Puppet::Error, _("puppet facts show requires version 4.0.40 or greater of Facter.")) unless Facter.respond_to?(:resolve)
|
37
|
+
find_with_options(request)
|
38
|
+
else
|
39
|
+
Puppet::Node::Facts.new(request.key, Facter.to_hash)
|
40
|
+
end
|
41
|
+
|
42
|
+
result.add_local_facts unless request.options[:resolve_options]
|
37
43
|
result.sanitize
|
38
44
|
result
|
39
45
|
end
|
@@ -61,7 +67,7 @@ class Puppet::Node::Facts::Facter < Puppet::Indirector::Code
|
|
61
67
|
|
62
68
|
true
|
63
69
|
end
|
64
|
-
|
70
|
+
dirs << request.options[:custom_dir] if request.options[:custom_dir]
|
65
71
|
Facter.search(*dirs)
|
66
72
|
end
|
67
73
|
|
@@ -83,6 +89,21 @@ class Puppet::Node::Facts::Facter < Puppet::Indirector::Code
|
|
83
89
|
dirs << dir
|
84
90
|
end
|
85
91
|
|
92
|
+
dirs << request.options[:external_dir] if request.options[:external_dir]
|
86
93
|
Facter.search_external dirs
|
87
94
|
end
|
95
|
+
|
96
|
+
private
|
97
|
+
|
98
|
+
def find_with_options(request)
|
99
|
+
options = request.options
|
100
|
+
options_for_facter = String.new
|
101
|
+
options_for_facter += options[:user_query].join(' ')
|
102
|
+
options_for_facter += " --config #{options[:config_file]}" if options[:config_file]
|
103
|
+
options_for_facter += " --show-legacy" if options[:show_legacy]
|
104
|
+
options_for_facter += " --no-block" if options[:no_block] == false
|
105
|
+
options_for_facter += " --no-cache" if options[:no_cache] == false
|
106
|
+
|
107
|
+
Puppet::Node::Facts.new(request.key, Facter.resolve(options_for_facter))
|
108
|
+
end
|
88
109
|
end
|
@@ -183,6 +183,73 @@ Puppet::Network::FormatHandler.create(:console,
|
|
183
183
|
end
|
184
184
|
end
|
185
185
|
|
186
|
+
Puppet::Network::FormatHandler.create(:flat,
|
187
|
+
:mime => 'text/x-flat-text',
|
188
|
+
:weight => 0) do
|
189
|
+
|
190
|
+
def flatten_hash(hash)
|
191
|
+
hash.each_with_object({}) do |(k, v), h|
|
192
|
+
if v.is_a? Hash
|
193
|
+
flatten_hash(v).map do |h_k, h_v|
|
194
|
+
h["#{k}.#{h_k}"] = h_v
|
195
|
+
end
|
196
|
+
elsif v.is_a? Array
|
197
|
+
v.each_with_index do |el, i|
|
198
|
+
if el.is_a? Hash
|
199
|
+
flatten_hash(el).map do |el_k, el_v|
|
200
|
+
h["#{k}.#{i}.#{el_k}"] = el_v
|
201
|
+
end
|
202
|
+
else
|
203
|
+
h["#{k}.#{i}"] = el
|
204
|
+
end
|
205
|
+
end
|
206
|
+
else
|
207
|
+
h[k] = v
|
208
|
+
end
|
209
|
+
end
|
210
|
+
end
|
211
|
+
|
212
|
+
def flatten_array(array)
|
213
|
+
a={}
|
214
|
+
array.each_with_index do |el, i|
|
215
|
+
if el.is_a? Hash
|
216
|
+
flatten_hash(el).map do |el_k, el_v|
|
217
|
+
a["#{i}.#{el_k}"] = el_v
|
218
|
+
end
|
219
|
+
else
|
220
|
+
a["#{i}"] = el
|
221
|
+
end
|
222
|
+
end
|
223
|
+
a
|
224
|
+
end
|
225
|
+
|
226
|
+
def construct_output(data)
|
227
|
+
output = ''
|
228
|
+
data.each do |key, value|
|
229
|
+
output << "#{key}=#{value}"
|
230
|
+
output << "\n"
|
231
|
+
end
|
232
|
+
output
|
233
|
+
end
|
234
|
+
|
235
|
+
def render(datum)
|
236
|
+
return datum if datum.is_a?(String) || datum.is_a?(Numeric)
|
237
|
+
# Simple hash
|
238
|
+
if datum.is_a?(Hash)
|
239
|
+
data = flatten_hash(datum)
|
240
|
+
return construct_output(data)
|
241
|
+
elsif datum.is_a?(Array)
|
242
|
+
data = flatten_array(datum)
|
243
|
+
return construct_output(data)
|
244
|
+
end
|
245
|
+
Puppet::Util::Json.dump(datum, :pretty => true, :quirks_mode => true)
|
246
|
+
end
|
247
|
+
def render_multiple(data)
|
248
|
+
data.collect(&:render).join("\n")
|
249
|
+
end
|
250
|
+
end
|
251
|
+
|
252
|
+
|
186
253
|
Puppet::Network::FormatHandler.create(:rich_data_json, mime: 'application/vnd.puppet.rich+json', charset: Encoding::UTF_8, weight: 30) do
|
187
254
|
def intern(klass, text)
|
188
255
|
Puppet.override({:rich_data => true}) do
|
@@ -27,6 +27,10 @@ class Puppet::Network::HTTP::Factory
|
|
27
27
|
|
28
28
|
http = Puppet::Util::HttpProxy.proxy(URI(site.addr))
|
29
29
|
http.use_ssl = site.use_ssl?
|
30
|
+
if site.use_ssl?
|
31
|
+
http.min_version = OpenSSL::SSL::TLS1_VERSION if http.respond_to?(:min_version)
|
32
|
+
http.ciphers = Puppet[:ciphers]
|
33
|
+
end
|
30
34
|
http.read_timeout = Puppet[:http_read_timeout]
|
31
35
|
http.open_timeout = Puppet[:http_connect_timeout]
|
32
36
|
http.keep_alive_timeout = KEEP_ALIVE_TIMEOUT if http.respond_to?(:keep_alive_timeout=)
|
@@ -93,7 +93,7 @@ Puppet::Type.type(:package).provide :dnfmodule, :parent => :dnf do
|
|
93
93
|
# module has no default profile and no profile was requested, so just enable the stream
|
94
94
|
# DNF versions prior to 4.2.8 do not need this workaround
|
95
95
|
# see https://bugzilla.redhat.com/show_bug.cgi?id=1669527
|
96
|
-
if @resource[:flavor] == nil && e.message =~ /^missing groups or modules: #{Regexp.quote(@resource[:name])}$/
|
96
|
+
if @resource[:flavor] == nil && e.message =~ /^(?:missing|broken) groups or modules: #{Regexp.quote(@resource[:name])}$/
|
97
97
|
enable(args)
|
98
98
|
else
|
99
99
|
raise
|
@@ -30,7 +30,7 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
|
|
30
30
|
def self.instances
|
31
31
|
i = []
|
32
32
|
output = systemctl('list-unit-files', '--type', 'service', '--full', '--all', '--no-pager')
|
33
|
-
output.scan(/^(\S+)\s+(disabled|enabled|masked|indirect|bad|static)\s*$/i).each do |m|
|
33
|
+
output.scan(/^(\S+)\s+(disabled|enabled|masked|indirect|bad|static)\s*([^-]\S+)?\s*$/i).each do |m|
|
34
34
|
Puppet.debug("#{m[0]} marked as bad by `systemctl`. It is recommended to be further checked.") if m[1] == "bad"
|
35
35
|
i << new(:name => m[0])
|
36
36
|
end
|
@@ -135,7 +135,7 @@ Puppet::Type.type(:user).provide :useradd, :parent => Puppet::Provider::NameServ
|
|
135
135
|
|
136
136
|
Puppet::FileSystem.each_line(group_file) do |line|
|
137
137
|
data = line.chomp.split(':')
|
138
|
-
if data.last.split(',').include?(user)
|
138
|
+
if !data.empty? && data.last.split(',').include?(user)
|
139
139
|
@groups_of[user] << data.first
|
140
140
|
end
|
141
141
|
end
|
@@ -29,6 +29,7 @@ class Puppet::Settings::EnvironmentConf
|
|
29
29
|
section = config.sections[:main]
|
30
30
|
rescue Errno::ENOENT
|
31
31
|
# environment.conf is an optional file
|
32
|
+
Puppet.debug { "Path to #{path_to_env} does not exist, using default environment.conf" }
|
32
33
|
end
|
33
34
|
|
34
35
|
new(path_to_env, section, global_module_path)
|
data/lib/puppet/util/fact_dif.rb
CHANGED
@@ -1,15 +1,24 @@
|
|
1
1
|
require 'json'
|
2
2
|
|
3
3
|
class FactDif
|
4
|
-
def initialize(old_output, new_output, exclude_list
|
5
|
-
@c_facter = JSON.parse(old_output)
|
6
|
-
@next_facter = JSON.parse(new_output)
|
4
|
+
def initialize(old_output, new_output, exclude_list, save_structured)
|
5
|
+
@c_facter = JSON.parse(old_output)
|
6
|
+
@next_facter = JSON.parse(new_output)
|
7
7
|
@exclude_list = exclude_list
|
8
|
+
@save_structured = save_structured
|
9
|
+
@flat_diff = []
|
8
10
|
@diff = {}
|
9
11
|
end
|
10
12
|
|
11
13
|
def difs
|
12
|
-
search_hash(@c_facter
|
14
|
+
search_hash(((@c_facter.to_a - @next_facter.to_a) | (@next_facter.to_a - @c_facter.to_a)).to_h)
|
15
|
+
|
16
|
+
@flat_diff.sort_by { |a| a[0] }.each do |pair|
|
17
|
+
fact_path = pair[0]
|
18
|
+
value = pair[1]
|
19
|
+
compare(fact_path, value, @c_facter)
|
20
|
+
compare(fact_path, value, @next_facter)
|
21
|
+
end
|
13
22
|
|
14
23
|
@diff
|
15
24
|
end
|
@@ -28,29 +37,39 @@ class FactDif
|
|
28
37
|
path.pop
|
29
38
|
end
|
30
39
|
else
|
31
|
-
|
40
|
+
@flat_diff.push([path.dup, sh])
|
32
41
|
end
|
33
42
|
end
|
34
43
|
|
35
|
-
def compare(fact_path,
|
36
|
-
|
37
|
-
if different?(
|
38
|
-
|
44
|
+
def compare(fact_path, given_value, compared_hash)
|
45
|
+
compared_value = compared_hash.dig(*fact_path)
|
46
|
+
if different?(compared_value, given_value) && !excluded?(fact_path.join('.'))
|
47
|
+
fact_path = fact_path.map{|f| f.to_s.include?('.') ? "\"#{f}\"" : f}.join('.') unless @save_structured
|
48
|
+
if compared_hash == @c_facter
|
49
|
+
bury(*fact_path, { :new_value => given_value, :old_value => compared_value }, @diff)
|
50
|
+
else
|
51
|
+
bury(*fact_path, { :new_value => compared_value, :old_value => given_value }, @diff)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def bury(*paths, value, hash)
|
57
|
+
if paths.count > 1
|
58
|
+
path = paths.shift
|
59
|
+
hash[path] = Hash.new unless hash.key?(path)
|
60
|
+
bury(*paths, value, hash[path])
|
61
|
+
else
|
62
|
+
hash[*paths] = value
|
39
63
|
end
|
40
64
|
end
|
41
65
|
|
42
66
|
def different?(new, old)
|
43
|
-
if old.is_a?(String) && new.is_a?(String)
|
67
|
+
if old.is_a?(String) && new.is_a?(String) && (old.include?(',') || new.include?(','))
|
44
68
|
old_values = old.split(',')
|
45
69
|
new_values = new.split(',')
|
46
70
|
|
47
|
-
diff = old_values - new_values
|
48
|
-
|
49
|
-
diff.concat(new_values - old_values)
|
50
|
-
|
51
|
-
return true if diff.any?
|
52
|
-
|
53
|
-
return false
|
71
|
+
diff = (old_values - new_values) | (new_values - old_values)
|
72
|
+
return diff.size.positive?
|
54
73
|
end
|
55
74
|
|
56
75
|
old != new
|
@@ -32,6 +32,13 @@ end
|
|
32
32
|
# (#19151) Reject all SSLv2 ciphers and handshakes
|
33
33
|
require 'puppet/ssl/openssl_loader'
|
34
34
|
unless Puppet::Util::Platform.jruby_fips?
|
35
|
+
unless defined?(OpenSSL::SSL::TLS1_VERSION)
|
36
|
+
module OpenSSL::SSL
|
37
|
+
# see https://github.com/ruby/ruby/commit/609103dbb5fb182eec12f052226c43e39b907682#diff-09f822c26289f5347111795ca22ed7ed1cfadd6ebd28f987991d1d414eef565aR2755-R2759
|
38
|
+
OpenSSL::SSL::TLS1_VERSION = 0x301
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
35
42
|
class OpenSSL::SSL::SSLContext
|
36
43
|
if DEFAULT_PARAMS[:options]
|
37
44
|
DEFAULT_PARAMS[:options] |= OpenSSL::SSL::OP_NO_SSLv2 | OpenSSL::SSL::OP_NO_SSLv3
|
@@ -504,6 +504,43 @@ module Puppet::Util::Windows::ADSI
|
|
504
504
|
user_name
|
505
505
|
end
|
506
506
|
|
507
|
+
# https://docs.microsoft.com/en-us/windows/win32/api/secext/ne-secext-extended_name_format
|
508
|
+
NameUnknown = 0
|
509
|
+
NameFullyQualifiedDN = 1
|
510
|
+
NameSamCompatible = 2
|
511
|
+
NameDisplay = 3
|
512
|
+
NameUniqueId = 6
|
513
|
+
NameCanonical = 7
|
514
|
+
NameUserPrincipal = 8
|
515
|
+
NameCanonicalEx = 9
|
516
|
+
NameServicePrincipal = 10
|
517
|
+
NameDnsDomain = 12
|
518
|
+
NameGivenName = 13
|
519
|
+
NameSurname = 14
|
520
|
+
|
521
|
+
def self.current_user_name_with_format(format)
|
522
|
+
user_name = ''
|
523
|
+
max_length = 1024
|
524
|
+
|
525
|
+
FFI::MemoryPointer.new(:lpwstr, max_length * 2 + 1) do |buffer|
|
526
|
+
FFI::MemoryPointer.new(:dword, 1) do |buffer_size|
|
527
|
+
buffer_size.write_dword(max_length + 1)
|
528
|
+
|
529
|
+
if GetUserNameExW(format.to_i, buffer, buffer_size) == FFI::WIN32_FALSE
|
530
|
+
raise Puppet::Util::Windows::Error.new(_("Failed to get user name"), FFI.errno)
|
531
|
+
end
|
532
|
+
|
533
|
+
user_name = buffer.read_wide_string(buffer_size.read_dword).chomp
|
534
|
+
end
|
535
|
+
end
|
536
|
+
|
537
|
+
user_name
|
538
|
+
end
|
539
|
+
|
540
|
+
def self.current_sam_compatible_user_name
|
541
|
+
current_user_name_with_format(NameSamCompatible)
|
542
|
+
end
|
543
|
+
|
507
544
|
def self.current_user_sid
|
508
545
|
Puppet::Util::Windows::SID.name_to_principal(current_user_name)
|
509
546
|
end
|
@@ -518,6 +555,15 @@ module Puppet::Util::Windows::ADSI
|
|
518
555
|
ffi_lib :advapi32
|
519
556
|
attach_function_private :GetUserNameW,
|
520
557
|
[:lpwstr, :lpdword], :win32_bool
|
558
|
+
|
559
|
+
# https://docs.microsoft.com/en-us/windows/win32/api/secext/nf-secext-getusernameexa
|
560
|
+
# BOOLEAN SEC_ENTRY GetUserNameExA(
|
561
|
+
# EXTENDED_NAME_FORMAT NameFormat,
|
562
|
+
# LPSTR lpNameBuffer,
|
563
|
+
# PULONG nSize
|
564
|
+
# );type
|
565
|
+
ffi_lib :secur32
|
566
|
+
attach_function_private :GetUserNameExW, [:uint16, :lpwstr, :pointer], :win32_bool
|
521
567
|
end
|
522
568
|
|
523
569
|
class UserProfile
|
@@ -19,7 +19,7 @@ module Puppet::Util::Windows::APITypes
|
|
19
19
|
|
20
20
|
class ::FFI::Pointer
|
21
21
|
NULL_HANDLE = 0
|
22
|
-
WCHAR_NULL = "\0\0".
|
22
|
+
WCHAR_NULL = "\0\0".force_encoding('UTF-16LE').freeze
|
23
23
|
|
24
24
|
def self.from_string_to_wide_string(str, &block)
|
25
25
|
str = Puppet::Util::Windows::String.wide_string(str)
|
@@ -44,7 +44,8 @@ module Puppet::Util::Windows::SID
|
|
44
44
|
ERROR_INVALID_PARAMETER = 87
|
45
45
|
ERROR_INSUFFICIENT_BUFFER = 122
|
46
46
|
|
47
|
-
def self.lookup_account_name(system_name = nil, account_name)
|
47
|
+
def self.lookup_account_name(system_name = nil, sanitize = true, account_name)
|
48
|
+
account_name = sanitize_account_name(account_name) if sanitize
|
48
49
|
system_name_ptr = FFI::Pointer::NULL
|
49
50
|
begin
|
50
51
|
if system_name
|
@@ -146,6 +147,13 @@ module Puppet::Util::Windows::SID
|
|
146
147
|
end
|
147
148
|
end
|
148
149
|
|
150
|
+
# Sanitize the given account name for lookup to avoid known issues
|
151
|
+
def self.sanitize_account_name(account_name)
|
152
|
+
return account_name unless account_name.start_with?('APPLICATION PACKAGE AUTHORITY\\')
|
153
|
+
account_name.split('\\').last
|
154
|
+
end
|
155
|
+
private_class_method :sanitize_account_name
|
156
|
+
|
149
157
|
ffi_convention :stdcall
|
150
158
|
|
151
159
|
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa379601(v=vs.85).aspx
|
@@ -191,4 +199,3 @@ module Puppet::Util::Windows::SID
|
|
191
199
|
[:lpcwstr, :pointer, :lpwstr, :lpdword, :lpwstr, :lpdword, :pointer], :win32_bool
|
192
200
|
end
|
193
201
|
end
|
194
|
-
|
@@ -74,11 +74,13 @@ module Puppet::Util::Windows
|
|
74
74
|
string_to_sid_ptr(name) do |sid_ptr|
|
75
75
|
raw_sid_bytes = sid_ptr.read_array_of_uchar(get_length_sid(sid_ptr))
|
76
76
|
end
|
77
|
-
rescue
|
77
|
+
rescue => e
|
78
|
+
Puppet.debug("Could not retrieve raw SID bytes from '#{name}': #{e.message}")
|
78
79
|
end
|
79
80
|
|
80
81
|
raw_sid_bytes ? Principal.lookup_account_sid(raw_sid_bytes) : Principal.lookup_account_name(name)
|
81
|
-
rescue
|
82
|
+
rescue => e
|
83
|
+
Puppet.debug("#{e.message}")
|
82
84
|
(allow_unresolved && raw_sid_bytes) ? unresolved_principal(name, raw_sid_bytes) : nil
|
83
85
|
end
|
84
86
|
module_function :name_to_principal
|
data/lib/puppet/version.rb
CHANGED
data/locales/puppet.pot
CHANGED
@@ -6,11 +6,11 @@
|
|
6
6
|
#, fuzzy
|
7
7
|
msgid ""
|
8
8
|
msgstr ""
|
9
|
-
"Project-Id-Version: Puppet automation framework 6.
|
9
|
+
"Project-Id-Version: Puppet automation framework 6.21.1-62-g86a9c83c34\n"
|
10
10
|
"\n"
|
11
11
|
"Report-Msgid-Bugs-To: https://tickets.puppetlabs.com\n"
|
12
|
-
"POT-Creation-Date: 2021-
|
13
|
-
"PO-Revision-Date: 2021-
|
12
|
+
"POT-Creation-Date: 2021-04-08 09:48+0000\n"
|
13
|
+
"PO-Revision-Date: 2021-04-08 09:48+0000\n"
|
14
14
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
15
15
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
16
16
|
"Language: \n"
|
@@ -450,59 +450,59 @@ msgstr ""
|
|
450
450
|
msgid "Manage SSL keys and certificates for puppet SSL clients"
|
451
451
|
msgstr ""
|
452
452
|
|
453
|
-
#: ../lib/puppet/application/ssl.rb:
|
453
|
+
#: ../lib/puppet/application/ssl.rb:106
|
454
454
|
msgid "An action must be specified."
|
455
455
|
msgstr ""
|
456
456
|
|
457
|
-
#: ../lib/puppet/application/ssl.rb:
|
457
|
+
#: ../lib/puppet/application/ssl.rb:129 ../lib/puppet/application/ssl.rb:136
|
458
458
|
msgid "The certificate for '%{name}' has not yet been signed"
|
459
459
|
msgstr ""
|
460
460
|
|
461
|
-
#: ../lib/puppet/application/ssl.rb:
|
461
|
+
#: ../lib/puppet/application/ssl.rb:147
|
462
462
|
msgid "Completed SSL initialization"
|
463
463
|
msgstr ""
|
464
464
|
|
465
|
-
#: ../lib/puppet/application/ssl.rb:
|
465
|
+
#: ../lib/puppet/application/ssl.rb:151
|
466
466
|
msgid "Unknown action '%{action}'"
|
467
467
|
msgstr ""
|
468
468
|
|
469
|
-
#: ../lib/puppet/application/ssl.rb:
|
469
|
+
#: ../lib/puppet/application/ssl.rb:165 ../lib/puppet/ssl/state_machine.rb:180
|
470
470
|
msgid "Creating a new EC SSL key for %{name} using curve %{curve}"
|
471
471
|
msgstr ""
|
472
472
|
|
473
|
-
#: ../lib/puppet/application/ssl.rb:
|
473
|
+
#: ../lib/puppet/application/ssl.rb:168 ../lib/puppet/ssl/key.rb:26
|
474
474
|
msgid "Creating a new SSL key for %{name}"
|
475
475
|
msgstr ""
|
476
476
|
|
477
|
-
#: ../lib/puppet/application/ssl.rb:
|
477
|
+
#: ../lib/puppet/application/ssl.rb:178
|
478
478
|
msgid "Submitted certificate request for '%{name}' to %{url}"
|
479
479
|
msgstr ""
|
480
480
|
|
481
|
-
#: ../lib/puppet/application/ssl.rb:
|
481
|
+
#: ../lib/puppet/application/ssl.rb:181
|
482
482
|
msgid "Could not submit certificate request for '%{name}' to %{url} due to a conflict on the server"
|
483
483
|
msgstr ""
|
484
484
|
|
485
|
-
#: ../lib/puppet/application/ssl.rb:
|
485
|
+
#: ../lib/puppet/application/ssl.rb:183 ../lib/puppet/application/ssl.rb:186
|
486
486
|
msgid "Failed to submit certificate request: %{message}"
|
487
487
|
msgstr ""
|
488
488
|
|
489
|
-
#: ../lib/puppet/application/ssl.rb:
|
489
|
+
#: ../lib/puppet/application/ssl.rb:194
|
490
490
|
msgid "Downloading certificate '%{name}' from %{url}"
|
491
491
|
msgstr ""
|
492
492
|
|
493
|
-
#: ../lib/puppet/application/ssl.rb:
|
493
|
+
#: ../lib/puppet/application/ssl.rb:198
|
494
494
|
msgid "Downloaded certificate '%{name}' with fingerprint %{fingerprint}"
|
495
495
|
msgstr ""
|
496
496
|
|
497
|
-
#: ../lib/puppet/application/ssl.rb:
|
497
|
+
#: ../lib/puppet/application/ssl.rb:211 ../lib/puppet/application/ssl.rb:214
|
498
498
|
msgid "Failed to download certificate: %{message}"
|
499
499
|
msgstr ""
|
500
500
|
|
501
|
-
#: ../lib/puppet/application/ssl.rb:
|
501
|
+
#: ../lib/puppet/application/ssl.rb:243 ../lib/puppet/application/ssl.rb:246
|
502
502
|
msgid "Failed to connect to the CA to determine if certificate %{certname} has been cleaned"
|
503
503
|
msgstr ""
|
504
504
|
|
505
|
-
#: ../lib/puppet/application/ssl.rb:
|
505
|
+
#: ../lib/puppet/application/ssl.rb:250
|
506
506
|
msgid ""
|
507
507
|
"The certificate %{certname} must be cleaned from the CA first. To fix this,\n"
|
508
508
|
"run the following commands on the CA:\n"
|
@@ -510,7 +510,7 @@ msgid ""
|
|
510
510
|
" puppet ssl clean\n"
|
511
511
|
msgstr ""
|
512
512
|
|
513
|
-
#: ../lib/puppet/application/ssl.rb:
|
513
|
+
#: ../lib/puppet/application/ssl.rb:273
|
514
514
|
msgid "Removed %{label} %{path}"
|
515
515
|
msgstr ""
|
516
516
|
|
@@ -587,44 +587,44 @@ msgstr ""
|
|
587
587
|
msgid "Local environment: '%{local_env}' doesn't match server specified environment '%{catalog_env}', restarting agent run with environment '%{catalog_env}'"
|
588
588
|
msgstr ""
|
589
589
|
|
590
|
-
#: ../lib/puppet/configurer.rb:
|
590
|
+
#: ../lib/puppet/configurer.rb:436
|
591
591
|
msgid "Failed to apply catalog: %{detail}"
|
592
592
|
msgstr ""
|
593
593
|
|
594
|
-
#: ../lib/puppet/configurer.rb:
|
594
|
+
#: ../lib/puppet/configurer.rb:465 ../lib/puppet/http/resolver/server_list.rb:67
|
595
595
|
msgid "Puppet server %{host}:%{port} is unavailable: %{code} %{reason}"
|
596
596
|
msgstr ""
|
597
597
|
|
598
598
|
#. TRANSLATORS 'server_list' is the name of a setting and should not be translated
|
599
|
-
#: ../lib/puppet/configurer.rb:
|
599
|
+
#: ../lib/puppet/configurer.rb:469 ../lib/puppet/http/resolver/server_list.rb:70
|
600
600
|
msgid "Unable to connect to server from server_list setting: %{detail}"
|
601
601
|
msgstr ""
|
602
602
|
|
603
|
-
#: ../lib/puppet/configurer.rb:
|
603
|
+
#: ../lib/puppet/configurer.rb:480 ../lib/puppet/face/report.rb:47
|
604
604
|
msgid "Could not send report: %{detail}"
|
605
605
|
msgstr ""
|
606
606
|
|
607
|
-
#: ../lib/puppet/configurer.rb:
|
607
|
+
#: ../lib/puppet/configurer.rb:489
|
608
608
|
msgid "Could not save last run local report: %{detail}"
|
609
609
|
msgstr ""
|
610
610
|
|
611
|
-
#: ../lib/puppet/configurer.rb:
|
611
|
+
#: ../lib/puppet/configurer.rb:508
|
612
612
|
msgid "Uploading facts for %{node} to %{server}"
|
613
613
|
msgstr ""
|
614
614
|
|
615
|
-
#: ../lib/puppet/configurer.rb:
|
615
|
+
#: ../lib/puppet/configurer.rb:516
|
616
616
|
msgid "Failed to submit facts: %{detail}"
|
617
617
|
msgstr ""
|
618
618
|
|
619
|
-
#: ../lib/puppet/configurer.rb:
|
619
|
+
#: ../lib/puppet/configurer.rb:531
|
620
620
|
msgid "Could not run command from %{setting}: %{detail}"
|
621
621
|
msgstr ""
|
622
622
|
|
623
|
-
#: ../lib/puppet/configurer.rb:
|
623
|
+
#: ../lib/puppet/configurer.rb:549
|
624
624
|
msgid "Could not retrieve catalog from cache: %{detail}"
|
625
625
|
msgstr ""
|
626
626
|
|
627
|
-
#: ../lib/puppet/configurer.rb:
|
627
|
+
#: ../lib/puppet/configurer.rb:570
|
628
628
|
msgid "Could not retrieve catalog from remote server: %{detail}"
|
629
629
|
msgstr ""
|
630
630
|
|
@@ -692,47 +692,47 @@ msgstr ""
|
|
692
692
|
msgid "a data type can only have one implementation"
|
693
693
|
msgstr ""
|
694
694
|
|
695
|
-
#: ../lib/puppet/defaults.rb:
|
695
|
+
#: ../lib/puppet/defaults.rb:191
|
696
696
|
msgid "Cannot disable unrecognized warning types '%{invalid}'."
|
697
697
|
msgstr ""
|
698
698
|
|
699
|
-
#: ../lib/puppet/defaults.rb:
|
699
|
+
#: ../lib/puppet/defaults.rb:192
|
700
700
|
msgid "Valid values are '%{values}'."
|
701
701
|
msgstr ""
|
702
702
|
|
703
703
|
#. TRANSLATORS 'data_binding_terminus' is a setting and should not be translated
|
704
|
-
#: ../lib/puppet/defaults.rb:
|
704
|
+
#: ../lib/puppet/defaults.rb:559
|
705
705
|
msgid "Setting 'data_binding_terminus' is deprecated."
|
706
706
|
msgstr ""
|
707
707
|
|
708
708
|
#. TRANSLATORS 'hiera' should not be translated
|
709
|
-
#: ../lib/puppet/defaults.rb:
|
709
|
+
#: ../lib/puppet/defaults.rb:561
|
710
710
|
msgid "Convert custom terminus to hiera 5 API."
|
711
711
|
msgstr ""
|
712
712
|
|
713
713
|
#. TRANSLATORS 'environment_data_provider' is a setting and should not be translated
|
714
|
-
#: ../lib/puppet/defaults.rb:
|
714
|
+
#: ../lib/puppet/defaults.rb:774
|
715
715
|
msgid "Setting 'environment_data_provider' is deprecated."
|
716
716
|
msgstr ""
|
717
717
|
|
718
|
-
#: ../lib/puppet/defaults.rb:
|
718
|
+
#: ../lib/puppet/defaults.rb:859
|
719
719
|
msgid "Certificate names must be lower case"
|
720
720
|
msgstr ""
|
721
721
|
|
722
|
-
#: ../lib/puppet/defaults.rb:
|
722
|
+
#: ../lib/puppet/defaults.rb:1054
|
723
723
|
msgid "Setting 'ssl_client_ca_auth' is deprecated."
|
724
724
|
msgstr ""
|
725
725
|
|
726
|
-
#: ../lib/puppet/defaults.rb:
|
726
|
+
#: ../lib/puppet/defaults.rb:1141 ../lib/puppet/settings/enum_setting.rb:13 ../lib/puppet/settings/symbolic_enum_setting.rb:14
|
727
727
|
msgid "Invalid value '%{value}' for parameter %{name}. Allowed values are '%{allowed_values}'"
|
728
728
|
msgstr ""
|
729
729
|
|
730
730
|
#. TRANSLATORS 'pluginsync' is a setting and should not be translated
|
731
|
-
#: ../lib/puppet/defaults.rb:
|
731
|
+
#: ../lib/puppet/defaults.rb:2015
|
732
732
|
msgid "Setting 'pluginsync' is deprecated."
|
733
733
|
msgstr ""
|
734
734
|
|
735
|
-
#: ../lib/puppet/defaults.rb:
|
735
|
+
#: ../lib/puppet/defaults.rb:2250
|
736
736
|
msgid "The 'func3x_check' setting is deprecated and will be removed in a future release."
|
737
737
|
msgstr ""
|
738
738
|
|
@@ -778,7 +778,7 @@ msgstr ""
|
|
778
778
|
msgid "no matching resources found"
|
779
779
|
msgstr ""
|
780
780
|
|
781
|
-
#: ../lib/puppet/face/config.rb:7 ../lib/puppet/face/epp.rb:8 ../lib/puppet/face/facts.rb:
|
781
|
+
#: ../lib/puppet/face/config.rb:7 ../lib/puppet/face/epp.rb:8 ../lib/puppet/face/facts.rb:22 ../lib/puppet/face/generate.rb:7 ../lib/puppet/face/help.rb:9 ../lib/puppet/face/key.rb:5 ../lib/puppet/face/man.rb:8 ../lib/puppet/face/module.rb:9 ../lib/puppet/face/node.rb:4 ../lib/puppet/face/parser.rb:6 ../lib/puppet/face/plugin.rb:6 ../lib/puppet/face/report.rb:5 ../lib/puppet/face/resource.rb:5 ../lib/puppet/face/status.rb:5
|
782
782
|
msgid "Apache 2 license; see COPYING"
|
783
783
|
msgstr ""
|
784
784
|
|
@@ -1015,34 +1015,86 @@ msgstr ""
|
|
1015
1015
|
msgid "--values option must evaluate to a Hash or undef, got: '%{values_class}'"
|
1016
1016
|
msgstr ""
|
1017
1017
|
|
1018
|
-
#: ../lib/puppet/face/facts.rb:
|
1018
|
+
#: ../lib/puppet/face/facts.rb:24
|
1019
1019
|
msgid "Retrieve and store facts."
|
1020
1020
|
msgstr ""
|
1021
1021
|
|
1022
|
-
#: ../lib/puppet/face/facts.rb:
|
1022
|
+
#: ../lib/puppet/face/facts.rb:32
|
1023
1023
|
msgid "Retrieve a node's facts."
|
1024
1024
|
msgstr ""
|
1025
1025
|
|
1026
|
-
#: ../lib/puppet/face/facts.rb:
|
1026
|
+
#: ../lib/puppet/face/facts.rb:33
|
1027
1027
|
msgid "[<node_certname>]"
|
1028
1028
|
msgstr ""
|
1029
1029
|
|
1030
|
-
#: ../lib/puppet/face/facts.rb:
|
1030
|
+
#: ../lib/puppet/face/facts.rb:56
|
1031
1031
|
msgid "Upload local facts to the puppet master."
|
1032
1032
|
msgstr ""
|
1033
1033
|
|
1034
|
-
#: ../lib/puppet/face/facts.rb:
|
1034
|
+
#: ../lib/puppet/face/facts.rb:98
|
1035
1035
|
msgid "Uploading facts for '%{node}' to '%{server}'"
|
1036
1036
|
msgstr ""
|
1037
1037
|
|
1038
|
-
#: ../lib/puppet/face/facts.rb:
|
1038
|
+
#: ../lib/puppet/face/facts.rb:108
|
1039
1039
|
msgid "Compare Facter 3 output with Facter 4 output"
|
1040
1040
|
msgstr ""
|
1041
1041
|
|
1042
|
-
#: ../lib/puppet/face/facts.rb:
|
1042
|
+
#: ../lib/puppet/face/facts.rb:122
|
1043
|
+
msgid "Render the different facts as structured."
|
1044
|
+
msgstr ""
|
1045
|
+
|
1046
|
+
#: ../lib/puppet/face/facts.rb:125
|
1047
|
+
msgid "<regex>"
|
1048
|
+
msgstr ""
|
1049
|
+
|
1050
|
+
#: ../lib/puppet/face/facts.rb:126
|
1051
|
+
msgid "Regex used to exclude specific facts from diff."
|
1052
|
+
msgstr ""
|
1053
|
+
|
1054
|
+
#: ../lib/puppet/face/facts.rb:151
|
1043
1055
|
msgid "Already using Facter 4. To use `puppet facts diff` remove facterng from the .conf file or run `puppet config set facterng false`."
|
1044
1056
|
msgstr ""
|
1045
1057
|
|
1058
|
+
#: ../lib/puppet/face/facts.rb:167
|
1059
|
+
msgid "Retrieve current node's facts."
|
1060
|
+
msgstr ""
|
1061
|
+
|
1062
|
+
#: ../lib/puppet/face/facts.rb:168
|
1063
|
+
msgid "[<facts>]"
|
1064
|
+
msgstr ""
|
1065
|
+
|
1066
|
+
#: ../lib/puppet/face/facts.rb:183 ../lib/puppet/face/facts.rb:188 ../lib/puppet/face/facts.rb:193 ../lib/puppet/face/module/changes.rb:21
|
1067
|
+
msgid "<path>"
|
1068
|
+
msgstr ""
|
1069
|
+
|
1070
|
+
#: ../lib/puppet/face/facts.rb:185
|
1071
|
+
msgid "The location of the config file for Facter."
|
1072
|
+
msgstr ""
|
1073
|
+
|
1074
|
+
#: ../lib/puppet/face/facts.rb:190
|
1075
|
+
msgid "The path to a directory that contains custom facts."
|
1076
|
+
msgstr ""
|
1077
|
+
|
1078
|
+
#: ../lib/puppet/face/facts.rb:195
|
1079
|
+
msgid "The path to a directory that contains external facts."
|
1080
|
+
msgstr ""
|
1081
|
+
|
1082
|
+
#: ../lib/puppet/face/facts.rb:199
|
1083
|
+
msgid "Disable fact blocking mechanism."
|
1084
|
+
msgstr ""
|
1085
|
+
|
1086
|
+
#: ../lib/puppet/face/facts.rb:203
|
1087
|
+
msgid "Disable fact caching mechanism."
|
1088
|
+
msgstr ""
|
1089
|
+
|
1090
|
+
#: ../lib/puppet/face/facts.rb:207
|
1091
|
+
msgid "Show legacy facts when querying all facts."
|
1092
|
+
msgstr ""
|
1093
|
+
|
1094
|
+
#: ../lib/puppet/face/facts.rb:211
|
1095
|
+
msgid "Show only the value when the action is called with a single query"
|
1096
|
+
msgstr ""
|
1097
|
+
|
1046
1098
|
#: ../lib/puppet/face/generate.rb:9
|
1047
1099
|
msgid "Generates Puppet code from Ruby definitions."
|
1048
1100
|
msgstr ""
|
@@ -1206,10 +1258,6 @@ msgstr ""
|
|
1206
1258
|
msgid "Array of strings representing paths of modified files."
|
1207
1259
|
msgstr ""
|
1208
1260
|
|
1209
|
-
#: ../lib/puppet/face/module/changes.rb:21
|
1210
|
-
msgid "<path>"
|
1211
|
-
msgstr ""
|
1212
|
-
|
1213
1261
|
#: ../lib/puppet/face/module/changes.rb:27
|
1214
1262
|
msgid "Could not find a valid module at %{path}"
|
1215
1263
|
msgstr ""
|
@@ -1844,11 +1892,11 @@ msgstr ""
|
|
1844
1892
|
msgid "%{dest} already exists and the :force option was not specified"
|
1845
1893
|
msgstr ""
|
1846
1894
|
|
1847
|
-
#: ../lib/puppet/file_system/windows.rb:
|
1895
|
+
#: ../lib/puppet/file_system/windows.rb:204
|
1848
1896
|
msgid "This version of Windows does not support symlinks. Windows Vista / 2008 or higher is required."
|
1849
1897
|
msgstr ""
|
1850
1898
|
|
1851
|
-
#: ../lib/puppet/file_system/windows.rb:
|
1899
|
+
#: ../lib/puppet/file_system/windows.rb:209
|
1852
1900
|
msgid "The current user does not have the necessary permission to manage symlinks."
|
1853
1901
|
msgstr ""
|
1854
1902
|
|
@@ -2546,7 +2594,11 @@ msgstr ""
|
|
2546
2594
|
msgid "You cannot save facts to the code store; it is only used for getting facts from Facter"
|
2547
2595
|
msgstr ""
|
2548
2596
|
|
2549
|
-
#: ../lib/puppet/indirector/facts/facter.rb:
|
2597
|
+
#: ../lib/puppet/indirector/facts/facter.rb:36
|
2598
|
+
msgid "puppet facts show requires version 4.0.40 or greater of Facter."
|
2599
|
+
msgstr ""
|
2600
|
+
|
2601
|
+
#: ../lib/puppet/indirector/facts/facter.rb:62
|
2550
2602
|
msgid "Loading facts"
|
2551
2603
|
msgstr ""
|
2552
2604
|
|
@@ -2999,8 +3051,8 @@ msgstr ""
|
|
2999
3051
|
msgid "Option %{option} conflicts with existing option %{conflict} on %{face}"
|
3000
3052
|
msgstr ""
|
3001
3053
|
|
3002
|
-
#. TRANSLATORS 'Puppet.settings' references to the Puppet settings options and should not be translated
|
3003
3054
|
#. TRANSLATORS 'Puppet.settings' should not be translated
|
3055
|
+
#. TRANSLATORS 'Puppet.settings' references to the Puppet settings options and should not be translated
|
3004
3056
|
#: ../lib/puppet/interface/action.rb:315 ../lib/puppet/interface/option_manager.rb:14
|
3005
3057
|
msgid "Global option %{option} does not exist in Puppet.settings"
|
3006
3058
|
msgstr ""
|
@@ -6824,26 +6876,30 @@ msgstr ""
|
|
6824
6876
|
msgid "Mac OS X packages must specify a package source"
|
6825
6877
|
msgstr ""
|
6826
6878
|
|
6827
|
-
#: ../lib/puppet/provider/package/apt.rb:
|
6879
|
+
#: ../lib/puppet/provider/package/apt.rb:89
|
6828
6880
|
msgid "/etc/apt/sources.list contains a cdrom source; not installing. Use 'allowcdrom' to override this failure."
|
6829
6881
|
msgstr ""
|
6830
6882
|
|
6831
|
-
#: ../lib/puppet/provider/package/apt.rb:
|
6883
|
+
#: ../lib/puppet/provider/package/apt.rb:172 ../lib/puppet/provider/package/aptitude.rb:21 ../lib/puppet/provider/package/ports.rb:20 ../lib/puppet/provider/package/portupgrade.rb:94 ../lib/puppet/provider/package/portupgrade.rb:152 ../lib/puppet/provider/package/rug.rb:28 ../lib/puppet/provider/package/up2date.rb:17 ../lib/puppet/provider/package/yum.rb:312 ../lib/puppet/provider/package/zypper.rb:146
|
6884
|
+
msgid "Could not find package %{name}"
|
6885
|
+
msgstr ""
|
6886
|
+
|
6887
|
+
#: ../lib/puppet/provider/package/apt.rb:176 ../lib/puppet/provider/package/yum.rb:317
|
6888
|
+
msgid "Failed to update to version %{should}, got version %{version} instead"
|
6889
|
+
msgstr ""
|
6890
|
+
|
6891
|
+
#: ../lib/puppet/provider/package/apt.rb:189 ../lib/puppet/provider/package/fink.rb:55
|
6832
6892
|
msgid "Could not find latest version"
|
6833
6893
|
msgstr ""
|
6834
6894
|
|
6835
|
-
#: ../lib/puppet/provider/package/apt.rb:
|
6895
|
+
#: ../lib/puppet/provider/package/apt.rb:200 ../lib/puppet/provider/package/fink.rb:66
|
6836
6896
|
msgid "Preseeding %{response} to debconf-set-selections"
|
6837
6897
|
msgstr ""
|
6838
6898
|
|
6839
|
-
#: ../lib/puppet/provider/package/apt.rb:
|
6899
|
+
#: ../lib/puppet/provider/package/apt.rb:204 ../lib/puppet/provider/package/fink.rb:70
|
6840
6900
|
msgid "No responsefile specified or non existent, not preseeding anything"
|
6841
6901
|
msgstr ""
|
6842
6902
|
|
6843
|
-
#: ../lib/puppet/provider/package/aptitude.rb:21 ../lib/puppet/provider/package/ports.rb:20 ../lib/puppet/provider/package/portupgrade.rb:94 ../lib/puppet/provider/package/portupgrade.rb:152 ../lib/puppet/provider/package/rug.rb:28 ../lib/puppet/provider/package/up2date.rb:17 ../lib/puppet/provider/package/yum.rb:312 ../lib/puppet/provider/package/zypper.rb:146
|
6844
|
-
msgid "Could not find package %{name}"
|
6845
|
-
msgstr ""
|
6846
|
-
|
6847
6903
|
#: ../lib/puppet/provider/package/aptrpm.rb:53
|
6848
6904
|
msgid "Could not match version '%{version}'"
|
6849
6905
|
msgstr ""
|
@@ -7179,10 +7235,6 @@ msgstr ""
|
|
7179
7235
|
msgid "Could not find package %{wanted}"
|
7180
7236
|
msgstr ""
|
7181
7237
|
|
7182
|
-
#: ../lib/puppet/provider/package/yum.rb:317
|
7183
|
-
msgid "Failed to update to version %{should}, got version %{version} instead"
|
7184
|
-
msgstr ""
|
7185
|
-
|
7186
7238
|
#: ../lib/puppet/provider/package_targetable.rb:56
|
7187
7239
|
msgid "Provider %{name} package command is not functional on this host"
|
7188
7240
|
msgstr ""
|
@@ -7694,24 +7746,24 @@ msgstr ""
|
|
7694
7746
|
msgid "Setting %{name} is deprecated in puppet.conf."
|
7695
7747
|
msgstr ""
|
7696
7748
|
|
7697
|
-
#: ../lib/puppet/settings.rb:
|
7749
|
+
#: ../lib/puppet/settings.rb:1445
|
7698
7750
|
msgid "Error converting value for param '%{name}': %{detail}"
|
7699
7751
|
msgstr ""
|
7700
7752
|
|
7701
|
-
#: ../lib/puppet/settings.rb:
|
7753
|
+
#: ../lib/puppet/settings.rb:1469
|
7702
7754
|
msgid "Could not find value for %{expression}"
|
7703
7755
|
msgstr ""
|
7704
7756
|
|
7705
7757
|
#. TRANSLATORS '$environment' is a Puppet specific variable and should not be translated
|
7706
|
-
#: ../lib/puppet/settings.rb:
|
7758
|
+
#: ../lib/puppet/settings.rb:1479
|
7707
7759
|
msgid "You cannot interpolate $environment within '%{setting_name}' when using directory environments."
|
7708
7760
|
msgstr ""
|
7709
7761
|
|
7710
|
-
#: ../lib/puppet/settings.rb:
|
7762
|
+
#: ../lib/puppet/settings.rb:1480
|
7711
7763
|
msgid "Its value will remain %{value}."
|
7712
7764
|
msgstr ""
|
7713
7765
|
|
7714
|
-
#: ../lib/puppet/settings.rb:
|
7766
|
+
#: ../lib/puppet/settings.rb:1511
|
7715
7767
|
msgid "Attempt to assign a value to unknown setting %{name}"
|
7716
7768
|
msgstr ""
|
7717
7769
|
|
@@ -7805,19 +7857,19 @@ msgid "Invalid duration format '%{value}' for parameter: %{name}"
|
|
7805
7857
|
msgstr ""
|
7806
7858
|
|
7807
7859
|
#. TRANSLATORS 'disable_per_environment_manifest' is a setting and 'environment.conf' is a file name and should not be translated
|
7808
|
-
#: ../lib/puppet/settings/environment_conf.rb:
|
7860
|
+
#: ../lib/puppet/settings/environment_conf.rb:70
|
7809
7861
|
msgid "The 'disable_per_environment_manifest' setting is true, but the environment located at %{path_to_env} has a manifest setting in its environment.conf of '%{environment_conf}' which does not match the default_manifest setting '%{puppet_conf}'."
|
7810
7862
|
msgstr ""
|
7811
7863
|
|
7812
|
-
#: ../lib/puppet/settings/environment_conf.rb:
|
7864
|
+
#: ../lib/puppet/settings/environment_conf.rb:72
|
7813
7865
|
msgid "If this environment is expecting to find modules in '%{environment_conf}', they will not be available!"
|
7814
7866
|
msgstr ""
|
7815
7867
|
|
7816
|
-
#: ../lib/puppet/settings/environment_conf.rb:
|
7868
|
+
#: ../lib/puppet/settings/environment_conf.rb:142
|
7817
7869
|
msgid "Invalid sections in environment.conf at '%{path_to_conf_file}'. Environment conf may not have sections. The following sections are being ignored: '%{sections}'"
|
7818
7870
|
msgstr ""
|
7819
7871
|
|
7820
|
-
#: ../lib/puppet/settings/environment_conf.rb:
|
7872
|
+
#: ../lib/puppet/settings/environment_conf.rb:154
|
7821
7873
|
msgid "Invalid settings in environment.conf at '%{path_to_conf_file}'. The following unknown setting(s) are being ignored: %{ignored_settings}"
|
7822
7874
|
msgstr ""
|
7823
7875
|
|
@@ -9912,15 +9964,15 @@ msgstr ""
|
|
9912
9964
|
msgid "Unrecognized ADS UserFlags: %{unrecognized_flags}"
|
9913
9965
|
msgstr ""
|
9914
9966
|
|
9915
|
-
#: ../lib/puppet/util/windows/adsi.rb:497
|
9967
|
+
#: ../lib/puppet/util/windows/adsi.rb:497 ../lib/puppet/util/windows/adsi.rb:530
|
9916
9968
|
msgid "Failed to get user name"
|
9917
9969
|
msgstr ""
|
9918
9970
|
|
9919
|
-
#: ../lib/puppet/util/windows/adsi.rb:
|
9971
|
+
#: ../lib/puppet/util/windows/adsi.rb:580
|
9920
9972
|
msgid "Cannot delete user profile for '%{sid}' prior to Vista SP1"
|
9921
9973
|
msgstr ""
|
9922
9974
|
|
9923
|
-
#: ../lib/puppet/util/windows/adsi.rb:
|
9975
|
+
#: ../lib/puppet/util/windows/adsi.rb:598
|
9924
9976
|
msgid "Cannot create group if user '%{name}' exists."
|
9925
9977
|
msgstr ""
|
9926
9978
|
|
@@ -9983,20 +10035,20 @@ msgstr ""
|
|
9983
10035
|
msgid "Failed to call GetLongPathName"
|
9984
10036
|
msgstr ""
|
9985
10037
|
|
9986
|
-
#: ../lib/puppet/util/windows/principal.rb:
|
10038
|
+
#: ../lib/puppet/util/windows/principal.rb:68 ../lib/puppet/util/windows/principal.rb:75
|
9987
10039
|
msgid "Failed to call LookupAccountNameW with account: %{account_name}"
|
9988
10040
|
msgstr ""
|
9989
10041
|
|
9990
10042
|
#. TRANSLATORS `lookup_account_sid` is a variable name and should not be translated
|
9991
|
-
#: ../lib/puppet/util/windows/principal.rb:
|
10043
|
+
#: ../lib/puppet/util/windows/principal.rb:98
|
9992
10044
|
msgid "Byte array for lookup_account_sid must not be nil and must be at least 1 byte long"
|
9993
10045
|
msgstr ""
|
9994
10046
|
|
9995
|
-
#: ../lib/puppet/util/windows/principal.rb:
|
10047
|
+
#: ../lib/puppet/util/windows/principal.rb:115
|
9996
10048
|
msgid "Byte array for lookup_account_sid is invalid: %{sid_bytes}"
|
9997
10049
|
msgstr ""
|
9998
10050
|
|
9999
|
-
#: ../lib/puppet/util/windows/principal.rb:
|
10051
|
+
#: ../lib/puppet/util/windows/principal.rb:123 ../lib/puppet/util/windows/principal.rb:130
|
10000
10052
|
msgid "Failed to call LookupAccountSidW with bytes: %{sid_bytes}"
|
10001
10053
|
msgstr ""
|
10002
10054
|
|
@@ -10106,7 +10158,7 @@ msgstr ""
|
|
10106
10158
|
msgid "An attempt to set mode %{mode} on item %{path} would result in the group, SYSTEM, to have less than Full Control rights. This attempt has been corrected to Full Control"
|
10107
10159
|
msgstr ""
|
10108
10160
|
|
10109
|
-
#: ../lib/puppet/util/windows/security.rb:433 ../lib/puppet/util/windows/security.rb:450 ../lib/puppet/util/windows/sid.rb:
|
10161
|
+
#: ../lib/puppet/util/windows/security.rb:433 ../lib/puppet/util/windows/security.rb:450 ../lib/puppet/util/windows/sid.rb:157 ../lib/puppet/util/windows/sid.rb:219 ../lib/puppet/util/windows/user.rb:59
|
10110
10162
|
msgid "Invalid SID"
|
10111
10163
|
msgstr ""
|
10112
10164
|
|
@@ -10262,19 +10314,19 @@ msgstr ""
|
|
10262
10314
|
msgid "Timed out while waiting for the pending transition from %{pending_state} to %{final_state} to finish. The current state is %{current_state}."
|
10263
10315
|
msgstr ""
|
10264
10316
|
|
10265
|
-
#: ../lib/puppet/util/windows/sid.rb:
|
10317
|
+
#: ../lib/puppet/util/windows/sid.rb:96
|
10266
10318
|
msgid "Octet string must be an array of bytes"
|
10267
10319
|
msgstr ""
|
10268
10320
|
|
10269
|
-
#: ../lib/puppet/util/windows/sid.rb:
|
10321
|
+
#: ../lib/puppet/util/windows/sid.rb:163
|
10270
10322
|
msgid "Failed to convert binary SID"
|
10271
10323
|
msgstr ""
|
10272
10324
|
|
10273
|
-
#: ../lib/puppet/util/windows/sid.rb:
|
10325
|
+
#: ../lib/puppet/util/windows/sid.rb:168
|
10274
10326
|
msgid "ConvertSidToStringSidW failed to allocate buffer for sid"
|
10275
10327
|
msgstr ""
|
10276
10328
|
|
10277
|
-
#: ../lib/puppet/util/windows/sid.rb:
|
10329
|
+
#: ../lib/puppet/util/windows/sid.rb:188
|
10278
10330
|
msgid "Failed to convert string SID: %{string_sid}"
|
10279
10331
|
msgstr ""
|
10280
10332
|
|