puppet 6.17.0-x64-mingw32 → 6.18.0-x64-mingw32

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 (189) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +6 -5
  3. data/lib/puppet/application/apply.rb +18 -20
  4. data/lib/puppet/application/lookup.rb +16 -4
  5. data/lib/puppet/configurer/downloader.rb +31 -10
  6. data/lib/puppet/confine.rb +1 -1
  7. data/lib/puppet/confine/any.rb +1 -1
  8. data/lib/puppet/defaults.rb +21 -3
  9. data/lib/puppet/feature/base.rb +1 -1
  10. data/lib/puppet/file_serving/mount/locales.rb +1 -2
  11. data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -2
  12. data/lib/puppet/file_serving/mount/plugins.rb +1 -2
  13. data/lib/puppet/file_system/file_impl.rb +3 -3
  14. data/lib/puppet/functions/lstrip.rb +4 -4
  15. data/lib/puppet/functions/reverse_each.rb +1 -1
  16. data/lib/puppet/functions/rstrip.rb +4 -4
  17. data/lib/puppet/functions/step.rb +1 -1
  18. data/lib/puppet/functions/strip.rb +4 -4
  19. data/lib/puppet/gettext/config.rb +5 -5
  20. data/lib/puppet/gettext/module_translations.rb +4 -4
  21. data/lib/puppet/indirector/exec.rb +1 -1
  22. data/lib/puppet/indirector/facts/facter.rb +3 -3
  23. data/lib/puppet/indirector/file_metadata/http.rb +1 -0
  24. data/lib/puppet/indirector/hiera.rb +4 -0
  25. data/lib/puppet/indirector/indirection.rb +1 -1
  26. data/lib/puppet/indirector/report/processor.rb +2 -2
  27. data/lib/puppet/module.rb +1 -2
  28. data/lib/puppet/network/format_support.rb +2 -2
  29. data/lib/puppet/network/http/route.rb +2 -2
  30. data/lib/puppet/node/environment.rb +12 -5
  31. data/lib/puppet/pal/pal_impl.rb +27 -3
  32. data/lib/puppet/parameter.rb +1 -1
  33. data/lib/puppet/parser/functions.rb +21 -17
  34. data/lib/puppet/parser/functions/create_resources.rb +11 -7
  35. data/lib/puppet/parser/type_loader.rb +2 -2
  36. data/lib/puppet/pops/adaptable.rb +7 -13
  37. data/lib/puppet/pops/adapters.rb +8 -4
  38. data/lib/puppet/pops/loader/runtime3_type_loader.rb +4 -2
  39. data/lib/puppet/pops/loaders.rb +18 -11
  40. data/lib/puppet/pops/lookup/context.rb +1 -1
  41. data/lib/puppet/pops/lookup/hiera_config.rb +14 -1
  42. data/lib/puppet/pops/types/iterable.rb +34 -8
  43. data/lib/puppet/pops/validation/checker4_0.rb +19 -15
  44. data/lib/puppet/provider/file/windows.rb +1 -1
  45. data/lib/puppet/provider/package/apt.rb +34 -0
  46. data/lib/puppet/provider/package/gem.rb +4 -2
  47. data/lib/puppet/provider/package/puppet_gem.rb +5 -0
  48. data/lib/puppet/provider/package/zypper.rb +3 -0
  49. data/lib/puppet/provider/user/aix.rb +1 -1
  50. data/lib/puppet/provider/user/user_role_add.rb +1 -1
  51. data/lib/puppet/provider/user/windows_adsi.rb +18 -1
  52. data/lib/puppet/settings.rb +1 -1
  53. data/lib/puppet/ssl/validator/default_validator.rb +1 -1
  54. data/lib/puppet/test/test_helper.rb +10 -3
  55. data/lib/puppet/transaction.rb +2 -2
  56. data/lib/puppet/transaction/persistence.rb +1 -1
  57. data/lib/puppet/transaction/report.rb +1 -1
  58. data/lib/puppet/trusted_external.rb +2 -2
  59. data/lib/puppet/type.rb +4 -3
  60. data/lib/puppet/type/file.rb +2 -2
  61. data/lib/puppet/type/file/source.rb +27 -7
  62. data/lib/puppet/type/notify.rb +2 -2
  63. data/lib/puppet/type/service.rb +4 -0
  64. data/lib/puppet/type/user.rb +18 -3
  65. data/lib/puppet/util.rb +26 -12
  66. data/lib/puppet/util/autoload.rb +9 -7
  67. data/lib/puppet/util/character_encoding.rb +9 -5
  68. data/lib/puppet/util/execution.rb +2 -2
  69. data/lib/puppet/util/windows.rb +1 -0
  70. data/lib/puppet/util/windows/api_types.rb +15 -1
  71. data/lib/puppet/util/windows/monkey_patches/dir.rb +40 -0
  72. data/lib/puppet/util/windows/security.rb +4 -4
  73. data/lib/puppet/util/windows/user.rb +219 -0
  74. data/lib/puppet/version.rb +1 -1
  75. data/locales/puppet.pot +78 -69
  76. data/man/man5/puppet.conf.5 +22 -3
  77. data/man/man8/puppet-agent.8 +1 -1
  78. data/man/man8/puppet-apply.8 +1 -1
  79. data/man/man8/puppet-catalog.8 +1 -1
  80. data/man/man8/puppet-config.8 +1 -1
  81. data/man/man8/puppet-describe.8 +1 -1
  82. data/man/man8/puppet-device.8 +1 -1
  83. data/man/man8/puppet-doc.8 +1 -1
  84. data/man/man8/puppet-epp.8 +1 -1
  85. data/man/man8/puppet-facts.8 +1 -1
  86. data/man/man8/puppet-filebucket.8 +1 -1
  87. data/man/man8/puppet-generate.8 +1 -1
  88. data/man/man8/puppet-help.8 +1 -1
  89. data/man/man8/puppet-key.8 +1 -1
  90. data/man/man8/puppet-lookup.8 +2 -2
  91. data/man/man8/puppet-man.8 +1 -1
  92. data/man/man8/puppet-module.8 +1 -1
  93. data/man/man8/puppet-node.8 +1 -1
  94. data/man/man8/puppet-parser.8 +1 -1
  95. data/man/man8/puppet-plugin.8 +1 -1
  96. data/man/man8/puppet-report.8 +1 -1
  97. data/man/man8/puppet-resource.8 +1 -1
  98. data/man/man8/puppet-script.8 +1 -1
  99. data/man/man8/puppet-ssl.8 +1 -1
  100. data/man/man8/puppet-status.8 +1 -1
  101. data/man/man8/puppet.8 +2 -2
  102. data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb +2 -0
  103. data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb +25 -0
  104. data/spec/fixtures/unit/forge/bacula-releases.json +128 -0
  105. data/spec/fixtures/unit/forge/bacula.tar.gz +0 -0
  106. data/spec/integration/application/agent_spec.rb +29 -37
  107. data/spec/integration/application/apply_spec.rb +149 -149
  108. data/spec/integration/application/config_spec.rb +74 -0
  109. data/spec/integration/application/doc_spec.rb +16 -6
  110. data/spec/integration/application/filebucket_spec.rb +65 -16
  111. data/spec/integration/application/help_spec.rb +42 -0
  112. data/spec/integration/application/lookup_spec.rb +13 -0
  113. data/spec/integration/application/module_spec.rb +68 -0
  114. data/spec/integration/application/plugin_spec.rb +50 -0
  115. data/spec/integration/data_binding_spec.rb +82 -0
  116. data/spec/integration/directory_environments_spec.rb +17 -17
  117. data/spec/integration/indirector/facts/facter_spec.rb +8 -6
  118. data/spec/integration/node/environment_spec.rb +1 -1
  119. data/spec/integration/util/execution_spec.rb +22 -0
  120. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +11 -0
  121. data/spec/integration/util/windows/process_spec.rb +26 -32
  122. data/spec/integration/util/windows/user_spec.rb +7 -0
  123. data/spec/integration/util_spec.rb +7 -33
  124. data/spec/lib/puppet_spec/matchers.rb +0 -80
  125. data/spec/lib/puppet_spec/puppetserver.rb +8 -0
  126. data/spec/unit/application/agent_spec.rb +3 -4
  127. data/spec/unit/application/face_base_spec.rb +6 -4
  128. data/spec/unit/application/facts_spec.rb +39 -10
  129. data/spec/unit/application/man_spec.rb +52 -0
  130. data/spec/unit/application/resource_spec.rb +3 -1
  131. data/spec/unit/application/ssl_spec.rb +15 -2
  132. data/spec/unit/configurer/downloader_spec.rb +10 -0
  133. data/spec/unit/configurer_spec.rb +47 -31
  134. data/spec/unit/confine_spec.rb +2 -1
  135. data/spec/unit/face/config_spec.rb +3 -1
  136. data/spec/unit/file_serving/mount/locales_spec.rb +2 -2
  137. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +2 -2
  138. data/spec/unit/file_serving/mount/plugins_spec.rb +2 -2
  139. data/spec/unit/file_system/uniquefile_spec.rb +18 -0
  140. data/spec/unit/http/client_spec.rb +0 -1
  141. data/spec/unit/http/resolver_spec.rb +0 -1
  142. data/spec/unit/http/service/ca_spec.rb +0 -1
  143. data/spec/unit/http/service/compiler_spec.rb +0 -1
  144. data/spec/unit/http/service/file_server_spec.rb +0 -1
  145. data/spec/unit/http/service/report_spec.rb +0 -1
  146. data/spec/unit/http/service_spec.rb +0 -1
  147. data/spec/unit/http/session_spec.rb +0 -1
  148. data/spec/unit/module_tool/tar/mini_spec.rb +20 -0
  149. data/spec/unit/network/format_support_spec.rb +3 -2
  150. data/spec/unit/node/environment_spec.rb +18 -1
  151. data/spec/unit/pops/loaders/loaders_spec.rb +70 -0
  152. data/spec/unit/pops/lookup/lookup_spec.rb +25 -0
  153. data/spec/unit/provider/package/apt_spec.rb +77 -0
  154. data/spec/unit/provider/package/aptitude_spec.rb +1 -0
  155. data/spec/unit/provider/package/puppet_gem_spec.rb +4 -1
  156. data/spec/unit/provider/package/zypper_spec.rb +14 -0
  157. data/spec/unit/provider/service/init_spec.rb +41 -0
  158. data/spec/unit/provider/service/systemd_spec.rb +1 -6
  159. data/spec/unit/provider/service/windows_spec.rb +28 -0
  160. data/spec/unit/provider/user/windows_adsi_spec.rb +82 -0
  161. data/spec/unit/puppet_pal_2pec.rb +40 -0
  162. data/spec/unit/reports/store_spec.rb +17 -13
  163. data/spec/unit/transaction/persistence_spec.rb +15 -0
  164. data/spec/unit/type/service_spec.rb +35 -2
  165. data/spec/unit/type/user_spec.rb +31 -2
  166. data/spec/unit/util/character_encoding_spec.rb +4 -4
  167. data/spec/unit/util/command_line_spec.rb +11 -6
  168. metadata +21 -44
  169. data/spec/integration/faces/config_spec.rb +0 -91
  170. data/spec/integration/faces/documentation_spec.rb +0 -57
  171. data/spec/integration/file_bucket/file_spec.rb +0 -50
  172. data/spec/integration/file_serving/content_spec.rb +0 -7
  173. data/spec/integration/file_serving/fileset_spec.rb +0 -12
  174. data/spec/integration/file_serving/metadata_spec.rb +0 -8
  175. data/spec/integration/file_serving/terminus_helper_spec.rb +0 -20
  176. data/spec/integration/file_system/uniquefile_spec.rb +0 -26
  177. data/spec/integration/module_tool/forge_spec.rb +0 -51
  178. data/spec/integration/module_tool/tar/mini_spec.rb +0 -28
  179. data/spec/integration/provider/service/init_spec.rb +0 -48
  180. data/spec/integration/provider/service/systemd_spec.rb +0 -25
  181. data/spec/integration/provider/service/windows_spec.rb +0 -50
  182. data/spec/integration/reference/providers_spec.rb +0 -21
  183. data/spec/integration/reports_spec.rb +0 -13
  184. data/spec/integration/ssl/certificate_request_spec.rb +0 -44
  185. data/spec/integration/ssl/host_spec.rb +0 -72
  186. data/spec/integration/ssl/key_spec.rb +0 -99
  187. data/spec/shared_behaviours/file_serving_model.rb +0 -51
  188. data/spec/unit/face/man_spec.rb +0 -25
  189. data/spec/unit/man_spec.rb +0 -31
