puppet 6.19.1-x64-mingw32 → 6.23.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 (293) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +2 -16
  3. data/Gemfile +3 -1
  4. data/Gemfile.lock +51 -40
  5. data/ext/osx/puppet.plist +2 -0
  6. data/ext/project_data.yaml +2 -2
  7. data/lib/puppet/application.rb +10 -6
  8. data/lib/puppet/application/agent.rb +12 -4
  9. data/lib/puppet/application/apply.rb +4 -2
  10. data/lib/puppet/application/device.rb +2 -0
  11. data/lib/puppet/application/filebucket.rb +2 -2
  12. data/lib/puppet/application/resource.rb +2 -1
  13. data/lib/puppet/application/script.rb +2 -0
  14. data/lib/puppet/application/ssl.rb +11 -0
  15. data/lib/puppet/application_support.rb +7 -0
  16. data/lib/puppet/configurer.rb +28 -18
  17. data/lib/puppet/configurer/downloader.rb +2 -1
  18. data/lib/puppet/defaults.rb +51 -23
  19. data/lib/puppet/environments.rb +54 -55
  20. data/lib/puppet/face/config.rb +10 -0
  21. data/lib/puppet/face/epp.rb +12 -2
  22. data/lib/puppet/face/facts.rb +158 -0
  23. data/lib/puppet/ffi/posix.rb +10 -0
  24. data/lib/puppet/ffi/posix/constants.rb +14 -0
  25. data/lib/puppet/ffi/posix/functions.rb +24 -0
  26. data/lib/puppet/file_serving/fileset.rb +14 -2
  27. data/lib/puppet/file_system/memory_file.rb +8 -1
  28. data/lib/puppet/file_system/windows.rb +2 -0
  29. data/lib/puppet/functions/all.rb +1 -1
  30. data/lib/puppet/functions/camelcase.rb +1 -1
  31. data/lib/puppet/functions/capitalize.rb +2 -2
  32. data/lib/puppet/functions/downcase.rb +2 -2
  33. data/lib/puppet/functions/epp.rb +1 -0
  34. data/lib/puppet/functions/get.rb +5 -5
  35. data/lib/puppet/functions/group_by.rb +13 -5
  36. data/lib/puppet/functions/inline_epp.rb +1 -0
  37. data/lib/puppet/functions/lest.rb +1 -1
  38. data/lib/puppet/functions/new.rb +100 -100
  39. data/lib/puppet/functions/partition.rb +12 -4
  40. data/lib/puppet/functions/require.rb +5 -5
  41. data/lib/puppet/functions/sort.rb +3 -3
  42. data/lib/puppet/functions/tree_each.rb +7 -9
  43. data/lib/puppet/functions/type.rb +4 -4
  44. data/lib/puppet/functions/upcase.rb +2 -2
  45. data/lib/puppet/http/resolver/server_list.rb +15 -4
  46. data/lib/puppet/http/service/compiler.rb +69 -0
  47. data/lib/puppet/http/service/file_server.rb +2 -1
  48. data/lib/puppet/indirector/catalog/compiler.rb +1 -0
  49. data/lib/puppet/indirector/fact_search.rb +60 -0
  50. data/lib/puppet/indirector/facts/facter.rb +24 -3
  51. data/lib/puppet/indirector/facts/json.rb +27 -0
  52. data/lib/puppet/indirector/facts/yaml.rb +3 -58
  53. data/lib/puppet/indirector/file_metadata/rest.rb +1 -0
  54. data/lib/puppet/indirector/json.rb +5 -1
  55. data/lib/puppet/indirector/node/json.rb +8 -0
  56. data/lib/puppet/indirector/report/json.rb +34 -0
  57. data/lib/puppet/module_tool/applications/installer.rb +48 -2
  58. data/lib/puppet/module_tool/errors/shared.rb +17 -2
  59. data/lib/puppet/network/formats.rb +69 -1
  60. data/lib/puppet/network/http/factory.rb +4 -0
  61. data/lib/puppet/pal/pal_impl.rb +70 -17
  62. data/lib/puppet/parser/ast/leaf.rb +3 -2
  63. data/lib/puppet/parser/functions/fqdn_rand.rb +14 -6
  64. data/lib/puppet/parser/templatewrapper.rb +1 -1
  65. data/lib/puppet/pops/evaluator/deferred_resolver.rb +5 -3
  66. data/lib/puppet/pops/evaluator/evaluator_impl.rb +22 -3
  67. data/lib/puppet/pops/model/ast_transformer.rb +1 -1
  68. data/lib/puppet/pops/types/p_sem_ver_type.rb +8 -2
  69. data/lib/puppet/pops/types/p_sensitive_type.rb +10 -0
  70. data/lib/puppet/property/list.rb +1 -1
  71. data/lib/puppet/provider/group/groupadd.rb +13 -8
  72. data/lib/puppet/provider/package/apt.rb +34 -2
  73. data/lib/puppet/provider/package/aptitude.rb +6 -0
  74. data/lib/puppet/provider/package/dnfmodule.rb +1 -1
  75. data/lib/puppet/provider/package/nim.rb +11 -6
  76. data/lib/puppet/provider/service/debian.rb +2 -0
  77. data/lib/puppet/provider/service/systemd.rb +14 -4
  78. data/lib/puppet/provider/service/windows.rb +38 -0
  79. data/lib/puppet/provider/user/aix.rb +2 -2
  80. data/lib/puppet/provider/user/directoryservice.rb +25 -12
  81. data/lib/puppet/provider/user/useradd.rb +62 -8
  82. data/lib/puppet/reference/configuration.rb +7 -6
  83. data/lib/puppet/settings.rb +33 -28
  84. data/lib/puppet/settings/alias_setting.rb +37 -0
  85. data/lib/puppet/settings/base_setting.rb +26 -2
  86. data/lib/puppet/settings/environment_conf.rb +1 -0
  87. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  88. data/lib/puppet/type/file.rb +19 -1
  89. data/lib/puppet/type/file/selcontext.rb +1 -1
  90. data/lib/puppet/type/package.rb +3 -3
  91. data/lib/puppet/type/service.rb +18 -38
  92. data/lib/puppet/type/tidy.rb +21 -2
  93. data/lib/puppet/type/user.rb +38 -20
  94. data/lib/puppet/util/autoload.rb +1 -8
  95. data/lib/puppet/util/fact_dif.rb +81 -0
  96. data/lib/puppet/util/monkey_patches.rb +7 -0
  97. data/lib/puppet/util/posix.rb +54 -5
  98. data/lib/puppet/util/rubygems.rb +5 -1
  99. data/lib/puppet/util/selinux.rb +30 -4
  100. data/lib/puppet/util/windows/adsi.rb +46 -0
  101. data/lib/puppet/util/windows/api_types.rb +1 -1
  102. data/lib/puppet/util/windows/principal.rb +9 -2
  103. data/lib/puppet/util/windows/service.rb +1 -1
  104. data/lib/puppet/util/windows/sid.rb +4 -2
  105. data/lib/puppet/version.rb +1 -1
  106. data/locales/puppet.pot +372 -288
  107. data/man/man5/puppet.conf.5 +282 -254
  108. data/man/man8/puppet-agent.8 +2 -2
  109. data/man/man8/puppet-apply.8 +2 -2
  110. data/man/man8/puppet-catalog.8 +1 -1
  111. data/man/man8/puppet-config.8 +1 -1
  112. data/man/man8/puppet-describe.8 +1 -1
  113. data/man/man8/puppet-device.8 +2 -2
  114. data/man/man8/puppet-doc.8 +1 -1
  115. data/man/man8/puppet-epp.8 +1 -1
  116. data/man/man8/puppet-facts.8 +90 -1
  117. data/man/man8/puppet-filebucket.8 +3 -3
  118. data/man/man8/puppet-generate.8 +1 -1
  119. data/man/man8/puppet-help.8 +1 -1
  120. data/man/man8/puppet-key.8 +1 -1
  121. data/man/man8/puppet-lookup.8 +1 -1
  122. data/man/man8/puppet-man.8 +1 -1
  123. data/man/man8/puppet-module.8 +1 -1
  124. data/man/man8/puppet-node.8 +4 -1
  125. data/man/man8/puppet-parser.8 +1 -1
  126. data/man/man8/puppet-plugin.8 +1 -1
  127. data/man/man8/puppet-report.8 +4 -1
  128. data/man/man8/puppet-resource.8 +1 -1
  129. data/man/man8/puppet-script.8 +2 -2
  130. data/man/man8/puppet-ssl.8 +5 -1
  131. data/man/man8/puppet-status.8 +1 -1
  132. data/man/man8/puppet.8 +2 -2
  133. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +91 -0
  134. data/spec/fixtures/ssl/127.0.0.1-key.pem +107 -57
  135. data/spec/fixtures/ssl/127.0.0.1.pem +52 -31
  136. data/spec/fixtures/ssl/bad-basic-constraints.pem +57 -35
  137. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +57 -35
  138. data/spec/fixtures/ssl/ca.pem +57 -35
  139. data/spec/fixtures/ssl/crl.pem +28 -18
  140. data/spec/fixtures/ssl/ec-key.pem +11 -11
  141. data/spec/fixtures/ssl/ec.pem +33 -24
  142. data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
  143. data/spec/fixtures/ssl/encrypted-key.pem +108 -58
  144. data/spec/fixtures/ssl/intermediate-agent-crl.pem +28 -19
  145. data/spec/fixtures/ssl/intermediate-agent.pem +57 -36
  146. data/spec/fixtures/ssl/intermediate-crl.pem +31 -21
  147. data/spec/fixtures/ssl/intermediate.pem +57 -36
  148. data/spec/fixtures/ssl/pluto-key.pem +107 -57
  149. data/spec/fixtures/ssl/pluto.pem +52 -30
  150. data/spec/fixtures/ssl/request-key.pem +107 -57
  151. data/spec/fixtures/ssl/request.pem +47 -26
  152. data/spec/fixtures/ssl/revoked-key.pem +107 -57
  153. data/spec/fixtures/ssl/revoked.pem +52 -30
  154. data/spec/fixtures/ssl/signed-key.pem +107 -57
  155. data/spec/fixtures/ssl/signed.pem +52 -30
  156. data/spec/fixtures/ssl/tampered-cert.pem +52 -30
  157. data/spec/fixtures/ssl/tampered-csr.pem +47 -26
  158. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +107 -57
  159. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +50 -29
  160. data/spec/fixtures/ssl/unknown-ca-key.pem +107 -57
  161. data/spec/fixtures/ssl/unknown-ca.pem +55 -33
  162. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +9 -0
  163. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +4 -0
  164. data/spec/integration/application/agent_spec.rb +160 -3
  165. data/spec/integration/application/apply_spec.rb +19 -0
  166. data/spec/integration/application/plugin_spec.rb +1 -1
  167. data/spec/integration/application/resource_spec.rb +30 -0
  168. data/spec/integration/defaults_spec.rb +0 -7
  169. data/spec/integration/environments/setting_hooks_spec.rb +1 -1
  170. data/spec/integration/http/client_spec.rb +12 -0
  171. data/spec/integration/indirector/direct_file_server_spec.rb +1 -3
  172. data/spec/integration/resource/type_collection_spec.rb +2 -6
  173. data/spec/integration/transaction_spec.rb +4 -9
  174. data/spec/integration/util/windows/adsi_spec.rb +21 -1
  175. data/spec/integration/util/windows/principal_spec.rb +21 -0
  176. data/spec/integration/util/windows/registry_spec.rb +6 -10
  177. data/spec/lib/puppet/test_ca.rb +2 -2
  178. data/spec/lib/puppet_spec/settings.rb +6 -1
  179. data/spec/spec_helper.rb +12 -5
  180. data/spec/unit/agent_spec.rb +8 -6
  181. data/spec/unit/application/agent_spec.rb +7 -3
  182. data/spec/unit/application/config_spec.rb +224 -4
  183. data/spec/unit/application/facts_spec.rb +482 -3
  184. data/spec/unit/application/filebucket_spec.rb +0 -2
  185. data/spec/unit/application/ssl_spec.rb +23 -0
  186. data/spec/unit/application_spec.rb +51 -9
  187. data/spec/unit/configurer/downloader_spec.rb +6 -0
  188. data/spec/unit/configurer_spec.rb +23 -0
  189. data/spec/unit/confine/feature_spec.rb +1 -1
  190. data/spec/unit/confine_spec.rb +8 -2
  191. data/spec/unit/defaults_spec.rb +36 -1
  192. data/spec/unit/environments_spec.rb +221 -68
  193. data/spec/unit/face/config_spec.rb +27 -32
  194. data/spec/unit/face/facts_spec.rb +4 -0
  195. data/spec/unit/face/node_spec.rb +0 -11
  196. data/spec/unit/file_serving/configuration/parser_spec.rb +0 -1
  197. data/spec/unit/file_serving/fileset_spec.rb +60 -0
  198. data/spec/unit/file_serving/metadata_spec.rb +3 -3
  199. data/spec/unit/file_serving/terminus_helper_spec.rb +11 -4
  200. data/spec/unit/file_system_spec.rb +9 -0
  201. data/spec/unit/forge/module_release_spec.rb +2 -7
  202. data/spec/unit/functions/inline_epp_spec.rb +26 -1
  203. data/spec/unit/gettext/config_spec.rb +12 -0
  204. data/spec/unit/http/service/compiler_spec.rb +172 -0
  205. data/spec/unit/http/service_spec.rb +1 -1
  206. data/spec/unit/indirector/catalog/compiler_spec.rb +14 -10
  207. data/spec/unit/indirector/face_spec.rb +0 -1
  208. data/spec/unit/indirector/facts/facter_spec.rb +95 -1
  209. data/spec/unit/indirector/facts/json_spec.rb +255 -0
  210. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +26 -8
  211. data/spec/unit/indirector/indirection_spec.rb +8 -12
  212. data/spec/unit/indirector/key/file_spec.rb +0 -1
  213. data/spec/unit/indirector/node/json_spec.rb +33 -0
  214. data/spec/{integration/indirector/report/yaml.rb → unit/indirector/report/json_spec.rb} +13 -24
  215. data/spec/unit/indirector/report/yaml_spec.rb +72 -8
  216. data/spec/unit/indirector_spec.rb +2 -2
  217. data/spec/unit/module_tool/applications/installer_spec.rb +66 -0
  218. data/spec/unit/network/authconfig_spec.rb +0 -3
  219. data/spec/unit/network/formats_spec.rb +41 -0
  220. data/spec/unit/network/http/api/indirected_routes_spec.rb +0 -9
  221. data/spec/unit/network/http/factory_spec.rb +19 -0
  222. data/spec/unit/network/http/handler_spec.rb +0 -5
  223. data/spec/unit/parser/compiler_spec.rb +3 -19
  224. data/spec/unit/parser/functions/fqdn_rand_spec.rb +15 -1
  225. data/spec/unit/parser/resource_spec.rb +14 -8
  226. data/spec/unit/parser/templatewrapper_spec.rb +4 -3
  227. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +20 -0
  228. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +18 -0
  229. data/spec/unit/pops/types/p_sensitive_type_spec.rb +18 -0
  230. data/spec/unit/property_spec.rb +1 -0
  231. data/spec/unit/provider/group/groupadd_spec.rb +5 -2
  232. data/spec/unit/provider/nameservice_spec.rb +66 -65
  233. data/spec/unit/provider/package/apt_spec.rb +28 -23
  234. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  235. data/spec/unit/provider/package/base_spec.rb +6 -5
  236. data/spec/unit/provider/package/dnfmodule_spec.rb +10 -1
  237. data/spec/unit/provider/package/nim_spec.rb +42 -0
  238. data/spec/unit/provider/package/pacman_spec.rb +18 -12
  239. data/spec/unit/provider/package/pip_spec.rb +6 -11
  240. data/spec/unit/provider/package/pkgdmg_spec.rb +0 -4
  241. data/spec/unit/provider/service/init_spec.rb +1 -0
  242. data/spec/unit/provider/service/openwrt_spec.rb +3 -1
  243. data/spec/unit/provider/service/systemd_spec.rb +53 -8
  244. data/spec/unit/provider/service/windows_spec.rb +202 -0
  245. data/spec/unit/provider/user/aix_spec.rb +5 -0
  246. data/spec/unit/provider/user/directoryservice_spec.rb +67 -35
  247. data/spec/unit/provider/user/hpux_spec.rb +1 -1
  248. data/spec/unit/provider/user/pw_spec.rb +2 -0
  249. data/spec/unit/provider/user/useradd_spec.rb +71 -3
  250. data/spec/unit/provider_spec.rb +8 -10
  251. data/spec/unit/puppet_pal_catalog_spec.rb +45 -0
  252. data/spec/unit/resource/capability_finder_spec.rb +6 -1
  253. data/spec/unit/resource/catalog_spec.rb +1 -1
  254. data/spec/unit/resource/type_spec.rb +1 -1
  255. data/spec/unit/resource_spec.rb +11 -10
  256. data/spec/unit/settings_spec.rb +419 -242
  257. data/spec/unit/ssl/base_spec.rb +0 -1
  258. data/spec/unit/ssl/host_spec.rb +0 -5
  259. data/spec/unit/ssl/ssl_provider_spec.rb +14 -8
  260. data/spec/unit/ssl/state_machine_spec.rb +19 -5
  261. data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -9
  262. data/spec/unit/transaction/event_manager_spec.rb +14 -11
  263. data/spec/unit/transaction_spec.rb +18 -11
  264. data/spec/unit/type/file/content_spec.rb +0 -1
  265. data/spec/unit/type/file/selinux_spec.rb +3 -5
  266. data/spec/unit/type/file_spec.rb +0 -6
  267. data/spec/unit/type/group_spec.rb +13 -6
  268. data/spec/unit/type/resources_spec.rb +7 -7
  269. data/spec/unit/type/service_spec.rb +60 -189
  270. data/spec/unit/type/tidy_spec.rb +17 -8
  271. data/spec/unit/type/user_spec.rb +45 -0
  272. data/spec/unit/type_spec.rb +2 -2
  273. data/spec/unit/util/at_fork_spec.rb +2 -2
  274. data/spec/unit/util/autoload_spec.rb +5 -1
  275. data/spec/unit/util/backups_spec.rb +1 -2
  276. data/spec/unit/util/execution_spec.rb +15 -11
  277. data/spec/unit/util/inifile_spec.rb +6 -14
  278. data/spec/unit/util/log_spec.rb +8 -7
  279. data/spec/unit/util/logging_spec.rb +3 -3
  280. data/spec/unit/util/posix_spec.rb +363 -15
  281. data/spec/unit/util/rubygems_spec.rb +2 -2
  282. data/spec/unit/util/selinux_spec.rb +163 -68
  283. data/spec/unit/util/storage_spec.rb +3 -1
  284. data/spec/unit/util/suidmanager_spec.rb +44 -41
  285. data/spec/unit/util/windows/sid_spec.rb +6 -0
  286. data/spec/unit/util_spec.rb +13 -6
  287. data/tasks/generate_cert_fixtures.rake +2 -2
  288. metadata +33 -16
  289. data/spec/integration/application/config_spec.rb +0 -74
  290. data/spec/lib/matchers/include.rb +0 -27
  291. data/spec/lib/matchers/include_spec.rb +0 -32
  292. data/spec/unit/face/catalog_spec.rb +0 -6
  293. data/spec/unit/face/module_spec.rb +0 -3
