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.

Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +24 -18
  4. data/ext/project_data.yaml +2 -2
  5. data/lib/puppet/application/ssl.rb +11 -0
  6. data/lib/puppet/defaults.rb +22 -2
  7. data/lib/puppet/environments.rb +16 -1
  8. data/lib/puppet/face/facts.rb +128 -30
  9. data/lib/puppet/file_system/memory_file.rb +8 -1
  10. data/lib/puppet/file_system/windows.rb +2 -0
  11. data/lib/puppet/functions/partition.rb +8 -0
  12. data/lib/puppet/indirector/facts/facter.rb +24 -3
  13. data/lib/puppet/network/formats.rb +67 -0
  14. data/lib/puppet/network/http/factory.rb +4 -0
  15. data/lib/puppet/provider/package/dnfmodule.rb +1 -1
  16. data/lib/puppet/provider/service/systemd.rb +1 -1
  17. data/lib/puppet/provider/user/useradd.rb +1 -1
  18. data/lib/puppet/settings/environment_conf.rb +1 -0
  19. data/lib/puppet/util/fact_dif.rb +36 -17
  20. data/lib/puppet/util/monkey_patches.rb +7 -0
  21. data/lib/puppet/util/windows/adsi.rb +46 -0
  22. data/lib/puppet/util/windows/api_types.rb +1 -1
  23. data/lib/puppet/util/windows/principal.rb +9 -2
  24. data/lib/puppet/util/windows/sid.rb +4 -2
  25. data/lib/puppet/version.rb +1 -1
  26. data/locales/puppet.pot +139 -87
  27. data/man/man5/puppet.conf.5 +11 -3
  28. data/man/man8/puppet-agent.8 +1 -1
  29. data/man/man8/puppet-apply.8 +1 -1
  30. data/man/man8/puppet-catalog.8 +1 -1
  31. data/man/man8/puppet-config.8 +1 -1
  32. data/man/man8/puppet-describe.8 +1 -1
  33. data/man/man8/puppet-device.8 +1 -1
  34. data/man/man8/puppet-doc.8 +1 -1
  35. data/man/man8/puppet-epp.8 +1 -1
  36. data/man/man8/puppet-facts.8 +60 -2
  37. data/man/man8/puppet-filebucket.8 +1 -1
  38. data/man/man8/puppet-generate.8 +1 -1
  39. data/man/man8/puppet-help.8 +1 -1
  40. data/man/man8/puppet-key.8 +1 -1
  41. data/man/man8/puppet-lookup.8 +1 -1
  42. data/man/man8/puppet-man.8 +1 -1
  43. data/man/man8/puppet-module.8 +1 -1
  44. data/man/man8/puppet-node.8 +1 -1
  45. data/man/man8/puppet-parser.8 +1 -1
  46. data/man/man8/puppet-plugin.8 +1 -1
  47. data/man/man8/puppet-report.8 +1 -1
  48. data/man/man8/puppet-resource.8 +1 -1
  49. data/man/man8/puppet-script.8 +1 -1
  50. data/man/man8/puppet-ssl.8 +5 -1
  51. data/man/man8/puppet-status.8 +1 -1
  52. data/man/man8/puppet.8 +2 -2
  53. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +9 -0
  54. data/spec/integration/application/plugin_spec.rb +1 -1
  55. data/spec/integration/http/client_spec.rb +12 -0
  56. data/spec/integration/indirector/direct_file_server_spec.rb +1 -3
  57. data/spec/integration/util/windows/adsi_spec.rb +18 -0
  58. data/spec/integration/util/windows/principal_spec.rb +21 -0
  59. data/spec/integration/util/windows/registry_spec.rb +6 -0
  60. data/spec/spec_helper.rb +11 -1
  61. data/spec/unit/application/facts_spec.rb +482 -3
  62. data/spec/unit/application/ssl_spec.rb +23 -0
  63. data/spec/unit/defaults_spec.rb +16 -0
  64. data/spec/unit/environments_spec.rb +164 -88
  65. data/spec/unit/face/facts_spec.rb +4 -0
  66. data/spec/unit/file_system_spec.rb +9 -0
  67. data/spec/unit/indirector/facts/facter_spec.rb +95 -0
  68. data/spec/unit/network/formats_spec.rb +41 -0
  69. data/spec/unit/network/http/factory_spec.rb +19 -0
  70. data/spec/unit/provider/package/dnfmodule_spec.rb +10 -1
  71. data/spec/unit/provider/service/systemd_spec.rb +11 -0
  72. data/spec/unit/provider/user/useradd_spec.rb +18 -3
  73. data/spec/unit/resource/catalog_spec.rb +1 -1
  74. data/spec/unit/util/windows/sid_spec.rb +6 -0
  75. metadata +4 -6
  76. data/spec/lib/matchers/include.rb +0 -27
  77. 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 = Puppet::Node::Facts.new(request.key, Facter.to_hash)