@@ -0,0 +1,40 @@
1
+ require 'win32/dir/constants'
2
+ require 'win32/dir/functions'
3
+ require 'win32/dir/structs'
4
+
5
+ class DirMonkeyPatched
6
+ include ::Dir::Structs
7
+ include ::Dir::Constants
8
+ extend ::Dir::Functions
9
+
10
+ path = nil
11
+ key = :PERSONAL
12
+ value = 0x0005
13
+ buf = 0.chr * 1024
14
+ buf.encode!(Encoding::UTF_16LE)
15
+
16
+ if SHGetFolderPathW(0, value, 0, 0, buf) == 0 # Current path
17
+ path = buf.strip
18
+ elsif SHGetFolderPathW(0, value, 0, 1, buf) == 0 # Default path
19
+ path = buf.strip
20
+ else
21
+ FFI::MemoryPointer.new(:long) do |ptr|
22
+ if SHGetFolderLocation(0, value, 0, 0, ptr) == 0
23
+ SHFILEINFO.new do |info|
24
+ flags = SHGFI_DISPLAYNAME | SHGFI_PIDL
25
+ if SHGetFileInfo(ptr.read_long, 0, info, info.size, flags) != 0
26
+ path = info[:szDisplayName].to_s
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+
33
+ if path.nil?
34
+ begin
35
+ Dir.const_set(key, ''.encode(Encoding.default_external))
36
+ rescue Encoding::UndefinedConversionError
37
+ Dir.const_set(key, ''.encode(Encoding::UTF_8))
38
+ end
39
+ end
40
+ end
@@ -340,10 +340,10 @@ module Puppet::Util::Windows::Security
340
340
  Puppet.warning _("Setting control rights for %{path} owner SYSTEM to less than Full Control rights. Setting SYSTEM rights to less than Full Control may have unintented consequences for operations on this file") % { path: path }