@@ -158,6 +158,12 @@ describe "Puppet::Util::Windows::SID", :if => Puppet::Util::Platform.windows? do
158
158
  # this works in French Windows, even though the account is really AUTORITE NT\\Syst\u00E8me
159
159
  expect(subject.name_to_principal('NT AUTHORITY\SYSTEM').sid).to eq(sid)
160
160
  end
161
+
162
+ it "should print a debug message on failures" do
163
+ expect(Puppet).to receive(:debug).with(/Could not retrieve raw SID bytes from 'NonExistingUser'/)
164
+ expect(Puppet).to receive(:debug).with(/No mapping between account names and security IDs was done/)
165
+ subject.name_to_principal('NonExistingUser')
166
+ end
161
167
  end
162
168
 
163
169
  context "#ads_to_principal" do
@@ -315,7 +315,7 @@ describe Puppet::Util do
315
315
 
316
316
  describe "when using platform :posix" do
317
317
  before :each do
318
- allow(Puppet.features).to receive(:posix).and_return(true)
318
+ allow(Puppet.features).to receive(:posix?).and_return(true)
319
319
  allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
320
320
  end
321
321
 
@@ -328,7 +328,7 @@ describe Puppet::Util do
328
328
 
329
329
  describe "when using platform :windows" do
330
330
  before :each do