36
- result.add_local_facts
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)
@@ -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)['values']
6
- @next_facter = JSON.parse(new_output)['values']
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
- compare(path, sh)
40
+ @flat_diff.push([path.dup, sh])
32
41
  end
33
42
  end
34
43
 
35
- def compare(fact_path, old_value)
36
- new_value = @next_facter.dig(*fact_path)
37
- if different?(new_value, old_value) && !excluded?(fact_path.join('.'))
38
- @diff[fact_path.join('.')] = { new_value: new_value, old_value: old_value }
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
- # also add new entries only available in Facter 4
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".encode('UTF-16LE').freeze
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
@@ -6,7 +6,7 @@
6
6
  # Raketasks and such to set the version based on the output of `git describe`
7
7
 
8
8
  module Puppet
9
- PUPPETVERSION = '6.21.1'
9
+ PUPPETVERSION = '6.22.1'
10
10
 
11
11
  ##
12
12
  # version is a public API method intended to always provide a fast and
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.19.1-133-gcc65fe8151\n"
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-01-14 12:33+0000\n"
13
- "PO-Revision-Date: 2021-01-14 12:33+0000\n"
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:103
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:126 ../lib/puppet/application/ssl.rb:133
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:144
461
+ #: ../lib/puppet/application/ssl.rb:147
462
462
  msgid "Completed SSL initialization"
463
463
  msgstr ""
464
464
 
465
- #: ../lib/puppet/application/ssl.rb:146
465
+ #: ../lib/puppet/application/ssl.rb:151
466
466
  msgid "Unknown action '%{action}'"
467
467
  msgstr ""
468
468
 
469
- #: ../lib/puppet/application/ssl.rb:154 ../lib/puppet/ssl/state_machine.rb:180
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:157 ../lib/puppet/ssl/key.rb:26
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:167
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:170
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:172 ../lib/puppet/application/ssl.rb:175
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:183
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:187
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:200 ../lib/puppet/application/ssl.rb:203
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:232 ../lib/puppet/application/ssl.rb:235
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:239
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:262
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:426
590
+ #: ../lib/puppet/configurer.rb:436
591
591
  msgid "Failed to apply catalog: %{detail}"
592
592
  msgstr ""
593
593
 
594
- #: ../lib/puppet/configurer.rb:455 ../lib/puppet/http/resolver/server_list.rb:67
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:459 ../lib/puppet/http/resolver/server_list.rb:70
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:470 ../lib/puppet/face/report.rb:47
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:479
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:498
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:506
615
+ #: ../lib/puppet/configurer.rb:516
616
616
  msgid "Failed to submit facts: %{detail}"
617
617
  msgstr ""
618
618
 
619
- #: ../lib/puppet/configurer.rb:521
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:539
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:560
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:179
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:180
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:547
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:549
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:762
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:847
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:1042
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:1121 ../lib/puppet/settings/enum_setting.rb:13 ../lib/puppet/settings/symbolic_enum_setting.rb:14
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:1995
731
+ #: ../lib/puppet/defaults.rb:2015
732
732
  msgid "Setting 'pluginsync' is deprecated."
733
733
  msgstr ""
734
734
 
735
- #: ../lib/puppet/defaults.rb:2230
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:30 ../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
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:32
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:40
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:41
1026
+ #: ../lib/puppet/face/facts.rb:33
1027
1027
  msgid "[<node_certname>]"
1028
1028
  msgstr ""
1029
1029
 
1030
- #: ../lib/puppet/face/facts.rb:64
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:106
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:116
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:145
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:202
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:207
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:56
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:85
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:167 ../lib/puppet/provider/package/fink.rb:55
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:178 ../lib/puppet/provider/package/fink.rb:66
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:182 ../lib/puppet/provider/package/fink.rb:70
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:1435
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:1459
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:1469
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:1470
7762
+ #: ../lib/puppet/settings.rb:1480
7711
7763
  msgid "Its value will remain %{value}."
7712
7764
  msgstr ""
7713
7765
 
7714
- #: ../lib/puppet/settings.rb:1501
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:69
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:71
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:141
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:153
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:534
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:552
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:67 ../lib/puppet/util/windows/principal.rb:74
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:97
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:114
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:122 ../lib/puppet/util/windows/principal.rb:129
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:155 ../lib/puppet/util/windows/sid.rb:217 ../lib/puppet/util/windows/user.rb:59
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:94
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:161
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:166
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:186
10329
+ #: ../lib/puppet/util/windows/sid.rb:188
10278
10330
  msgid "Failed to convert string SID: %{string_sid}"
10279
10331
  msgstr ""
10280
10332