341
341
  elsif managing_owner && isownergroup
342
342
  #TRANSLATORS 'SYSTEM' is a Windows name and should not be translated
343
- Puppet.debug _("%{path} owner and group both set to user SYSTEM, but group is not managed directly: SYSTEM user rights will be set to FullControl by group") % { path: path }
343
+ Puppet.debug { _("%{path} owner and group both set to user SYSTEM, but group is not managed directly: SYSTEM user rights will be set to FullControl by group") % { path: path } }
344
344
  else
345
345
  #TRANSLATORS 'SYSTEM' is a Windows name and should not be translated
346
- Puppet.debug _("An attempt to set mode %{mode} on item %{path} would result in the owner, SYSTEM, to have less than Full Control rights. This attempt has been corrected to Full Control") % { mode: mode.to_s(8), path: path }
346
+ Puppet.debug { _("An attempt to set mode %{mode} on item %{path} would result in the owner, SYSTEM, to have less than Full Control rights. This attempt has been corrected to Full Control") % { mode: mode.to_s(8), path: path } }
347
347
  owner_allow = FILE::FILE_ALL_ACCESS
348
348
  end
349
349
  end
@@ -356,10 +356,10 @@ module Puppet::Util::Windows::Security
356
356
  Puppet.warning _("Setting control rights for %{path} group SYSTEM to less than Full Control rights. Setting SYSTEM rights to less than Full Control may have unintented consequences for operations on this file") % { path: path }
357
357
  elsif managing_group && isownergroup
358
358
  #TRANSLATORS 'SYSTEM' is a Windows name and should not be translated
359
- Puppet.debug _("%{path} owner and group both set to user SYSTEM, but owner is not managed directly: SYSTEM user rights will be set to FullControl by owner") % { path: path }
359
+ Puppet.debug { _("%{path} owner and group both set to user SYSTEM, but owner is not managed directly: SYSTEM user rights will be set to FullControl by owner") % { path: path } }
360
360
  else
361
361
  #TRANSLATORS 'SYSTEM' is a Windows name and should not be translated
362
- Puppet.debug _("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") % { mode: mode.to_s(8), path: path }
362
+ Puppet.debug { _("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") % { mode: mode.to_s(8), path: path } }
363
363
  group_allow = FILE::FILE_ALL_ACCESS
364
364
  end
365
365
  end
@@ -145,6 +145,125 @@ module Puppet::Util::Windows::User
145
145
  end
146
146
  module_function :load_profile
147
147
 