331
- allow(Puppet.features).to receive(:posix).and_return(false)
331
+ allow(Puppet.features).to receive(:posix?).and_return(false)
332
332
  allow(Puppet::Util::Platform).to receive(:windows?).and_return(true)
333
333
  end
334
334
 
@@ -462,7 +462,7 @@ describe Puppet::Util do
462
462
 
463
463
  describe "when using platform :posix" do
464
464
  before :each do
465
- allow(Puppet.features).to receive(:posix).and_return(true)
465
+ allow(Puppet.features).to receive(:posix?).and_return(true)
466
466
  allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
467
467
  end
468
468
 
@@ -501,7 +501,7 @@ describe Puppet::Util do
501
501
 
502
502
  describe "when using platform :windows" do
503
503
  before :each do
504
- allow(Puppet.features).to receive(:posix).and_return(false)
504
+ allow(Puppet.features).to receive(:posix?).and_return(false)
505
505
  allow(Puppet::Util::Platform).to receive(:windows?).and_return(true)
506
506
  end
507
507
 
@@ -539,7 +539,6 @@ describe Puppet::Util do
539
539
  expect(Puppet::Util.uri_to_path(URI.parse('http://foo/bar%20baz'))).to eq('/bar baz')
540
540
  end
541
541
 
542
-
543
542
  [
544
543
  "http://foo/A%DB%BF%E1%9A%A0%F0%A0%9C%8E",
545
544
  "http://foo/A%DB%BF%E1%9A%A0%F0%A0%9C%8E".force_encoding(Encoding::ASCII)
@@ -589,7 +588,15 @@ describe Puppet::Util do
589
588
  end
590
589
  end
591
590
 
592
- describe "safe_posix_fork" do
591
+ describe "safe_posix_fork on Windows and JRuby", if: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
592
+ it "raises not implemented error" do
593
+ expect {
594
+ Puppet::Util.safe_posix_fork
595
+ }.to raise_error(NotImplementedError, /fork/)
596
+ end
597
+ end
598
+
599
+ describe "safe_posix_fork", unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
593
600
  let(:pid) { 5501 }
594
601
 
595
602
  before :each do
@@ -173,12 +173,12 @@ task(:gen_cert_fixtures) do
173
173
 
174
174
  # Create a request, but replace its public key after it's signed
175
175
  tampered_csr = ca.create_request('signed')[:csr]
176
- tampered_csr.public_key = OpenSSL::PKey::RSA.new(1024).public_key
176
+ tampered_csr.public_key = OpenSSL::PKey::RSA.new(2048).public_key
177
177
  save(dir, 'tampered-csr.pem', tampered_csr)
178
178
 
179
179
  # Create a cert issued from the real intermediate CA, but replace its
180
180
  # public key
181
181
  tampered_cert = ca.create_cert('signed', inter[:cert], inter[:private_key])[:cert]
182
- tampered_cert.public_key = OpenSSL::PKey::RSA.new(1024).public_key
182
+ tampered_cert.public_key = OpenSSL::PKey::RSA.new(2048).public_key
183
183
  save(dir, 'tampered-cert.pem', tampered_cert)
184
184
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.19.1
4
+ version: 6.23.0
5
5
  platform: x64-mingw32
6
6
  authors:
7
7
  - Puppet Labs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-22 00:00:00.000000000 Z
11
+ date: 2021-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: facter
@@ -186,16 +186,22 @@ dependencies:
186
186
  name: win32-dir
187
187
  requirement: !ruby/object:Gem::Requirement
188
188
  requirements:
189
- - - '='
189
+ - - ">="
190
190
  - !ruby/object:Gem::Version
191
191
  version: 0.4.9
192
+ - - "<="
193
+ - !ruby/object:Gem::Version
194
+ version: 0.7.2
192
195
  type: :runtime
193
196
  prerelease: false
194
197
  version_requirements: !ruby/object:Gem::Requirement
195
198
  requirements:
196
- - - '='
199
+ - - ">="
197
200
  - !ruby/object:Gem::Version
198
201
  version: 0.4.9
202
+ - - "<="
203
+ - !ruby/object:Gem::Version
204
+ version: 0.7.2
199
205
  - !ruby/object:Gem::Dependency
200
206
  name: win32-process
201
207
  requirement: !ruby/object:Gem::Requirement
@@ -512,6 +518,9 @@ files:
512
518
  - lib/puppet/feature/ssh.rb
513
519
  - lib/puppet/feature/telnet.rb
514
520
  - lib/puppet/feature/zlib.rb
521
+ - lib/puppet/ffi/posix.rb
522
+ - lib/puppet/ffi/posix/constants.rb
523
+ - lib/puppet/ffi/posix/functions.rb
515
524
  - lib/puppet/file_bucket.rb
516
525
  - lib/puppet/file_bucket/dipper.rb
517
526
  - lib/puppet/file_bucket/file.rb
@@ -686,7 +695,9 @@ files:
686
695
  - lib/puppet/indirector/errors.rb
687
696
  - lib/puppet/indirector/exec.rb
688
697
  - lib/puppet/indirector/face.rb
698
+ - lib/puppet/indirector/fact_search.rb
689
699
  - lib/puppet/indirector/facts/facter.rb
700
+ - lib/puppet/indirector/facts/json.rb
690
701
  - lib/puppet/indirector/facts/memory.rb
691
702
  - lib/puppet/indirector/facts/network_device.rb
692
703
  - lib/puppet/indirector/facts/rest.rb
@@ -717,6 +728,7 @@ files:
717
728
  - lib/puppet/indirector/memory.rb
718
729
  - lib/puppet/indirector/msgpack.rb
719
730
  - lib/puppet/indirector/node/exec.rb
731
+ - lib/puppet/indirector/node/json.rb
720
732
  - lib/puppet/indirector/node/memory.rb
721
733
  - lib/puppet/indirector/node/msgpack.rb
722
734
  - lib/puppet/indirector/node/plain.rb
@@ -725,6 +737,7 @@ files:
725
737
  - lib/puppet/indirector/node/yaml.rb
726
738
  - lib/puppet/indirector/none.rb
727
739
  - lib/puppet/indirector/plain.rb
740
+ - lib/puppet/indirector/report/json.rb
728
741
  - lib/puppet/indirector/report/msgpack.rb
729
742
  - lib/puppet/indirector/report/processor.rb
730
743
  - lib/puppet/indirector/report/rest.rb
@@ -1229,6 +1242,7 @@ files:
1229
1242
  - lib/puppet/scheduler/splay_job.rb
1230
1243
  - lib/puppet/scheduler/timer.rb
1231
1244
  - lib/puppet/settings.rb
1245
+ - lib/puppet/settings/alias_setting.rb
1232
1246
  - lib/puppet/settings/array_setting.rb
1233
1247
  - lib/puppet/settings/autosign_setting.rb
1234
1248
  - lib/puppet/settings/base_setting.rb
@@ -1337,6 +1351,7 @@ files:
1337
1351
  - lib/puppet/util/errors.rb
1338
1352
  - lib/puppet/util/execution.rb
1339
1353
  - lib/puppet/util/execution_stub.rb
1354
+ - lib/puppet/util/fact_dif.rb
1340
1355
  - lib/puppet/util/feature.rb
1341
1356
  - lib/puppet/util/file_watcher.rb
1342
1357
  - lib/puppet/util/fileparsing.rb
@@ -1491,6 +1506,7 @@ files:
1491
1506
  - man/man8/puppet.8
1492
1507
  - spec/fixtures/faulty_face/puppet/face/syntax.rb
1493
1508
  - spec/fixtures/hiera.yaml
1509
+ - spec/fixtures/integration/application/agent/cached_deferred_catalog.json
1494
1510
  - spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb
1495
1511
  - spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb
1496
1512
  - spec/fixtures/integration/node/environment/sitedir/00_a.pp
@@ -1867,6 +1883,7 @@ files:
1867
1883
  - spec/fixtures/unit/provider/service/smf/svcs_fmri.out
1868
1884
  - spec/fixtures/unit/provider/service/smf/svcs_multiple_fmris.out
1869
1885
  - spec/fixtures/unit/provider/service/systemd/list_unit_files_services
1886
+ - spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset
1870
1887
  - spec/fixtures/unit/provider/user/aix/aix_passwd_file.out
1871
1888
  - spec/fixtures/unit/reports/tagmail/tagmail_email.conf
1872
1889
  - spec/fixtures/unit/reports/tagmail/tagmail_failers.conf
@@ -1890,13 +1907,13 @@ files:
1890
1907
  - spec/integration/agent/logging_spec.rb
1891
1908
  - spec/integration/application/agent_spec.rb
1892
1909
  - spec/integration/application/apply_spec.rb
1893
- - spec/integration/application/config_spec.rb
1894
1910
  - spec/integration/application/doc_spec.rb
1895
1911
  - spec/integration/application/filebucket_spec.rb
1896
1912
  - spec/integration/application/help_spec.rb
1897
1913
  - spec/integration/application/lookup_spec.rb
1898
1914
  - spec/integration/application/module_spec.rb
1899
1915
  - spec/integration/application/plugin_spec.rb
1916
+ - spec/integration/application/resource_spec.rb
1900
1917
  - spec/integration/configurer_spec.rb
1901
1918
  - spec/integration/data_binding_spec.rb
1902
1919
  - spec/integration/defaults_spec.rb
@@ -1911,7 +1928,6 @@ files:
1911
1928
  - spec/integration/indirector/facts/facter_spec.rb
1912
1929
  - spec/integration/indirector/file_content/file_server_spec.rb
1913
1930
  - spec/integration/indirector/file_metadata/file_server_spec.rb
1914
- - spec/integration/indirector/report/yaml.rb
1915
1931
  - spec/integration/network/authconfig_spec.rb
1916
1932
  - spec/integration/network/formats_spec.rb
1917
1933
  - spec/integration/network/http/api/indirected_routes_spec.rb
@@ -1957,10 +1973,8 @@ files:
1957
1973
  - spec/integration/util/windows/user_spec.rb
1958
1974
  - spec/integration/util_spec.rb
1959
1975
  - spec/lib/matchers/containment_matchers.rb
1960
- - spec/lib/matchers/include.rb
1961
1976
  - spec/lib/matchers/include_in_order.rb
1962
1977
  - spec/lib/matchers/include_in_order_spec.rb
1963
- - spec/lib/matchers/include_spec.rb
1964
1978
  - spec/lib/matchers/json.rb
1965
1979
  - spec/lib/matchers/match_tokens2.rb
1966
1980
  - spec/lib/matchers/relationship_graph_matchers.rb
@@ -2057,7 +2071,6 @@ files:
2057
2071
  - spec/unit/environments_spec.rb
2058
2072
  - spec/unit/etc_spec.rb
2059
2073
  - spec/unit/external/pson_spec.rb
2060
- - spec/unit/face/catalog_spec.rb
2061
2074
  - spec/unit/face/config_spec.rb
2062
2075
  - spec/unit/face/epp_face_spec.rb
2063
2076
  - spec/unit/face/facts_spec.rb
@@ -2069,7 +2082,6 @@ files:
2069
2082
  - spec/unit/face/module/search_spec.rb
2070
2083
  - spec/unit/face/module/uninstall_spec.rb
2071
2084
  - spec/unit/face/module/upgrade_spec.rb
2072
- - spec/unit/face/module_spec.rb
2073
2085
  - spec/unit/face/node_spec.rb
2074
2086
  - spec/unit/face/parser_spec.rb
2075
2087
  - spec/unit/face/plugin_spec.rb
@@ -2214,6 +2226,7 @@ files:
2214
2226
  - spec/unit/indirector/exec_spec.rb
2215
2227
  - spec/unit/indirector/face_spec.rb
2216
2228
  - spec/unit/indirector/facts/facter_spec.rb
2229
+ - spec/unit/indirector/facts/json_spec.rb
2217
2230
  - spec/unit/indirector/facts/network_device_spec.rb
2218
2231
  - spec/unit/indirector/facts/rest_spec.rb
2219
2232
  - spec/unit/indirector/facts/store_configs_spec.rb
@@ -2238,6 +2251,7 @@ files:
2238
2251
  - spec/unit/indirector/memory_spec.rb
2239
2252
  - spec/unit/indirector/msgpack_spec.rb
2240
2253
  - spec/unit/indirector/node/exec_spec.rb
2254
+ - spec/unit/indirector/node/json_spec.rb
2241
2255
  - spec/unit/indirector/node/memory_spec.rb
2242
2256
  - spec/unit/indirector/node/msgpack_spec.rb
2243
2257
  - spec/unit/indirector/node/plain_spec.rb
@@ -2246,6 +2260,7 @@ files:
2246
2260
  - spec/unit/indirector/node/yaml_spec.rb
2247
2261
  - spec/unit/indirector/none_spec.rb
2248
2262
  - spec/unit/indirector/plain_spec.rb
2263
+ - spec/unit/indirector/report/json_spec.rb
2249
2264
  - spec/unit/indirector/report/msgpack_spec.rb
2250
2265
  - spec/unit/indirector/report/processor_spec.rb
2251
2266
  - spec/unit/indirector/report/rest_spec.rb
@@ -2370,6 +2385,7 @@ files:
2370
2385
  - spec/unit/pops/evaluator/collections_ops_spec.rb
2371
2386
  - spec/unit/pops/evaluator/comparison_ops_spec.rb
2372
2387
  - spec/unit/pops/evaluator/conditionals_spec.rb
2388
+ - spec/unit/pops/evaluator/deferred_resolver_spec.rb
2373
2389
  - spec/unit/pops/evaluator/evaluating_parser_spec.rb
2374
2390
  - spec/unit/pops/evaluator/evaluator_rspec_helper.rb
2375
2391
  - spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb
@@ -2760,6 +2776,7 @@ summary: Puppet, an automated configuration management tool
2760
2776
  test_files:
2761
2777
  - spec/fixtures/faulty_face/puppet/face/syntax.rb
2762
2778
  - spec/fixtures/hiera.yaml
2779
+ - spec/fixtures/integration/application/agent/cached_deferred_catalog.json
2763
2780
  - spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb
2764
2781
  - spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb
2765
2782
  - spec/fixtures/integration/node/environment/sitedir/00_a.pp
@@ -3136,6 +3153,7 @@ test_files:
3136
3153
  - spec/fixtures/unit/provider/service/smf/svcs_fmri.out
3137
3154
  - spec/fixtures/unit/provider/service/smf/svcs_multiple_fmris.out
3138
3155
  - spec/fixtures/unit/provider/service/systemd/list_unit_files_services
3156
+ - spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset
3139
3157
  - spec/fixtures/unit/provider/user/aix/aix_passwd_file.out
3140
3158
  - spec/fixtures/unit/reports/tagmail/tagmail_email.conf
3141
3159
  - spec/fixtures/unit/reports/tagmail/tagmail_failers.conf
@@ -3159,13 +3177,13 @@ test_files:
3159
3177
  - spec/integration/agent/logging_spec.rb
3160
3178
  - spec/integration/application/agent_spec.rb
3161
3179
  - spec/integration/application/apply_spec.rb
3162
- - spec/integration/application/config_spec.rb
3163
3180
  - spec/integration/application/doc_spec.rb
3164
3181
  - spec/integration/application/filebucket_spec.rb
3165
3182
  - spec/integration/application/help_spec.rb
3166
3183
  - spec/integration/application/lookup_spec.rb
3167
3184
  - spec/integration/application/module_spec.rb
3168
3185
  - spec/integration/application/plugin_spec.rb
3186
+ - spec/integration/application/resource_spec.rb
3169
3187
  - spec/integration/configurer_spec.rb
3170
3188
  - spec/integration/data_binding_spec.rb
3171
3189
  - spec/integration/defaults_spec.rb
@@ -3180,7 +3198,6 @@ test_files:
3180
3198
  - spec/integration/indirector/facts/facter_spec.rb
3181
3199
  - spec/integration/indirector/file_content/file_server_spec.rb
3182
3200
  - spec/integration/indirector/file_metadata/file_server_spec.rb
3183
- - spec/integration/indirector/report/yaml.rb
3184
3201
  - spec/integration/network/authconfig_spec.rb
3185
3202
  - spec/integration/network/formats_spec.rb
3186
3203
  - spec/integration/network/http/api/indirected_routes_spec.rb
@@ -3226,10 +3243,8 @@ test_files:
3226
3243
  - spec/integration/util/windows/user_spec.rb
3227
3244
  - spec/integration/util_spec.rb
3228
3245
  - spec/lib/matchers/containment_matchers.rb
3229
- - spec/lib/matchers/include.rb
3230
3246
  - spec/lib/matchers/include_in_order.rb
3231
3247
  - spec/lib/matchers/include_in_order_spec.rb
3232
- - spec/lib/matchers/include_spec.rb
3233
3248
  - spec/lib/matchers/json.rb
3234
3249
  - spec/lib/matchers/match_tokens2.rb
3235
3250
  - spec/lib/matchers/relationship_graph_matchers.rb
@@ -3326,7 +3341,6 @@ test_files:
3326
3341
  - spec/unit/environments_spec.rb
3327
3342
  - spec/unit/etc_spec.rb
3328
3343
  - spec/unit/external/pson_spec.rb
3329
- - spec/unit/face/catalog_spec.rb
3330
3344
  - spec/unit/face/config_spec.rb
3331
3345
  - spec/unit/face/epp_face_spec.rb
3332
3346
  - spec/unit/face/facts_spec.rb
@@ -3338,7 +3352,6 @@ test_files:
3338
3352
  - spec/unit/face/module/search_spec.rb
3339
3353
  - spec/unit/face/module/uninstall_spec.rb
3340
3354
  - spec/unit/face/module/upgrade_spec.rb
3341
- - spec/unit/face/module_spec.rb
3342
3355
  - spec/unit/face/node_spec.rb
3343
3356
  - spec/unit/face/parser_spec.rb
3344
3357
  - spec/unit/face/plugin_spec.rb
@@ -3483,6 +3496,7 @@ test_files:
3483
3496
  - spec/unit/indirector/exec_spec.rb
3484
3497
  - spec/unit/indirector/face_spec.rb
3485
3498
  - spec/unit/indirector/facts/facter_spec.rb
3499
+ - spec/unit/indirector/facts/json_spec.rb
3486
3500
  - spec/unit/indirector/facts/network_device_spec.rb
3487
3501
  - spec/unit/indirector/facts/rest_spec.rb
3488
3502
  - spec/unit/indirector/facts/store_configs_spec.rb
@@ -3507,6 +3521,7 @@ test_files:
3507
3521
  - spec/unit/indirector/memory_spec.rb
3508
3522
  - spec/unit/indirector/msgpack_spec.rb
3509
3523
  - spec/unit/indirector/node/exec_spec.rb
3524
+ - spec/unit/indirector/node/json_spec.rb
3510
3525
  - spec/unit/indirector/node/memory_spec.rb
3511
3526
  - spec/unit/indirector/node/msgpack_spec.rb
3512
3527
  - spec/unit/indirector/node/plain_spec.rb
@@ -3515,6 +3530,7 @@ test_files:
3515
3530
  - spec/unit/indirector/node/yaml_spec.rb
3516
3531
  - spec/unit/indirector/none_spec.rb
3517
3532
  - spec/unit/indirector/plain_spec.rb
3533
+ - spec/unit/indirector/report/json_spec.rb
3518
3534
  - spec/unit/indirector/report/msgpack_spec.rb
3519
3535
  - spec/unit/indirector/report/processor_spec.rb
3520
3536
  - spec/unit/indirector/report/rest_spec.rb
@@ -3639,6 +3655,7 @@ test_files:
3639
3655
  - spec/unit/pops/evaluator/collections_ops_spec.rb
3640
3656
  - spec/unit/pops/evaluator/comparison_ops_spec.rb
3641
3657
  - spec/unit/pops/evaluator/conditionals_spec.rb
3658
+ - spec/unit/pops/evaluator/deferred_resolver_spec.rb
3642
3659
  - spec/unit/pops/evaluator/evaluating_parser_spec.rb
3643
3660
  - spec/unit/pops/evaluator/evaluator_rspec_helper.rb
3644
3661
  - spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb
@@ -1,74 +0,0 @@
1
- # coding: utf-8
2
- require 'spec_helper'
3
- require 'puppet/application/config'
4
-
5
- #describe "puppet config" do
6
- describe Puppet::Face[:config, '0.0.1'] do
7
- include PuppetSpec::Files
8
-
9
- # different UTF-8 widths
10
- # 1-byte A
11
- # 2-byte ۿ - http://www.fileformat.info/info/unicode/char/06ff/index.htm - 0xDB 0xBF / 219 191
12
- # 3-byte ᚠ - http://www.fileformat.info/info/unicode/char/16A0/index.htm - 0xE1 0x9A 0xA0 / 225 154 160
13
- # 4-byte 𠜎 - http://www.fileformat.info/info/unicode/char/2070E/index.htm - 0xF0 0xA0 0x9C 0x8E / 240 160 156 142
14
- MIXED_UTF8 = "A\u06FF\u16A0\u{2070E}" # Aۿᚠ𠜎
15
-
16
- let(:tmp_config) { tmpfile('puppet.conf') }
17
- let(:config) { Puppet::Application[:config] }
18
-
19
- def read_utf8(path)
20
- File.read(tmp_config, :encoding => 'UTF-8')
21
- end
22
-
23
- def write_utf8(path, content)
24
- File.write(tmp_config, content, 0, :encoding => 'UTF-8')
25
- end
26
-
27
- it "reads a UTF-8 value" do
28
- write_utf8(tmp_config, <<~EOF)
29
- [main]
30
- tags=#{MIXED_UTF8}
31
- EOF
32
-
33
- Puppet.initialize_settings(['--config', tmp_config])
34
- config.command_line.args = ['print', 'tags' ]
35
-
36
- expect {
37
- config.run
38
- }.to exit_with(0)
39
- .and output("#{MIXED_UTF8}\n").to_stdout
40
- end
41
-
42
- it "sets a UTF-8 value" do
43
- Puppet.initialize_settings(['--config', tmp_config])
44
- config.command_line.args = ['set', 'tags', MIXED_UTF8 ]
45
-
46
- expect {
47
- config.run
48
- }.to exit_with(0)
49
-
50
- expect(read_utf8(tmp_config)).to eq(<<~EOF)
51
- [main]
52
- tags = #{MIXED_UTF8}
53
- EOF
54
- end
55
-
56
- it "deletes a key" do
57
- write_utf8(tmp_config, <<~EOF)
58
- [main]
59
- tags=#{MIXED_UTF8}
60
- EOF
61
-
62
- Puppet.initialize_settings(['--config', tmp_config])
63
- config.command_line.args = ['delete', 'tags']
64
-
65
- expect {
66
- config.run
67
- }.to exit_with(0)
68
- .and output(/Deleted setting from 'main': 'tags=#{MIXED_UTF8}'/).to_stdout
69
-
70
- expect(read_utf8(tmp_config)).to eq(<<~EOF)
71
- [main]
72
- EOF
73
- end
74
- end
@@ -1,27 +0,0 @@
1
- module Matchers; module Include
2
- extend RSpec::Matchers::DSL
3
-
4
- matcher :include_in_any_order do |*matchers|
5
- match do |enumerable|
6
- @not_matched = []
7
- expected_as_array.each do |matcher|
8
- if enumerable.empty?
9
- break
10
- end
11
-
12
- if found = enumerable.find { |elem| matcher.matches?(elem) }
13
- enumerable = enumerable.reject { |elem| elem == found }
14
- else
15
- @not_matched << matcher
16
- end
17
- end
18
-
19
-
20
- @not_matched.empty? && enumerable.empty?
21
- end
22
-
23
- failure_message do |enumerable|
24
- "did not match #{@not_matched.collect(&:description).join(', ')} in #{enumerable.inspect}: <#{@not_matched.collect(&:failure_message).join('>, <')}>"
25
- end
26
- end
27
- end; end