148
+ def get_rights(name)
149
+ user_info = Puppet::Util::Windows::SID.name_to_principal(name.sub(/^\.\\/, "#{Puppet::Util::Windows::ADSI.computer_name}\\"))
150
+ return "" unless user_info
151
+
152
+ rights = []
153
+ rights_pointer = FFI::MemoryPointer.new(:pointer)
154
+ number_of_rights = FFI::MemoryPointer.new(:ulong)
155
+ sid_pointer = FFI::MemoryPointer.new(:byte, user_info.sid_bytes.length).write_array_of_uchar(user_info.sid_bytes)
156
+
157
+ new_lsa_policy_handle do |policy_handle|
158
+ result = LsaEnumerateAccountRights(policy_handle.read_pointer, sid_pointer, rights_pointer, number_of_rights)
159
+ check_lsa_nt_status_and_raise_failures(result, "LsaEnumerateAccountRights")
160
+ end
161
+
162
+ number_of_rights.read_ulong.times do |index|
163
+ right = LSA_UNICODE_STRING.new(rights_pointer.read_pointer + index * LSA_UNICODE_STRING.size)
164
+ rights << right[:Buffer].read_arbitrary_wide_string_up_to
165
+ end
166
+
167
+ result = LsaFreeMemory(rights_pointer.read_pointer)
168
+ check_lsa_nt_status_and_raise_failures(result, "LsaFreeMemory")
169
+
170
+ rights.join(",")
171
+ end
172
+ module_function :get_rights
173
+
174
+ def set_rights(name, rights)
175
+ rights_pointer = new_lsa_unicode_strings_pointer(rights)
176
+ user_info = Puppet::Util::Windows::SID.name_to_principal(name.sub(/^\.\\/, "#{Puppet::Util::Windows::ADSI.computer_name}\\"))
177
+ sid_pointer = FFI::MemoryPointer.new(:byte, user_info.sid_bytes.length).write_array_of_uchar(user_info.sid_bytes)
178
+
179
+ new_lsa_policy_handle do |policy_handle|
180
+ result = LsaAddAccountRights(policy_handle.read_pointer, sid_pointer, rights_pointer, rights.size)
181
+ check_lsa_nt_status_and_raise_failures(result, "LsaAddAccountRights")
182
+ end
183
+ end
184
+ module_function :set_rights
185
+
186
+ def remove_rights(name, rights)
187
+ rights_pointer = new_lsa_unicode_strings_pointer(rights)
188
+ user_info = Puppet::Util::Windows::SID.name_to_principal(name.sub(/^\.\\/, "#{Puppet::Util::Windows::ADSI.computer_name}\\"))
189
+ sid_pointer = FFI::MemoryPointer.new(:byte, user_info.sid_bytes.length).write_array_of_uchar(user_info.sid_bytes)
190
+
191
+ new_lsa_policy_handle do |policy_handle|
192
+ result = LsaRemoveAccountRights(policy_handle.read_pointer, sid_pointer, false, rights_pointer, rights.size)
193
+ check_lsa_nt_status_and_raise_failures(result, "LsaRemoveAccountRights")
194
+ end
195
+ end
196
+ module_function :remove_rights
197
+
198
+ # ACCESS_MASK flags for Policy Objects
199
+ # https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-lsad/b61b7268-987a-420b-84f9-6c75f8dc8558
200
+ POLICY_VIEW_LOCAL_INFORMATION = 0x00000001
201
+ POLICY_VIEW_AUDIT_INFORMATION = 0x00000002
202
+ POLICY_GET_PRIVATE_INFORMATION = 0x00000004
203
+ POLICY_TRUST_ADMIN = 0x00000008
204
+ POLICY_CREATE_ACCOUNT = 0x00000010
205
+ POLICY_CREATE_SECRET = 0x00000020
206
+ POLICY_CREATE_PRIVILEGE = 0x00000040
207
+ POLICY_SET_DEFAULT_QUOTA_LIMITS = 0x00000080
208
+ POLICY_SET_AUDIT_REQUIREMENTS = 0x00000100
209
+ POLICY_AUDIT_LOG_ADMIN = 0x00000200
210
+ POLICY_SERVER_ADMIN = 0x00000400
211
+ POLICY_LOOKUP_NAMES = 0x00000800
212
+ POLICY_NOTIFICATION = 0x00001000
213
+
214
+ def self.new_lsa_policy_handle
215
+ access = 0
216
+ access |= POLICY_LOOKUP_NAMES
217
+ access |= POLICY_CREATE_ACCOUNT
218
+ policy_handle = FFI::MemoryPointer.new(:pointer)
219
+
220
+ result = LsaOpenPolicy(nil, LSA_OBJECT_ATTRIBUTES.new, access, policy_handle)
221
+ check_lsa_nt_status_and_raise_failures(result, "LsaOpenPolicy")
222
+
223
+ begin
224
+ yield policy_handle
225
+ ensure
226
+ result = LsaClose(policy_handle.read_pointer)
227
+ check_lsa_nt_status_and_raise_failures(result, "LsaClose")
228
+ end
229
+ end
230
+ private_class_method :new_lsa_policy_handle
231
+
232
+ def self.new_lsa_unicode_strings_pointer(strings)
233
+ lsa_unicode_strings_pointer = FFI::MemoryPointer.new(LSA_UNICODE_STRING, strings.size)
234
+
235
+ strings.each_with_index do |string, index|
236
+ lsa_string = LSA_UNICODE_STRING.new(lsa_unicode_strings_pointer + index * LSA_UNICODE_STRING.size)
237
+ lsa_string[:Buffer] = FFI::MemoryPointer.from_string(wide_string(string))
238
+ lsa_string[:Length] = string.length * 2
239
+ lsa_string[:MaximumLength] = lsa_string[:Length] + 2
240
+ end
241
+
242
+ lsa_unicode_strings_pointer
243
+ end
244
+ private_class_method :new_lsa_unicode_strings_pointer
245
+
246
+ # https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-erref/18d8fbe8-a967-4f1c-ae50-99ca8e491d2d
247
+ def self.check_lsa_nt_status_and_raise_failures(status, method_name)
248
+ error_code = LsaNtStatusToWinError(status)
249
+
250
+ error_reason = case error_code.to_s(16)
251
+ when '0' # ERROR_SUCCESS
252
+ return # Method call succeded
253
+ when '2' # ERROR_FILE_NOT_FOUND
254
+ return # No rights/privilleges assigned to given user
255
+ when '5' # ERROR_ACCESS_DENIED
256
+ "Access is denied. Please make sure that puppet is running as administrator."
257
+ when '521' # ERROR_NO_SUCH_PRIVILEGE
258
+ "One or more of the given rights/privilleges are incorrect."
259
+ when '6ba' # RPC_S_SERVER_UNAVAILABLE
260
+ "The RPC server is unavailable or given domain name is invalid."
261
+ end
262
+
263
+ raise Puppet::Error.new("Calling `#{method_name}` returned 'Win32 Error Code 0x%08X'. #{error_reason}" % error_code)
264
+ end
265
+ private_class_method :check_lsa_nt_status_and_raise_failures
266
+
148
267
  ffi_convention :stdcall
149
268
 
150
269
  # https://msdn.microsoft.com/en-us/library/windows/desktop/aa378184(v=vs.85).aspx
@@ -329,4 +448,104 @@ module Puppet::Util::Windows::User
329
448
  ffi_lib :advapi32
330
449
  attach_function_private :IsValidSid,
331
450
  [:pointer], :win32_bool
451
+
452
+ # https://docs.microsoft.com/en-us/windows/win32/api/lsalookup/ns-lsalookup-lsa_object_attributes
453
+ # typedef struct _LSA_OBJECT_ATTRIBUTES {
454
+ # ULONG Length;
455
+ # HANDLE RootDirectory;
456
+ # PLSA_UNICODE_STRING ObjectName;
457
+ # ULONG Attributes;
458
+ # PVOID SecurityDescriptor;
459
+ # PVOID SecurityQualityOfService;
460
+ # } LSA_OBJECT_ATTRIBUTES, *PLSA_OBJECT_ATTRIBUTES;
461
+ class LSA_OBJECT_ATTRIBUTES < FFI::Struct
462
+ layout :Length, :ulong,
463
+ :RootDirectory, :handle,
464
+ :ObjectName, :plsa_unicode_string,
465
+ :Attributes, :ulong,
466
+ :SecurityDescriptor, :pvoid,
467
+ :SecurityQualityOfService, :pvoid
468
+ end
469
+
470
+ # https://docs.microsoft.com/en-us/windows/win32/api/lsalookup/ns-lsalookup-lsa_unicode_string
471
+ # typedef struct _LSA_UNICODE_STRING {
472
+ # USHORT Length;
473
+ # USHORT MaximumLength;
474
+ # PWSTR Buffer;
475
+ # } LSA_UNICODE_STRING, *PLSA_UNICODE_STRING;
476
+ class LSA_UNICODE_STRING < FFI::Struct
477
+ layout :Length, :ushort,
478
+ :MaximumLength, :ushort,
479
+ :Buffer, :pwstr
480
+ end
481
+
482
+ # https://docs.microsoft.com/en-us/windows/win32/api/ntsecapi/nf-ntsecapi-lsaenumerateaccountrights
483
+ # https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/user-rights-assignment
484
+ # NTSTATUS LsaEnumerateAccountRights(
485
+ # LSA_HANDLE PolicyHandle,
486
+ # PSID AccountSid,
487
+ # PLSA_UNICODE_STRING *UserRights,
488
+ # PULONG CountOfRights
489
+ # );
490
+ ffi_lib :advapi32
491
+ attach_function_private :LsaEnumerateAccountRights,
492
+ [:lsa_handle, :psid, :plsa_unicode_string, :pulong], :ntstatus
493
+
494
+ # https://docs.microsoft.com/en-us/windows/win32/api/ntsecapi/nf-ntsecapi-lsaaddaccountrights
495
+ # NTSTATUS LsaAddAccountRights(
496
+ # LSA_HANDLE PolicyHandle,
497
+ # PSID AccountSid,
498
+ # PLSA_UNICODE_STRING UserRights,
499
+ # ULONG CountOfRights
500
+ # );
501
+ ffi_lib :advapi32
502
+ attach_function_private :LsaAddAccountRights,
503
+ [:lsa_handle, :psid, :plsa_unicode_string, :ulong], :ntstatus
504
+
505
+ # https://docs.microsoft.com/en-us/windows/win32/api/ntsecapi/nf-ntsecapi-lsaremoveaccountrights
506
+ # NTSTATUS LsaRemoveAccountRights(
507
+ # LSA_HANDLE PolicyHandle,
508
+ # PSID AccountSid,
509
+ # BOOLEAN AllRights,
510
+ # PLSA_UNICODE_STRING UserRights,
511
+ # ULONG CountOfRights
512
+ # );
513
+ ffi_lib :advapi32
514
+ attach_function_private :LsaRemoveAccountRights,
515
+ [:lsa_handle, :psid, :bool, :plsa_unicode_string, :ulong], :ntstatus
516
+
517
+ # https://docs.microsoft.com/en-us/windows/win32/api/ntsecapi/nf-ntsecapi-lsaopenpolicy
518
+ # NTSTATUS LsaOpenPolicy(
519
+ # PLSA_UNICODE_STRING SystemName,
520
+ # PLSA_OBJECT_ATTRIBUTES ObjectAttributes,
521
+ # ACCESS_MASK DesiredAccess,
522
+ # PLSA_HANDLE PolicyHandle
523
+ # );
524
+ ffi_lib :advapi32
525
+ attach_function_private :LsaOpenPolicy,
526
+ [:plsa_unicode_string, :plsa_object_attributes, :access_mask, :plsa_handle], :ntstatus
527
+
528
+ # https://docs.microsoft.com/en-us/windows/win32/api/ntsecapi/nf-ntsecapi-lsaclose
529
+ # NTSTATUS LsaClose(
530
+ # LSA_HANDLE ObjectHandle
531
+ # );
532
+ ffi_lib :advapi32
533
+ attach_function_private :LsaClose,
534
+ [:lsa_handle], :ntstatus
535
+
536
+ # https://docs.microsoft.com/en-us/windows/win32/api/ntsecapi/nf-ntsecapi-lsafreememory
537
+ # NTSTATUS LsaFreeMemory(
538
+ # PVOID Buffer
539
+ # );
540
+ ffi_lib :advapi32
541
+ attach_function_private :LsaFreeMemory,
542
+ [:pvoid], :ntstatus
543
+
544
+ # https://docs.microsoft.com/en-us/windows/win32/api/ntsecapi/nf-ntsecapi-lsantstatustowinerror
545
+ # ULONG LsaNtStatusToWinError(
546
+ # NTSTATUS Status
547
+ # );
548
+ ffi_lib :advapi32
549
+ attach_function_private :LsaNtStatusToWinError,
550
+ [:ntstatus], :ulong
332
551
  end
@@ -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.17.0'
9
+ PUPPETVERSION = '6.18.0'
10
10
 
11
11
  ##
12
12
  # version is a public API method intended to always provide a fast and
@@ -6,11 +6,11 @@
6
6
  #, fuzzy
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: Puppet automation framework 6.16.0-141-g9bc4af5078\n"
9
+ "Project-Id-Version: Puppet automation framework 6.17.0-93-gddd91ef701\n"
10
10
  "\n"
11
11
  "Report-Msgid-Bugs-To: https://tickets.puppetlabs.com\n"
12
- "POT-Creation-Date: 2020-07-08 11:31+0000\n"
13
- "PO-Revision-Date: 2020-07-08 11:31+0000\n"
12
+ "POT-Creation-Date: 2020-07-30 16:49+0000\n"
13
+ "PO-Revision-Date: 2020-07-30 16:49+0000\n"
14
14
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
15
15
  "Language-Team: LANGUAGE <LL@li.org>\n"
16
16
  "Language: \n"
@@ -44,7 +44,7 @@ msgstr ""
44
44
  msgid "Please supply a parameter to perform a Hiera lookup"
45
45
  msgstr ""
46
46
 
47
- #: ../lib/hiera_puppet.rb:75 ../lib/puppet/indirector/hiera.rb:81
47
+ #: ../lib/hiera_puppet.rb:75 ../lib/puppet/indirector/hiera.rb:85
48
48
  msgid "Config file %{hiera_config} not found, using Hiera defaults"
49
49
  msgstr ""
50
50
 
@@ -216,7 +216,7 @@ msgstr ""
216
216
 
217
217
  #. TRANSLATORS "puppet apply" is a program command and should not be translated
218
218
  #. TRANSLATORS "puppet apply" is a program command and should not be translated
219
- #: ../lib/puppet/application/apply.rb:207 ../lib/puppet/application/apply.rb:322
219
+ #: ../lib/puppet/application/apply.rb:207 ../lib/puppet/application/apply.rb:320
220
220
  msgid "For puppet apply"
221
221
  msgstr ""
222
222
 
@@ -224,27 +224,27 @@ msgstr ""
224
224
  msgid "%{file} is not readable"
225
225
  msgstr ""
226
226
 
227
- #: ../lib/puppet/application/apply.rb:293 ../lib/puppet/application/script.rb:239
227
+ #: ../lib/puppet/application/apply.rb:286 ../lib/puppet/application/script.rb:239
228
228
  msgid "Exiting"
229
229
  msgstr ""
230
230
 
231
- #: ../lib/puppet/application/apply.rb:332
231
+ #: ../lib/puppet/application/apply.rb:330
232
232
  msgid "Could not deserialize catalog from %{format}: %{detail}"
233
233
  msgstr ""
234
234
 
235
- #: ../lib/puppet/application/apply.rb:353 ../lib/puppet/application/script.rb:144
235
+ #: ../lib/puppet/application/apply.rb:351 ../lib/puppet/application/script.rb:144
236
236
  msgid "Could not find facts for %{node}"
237
237
  msgstr ""
238
238
 
239
- #: ../lib/puppet/application/apply.rb:365 ../lib/puppet/application/script.rb:152
239
+ #: ../lib/puppet/application/apply.rb:363 ../lib/puppet/application/script.rb:152
240
240
  msgid "Could not find node %{node}"
241
241
  msgstr ""
242
242
 
243
- #: ../lib/puppet/application/apply.rb:378 ../lib/puppet/application/script.rb:137
243
+ #: ../lib/puppet/application/apply.rb:376 ../lib/puppet/application/script.rb:137
244
244
  msgid "Could not find file %{manifest}"
245
245
  msgstr ""
246
246
 
247
- #: ../lib/puppet/application/apply.rb:379
247
+ #: ../lib/puppet/application/apply.rb:377
248
248
  msgid "Only one file can be applied per run. Skipping %{files}"
249
249
  msgstr ""
250
250
 
@@ -638,7 +638,11 @@ msgstr ""
638
638
  msgid "Retrieving %{name}"
639
639
  msgstr ""
640
640
 
641
- #: ../lib/puppet/configurer/downloader.rb:20
641
+ #: ../lib/puppet/configurer/downloader.rb:21
642
+ msgid "Failed to retrieve %{name}: %{detail}"
643
+ msgstr ""
644
+
645
+ #: ../lib/puppet/configurer/downloader.rb:32
642
646
  msgid "Could not retrieve %{name}: %{detail}"
643
647
  msgstr ""
644
648
 
@@ -717,18 +721,23 @@ msgstr ""
717
721
  msgid "Setting 'environment_data_provider' is deprecated."
718
722
  msgstr ""
719
723
 
720
- #: ../lib/puppet/defaults.rb:828
724
+ #: ../lib/puppet/defaults.rb:830
721
725
  msgid "Certificate names must be lower case"
722
726
  msgstr ""
723
727
 
724
- #: ../lib/puppet/defaults.rb:1022
728
+ #: ../lib/puppet/defaults.rb:1024
725
729
  msgid "Setting 'ssl_client_ca_auth' is deprecated."
726
730
  msgstr ""
727
731
 
728
- #: ../lib/puppet/defaults.rb:1101 ../lib/puppet/settings/enum_setting.rb:13 ../lib/puppet/settings/symbolic_enum_setting.rb:14
732
+ #: ../lib/puppet/defaults.rb:1103 ../lib/puppet/settings/enum_setting.rb:13 ../lib/puppet/settings/symbolic_enum_setting.rb:14
729
733
  msgid "Invalid value '%{value}' for parameter %{name}. Allowed values are '%{allowed_values}'"
730
734
  msgstr ""
731
735
 
736
+ #. TRANSLATORS 'pluginsync' is a setting and should not be translated
737
+ #: ../lib/puppet/defaults.rb:1969
738
+ msgid "Setting 'pluginsync' is deprecated."
739
+ msgstr ""
740
+
732
741
  #: ../lib/puppet/error.rb:77
733
742
  msgid "Could not parse for environment %{environment}: %{message}"
734
743
  msgstr ""
@@ -1782,7 +1791,7 @@ msgstr ""
1782
1791
  msgid "Timeout waiting for exclusive lock on %{path}"
1783
1792
  msgstr ""
1784
1793
 
1785
- #: ../lib/puppet/file_system/jruby.rb:18 ../lib/puppet/file_system/windows.rb:127 ../lib/puppet/util.rb:705
1794
+ #: ../lib/puppet/file_system/jruby.rb:18 ../lib/puppet/file_system/windows.rb:127 ../lib/puppet/util.rb:706
1786
1795
  msgid "Is a directory: %{directory}"
1787
1796
  msgstr ""
1788
1797
 
@@ -2608,12 +2617,12 @@ msgid "Could not find filesystem info for file '%{request}' in environment %{env
2608
2617
  msgstr ""
2609
2618
 
2610
2619
  #. TRANSLATORS "Hiera" is the name of a code library and should not be translated
2611
- #: ../lib/puppet/indirector/hiera.rb:8
2620
+ #: ../lib/puppet/indirector/hiera.rb:12
2612
2621
  msgid "Hiera terminus not supported without hiera library"
2613
2622
  msgstr ""
2614
2623
 
2615
2624
  #. TRANSLATORS "merge" is a parameter name and should not be translated
2616
- #: ../lib/puppet/indirector/hiera.rb:68
2625
+ #: ../lib/puppet/indirector/hiera.rb:72
2617
2626
  msgid "Unrecognized value for request 'merge' parameter: '%{merge}'"
2618
2627
  msgstr ""
2619
2628
 
@@ -3207,11 +3216,11 @@ msgid "Loaded puppet/type/%{name} but no class was created"
3207
3216
  msgstr ""
3208
3217
 
3209
3218
  #. TRANSLATORS 'metadata.json' is a specific file name and should not be translated.
3210
- #: ../lib/puppet/module.rb:222
3219
+ #: ../lib/puppet/module.rb:221
3211
3220
  msgid "%{name} has an invalid and unparsable metadata.json file. The parse error: %{error}"
3212
3221
  msgstr ""
3213
3222
 
3214
- #: ../lib/puppet/module.rb:468
3223
+ #: ../lib/puppet/module.rb:467
3215
3224
  msgid ""
3216
3225
  " Invalid module name '%{name}'; module names must match either:\n"
3217
3226
  " An installed module name (ex. modulename) matching the expression /^[a-z][a-z0-9_]*$/ -or-\n"
@@ -4163,7 +4172,7 @@ msgstr ""
4163
4172
  msgid "The 'disable_per_environment_manifest' setting is true, and the '%{env_name}' environment has an environment.conf manifest that conflicts with the 'default_manifest' setting."
4164
4173
  msgstr ""
4165
4174
 
4166
- #: ../lib/puppet/node/environment.rb:561 ../lib/puppet/pops/loaders.rb:300
4175
+ #: ../lib/puppet/node/environment.rb:562 ../lib/puppet/pops/loaders.rb:301
4167
4176
  msgid "Could not parse for environment %{env}: %{detail}"
4168
4177
  msgstr ""
4169
4178
 
@@ -4579,15 +4588,15 @@ msgstr ""
4579
4588
  msgid "Calling function_contain via the Scope class is deprecated. Use Scope#call_function instead"
4580
4589
  msgstr ""
4581
4590
 
4582
- #: ../lib/puppet/parser/functions/create_resources.rb:56
4591
+ #: ../lib/puppet/parser/functions/create_resources.rb:60
4583
4592
  msgid "create_resources(): wrong number of arguments (%{count}; must be 2 or 3)"
4584
4593
  msgstr ""
4585
4594
 
4586
- #: ../lib/puppet/parser/functions/create_resources.rb:57
4595
+ #: ../lib/puppet/parser/functions/create_resources.rb:61
4587
4596
  msgid "create_resources(): second argument must be a hash"
4588
4597
  msgstr ""
4589
4598
 
4590
- #: ../lib/puppet/parser/functions/create_resources.rb:59
4599
+ #: ../lib/puppet/parser/functions/create_resources.rb:63
4591
4600
  msgid "create_resources(): third argument, if provided, must be a hash"
4592
4601
  msgstr ""
4593
4602
 
@@ -5918,19 +5927,19 @@ msgstr ""
5918
5927
  msgid "Attempt to redefine already initialized loaders for environment"
5919
5928
  msgstr ""
5920
5929
 
5921
- #: ../lib/puppet/pops/loaders.rb:176
5930
+ #: ../lib/puppet/pops/loaders.rb:177
5922
5931
  msgid "Internal Error: Puppet Context ':loaders' missing"
5923
5932
  msgstr ""
5924
5933
 
5925
- #: ../lib/puppet/pops/loaders.rb:190
5934
+ #: ../lib/puppet/pops/loaders.rb:191
5926
5935
  msgid "Unable to find loader named '%{loader_name}'"
5927
5936
  msgstr ""
5928
5937
 
5929
- #: ../lib/puppet/pops/loaders.rb:211
5938
+ #: ../lib/puppet/pops/loaders.rb:212
5930
5939
  msgid "Internal Error: did not find public loader for module: '%{module_name}'"
5931
5940
  msgstr ""
5932
5941
 
5933
- #: ../lib/puppet/pops/loaders.rb:257
5942
+ #: ../lib/puppet/pops/loaders.rb:258
5934
5943
  msgid "Internal Error: Attempt to redefine loader named '%{name}'"
5935
5944
  msgstr ""
5936
5945
 
@@ -6794,19 +6803,19 @@ msgstr ""
6794
6803
  msgid "Mac OS X packages must specify a package source"
6795
6804
  msgstr ""
6796
6805
 
6797
- #: ../lib/puppet/provider/package/apt.rb:47
6806
+ #: ../lib/puppet/provider/package/apt.rb:81
6798
6807
  msgid "/etc/apt/sources.list contains a cdrom source; not installing. Use 'allowcdrom' to override this failure."
6799
6808
  msgstr ""
6800
6809
 
6801
- #: ../lib/puppet/provider/package/apt.rb:129 ../lib/puppet/provider/package/fink.rb:55
6810
+ #: ../lib/puppet/provider/package/apt.rb:163 ../lib/puppet/provider/package/fink.rb:55
6802
6811
  msgid "Could not find latest version"
6803
6812
  msgstr ""
6804
6813
 
6805
- #: ../lib/puppet/provider/package/apt.rb:140 ../lib/puppet/provider/package/fink.rb:66
6814
+ #: ../lib/puppet/provider/package/apt.rb:174 ../lib/puppet/provider/package/fink.rb:66
6806
6815
  msgid "Preseeding %{response} to debconf-set-selections"
6807
6816
  msgstr ""
6808
6817
 
6809
- #: ../lib/puppet/provider/package/apt.rb:144 ../lib/puppet/provider/package/fink.rb:70
6818
+ #: ../lib/puppet/provider/package/apt.rb:178 ../lib/puppet/provider/package/fink.rb:70
6810
6819
  msgid "No responsefile specified or non existent, not preseeding anything"
6811
6820
  msgstr ""
6812
6821
 
@@ -6858,27 +6867,27 @@ msgstr ""
6858
6867
  msgid "source is defined but does not have trailing slash, ignoring %{source}"
6859
6868
  msgstr ""
6860
6869
 
6861
- #: ../lib/puppet/provider/package/gem.rb:100
6870
+ #: ../lib/puppet/provider/package/gem.rb:102
6862
6871
  msgid "Could not list gems: %{detail}"
6863
6872
  msgstr ""
6864
6873
 
6865
- #: ../lib/puppet/provider/package/gem.rb:126
6874
+ #: ../lib/puppet/provider/package/gem.rb:128
6866
6875
  msgid "Could not match %{desc}"
6867
6876
  msgstr ""
6868
6877
 
6869
- #: ../lib/puppet/provider/package/gem.rb:204
6878
+ #: ../lib/puppet/provider/package/gem.rb:206
6870
6879
  msgid "Invalid source '%{uri}': %{detail}"
6871
6880
  msgstr ""
6872
6881
 
6873
- #: ../lib/puppet/provider/package/gem.rb:215
6882
+ #: ../lib/puppet/provider/package/gem.rb:217
6874
6883
  msgid "puppet:// URLs are not supported as gem sources"
6875
6884
  msgstr ""
6876
6885
 
6877
- #: ../lib/puppet/provider/package/gem.rb:231
6886
+ #: ../lib/puppet/provider/package/gem.rb:233
6878
6887
  msgid "Could not install: %{output}"
6879
6888
  msgstr ""
6880
6889
 
6881
- #: ../lib/puppet/provider/package/gem.rb:257
6890
+ #: ../lib/puppet/provider/package/gem.rb:259
6882
6891
  msgid "Could not uninstall: %{output}"
6883
6892
  msgstr ""
6884
6893
 
@@ -8508,47 +8517,47 @@ msgstr ""
8508
8517
  msgid "%{name} has no providers and has not overridden 'instances'"
8509
8518
  msgstr ""
8510
8519
 
8511
- #: ../lib/puppet/type.rb:1467
8520
+ #: ../lib/puppet/type.rb:1468
8512
8521
  msgid "Cannot add aliases without a catalog"
8513
8522
  msgstr ""
8514
8523
 
8515
- #: ../lib/puppet/type.rb:1547
8524
+ #: ../lib/puppet/type.rb:1548
8516
8525
  msgid "Could not find %{description} %{ref} for %{resource}"
8517
8526
  msgstr ""
8518
8527
 
8519
- #: ../lib/puppet/type.rb:1824
8528
+ #: ../lib/puppet/type.rb:1825
8520
8529
  msgid "Found multiple default providers for %{name}: %{provider_list}; using %{selected_provider}"
8521
8530
  msgstr ""
8522
8531
 
8523
- #: ../lib/puppet/type.rb:1911
8532
+ #: ../lib/puppet/type.rb:1912
8524
8533
  msgid "Could not find parent provider %{parent} of %{name}"
8525
8534
  msgstr ""
8526
8535
 
8527
- #: ../lib/puppet/type.rb:1985
8536
+ #: ../lib/puppet/type.rb:1986
8528
8537
  msgid "Invalid %{resource} provider '%{provider_class}'"
8529
8538
  msgstr ""
8530
8539
 
8531
- #: ../lib/puppet/type.rb:2070
8540
+ #: ../lib/puppet/type.rb:2071
8532
8541
  msgid "Could not find %{name} provider of %{provider}"
8533
8542
  msgstr ""
8534
8543
 
8535
- #: ../lib/puppet/type.rb:2188
8544
+ #: ../lib/puppet/type.rb:2189
8536
8545
  msgid "You cannot add relationships without a catalog"
8537
8546
  msgstr ""
8538
8547
 
8539
- #: ../lib/puppet/type.rb:2491
8548
+ #: ../lib/puppet/type.rb:2492
8540
8549
  msgid "Unable to mark '%{name}' as sensitive: %{name} is a parameter and not a property, and cannot be automatically redacted."
8541
8550
  msgstr ""
8542
8551
 
8543
- #: ../lib/puppet/type.rb:2494
8552
+ #: ../lib/puppet/type.rb:2495
8544
8553
  msgid "Unable to mark '%{name}' as sensitive: the property itself was not assigned a value."
8545
8554
  msgstr ""
8546
8555
 
8547
- #: ../lib/puppet/type.rb:2496
8556
+ #: ../lib/puppet/type.rb:2497
8548
8557
  msgid "Unable to mark '%{name}' as sensitive: the property itself is not defined on %{type}."
8549
8558
  msgstr ""
8550
8559
 
8551
- #: ../lib/puppet/type.rb:2554
8560
+ #: ../lib/puppet/type.rb:2555
8552
8561
  msgid "Could not set %{attribute} on %{class_name}: %{detail}"
8553
8562
  msgstr ""
8554
8563
 
@@ -8746,7 +8755,7 @@ msgid "Not managing symlink mode"
8746
8755
  msgstr ""
8747
8756
 
8748
8757
  #. TRANSLATORS "source_permissions" is a parameter name and should not be translated
8749
- #: ../lib/puppet/type/file/source.rb:353
8758
+ #: ../lib/puppet/type/file/source.rb:368
8750
8759
  msgid "The `source_permissions` parameter is deprecated. Explicitly set `owner`, `group`, and `mode`."
8751
8760
  msgstr ""
8752
8761
 
@@ -8979,70 +8988,70 @@ msgstr ""
8979
8988
  msgid "Class name must be provided."
8980
8989
  msgstr ""
8981
8990
 
8982
- #: ../lib/puppet/util.rb:63
8991
+ #: ../lib/puppet/util.rb:64
8983
8992
  msgid "Unable to retrieve the environment for mode %{mode}"
8984
8993
  msgstr ""
8985
8994
 
8986
- #: ../lib/puppet/util.rb:80
8995
+ #: ../lib/puppet/util.rb:81
8987
8996
  msgid "Unable to clear the environment for mode %{mode}"
8988
8997
  msgstr ""
8989
8998
 
8990
- #: ../lib/puppet/util.rb:96
8999
+ #: ../lib/puppet/util.rb:97
8991
9000
  msgid "Unable to set the environment variable %{name} for mode %{mode}"
8992
9001
  msgstr ""
8993
9002
 
8994
- #: ../lib/puppet/util.rb:113
9003
+ #: ../lib/puppet/util.rb:114
8995
9004
  msgid "Unable to merge given values into the current environment for mode %{mode}"
8996
9005
  msgstr ""
8997
9006
 
8998
- #: ../lib/puppet/util.rb:155
9007
+ #: ../lib/puppet/util.rb:156
8999
9008
  msgid "could not change to group %{group}: %{detail}"
9000
9009
  msgstr ""
9001
9010
 
9002
- #: ../lib/puppet/util.rb:156
9011
+ #: ../lib/puppet/util.rb:157
9003
9012
  msgid "could not change to group %{group}"
9004
9013
  msgstr ""
9005
9014
 
9006
- #: ../lib/puppet/util.rb:169
9015
+ #: ../lib/puppet/util.rb:170
9007
9016
  msgid "Could not change to user %{user}: %{detail}"
9008
9017
  msgstr ""
9009
9018
 
9010
9019
  #. TRANSLATORS 'benchmark' is a method name and should not be translated
9011
- #: ../lib/puppet/util.rb:223
9020
+ #: ../lib/puppet/util.rb:224
9012
9021
  msgid "Failed to provide level to benchmark"
9013
9022
  msgstr ""
9014
9023
 
9015
- #: ../lib/puppet/util.rb:226
9024
+ #: ../lib/puppet/util.rb:227
9016
9025
  msgid "Benchmarked object does not respond to %{value}"
9017
9026
  msgstr ""
9018
9027
 
9019
9028
  #. TRANSLATORS PATH and HOME are environment variables and should not be translated
9020
- #: ../lib/puppet/util.rb:266
9029
+ #: ../lib/puppet/util.rb:267
9021
9030
  msgid "PATH contains a ~ character, and HOME is not set; ignoring PATH element '%{dir}'."
9022
9031
  msgstr ""
9023
9032
 
9024
9033
  #. TRANSLATORS PATH is an environment variable and should not be translated
9025
- #: ../lib/puppet/util.rb:270
9034
+ #: ../lib/puppet/util.rb:271
9026
9035
  msgid "Couldn't expand PATH containing a ~ character; ignoring PATH element '%{dir}'."
9027
9036
  msgstr ""
9028
9037
 
9029
- #: ../lib/puppet/util.rb:317
9038
+ #: ../lib/puppet/util.rb:318
9030
9039
  msgid "unknown platform %{platform} in absolute_path"
9031
9040
  msgstr ""
9032
9041
 
9033
- #: ../lib/puppet/util.rb:352
9042
+ #: ../lib/puppet/util.rb:353
9034
9043
  msgid "Failed to convert '%{path}' to URI: %{detail}"
9035
9044
  msgstr ""
9036
9045
 
9037
- #: ../lib/puppet/util.rb:452
9046
+ #: ../lib/puppet/util.rb:453
9038
9047
  msgid "path may not be nil"
9039
9048
  msgstr ""
9040
9049
 
9041
- #: ../lib/puppet/util.rb:620
9050
+ #: ../lib/puppet/util.rb:621
9042
9051
  msgid "replace_file requires a block"
9043
9052
  msgstr ""
9044
9053
 
9045
- #: ../lib/puppet/util.rb:624
9054
+ #: ../lib/puppet/util.rb:625
9046
9055
  msgid "replace_file default_mode: %{default_mode} is invalid"
9047
9056
  msgstr ""
9048
9057
 
@@ -9106,15 +9115,15 @@ msgstr ""
9106
9115
  msgid "Filebucketed %{f} to %{filebucket} with sum %{sum}"
9107
9116
  msgstr ""
9108
9117
 
9109
- #: ../lib/puppet/util/character_encoding.rb:22
9118
+ #: ../lib/puppet/util/character_encoding.rb:23
9110
9119
  msgid "%{value} is already labeled as UTF-8 but this encoding is invalid. It cannot be transcoded by Puppet."
9111
9120
  msgstr ""
9112
9121
 
9113
- #: ../lib/puppet/util/character_encoding.rb:43
9122
+ #: ../lib/puppet/util/character_encoding.rb:45
9114
9123
  msgid "%{error}: %{value} cannot be transcoded by Puppet."
9115
9124
  msgstr ""
9116
9125
 
9117
- #: ../lib/puppet/util/character_encoding.rb:70
9126
+ #: ../lib/puppet/util/character_encoding.rb:73
9118
9127
  msgid "%{value} is not valid UTF-8 and result of overriding encoding would be invalid."
9119
9128
  msgstr ""
9120
9129