puppet 6.29.0-x86-mingw32 → 7.0.0-x86-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 (811) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +16 -2
  3. data/CONTRIBUTING.md +5 -5
  4. data/Gemfile +5 -7
  5. data/Gemfile.lock +52 -143
  6. data/README.md +5 -5
  7. data/conf/fileserver.conf +5 -10
  8. data/ext/README.environment +8 -0
  9. data/ext/build_defaults.yaml +1 -1
  10. data/ext/dbfix.sql +132 -0
  11. data/ext/debian/README.Debian +8 -0
  12. data/ext/debian/README.source +2 -0
  13. data/ext/debian/TODO.Debian +1 -0
  14. data/ext/debian/changelog.erb +1122 -0
  15. data/ext/debian/compat +1 -0
  16. data/ext/debian/control +144 -0
  17. data/ext/debian/copyright +339 -0
  18. data/ext/debian/docs +1 -0
  19. data/ext/debian/fileserver.conf +41 -0
  20. data/ext/debian/puppet-common.dirs +13 -0
  21. data/ext/debian/puppet-common.install +3 -0
  22. data/ext/debian/puppet-common.lintian-overrides +5 -0
  23. data/ext/debian/puppet-common.manpages +28 -0
  24. data/ext/debian/puppet-common.postinst +35 -0
  25. data/ext/debian/puppet-common.postrm +33 -0
  26. data/ext/debian/puppet-el.dirs +1 -0
  27. data/ext/debian/puppet-el.emacsen-install +25 -0
  28. data/ext/debian/puppet-el.emacsen-remove +11 -0
  29. data/ext/debian/puppet-el.emacsen-startup +9 -0
  30. data/ext/debian/puppet-el.install +1 -0
  31. data/ext/debian/puppet-testsuite.install +2 -0
  32. data/ext/debian/puppet-testsuite.lintian-overrides +4 -0
  33. data/ext/debian/puppet.lintian-overrides +3 -0
  34. data/ext/debian/puppet.logrotate +20 -0
  35. data/ext/debian/puppet.postinst +20 -0
  36. data/ext/debian/puppet.postrm +20 -0
  37. data/ext/debian/puppet.preinst +20 -0
  38. data/ext/debian/puppetmaster-common.install +2 -0
  39. data/ext/debian/puppetmaster-common.manpages +2 -0
  40. data/ext/debian/puppetmaster-common.postinst +6 -0
  41. data/ext/debian/puppetmaster-passenger.dirs +4 -0
  42. data/ext/debian/puppetmaster-passenger.postinst +162 -0
  43. data/ext/debian/puppetmaster-passenger.postrm +61 -0
  44. data/ext/debian/puppetmaster.README.debian +17 -0
  45. data/ext/debian/puppetmaster.default +14 -0
  46. data/ext/debian/puppetmaster.init +137 -0
  47. data/ext/debian/puppetmaster.lintian-overrides +3 -0
  48. data/ext/debian/puppetmaster.postinst +20 -0
  49. data/ext/debian/puppetmaster.postrm +5 -0
  50. data/ext/debian/puppetmaster.preinst +22 -0
  51. data/ext/debian/rules +132 -0
  52. data/ext/debian/source/format +1 -0
  53. data/ext/debian/source/options +1 -0
  54. data/ext/debian/vim-puppet.README.Debian +13 -0
  55. data/ext/debian/vim-puppet.dirs +5 -0
  56. data/ext/debian/vim-puppet.yaml +7 -0
  57. data/ext/debian/watch +2 -0
  58. data/ext/freebsd/puppetd +26 -0
  59. data/ext/freebsd/puppetmasterd +26 -0
  60. data/ext/gentoo/conf.d/puppet +5 -0
  61. data/ext/gentoo/conf.d/puppetmaster +12 -0
  62. data/ext/gentoo/init.d/puppet +38 -0
  63. data/ext/gentoo/init.d/puppetmaster +51 -0
  64. data/ext/gentoo/puppet/fileserver.conf +41 -0
  65. data/ext/ips/puppet-agent +44 -0
  66. data/ext/ips/puppet-master +44 -0
  67. data/ext/ips/puppet.p5m.erb +12 -0
  68. data/ext/ips/puppetagent.xml +42 -0
  69. data/ext/ips/puppetmaster.xml +42 -0
  70. data/ext/ips/rules +19 -0
  71. data/ext/ips/transforms +34 -0
  72. data/ext/ldap/puppet.schema +24 -0
  73. data/ext/logcheck/puppet +23 -0
  74. data/{examples → ext}/nagios/check_puppet.rb +2 -2
  75. data/ext/osx/file_mapping.yaml +28 -0
  76. data/ext/osx/postflight.erb +109 -0
  77. data/ext/osx/preflight.erb +52 -0
  78. data/ext/osx/prototype.plist.erb +38 -0
  79. data/ext/osx/puppet.plist +0 -2
  80. data/ext/project_data.yaml +2 -16
  81. data/ext/redhat/fileserver.conf +41 -0
  82. data/ext/redhat/logrotate +21 -0
  83. data/ext/redhat/puppet.spec.erb +841 -0
  84. data/ext/redhat/server.init +128 -0
  85. data/ext/redhat/server.sysconfig +13 -0
  86. data/ext/solaris/pkginfo +6 -0
  87. data/ext/solaris/smf/puppetd.xml +77 -0
  88. data/ext/solaris/smf/puppetmasterd.xml +77 -0
  89. data/ext/solaris/smf/svc-puppetd +71 -0
  90. data/ext/solaris/smf/svc-puppetmasterd +67 -0
  91. data/ext/suse/puppet.spec +310 -0
  92. data/ext/suse/server.init +173 -0
  93. data/ext/windows/service/daemon.rb +6 -5
  94. data/ext/yaml_nodes.rb +105 -0
  95. data/install.rb +21 -17
  96. data/lib/puppet/agent.rb +11 -47
  97. data/lib/puppet/application/agent.rb +16 -18
  98. data/lib/puppet/application/apply.rb +4 -24
  99. data/lib/puppet/application/device.rb +100 -106
  100. data/lib/puppet/application/filebucket.rb +13 -10
  101. data/lib/puppet/application/lookup.rb +24 -74
  102. data/lib/puppet/application/resource.rb +16 -32
  103. data/lib/puppet/application/script.rb +0 -2
  104. data/lib/puppet/application/ssl.rb +1 -13
  105. data/lib/puppet/application.rb +178 -108
  106. data/lib/puppet/application_support.rb +0 -7
  107. data/lib/puppet/concurrent/thread_local_singleton.rb +3 -6
  108. data/lib/puppet/configurer/downloader.rb +1 -2
  109. data/lib/puppet/configurer/plugin_handler.rb +21 -19
  110. data/lib/puppet/configurer.rb +86 -183
  111. data/lib/puppet/confine/variable.rb +1 -1
  112. data/lib/puppet/defaults.rb +130 -244
  113. data/lib/puppet/environments.rb +82 -146
  114. data/lib/puppet/face/facts.rb +5 -103
  115. data/lib/puppet/face/generate.rb +0 -2
  116. data/lib/puppet/face/help/action.erb +0 -1
  117. data/lib/puppet/face/help/face.erb +0 -1
  118. data/lib/puppet/face/help.rb +1 -1
  119. data/lib/puppet/face/node/clean.rb +0 -11
  120. data/lib/puppet/face/plugin.rb +5 -8
  121. data/lib/puppet/ffi/windows/api_types.rb +311 -0
  122. data/lib/puppet/ffi/windows/constants.rb +404 -0
  123. data/lib/puppet/ffi/windows/functions.rb +628 -0
  124. data/lib/puppet/ffi/windows/structs.rb +338 -0
  125. data/lib/puppet/ffi/windows.rb +12 -0
  126. data/lib/puppet/file_serving/configuration/parser.rb +3 -34
  127. data/lib/puppet/file_serving/configuration.rb +0 -8
  128. data/lib/puppet/file_serving/fileset.rb +2 -14
  129. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  130. data/lib/puppet/file_serving/metadata.rb +0 -3
  131. data/lib/puppet/file_serving/mount/file.rb +4 -4
  132. data/lib/puppet/file_serving/mount.rb +1 -2
  133. data/lib/puppet/file_system/file_impl.rb +8 -10
  134. data/lib/puppet/file_system/jruby.rb +1 -1
  135. data/lib/puppet/file_system/memory_file.rb +1 -8
  136. data/lib/puppet/file_system/windows.rb +6 -8
  137. data/lib/puppet/file_system.rb +1 -1
  138. data/lib/puppet/forge/repository.rb +0 -1
  139. data/lib/puppet/forge.rb +4 -4
  140. data/lib/puppet/functions/all.rb +1 -1
  141. data/lib/puppet/functions/camelcase.rb +1 -1
  142. data/lib/puppet/functions/capitalize.rb +2 -2
  143. data/lib/puppet/functions/downcase.rb +2 -2
  144. data/lib/puppet/functions/empty.rb +0 -8
  145. data/lib/puppet/functions/find_template.rb +2 -2
  146. data/lib/puppet/functions/get.rb +5 -5
  147. data/lib/puppet/functions/group_by.rb +5 -13
  148. data/lib/puppet/functions/lest.rb +1 -1
  149. data/lib/puppet/functions/new.rb +100 -100
  150. data/lib/puppet/functions/next.rb +1 -18
  151. data/lib/puppet/functions/partition.rb +4 -12
  152. data/lib/puppet/functions/require.rb +5 -5
  153. data/lib/puppet/functions/sort.rb +3 -3
  154. data/lib/puppet/functions/strftime.rb +0 -1
  155. data/lib/puppet/functions/tree_each.rb +10 -7
  156. data/lib/puppet/functions/type.rb +4 -4
  157. data/lib/puppet/functions/unwrap.rb +2 -17
  158. data/lib/puppet/functions/upcase.rb +2 -2
  159. data/lib/puppet/functions/versioncmp.rb +2 -6
  160. data/lib/puppet/generate/models/type/type.rb +4 -1
  161. data/lib/puppet/generate/type.rb +0 -9
  162. data/lib/puppet/http/client.rb +167 -137
  163. data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
  164. data/lib/puppet/http/errors.rb +16 -0
  165. data/lib/puppet/http/external_client.rb +5 -7
  166. data/lib/puppet/{network/http → http}/factory.rb +8 -15
  167. data/lib/puppet/{network/http → http}/pool.rb +61 -26
  168. data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
  169. data/lib/puppet/http/proxy.rb +137 -0
  170. data/lib/puppet/http/redirector.rb +4 -17
  171. data/lib/puppet/http/resolver/server_list.rb +10 -25
  172. data/lib/puppet/http/resolver/settings.rb +4 -7
  173. data/lib/puppet/http/resolver/srv.rb +7 -11
  174. data/lib/puppet/http/resolver.rb +5 -15
  175. data/lib/puppet/http/response.rb +36 -54
  176. data/lib/puppet/http/response_converter.rb +24 -0
  177. data/lib/puppet/http/response_net_http.rb +42 -0
  178. data/lib/puppet/http/retry_after_handler.rb +4 -13
  179. data/lib/puppet/http/service/ca.rb +11 -22
  180. data/lib/puppet/http/service/compiler.rb +23 -144
  181. data/lib/puppet/http/service/file_server.rb +19 -29
  182. data/lib/puppet/http/service/puppetserver.rb +26 -12
  183. data/lib/puppet/http/service/report.rb +8 -10
  184. data/lib/puppet/http/service.rb +12 -26
  185. data/lib/puppet/http/session.rb +11 -20
  186. data/lib/puppet/{network/http → http}/site.rb +1 -2
  187. data/lib/puppet/http.rb +22 -13
  188. data/lib/puppet/indirector/catalog/compiler.rb +6 -25
  189. data/lib/puppet/indirector/catalog/rest.rb +2 -5
  190. data/lib/puppet/indirector/facts/facter.rb +6 -6
  191. data/lib/puppet/indirector/facts/rest.rb +3 -22
  192. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
  193. data/lib/puppet/indirector/file_content/rest.rb +2 -6
  194. data/lib/puppet/indirector/file_metadata/rest.rb +3 -10
  195. data/lib/puppet/indirector/file_server.rb +1 -8
  196. data/lib/puppet/indirector/generic_http.rb +0 -11
  197. data/lib/puppet/indirector/indirection.rb +1 -1
  198. data/lib/puppet/indirector/node/rest.rb +2 -4
  199. data/lib/puppet/indirector/report/rest.rb +3 -8
  200. data/lib/puppet/indirector/request.rb +0 -101
  201. data/lib/puppet/indirector/resource/ral.rb +1 -6
  202. data/lib/puppet/indirector/rest.rb +12 -263
  203. data/lib/puppet/indirector/terminus.rb +0 -4
  204. data/lib/puppet/interface/documentation.rb +0 -1
  205. data/lib/puppet/module/plan.rb +1 -0
  206. data/lib/puppet/module/task.rb +1 -1
  207. data/lib/puppet/module.rb +0 -1
  208. data/lib/puppet/module_tool/applications/installer.rb +2 -56
  209. data/lib/puppet/module_tool/applications/uninstaller.rb +1 -1
  210. data/lib/puppet/module_tool/applications/upgrader.rb +1 -1
  211. data/lib/puppet/module_tool/applications.rb +0 -1
  212. data/lib/puppet/module_tool/errors/shared.rb +2 -34
  213. data/lib/puppet/network/authconfig.rb +2 -96
  214. data/lib/puppet/network/authorization.rb +13 -35
  215. data/lib/puppet/network/formats.rb +0 -67
  216. data/lib/puppet/network/http/api/indirected_routes.rb +3 -21
  217. data/lib/puppet/network/http/api/master/v3.rb +11 -13
  218. data/lib/puppet/network/http/connection.rb +247 -316
  219. data/lib/puppet/network/http/handler.rb +0 -1
  220. data/lib/puppet/network/http.rb +3 -3
  221. data/lib/puppet/network/http_pool.rb +16 -34
  222. data/lib/puppet/node/environment.rb +11 -10
  223. data/lib/puppet/node.rb +2 -31
  224. data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
  225. data/lib/puppet/pal/pal_impl.rb +4 -2
  226. data/lib/puppet/parser/ast/leaf.rb +2 -3
  227. data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
  228. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
  229. data/lib/puppet/parser/compiler.rb +0 -198
  230. data/lib/puppet/parser/functions/fqdn_rand.rb +6 -14
  231. data/lib/puppet/parser/resource.rb +1 -70
  232. data/lib/puppet/parser/scope.rb +0 -1
  233. data/lib/puppet/parser/templatewrapper.rb +1 -2
  234. data/lib/puppet/pops/evaluator/closure.rb +5 -7
  235. data/lib/puppet/pops/evaluator/deferred_resolver.rb +3 -5
  236. data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
  237. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -4
  238. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  239. data/lib/puppet/pops/issues.rb +0 -5
  240. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
  241. data/lib/puppet/pops/lookup/lookup_adapter.rb +2 -3
  242. data/lib/puppet/pops/model/ast.pp +0 -42
  243. data/lib/puppet/pops/model/ast.rb +0 -291
  244. data/lib/puppet/pops/model/ast_transformer.rb +1 -1
  245. data/lib/puppet/pops/model/factory.rb +1 -47
  246. data/lib/puppet/pops/model/model_label_provider.rb +0 -5
  247. data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
  248. data/lib/puppet/pops/model/pn_transformer.rb +0 -16
  249. data/lib/puppet/pops/parser/code_merger.rb +4 -4
  250. data/lib/puppet/pops/parser/egrammar.ra +0 -58
  251. data/lib/puppet/pops/parser/eparser.rb +1685 -1896
  252. data/lib/puppet/pops/parser/lexer2.rb +91 -92
  253. data/lib/puppet/pops/parser/parser_support.rb +0 -5
  254. data/lib/puppet/pops/parser/slurp_support.rb +0 -1
  255. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
  256. data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
  257. data/lib/puppet/pops/types/p_sem_ver_type.rb +2 -8
  258. data/lib/puppet/pops/types/p_sensitive_type.rb +0 -10
  259. data/lib/puppet/pops/types/type_calculator.rb +0 -7
  260. data/lib/puppet/pops/types/type_formatter.rb +3 -4
  261. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  262. data/lib/puppet/pops/types/type_parser.rb +0 -4
  263. data/lib/puppet/pops/types/types.rb +1 -2
  264. data/lib/puppet/pops/validation/checker4_0.rb +9 -37
  265. data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
  266. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  267. data/lib/puppet/property/list.rb +1 -1
  268. data/lib/puppet/provider/aix_object.rb +1 -1
  269. data/lib/puppet/provider/exec/posix.rb +4 -16
  270. data/lib/puppet/provider/group/groupadd.rb +10 -18
  271. data/lib/puppet/provider/nameservice.rb +0 -18
  272. data/lib/puppet/provider/package/apt.rb +2 -34
  273. data/lib/puppet/provider/package/aptitude.rb +0 -6
  274. data/lib/puppet/provider/package/dnfmodule.rb +1 -1
  275. data/lib/puppet/provider/package/dpkg.rb +0 -10
  276. data/lib/puppet/provider/package/gem.rb +23 -3
  277. data/lib/puppet/provider/package/nim.rb +6 -11
  278. data/lib/puppet/provider/package/pip.rb +3 -16
  279. data/lib/puppet/provider/package/pkg.rb +2 -23
  280. data/lib/puppet/provider/package/portage.rb +1 -1
  281. data/lib/puppet/provider/package/puppet_gem.rb +1 -4
  282. data/lib/puppet/provider/package/puppetserver_gem.rb +17 -8
  283. data/lib/puppet/provider/package/windows/exe_package.rb +1 -30
  284. data/lib/puppet/provider/package/windows/package.rb +1 -2
  285. data/lib/puppet/provider/package/windows.rb +1 -14
  286. data/lib/puppet/provider/package/yum.rb +1 -1
  287. data/lib/puppet/provider/parsedfile.rb +0 -3
  288. data/lib/puppet/provider/service/base.rb +1 -1
  289. data/lib/puppet/provider/service/debian.rb +0 -2
  290. data/lib/puppet/provider/service/init.rb +9 -10
  291. data/lib/puppet/provider/service/launchd.rb +2 -2
  292. data/lib/puppet/provider/service/redhat.rb +1 -1
  293. data/lib/puppet/provider/service/smf.rb +194 -76
  294. data/lib/puppet/provider/service/systemd.rb +6 -16
  295. data/lib/puppet/provider/service/upstart.rb +5 -5
  296. data/lib/puppet/provider/service/windows.rb +0 -38
  297. data/lib/puppet/provider/user/aix.rb +3 -46
  298. data/lib/puppet/provider/user/directoryservice.rb +11 -39
  299. data/lib/puppet/provider/user/useradd.rb +24 -134
  300. data/lib/puppet/provider.rb +1 -14
  301. data/lib/puppet/reference/configuration.rb +8 -7
  302. data/lib/puppet/reference/indirection.rb +1 -1
  303. data/lib/puppet/reference/providers.rb +2 -2
  304. data/lib/puppet/resource/catalog.rb +2 -15
  305. data/lib/puppet/resource/type.rb +3 -119
  306. data/lib/puppet/resource/type_collection.rb +3 -49
  307. data/lib/puppet/resource.rb +6 -127
  308. data/lib/puppet/runtime.rb +2 -13
  309. data/lib/puppet/settings/environment_conf.rb +0 -1
  310. data/lib/puppet/settings/integer_setting.rb +17 -0
  311. data/lib/puppet/settings/port_setting.rb +15 -0
  312. data/lib/puppet/settings/priority_setting.rb +5 -4
  313. data/lib/puppet/settings.rb +82 -98
  314. data/lib/puppet/ssl/base.rb +3 -5
  315. data/lib/puppet/ssl/certificate.rb +0 -6
  316. data/lib/puppet/ssl/certificate_request.rb +1 -12
  317. data/lib/puppet/ssl/certificate_signer.rb +6 -0
  318. data/lib/puppet/ssl/oids.rb +3 -1
  319. data/lib/puppet/ssl/ssl_provider.rb +36 -75
  320. data/lib/puppet/ssl/state_machine.rb +20 -14
  321. data/lib/puppet/ssl/verifier.rb +2 -6
  322. data/lib/puppet/ssl.rb +10 -6
  323. data/lib/puppet/test/test_helper.rb +2 -7
  324. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  325. data/lib/puppet/transaction/persistence.rb +1 -21
  326. data/lib/puppet/transaction/report.rb +3 -19
  327. data/lib/puppet/transaction.rb +1 -7
  328. data/lib/puppet/type/exec.rb +6 -36
  329. data/lib/puppet/type/file/checksum.rb +1 -1
  330. data/lib/puppet/type/file/data_sync.rb +1 -1
  331. data/lib/puppet/type/file/mode.rb +0 -6
  332. data/lib/puppet/type/file/selcontext.rb +1 -1
  333. data/lib/puppet/type/file/source.rb +1 -1
  334. data/lib/puppet/type/file.rb +12 -32
  335. data/lib/puppet/type/filebucket.rb +4 -4
  336. data/lib/puppet/type/group.rb +1 -0
  337. data/lib/puppet/type/package.rb +8 -16
  338. data/lib/puppet/type/resources.rb +1 -1
  339. data/lib/puppet/type/service.rb +41 -26
  340. data/lib/puppet/type/tidy.rb +3 -22
  341. data/lib/puppet/type/user.rb +13 -35
  342. data/lib/puppet/type.rb +1 -77
  343. data/lib/puppet/util/autoload.rb +8 -1
  344. data/lib/puppet/util/command_line.rb +1 -1
  345. data/lib/puppet/util/execution.rb +0 -11
  346. data/lib/puppet/util/filetype.rb +2 -2
  347. data/lib/puppet/util/http_proxy.rb +2 -215
  348. data/lib/puppet/util/json.rb +0 -20
  349. data/lib/puppet/util/log.rb +4 -8
  350. data/lib/puppet/util/logging.rb +25 -1
  351. data/lib/puppet/util/monkey_patches.rb +2 -59
  352. data/lib/puppet/util/package.rb +16 -25
  353. data/lib/puppet/util/pidlock.rb +1 -1
  354. data/lib/puppet/util/posix.rb +5 -54
  355. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
  356. data/lib/puppet/util/rdoc.rb +0 -7
  357. data/lib/puppet/util/retry_action.rb +1 -1
  358. data/lib/puppet/util/run_mode.rb +9 -1
  359. data/lib/puppet/util/selinux.rb +4 -30
  360. data/lib/puppet/util/suidmanager.rb +2 -1
  361. data/lib/puppet/util/symbolic_file_mode.rb +17 -29
  362. data/lib/puppet/util/tagging.rb +0 -1
  363. data/lib/puppet/util/windows/adsi.rb +0 -46
  364. data/lib/puppet/util/windows/daemon.rb +360 -0
  365. data/lib/puppet/util/windows/error.rb +1 -0
  366. data/lib/puppet/util/windows/eventlog.rb +4 -9
  367. data/lib/puppet/util/windows/file.rb +8 -242
  368. data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
  369. data/lib/puppet/util/windows/principal.rb +2 -9
  370. data/lib/puppet/util/windows/process.rb +4 -226
  371. data/lib/puppet/util/windows/service.rb +11 -457
  372. data/lib/puppet/util/windows/sid.rb +2 -6
  373. data/lib/puppet/util/windows/string.rb +12 -13
  374. data/lib/puppet/util/windows/user.rb +2 -0
  375. data/lib/puppet/util/windows.rb +3 -11
  376. data/lib/puppet/util/yaml.rb +1 -42
  377. data/lib/puppet/util.rb +5 -5
  378. data/lib/puppet/vendor/require_vendored.rb +0 -1
  379. data/lib/puppet/version.rb +1 -1
  380. data/lib/puppet/x509/cert_provider.rb +29 -1
  381. data/lib/puppet/x509.rb +5 -1
  382. data/lib/puppet.rb +34 -27
  383. data/locales/puppet.pot +9633 -5
  384. data/man/man5/puppet.conf.5 +286 -401
  385. data/man/man8/puppet-agent.8 +2 -5
  386. data/man/man8/puppet-apply.8 +2 -2
  387. data/man/man8/puppet-catalog.8 +9 -9
  388. data/man/man8/puppet-config.8 +1 -1
  389. data/man/man8/puppet-describe.8 +1 -1
  390. data/man/man8/puppet-device.8 +2 -2
  391. data/man/man8/puppet-doc.8 +1 -1
  392. data/man/man8/puppet-epp.8 +1 -1
  393. data/man/man8/puppet-facts.8 +8 -51
  394. data/man/man8/puppet-filebucket.8 +4 -4
  395. data/man/man8/puppet-generate.8 +1 -1
  396. data/man/man8/puppet-help.8 +1 -1
  397. data/man/man8/puppet-lookup.8 +6 -9
  398. data/man/man8/puppet-module.8 +3 -60
  399. data/man/man8/puppet-node.8 +5 -5
  400. data/man/man8/puppet-parser.8 +1 -1
  401. data/man/man8/puppet-plugin.8 +1 -1
  402. data/man/man8/puppet-report.8 +5 -5
  403. data/man/man8/puppet-resource.8 +1 -1
  404. data/man/man8/puppet-script.8 +2 -2
  405. data/man/man8/puppet-ssl.8 +1 -5
  406. data/man/man8/puppet.8 +2 -2
  407. data/spec/fixtures/ssl/127.0.0.1-key.pem +57 -107
  408. data/spec/fixtures/ssl/127.0.0.1.pem +31 -52
  409. data/spec/fixtures/ssl/bad-basic-constraints.pem +35 -57
  410. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +35 -57
  411. data/spec/fixtures/ssl/ca.pem +35 -57
  412. data/spec/fixtures/ssl/crl.pem +18 -28
  413. data/spec/fixtures/ssl/ec-key.pem +11 -11
  414. data/spec/fixtures/ssl/ec.pem +24 -33
  415. data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
  416. data/spec/fixtures/ssl/encrypted-key.pem +58 -108
  417. data/spec/fixtures/ssl/intermediate-agent-crl.pem +19 -28
  418. data/spec/fixtures/ssl/intermediate-agent.pem +36 -57
  419. data/spec/fixtures/ssl/intermediate-crl.pem +21 -31
  420. data/spec/fixtures/ssl/intermediate.pem +36 -57
  421. data/spec/fixtures/ssl/pluto-key.pem +57 -107
  422. data/spec/fixtures/ssl/pluto.pem +30 -52
  423. data/spec/fixtures/ssl/request-key.pem +57 -107
  424. data/spec/fixtures/ssl/request.pem +26 -47
  425. data/spec/fixtures/ssl/revoked-key.pem +57 -107
  426. data/spec/fixtures/ssl/revoked.pem +30 -52
  427. data/spec/fixtures/ssl/signed-key.pem +57 -107
  428. data/spec/fixtures/ssl/signed.pem +30 -52
  429. data/spec/fixtures/ssl/tampered-cert.pem +30 -52
  430. data/spec/fixtures/ssl/tampered-csr.pem +26 -47
  431. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +57 -107
  432. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +29 -50
  433. data/spec/fixtures/ssl/unknown-ca-key.pem +57 -107
  434. data/spec/fixtures/ssl/unknown-ca.pem +33 -55
  435. data/spec/fixtures/unit/forge/bacula.json +1 -1
  436. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -4
  437. data/spec/integration/application/agent_spec.rb +50 -406
  438. data/spec/integration/application/apply_spec.rb +1 -20
  439. data/spec/integration/application/filebucket_spec.rb +16 -32
  440. data/spec/integration/application/help_spec.rb +2 -0
  441. data/spec/integration/application/lookup_spec.rb +50 -81
  442. data/spec/integration/application/module_spec.rb +0 -21
  443. data/spec/integration/application/plugin_spec.rb +24 -2
  444. data/spec/integration/configurer_spec.rb +2 -18
  445. data/spec/integration/defaults_spec.rb +14 -3
  446. data/spec/integration/environments/settings_interpolation_spec.rb +4 -0
  447. data/spec/integration/http/client_spec.rb +4 -63
  448. data/spec/integration/indirector/direct_file_server_spec.rb +3 -1
  449. data/spec/integration/indirector/facts/facter_spec.rb +39 -93
  450. data/spec/integration/network/http_pool_spec.rb +3 -21
  451. data/spec/integration/parser/catalog_spec.rb +0 -38
  452. data/spec/integration/parser/node_spec.rb +0 -9
  453. data/spec/integration/parser/pcore_resource_spec.rb +0 -47
  454. data/spec/integration/resource/type_collection_spec.rb +6 -2
  455. data/spec/integration/transaction/report_spec.rb +1 -1
  456. data/spec/integration/transaction_spec.rb +9 -4
  457. data/spec/integration/type/exec_spec.rb +45 -70
  458. data/spec/integration/type/file_spec.rb +7 -6
  459. data/spec/integration/type/package_spec.rb +6 -6
  460. data/spec/integration/util/rdoc/parser_spec.rb +1 -1
  461. data/spec/integration/util/windows/adsi_spec.rb +1 -21
  462. data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
  463. data/spec/integration/util/windows/principal_spec.rb +0 -21
  464. data/spec/integration/util/windows/process_spec.rb +9 -1
  465. data/spec/integration/util/windows/registry_spec.rb +10 -6
  466. data/spec/integration/util/windows/security_spec.rb +1 -1
  467. data/spec/lib/matchers/include.rb +27 -0
  468. data/spec/lib/matchers/include_spec.rb +32 -0
  469. data/spec/lib/puppet/test_ca.rb +2 -7
  470. data/spec/lib/puppet_spec/https.rb +1 -1
  471. data/spec/lib/puppet_spec/modules.rb +2 -13
  472. data/spec/lib/puppet_spec/puppetserver.rb +3 -55
  473. data/spec/lib/puppet_spec/settings.rb +1 -1
  474. data/spec/shared_behaviours/documentation_on_faces.rb +2 -0
  475. data/spec/spec_helper.rb +17 -13
  476. data/spec/unit/agent_spec.rb +8 -38
  477. data/spec/unit/application/agent_spec.rb +19 -33
  478. data/spec/unit/application/apply_spec.rb +56 -76
  479. data/spec/unit/application/facts_spec.rb +12 -456
  480. data/spec/unit/application/filebucket_spec.rb +43 -39
  481. data/spec/unit/application/lookup_spec.rb +10 -131
  482. data/spec/unit/application/resource_spec.rb +0 -29
  483. data/spec/unit/application/ssl_spec.rb +2 -25
  484. data/spec/unit/application_spec.rb +9 -51
  485. data/spec/unit/certificate_factory_spec.rb +1 -1
  486. data/spec/unit/configurer/downloader_spec.rb +6 -8
  487. data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
  488. data/spec/unit/configurer_spec.rb +68 -327
  489. data/spec/unit/confine/feature_spec.rb +1 -1
  490. data/spec/unit/confine_spec.rb +2 -8
  491. data/spec/unit/context/trusted_information_spec.rb +2 -6
  492. data/spec/unit/daemon_spec.rb +11 -2
  493. data/spec/unit/defaults_spec.rb +68 -55
  494. data/spec/unit/environments_spec.rb +68 -408
  495. data/spec/unit/face/generate_spec.rb +0 -64
  496. data/spec/unit/face/node_spec.rb +11 -0
  497. data/spec/unit/face/plugin_spec.rb +73 -33
  498. data/spec/unit/file_bucket/dipper_spec.rb +2 -2
  499. data/spec/unit/file_bucket/file_spec.rb +1 -1
  500. data/spec/unit/file_serving/configuration/parser_spec.rb +15 -41
  501. data/spec/unit/file_serving/configuration_spec.rb +10 -26
  502. data/spec/unit/file_serving/fileset_spec.rb +0 -60
  503. data/spec/unit/file_serving/metadata_spec.rb +3 -3
  504. data/spec/unit/file_serving/terminus_helper_spec.rb +4 -11
  505. data/spec/unit/file_system_spec.rb +4 -56
  506. data/spec/unit/forge/module_release_spec.rb +10 -5
  507. data/spec/unit/functions/assert_type_spec.rb +1 -1
  508. data/spec/unit/functions/camelcase_spec.rb +1 -1
  509. data/spec/unit/functions/capitalize_spec.rb +1 -1
  510. data/spec/unit/functions/downcase_spec.rb +1 -1
  511. data/spec/unit/functions/empty_spec.rb +0 -10
  512. data/spec/unit/functions/logging_spec.rb +0 -1
  513. data/spec/unit/functions/lookup_spec.rb +0 -64
  514. data/spec/unit/functions/unwrap_spec.rb +0 -8
  515. data/spec/unit/functions/upcase_spec.rb +1 -1
  516. data/spec/unit/functions/versioncmp_spec.rb +4 -40
  517. data/spec/unit/functions4_spec.rb +2 -2
  518. data/spec/unit/gettext/config_spec.rb +0 -12
  519. data/spec/unit/http/client_spec.rb +8 -84
  520. data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
  521. data/spec/unit/http/external_client_spec.rb +4 -4
  522. data/spec/unit/{network/http → http}/factory_spec.rb +5 -30
  523. data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
  524. data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
  525. data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
  526. data/spec/unit/http/resolver_spec.rb +13 -13
  527. data/spec/unit/http/service/compiler_spec.rb +0 -193
  528. data/spec/unit/http/service/file_server_spec.rb +3 -3
  529. data/spec/unit/http/service/puppetserver_spec.rb +34 -4
  530. data/spec/unit/http/service_spec.rb +0 -1
  531. data/spec/unit/http/session_spec.rb +16 -14
  532. data/spec/unit/{network/http → http}/site_spec.rb +3 -3
  533. data/spec/unit/indirector/catalog/compiler_spec.rb +10 -101
  534. data/spec/unit/indirector/catalog/rest_spec.rb +0 -8
  535. data/spec/unit/indirector/face_spec.rb +1 -0
  536. data/spec/unit/indirector/facts/facter_spec.rb +3 -0
  537. data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
  538. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +8 -26
  539. data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
  540. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
  541. data/spec/unit/indirector/file_server_spec.rb +1 -15
  542. data/spec/unit/indirector/indirection_spec.rb +15 -18
  543. data/spec/unit/indirector/report/rest_spec.rb +2 -17
  544. data/spec/unit/indirector/request_spec.rb +0 -264
  545. data/spec/unit/indirector/resource/ral_spec.rb +75 -40
  546. data/spec/unit/indirector/rest_spec.rb +98 -752
  547. data/spec/unit/indirector/store_configs_spec.rb +7 -0
  548. data/spec/unit/indirector_spec.rb +2 -2
  549. data/spec/unit/interface/action_spec.rb +9 -0
  550. data/spec/unit/module_spec.rb +1 -15
  551. data/spec/unit/module_tool/applications/installer_spec.rb +0 -105
  552. data/spec/unit/network/authconfig_spec.rb +2 -129
  553. data/spec/unit/network/authorization_spec.rb +2 -55
  554. data/spec/unit/network/formats_spec.rb +4 -51
  555. data/spec/unit/network/http/api/indirected_routes_spec.rb +5 -92
  556. data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
  557. data/spec/unit/network/http/api_spec.rb +10 -0
  558. data/spec/unit/network/http/connection_spec.rb +19 -41
  559. data/spec/unit/network/http/handler_spec.rb +0 -1
  560. data/spec/unit/network/http_pool_spec.rb +0 -4
  561. data/spec/unit/node/environment_spec.rb +33 -21
  562. data/spec/unit/node_spec.rb +2 -60
  563. data/spec/unit/parser/compiler_spec.rb +19 -3
  564. data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
  565. data/spec/unit/parser/functions/fqdn_rand_spec.rb +1 -15
  566. data/spec/unit/parser/resource_spec.rb +8 -14
  567. data/spec/unit/parser/templatewrapper_spec.rb +5 -16
  568. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
  569. data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
  570. data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
  571. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  572. data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
  573. data/spec/unit/pops/parser/parse_containers_spec.rb +13 -2
  574. data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
  575. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
  576. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  577. data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -5
  578. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -18
  579. data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -18
  580. data/spec/unit/pops/types/type_calculator_spec.rb +6 -12
  581. data/spec/unit/pops/types/type_factory_spec.rb +1 -1
  582. data/spec/unit/pops/validator/validator_spec.rb +61 -51
  583. data/spec/unit/pops/visitor_spec.rb +1 -1
  584. data/spec/unit/property_spec.rb +0 -1
  585. data/spec/unit/provider/group/groupadd_spec.rb +2 -5
  586. data/spec/unit/provider/nameservice_spec.rb +64 -122
  587. data/spec/unit/provider/package/apt_spec.rb +23 -28
  588. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  589. data/spec/unit/provider/package/base_spec.rb +5 -6
  590. data/spec/unit/provider/package/dnfmodule_spec.rb +1 -10
  591. data/spec/unit/provider/package/dpkg_spec.rb +0 -48
  592. data/spec/unit/provider/package/gem_spec.rb +33 -1
  593. data/spec/unit/provider/package/nim_spec.rb +0 -42
  594. data/spec/unit/provider/package/pacman_spec.rb +12 -18
  595. data/spec/unit/provider/package/pip2_spec.rb +1 -1
  596. data/spec/unit/provider/package/pip3_spec.rb +1 -1
  597. data/spec/unit/provider/package/pip_spec.rb +12 -44
  598. data/spec/unit/provider/package/pkg_spec.rb +4 -29
  599. data/spec/unit/provider/package/pkgdmg_spec.rb +4 -0
  600. data/spec/unit/provider/package/puppet_gem_spec.rb +4 -3
  601. data/spec/unit/provider/package/puppetserver_gem_spec.rb +3 -3
  602. data/spec/unit/provider/package/windows/exe_package_spec.rb +0 -17
  603. data/spec/unit/provider/parsedfile_spec.rb +0 -10
  604. data/spec/unit/provider/service/gentoo_spec.rb +5 -6
  605. data/spec/unit/provider/service/init_spec.rb +9 -16
  606. data/spec/unit/provider/service/launchd_spec.rb +0 -11
  607. data/spec/unit/provider/service/openwrt_spec.rb +29 -23
  608. data/spec/unit/provider/service/redhat_spec.rb +2 -3
  609. data/spec/unit/provider/service/smf_spec.rb +401 -165
  610. data/spec/unit/provider/service/systemd_spec.rb +9 -54
  611. data/spec/unit/provider/service/windows_spec.rb +0 -203
  612. data/spec/unit/provider/user/aix_spec.rb +0 -105
  613. data/spec/unit/provider/user/directoryservice_spec.rb +36 -68
  614. data/spec/unit/provider/user/hpux_spec.rb +1 -1
  615. data/spec/unit/provider/user/pw_spec.rb +0 -2
  616. data/spec/unit/provider/user/useradd_spec.rb +5 -114
  617. data/spec/unit/provider_spec.rb +12 -22
  618. data/spec/unit/puppet_spec.rb +4 -12
  619. data/spec/unit/resource/catalog_spec.rb +2 -15
  620. data/spec/unit/resource/type_collection_spec.rb +2 -22
  621. data/spec/unit/resource/type_spec.rb +1 -1
  622. data/spec/unit/resource_spec.rb +12 -125
  623. data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
  624. data/spec/unit/settings/integer_setting_spec.rb +42 -0
  625. data/spec/unit/settings/port_setting_spec.rb +31 -0
  626. data/spec/unit/settings/priority_setting_spec.rb +4 -4
  627. data/spec/unit/settings_spec.rb +79 -110
  628. data/spec/unit/ssl/base_spec.rb +37 -3
  629. data/spec/unit/ssl/certificate_request_spec.rb +21 -45
  630. data/spec/unit/ssl/certificate_spec.rb +2 -11
  631. data/spec/unit/ssl/ssl_provider_spec.rb +3 -80
  632. data/spec/unit/ssl/state_machine_spec.rb +5 -21
  633. data/spec/unit/ssl/verifier_spec.rb +0 -21
  634. data/spec/unit/transaction/additional_resource_generator_spec.rb +9 -3
  635. data/spec/unit/transaction/event_manager_spec.rb +11 -14
  636. data/spec/unit/transaction/persistence_spec.rb +0 -51
  637. data/spec/unit/transaction/report_spec.rb +0 -2
  638. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  639. data/spec/unit/transaction_spec.rb +55 -96
  640. data/spec/unit/type/exec_spec.rb +29 -76
  641. data/spec/unit/type/file/checksum_spec.rb +6 -6
  642. data/spec/unit/type/file/content_spec.rb +2 -1
  643. data/spec/unit/type/file/ensure_spec.rb +1 -1
  644. data/spec/unit/type/file/mode_spec.rb +1 -1
  645. data/spec/unit/type/file/selinux_spec.rb +5 -3
  646. data/spec/unit/type/file/source_spec.rb +4 -5
  647. data/spec/unit/type/file_spec.rb +18 -6
  648. data/spec/unit/type/group_spec.rb +6 -13
  649. data/spec/unit/type/package_spec.rb +1 -1
  650. data/spec/unit/type/resources_spec.rb +7 -7
  651. data/spec/unit/type/service_spec.rb +189 -87
  652. data/spec/unit/type/tidy_spec.rb +8 -24
  653. data/spec/unit/type_spec.rb +24 -4
  654. data/spec/unit/util/at_fork_spec.rb +2 -2
  655. data/spec/unit/util/autoload_spec.rb +1 -5
  656. data/spec/unit/util/backups_spec.rb +2 -3
  657. data/spec/unit/util/execution_spec.rb +11 -44
  658. data/spec/unit/util/inifile_spec.rb +14 -6
  659. data/spec/unit/util/log_spec.rb +7 -8
  660. data/spec/unit/util/logging_spec.rb +3 -5
  661. data/spec/unit/util/monkey_patches_spec.rb +0 -6
  662. data/spec/unit/util/posix_spec.rb +15 -363
  663. data/spec/unit/util/run_mode_spec.rb +21 -121
  664. data/spec/unit/util/selinux_spec.rb +68 -163
  665. data/spec/unit/util/storage_spec.rb +1 -3
  666. data/spec/unit/util/suidmanager_spec.rb +41 -44
  667. data/spec/unit/util/windows/sid_spec.rb +0 -41
  668. data/spec/unit/util/windows/string_spec.rb +1 -3
  669. data/spec/unit/util/yaml_spec.rb +13 -92
  670. data/spec/unit/util_spec.rb +6 -31
  671. data/tasks/generate_cert_fixtures.rake +7 -17
  672. data/tasks/parallel.rake +3 -3
  673. metadata +138 -301
  674. data/conf/auth.conf +0 -150
  675. data/ext/README.md +0 -13
  676. data/lib/puppet/application/cert.rb +0 -76
  677. data/lib/puppet/application/key.rb +0 -4
  678. data/lib/puppet/application/man.rb +0 -4
  679. data/lib/puppet/application/status.rb +0 -4
  680. data/lib/puppet/face/key.rb +0 -16
  681. data/lib/puppet/face/man.rb +0 -145
  682. data/lib/puppet/face/module/build.rb +0 -14
  683. data/lib/puppet/face/module/generate.rb +0 -14
  684. data/lib/puppet/face/module/search.rb +0 -103
  685. data/lib/puppet/face/status.rb +0 -51
  686. data/lib/puppet/facter_impl.rb +0 -96
  687. data/lib/puppet/ffi/posix/constants.rb +0 -14
  688. data/lib/puppet/ffi/posix/functions.rb +0 -24
  689. data/lib/puppet/ffi/posix.rb +0 -10
  690. data/lib/puppet/file_serving/mount/scripts.rb +0 -24
  691. data/lib/puppet/indirector/certificate/file.rb +0 -9
  692. data/lib/puppet/indirector/certificate/rest.rb +0 -18
  693. data/lib/puppet/indirector/certificate_request/file.rb +0 -9
  694. data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
  695. data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
  696. data/lib/puppet/indirector/file_content/http.rb +0 -22
  697. data/lib/puppet/indirector/key/file.rb +0 -46
  698. data/lib/puppet/indirector/key/memory.rb +0 -7
  699. data/lib/puppet/indirector/ssl_file.rb +0 -162
  700. data/lib/puppet/indirector/status/local.rb +0 -12
  701. data/lib/puppet/indirector/status/rest.rb +0 -27
  702. data/lib/puppet/indirector/status.rb +0 -3
  703. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  704. data/lib/puppet/network/auth_config_parser.rb +0 -90
  705. data/lib/puppet/network/authstore.rb +0 -283
  706. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  707. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
  708. data/lib/puppet/network/http/base_pool.rb +0 -36
  709. data/lib/puppet/network/http/compression.rb +0 -127
  710. data/lib/puppet/network/http/connection_adapter.rb +0 -184
  711. data/lib/puppet/network/http/nocache_pool.rb +0 -28
  712. data/lib/puppet/network/rest_controller.rb +0 -2
  713. data/lib/puppet/network/rights.rb +0 -210
  714. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
  715. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
  716. data/lib/puppet/parser/environment_compiler.rb +0 -202
  717. data/lib/puppet/pops/types/enumeration.rb +0 -16
  718. data/lib/puppet/resource/capability_finder.rb +0 -154
  719. data/lib/puppet/rest/errors.rb +0 -15
  720. data/lib/puppet/rest/response.rb +0 -35
  721. data/lib/puppet/rest/route.rb +0 -85
  722. data/lib/puppet/rest/routes.rb +0 -135
  723. data/lib/puppet/settings/alias_setting.rb +0 -37
  724. data/lib/puppet/ssl/host.rb +0 -505
  725. data/lib/puppet/ssl/key.rb +0 -61
  726. data/lib/puppet/ssl/validator/default_validator.rb +0 -209
  727. data/lib/puppet/ssl/validator/no_validator.rb +0 -22
  728. data/lib/puppet/ssl/validator.rb +0 -61
  729. data/lib/puppet/ssl/verifier_adapter.rb +0 -58
  730. data/lib/puppet/status.rb +0 -40
  731. data/lib/puppet/util/connection.rb +0 -88
  732. data/lib/puppet/util/fact_dif.rb +0 -81
  733. data/lib/puppet/util/ssl.rb +0 -83
  734. data/lib/puppet/util/windows/api_types.rb +0 -309
  735. data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
  736. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  737. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  738. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  739. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  740. data/lib/puppet/vendor/pathspec/README.md +0 -53
  741. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  742. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  743. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  744. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  745. data/man/man8/puppet-key.8 +0 -126
  746. data/man/man8/puppet-man.8 +0 -76
  747. data/man/man8/puppet-status.8 +0 -108
  748. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -92
  749. data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
  750. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
  751. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
  752. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
  753. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
  754. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
  755. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
  756. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
  757. data/spec/fixtures/ssl/oid-key.pem +0 -117
  758. data/spec/fixtures/ssl/oid.pem +0 -69
  759. data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
  760. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
  761. data/spec/integration/application/resource_spec.rb +0 -68
  762. data/spec/integration/application/ssl_spec.rb +0 -20
  763. data/spec/integration/l10n/compiler_spec.rb +0 -37
  764. data/spec/integration/network/authconfig_spec.rb +0 -256
  765. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
  766. data/spec/shared_contexts/l10n.rb +0 -32
  767. data/spec/unit/application/man_spec.rb +0 -52
  768. data/spec/unit/capability_spec.rb +0 -414
  769. data/spec/unit/concurrent/thread_local_singleton_spec.rb +0 -39
  770. data/spec/unit/face/key_spec.rb +0 -9
  771. data/spec/unit/face/module/search_spec.rb +0 -231
  772. data/spec/unit/face/status_spec.rb +0 -9
  773. data/spec/unit/facter_impl_spec.rb +0 -31
  774. data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
  775. data/spec/unit/indirector/certificate/file_spec.rb +0 -14
  776. data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
  777. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
  778. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
  779. data/spec/unit/indirector/key/file_spec.rb +0 -78
  780. data/spec/unit/indirector/ssl_file_spec.rb +0 -305
  781. data/spec/unit/indirector/status/local_spec.rb +0 -10
  782. data/spec/unit/indirector/status/rest_spec.rb +0 -50
  783. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  784. data/spec/unit/network/auth_config_parser_spec.rb +0 -115
  785. data/spec/unit/network/authstore_spec.rb +0 -407
  786. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  787. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  788. data/spec/unit/network/http/compression_spec.rb +0 -240
  789. data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
  790. data/spec/unit/network/http_spec.rb +0 -9
  791. data/spec/unit/network/rights_spec.rb +0 -439
  792. data/spec/unit/parser/environment_compiler_spec.rb +0 -730
  793. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -20
  794. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  795. data/spec/unit/resource/capability_finder_spec.rb +0 -148
  796. data/spec/unit/rest/route_spec.rb +0 -132
  797. data/spec/unit/ssl/host_spec.rb +0 -645
  798. data/spec/unit/ssl/key_spec.rb +0 -173
  799. data/spec/unit/ssl/validator_spec.rb +0 -278
  800. data/spec/unit/status_spec.rb +0 -45
  801. data/spec/unit/util/json_spec.rb +0 -126
  802. data/spec/unit/util/ssl_spec.rb +0 -91
  803. data/spec/unit/util/windows_spec.rb +0 -23
  804. /data/{examples/enc → ext}/regexp_nodes/classes/databases +0 -0
  805. /data/{examples/enc → ext}/regexp_nodes/classes/webservers +0 -0
  806. /data/{examples/enc → ext}/regexp_nodes/environment/development +0 -0
  807. /data/{examples/enc → ext}/regexp_nodes/parameters/service/prod +0 -0
  808. /data/{examples/enc → ext}/regexp_nodes/parameters/service/qa +0 -0
  809. /data/{examples/enc → ext}/regexp_nodes/parameters/service/sandbox +0 -0
  810. /data/{examples/enc → ext}/regexp_nodes/regexp_nodes.rb +0 -0
  811. /data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
@@ -14,14 +14,12 @@ describe Puppet::Util::SUIDManager do
14
14
  pwent = double('pwent', :name => 'fred', :uid => 42, :gid => 42)
15
15
  allow(Etc).to receive(:getpwuid).with(42).and_return(pwent)
16
16
 
17
- unless Puppet::Util::Platform.windows?
18
- [:euid, :egid, :uid, :gid, :groups].each do |id|
19
- allow(Process).to receive("#{id}=") {|value| xids[id] = value}
20
- end
17
+ [:euid, :egid, :uid, :gid, :groups].each do |id|
18
+ allow(Process).to receive("#{id}=") {|value| xids[id] = value}
21
19
  end
22
20
  end
23
21
 
24
- describe "#initgroups", unless: Puppet::Util::Platform.windows? do
22
+ describe "#initgroups" do
25
23
  it "should use the primary group of the user as the 'basegid'" do
26
24
  expect(Process).to receive(:initgroups).with('fred', 42)
27
25
  described_class.initgroups(42)
@@ -29,7 +27,7 @@ describe Puppet::Util::SUIDManager do
29
27
  end
30
28
 
31
29
  describe "#uid" do
32
- it "should allow setting euid/egid", unless: Puppet::Util::Platform.windows? do
30
+ it "should allow setting euid/egid" do
33
31
  Puppet::Util::SUIDManager.egid = user[:gid]
34
32
  Puppet::Util::SUIDManager.euid = user[:uid]
35
33
 
@@ -39,7 +37,8 @@ describe Puppet::Util::SUIDManager do
39
37
  end
40
38
 
41
39
  describe "#asuser" do
42
- it "should not get or set euid/egid when not root", unless: Puppet::Util::Platform.windows? do
40
+ it "should not get or set euid/egid when not root" do
41
+ allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
43
42
  allow(Process).to receive(:uid).and_return(1)
44
43
 
45
44
  allow(Process).to receive(:egid).and_return(51)
@@ -50,12 +49,13 @@ describe Puppet::Util::SUIDManager do
50
49
  expect(xids).to be_empty
51
50
  end
52
51
 
53
- context "when root and not Windows" do
52
+ context "when root and not windows" do
54
53
  before :each do
55
54
  allow(Process).to receive(:uid).and_return(0)
55
+ allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
56
56
  end
57
57
 
58
- it "should set euid/egid", unless: Puppet::Util::Platform.windows? do
58
+ it "should set euid/egid" do
59
59
  allow(Process).to receive(:egid).and_return(51, 51, user[:gid])
60
60
  allow(Process).to receive(:euid).and_return(50, 50, user[:uid])
61
61
 
@@ -79,23 +79,29 @@ describe Puppet::Util::SUIDManager do
79
79
  end
80
80
 
81
81
  it "should just yield if user and group are nil" do
82
- expect { |b| Puppet::Util::SUIDManager.asuser(nil, nil, &b) }.to yield_control
82
+ yielded = false
83
+ Puppet::Util::SUIDManager.asuser(nil, nil) { yielded = true }
84
+ expect(yielded).to be_truthy
83
85
  expect(xids).to eq({})
84
86
  end
85
87
 
86
- it "should just change group if only group is given", unless: Puppet::Util::Platform.windows? do
87
- expect { |b| Puppet::Util::SUIDManager.asuser(nil, 42, &b) }.to yield_control
88
+ it "should just change group if only group is given" do
89
+ yielded = false
90
+ Puppet::Util::SUIDManager.asuser(nil, 42) { yielded = true }
91
+ expect(yielded).to be_truthy
88
92
  expect(xids).to eq({ :egid => 42 })
89
93
  end
90
94
 
91
- it "should change gid to the primary group of uid by default", unless: Puppet::Util::Platform.windows? do
95
+ it "should change gid to the primary group of uid by default" do
92
96
  allow(Process).to receive(:initgroups)
93
97
 
94
- expect { |b| Puppet::Util::SUIDManager.asuser(42, nil, &b) }.to yield_control
98
+ yielded = false
99
+ Puppet::Util::SUIDManager.asuser(42) { yielded = true }
100
+ expect(yielded).to be_truthy
95
101
  expect(xids).to eq({ :euid => 42, :egid => 42 })
96
102
  end
97
103
 
98
- it "should change both uid and gid if given", unless: Puppet::Util::Platform.windows? do
104
+ it "should change both uid and gid if given" do
99
105
  # I don't like the sequence, but it is the only way to assert on the
100
106
  # internal behaviour in a reliable fashion, given we need multiple
101
107
  # sequenced calls to the same methods. --daniel 2012-02-05
@@ -104,23 +110,21 @@ describe Puppet::Util::SUIDManager do
104
110
  expect(Puppet::Util::SUIDManager).to receive(:change_group).with(Puppet::Util::SUIDManager.egid, false).ordered()
105
111
  expect(Puppet::Util::SUIDManager).to receive(:change_user).with(Puppet::Util::SUIDManager.euid, false).ordered()
106
112
 
107
- expect { |b| Puppet::Util::SUIDManager.asuser(42, 43, &b) }.to yield_control
113
+ yielded = false
114
+ Puppet::Util::SUIDManager.asuser(42, 43) { yielded = true }
115
+ expect(yielded).to be_truthy
108
116
  end
109
117
  end
110
118
 
111
- it "should just yield on Windows", if: Puppet::Util::Platform.windows? do
112
- expect { |b| Puppet::Util::SUIDManager.asuser(1, 2, &b) }.to yield_control
119
+ it "should not get or set euid/egid on Windows", if: Puppet::Util::Platform.windows? do
120
+ Puppet::Util::SUIDManager.asuser(user[:uid], user[:gid]) {}
121
+
122
+ expect(xids).to be_empty
113
123
  end
114
124
  end
115
125
 
116
126
  describe "#change_group" do
117
- it "raises on Windows", if: Puppet::Util::Platform.windows? do
118
- expect {
119
- Puppet::Util::SUIDManager.change_group(42, true)
120
- }.to raise_error(NotImplementedError, /change_privilege\(\) function is unimplemented/)
121
- end
122
-
123
- describe "when changing permanently", unless: Puppet::Util::Platform.windows? do
127
+ describe "when changing permanently" do
124
128
  it "should change_privilege" do
125
129
  expect(Process::GID).to receive(:change_privilege) do |gid|
126
130
  Process.gid = gid
@@ -146,7 +150,7 @@ describe Puppet::Util::SUIDManager do
146
150
  end
147
151
  end
148
152
 
149
- describe "when changing temporarily", unless: Puppet::Util::Platform.windows? do
153
+ describe "when changing temporarily" do
150
154
  it "should change only egid" do
151
155
  Puppet::Util::SUIDManager.change_group(42, false)
152
156
 
@@ -157,13 +161,7 @@ describe Puppet::Util::SUIDManager do
157
161
  end
158
162
 
159
163
  describe "#change_user" do
160
- it "raises on Windows", if: Puppet::Util::Platform.windows? do
161
- expect {
162
- Puppet::Util::SUIDManager.change_user(42, true)
163
- }.to raise_error(NotImplementedError, /initgroups\(\) function is unimplemented/)
164
- end
165
-
166
- describe "when changing permanently", unless: Puppet::Util::Platform.windows? do
164
+ describe "when changing permanently" do
167
165
  it "should change_privilege" do
168
166
  expect(Process::UID).to receive(:change_privilege) do |uid|
169
167
  Process.uid = uid
@@ -193,7 +191,7 @@ describe Puppet::Util::SUIDManager do
193
191
  end
194
192
  end
195
193
 
196
- describe "when changing temporarily", unless: Puppet::Util::Platform.windows? do
194
+ describe "when changing temporarily" do
197
195
  it "should change only euid and groups" do
198
196
  allow(Puppet::Util::SUIDManager).to receive(:initgroups).and_return([])
199
197
  Puppet::Util::SUIDManager.change_user(42, false)
@@ -223,7 +221,12 @@ describe Puppet::Util::SUIDManager do
223
221
  end
224
222
 
225
223
  describe "#root?" do
226
- describe "on POSIX systems", unless: Puppet::Util::Platform.windows? do
224
+ describe "on POSIX systems" do
225
+ before :each do
226
+ allow(Puppet.features).to receive(:posix?).and_return(true)
227
+ allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
228
+ end
229
+
227
230
  it "should be root if uid is 0" do
228
231
  allow(Process).to receive(:uid).and_return(0)
229
232
 
@@ -237,7 +240,7 @@ describe Puppet::Util::SUIDManager do
237
240
  end
238
241
  end
239
242
 
240
- describe "on Windows", :if => Puppet::Util::Platform.windows? do
243
+ describe "on Microsoft Windows", :if => Puppet::Util::Platform.windows? do
241
244
  it "should be root if user is privileged" do
242
245
  allow(Puppet::Util::Windows::User).to receive(:admin?).and_return(true)
243
246
 
@@ -258,19 +261,13 @@ describe 'Puppet::Util::SUIDManager#groups=' do
258
261
  Puppet::Util::SUIDManager
259
262
  end
260
263
 
261
- it "raises on Windows", if: Puppet::Util::Platform.windows? do
262
- expect {
263
- subject.groups = []
264
- }.to raise_error(NotImplementedError, /groups=\(\) function is unimplemented/)
265
- end
266
-
267
- it "(#3419) should rescue Errno::EINVAL on OS X", unless: Puppet::Util::Platform.windows? do
264
+ it "(#3419) should rescue Errno::EINVAL on OS X" do
268
265
  expect(Process).to receive(:groups=).and_raise(Errno::EINVAL, 'blew up')
269
266
  expect(subject).to receive(:osx_maj_ver).and_return('10.7').twice
270
267
  subject.groups = ['list', 'of', 'groups']
271
268
  end
272
269
 
273
- it "(#3419) should fail if an Errno::EINVAL is raised NOT on OS X", unless: Puppet::Util::Platform.windows? do
270
+ it "(#3419) should fail if an Errno::EINVAL is raised NOT on OS X" do
274
271
  expect(Process).to receive(:groups=).and_raise(Errno::EINVAL, 'blew up')
275
272
  expect(subject).to receive(:osx_maj_ver).and_return(false)
276
273
  expect { subject.groups = ['list', 'of', 'groups'] }.to raise_error(Errno::EINVAL)
@@ -131,74 +131,33 @@ describe "Puppet::Util::Windows::SID", :if => Puppet::Util::Platform.windows? do
131
131
  expect(subject.name_to_principal(unknown_name)).to be_nil
132
132
  end
133
133
 
134
- it "should print a debug message if the account does not exist" do
135
- expect(Puppet).to receive(:debug).with(/No mapping between account names and security IDs was done/)
136
- subject.name_to_principal(unknown_name)
137
- end
138
-
139
134
  it "should return a Puppet::Util::Windows::SID::Principal instance for any valid sid" do
140
135
  expect(subject.name_to_principal(sid)).to be_an_instance_of(Puppet::Util::Windows::SID::Principal)
141
136
  end
142
137
 
143
- it "should not print debug messages for valid sid" do
144
- expect(Puppet).not_to receive(:debug).with(/Could not retrieve raw SID bytes from/)
145
- expect(Puppet).not_to receive(:debug).with(/No mapping between account names and security IDs was done/)
146
- subject.name_to_principal(sid)
147
- end
148
-
149
- it "should print a debug message for invalid sid" do
150
- expect(Puppet).not_to receive(:debug).with(/Could not retrieve raw SID bytes from/)
151
- expect(Puppet).to receive(:debug).with(/No mapping between account names and security IDs was done/)
152
- subject.name_to_principal('S-1-5-21-INVALID-SID')
153
- end
154
-
155
138
  it "should accept unqualified account name" do
156
139
  # NOTE: lookup by name works in localized environments only for a few instances
157
140
  # this works in French Windows, even though the account is really Syst\u00E8me
158
141
  expect(subject.name_to_principal('SYSTEM').sid).to eq(sid)
159
142
  end
160
143
 
161
- it "should not print debug messages for unqualified account name" do
162
- expect(Puppet).not_to receive(:debug).with(/Could not retrieve raw SID bytes from/)
163
- expect(Puppet).not_to receive(:debug).with(/No mapping between account names and security IDs was done/)
164
- subject.name_to_principal('SYSTEM')
165
- end
166
-
167
144
  it "should be case-insensitive" do
168
145
  # NOTE: lookup by name works in localized environments only for a few instances
169
146
  # this works in French Windows, even though the account is really Syst\u00E8me
170
147
  expect(subject.name_to_principal('SYSTEM')).to eq(subject.name_to_principal('system'))
171
148
  end
172
149
 
173
- it "should not print debug messages for wrongly cased account name" do
174
- expect(Puppet).not_to receive(:debug).with(/Could not retrieve raw SID bytes from/)
175
- expect(Puppet).not_to receive(:debug).with(/No mapping between account names and security IDs was done/)
176
- subject.name_to_principal('system')
177
- end
178
-
179
150
  it "should be leading and trailing whitespace-insensitive" do
180
151
  # NOTE: lookup by name works in localized environments only for a few instances
181
152
  # this works in French Windows, even though the account is really Syst\u00E8me
182
153
  expect(subject.name_to_principal('SYSTEM')).to eq(subject.name_to_principal(' SYSTEM '))
183
154
  end
184
155
 
185
- it "should not print debug messages for account name with leading and trailing whitespace" do
186
- expect(Puppet).not_to receive(:debug).with(/Could not retrieve raw SID bytes from/)
187
- expect(Puppet).not_to receive(:debug).with(/No mapping between account names and security IDs was done/)
188
- subject.name_to_principal(' SYSTEM ')
189
- end
190
-
191
156
  it "should accept domain qualified account names" do
192
157
  # NOTE: lookup by name works in localized environments only for a few instances
193
158
  # this works in French Windows, even though the account is really AUTORITE NT\\Syst\u00E8me
194
159
  expect(subject.name_to_principal('NT AUTHORITY\SYSTEM').sid).to eq(sid)
195
160
  end
196
-
197
- it "should not print debug messages for domain qualified account names" do
198
- expect(Puppet).not_to receive(:debug).with(/Could not retrieve raw SID bytes from/)
199
- expect(Puppet).not_to receive(:debug).with(/No mapping between account names and security IDs was done/)
200
- subject.name_to_principal('NT AUTHORITY\SYSTEM')
201
- end
202
161
  end
203
162
 
204
163
  context "#ads_to_principal" do
@@ -4,15 +4,13 @@ require 'spec_helper'
4
4
  require 'puppet/util/windows'
5
5
 
6
6
  describe "Puppet::Util::Windows::String", :if => Puppet::Util::Platform.windows? do
7
- UTF16_NULL = [0, 0]
8
-
9
7
  def wide_string(str)
10
8
  Puppet::Util::Windows::String.wide_string(str)
11
9
  end
12
10
 
13
11
  def converts_to_wide_string(string_value)
14
12
  expected = string_value.encode(Encoding::UTF_16LE)
15
- expected_bytes = expected.bytes.to_a + UTF16_NULL
13
+ expected_bytes = expected.bytes.to_a
16
14
 
17
15
  expect(wide_string(string_value).bytes.to_a).to eq(expected_bytes)
18
16
  end
@@ -1,5 +1,6 @@
1
1
  # coding: utf-8
2
2
  require 'spec_helper'
3
+
3
4
  require 'puppet/util/yaml'
4
5
 
5
6
  describe Puppet::Util::Yaml do
@@ -9,21 +10,21 @@ describe Puppet::Util::Yaml do
9
10
 
10
11
  shared_examples_for 'yaml file loader' do |load_method|
11
12
  it 'returns false when the file is empty' do
12
- file_path = file_containing('input', '')
13
+ Puppet::FileSystem.touch(filename)
13
14
 
14
- expect(load_method.call(file_path)).to eq(false)
15
+ expect(load_method.call(filename)).to eq(false)
15
16
  end
16
17
 
17
18
  it 'reads a YAML file from disk' do
18
- file_path = file_containing('input', YAML.dump({ "my" => "data" }))
19
+ write_file(filename, YAML.dump({ "my" => "data" }))
19
20
 
20
- expect(load_method.call(file_path)).to eq({ "my" => "data" })
21
+ expect(load_method.call(filename)).to eq({ "my" => "data" })
21
22
  end
22
23
 
23
24
  it 'reads YAML as UTF-8' do
24
- file_path = file_containing('input', YAML.dump({ "my" => "𠜎" }))
25
+ write_file(filename, YAML.dump({ "my" => "𠜎" }))
25
26
 
26
- expect(load_method.call(file_path)).to eq({ "my" => "𠜎" })
27
+ expect(load_method.call(filename)).to eq({ "my" => "𠜎" })
27
28
  end
28
29
  end
29
30
 
@@ -118,11 +119,11 @@ FACTS
118
119
  it_should_behave_like 'yaml file loader', Puppet::Util::Yaml.method(:safe_load_file)
119
120
 
120
121
  it 'raises an error when the file is invalid YAML' do
121
- file_path = file_containing('input', '{ invalid')
122
+ write_file(filename, '{ invalid')
122
123
 
123
124
  expect {
124
- Puppet::Util::Yaml.safe_load_file(file_path)
125
- }.to raise_error(Puppet::Util::Yaml::YamlLoadError, %r[\(#{file_path}\): .* at line \d+ column \d+])
125
+ Puppet::Util::Yaml.safe_load_file(filename)
126
+ }.to raise_error(Puppet::Util::Yaml::YamlLoadError, %r[\(#{filename}\): .* at line \d+ column \d+])
126
127
  end
127
128
 
128
129
  it 'raises an error when the filename is illegal' do
@@ -138,89 +139,9 @@ FACTS
138
139
  end
139
140
  end
140
141
 
141
- context "#safe_load_file_if_valid" do
142
- before do
143
- Puppet[:log_level] = 'debug'
144
- end
145
-
146
- it_should_behave_like 'yaml file loader', Puppet::Util::Yaml.method(:safe_load_file_if_valid)
147
-
148
- it 'returns nil when the file is invalid YAML and debug logs about it' do
149
- file_path = file_containing('input', '{ invalid')
150
-
151
- expect(Puppet).to receive(:debug)
152
- .with(/Could not retrieve YAML content .+ expected ',' or '}'/).and_call_original
153
-
154
- expect(Puppet::Util::Yaml.safe_load_file_if_valid(file_path)).to eql(nil)
155
- end
156
-
157
- it 'returns nil when the filename is illegal and debug logs about it' do
158
- expect(Puppet).to receive(:debug)
159
- .with(/Could not retrieve YAML content .+: pathname contains null byte/).and_call_original
160
-
161
- expect(Puppet::Util::Yaml.safe_load_file_if_valid("not\0allowed")).to eql(nil)
162
- end
163
-
164
- it 'returns nil when the file does not exist and debug logs about it' do
165
- expect(Puppet).to receive(:debug)
166
- .with(/Could not retrieve YAML content .+: No such file or directory/).and_call_original
167
-
168
- expect(Puppet::Util::Yaml.safe_load_file_if_valid('does/not/exist.yaml')).to eql(nil)
169
- end
170
- end
171
-
172
- context '#load_file' do
173
- it_should_behave_like 'yaml file loader', Puppet::Util::Yaml.method(:load_file)
174
-
175
- it 'raises an error when the file is invalid YAML' do
176
- file_path = file_containing('input', '{ invalid')
177
-
178
- expect {
179
- Puppet::Util::Yaml.load_file(file_path)
180
- }.to raise_error(Puppet::Util::Yaml::YamlLoadError, %r{\(#{file_path}\): .* at line \d+ column \d+})
181
- end
182
-
183
- it 'raises an error when the filename is illegal' do
184
- expect {
185
- Puppet::Util::Yaml.load_file("not\0allowed")
186
- }.to raise_error(Puppet::Util::Yaml::YamlLoadError, /null byte/)
187
- end
188
-
189
- it 'raises an error when the file does not exist' do
190
- expect {
191
- Puppet::Util::Yaml.load_file('does/not/exist.yaml')
192
- }.to raise_error(Puppet::Util::Yaml::YamlLoadError, /No such file or directory/)
193
- end
194
-
195
- it 'allows return value to be overridden' do
196
- file_path = file_containing('input', '')
197
-
198
- expect(Puppet::Util::Yaml.load_file(file_path, {})).to eq({})
199
- end
200
-
201
- it 'loads arbitrary objects' do
202
- file_path = file_containing('input', "--- !ruby/object {}\n")
203
-
204
- expect(Puppet::Util::Yaml.load_file(file_path, {})).to be_instance_of(Object)
205
- end
206
-
207
- it 'should allow one to strip ruby tags that would otherwise not parse' do
208
- file_path = file_containing('input', "---\nweirddata: !ruby/hash:Not::A::Valid::Class {}")
209
-
210
- expect(Puppet::Util::Yaml.load_file(file_path, {}, true)).to eq({"weirddata" => {}})
211
- end
212
-
213
- it 'should not strip non-ruby tags' do
214
- file_path = file_containing('input', "---\nweirddata: !binary |-\n e21kNX04MTE4ZGY2NmM5MTc3OTg4ZWE4Y2JiOWEzMjMyNzFkYg==")
215
-
216
- expect(Puppet::Util::Yaml.load_file(file_path, {}, true)).to eq({"weirddata" => "{md5}8118df66c9177988ea8cbb9a323271db"})
217
- end
218
-
219
- it 'writes data formatted as YAML to disk' do
220
- file_path = file_containing('input', '')
221
- Puppet::Util::Yaml.dump({ "my" => "data" }, file_path)
222
-
223
- expect(Puppet::Util::Yaml.load_file(file_path)).to eq({ "my" => "data" })
142
+ def write_file(name, contents)
143
+ File.open(name, "w:UTF-8") do |fh|
144
+ fh.write(contents)
224
145
  end
225
146
  end
226
147
  end
@@ -3,12 +3,6 @@ require 'spec_helper'
3
3
  describe Puppet::Util do
4
4
  include PuppetSpec::Files
5
5
 
6
- # Discriminator for tests that attempts to unset HOME since that, for reasons currently unknown,
7
- # doesn't work in Ruby >= 2.4.0
8
- def self.gte_ruby_2_4
9
- @gte_ruby_2_4 ||= SemanticPuppet::Version.parse(RUBY_VERSION) >= SemanticPuppet::Version.parse('2.4.0')
10
- end
11
-
12
6
  if Puppet::Util::Platform.windows?
13
7
  def set_mode(mode, file)
14
8
  Puppet::Util::Windows::Security.set_mode(mode, file)
@@ -315,7 +309,7 @@ describe Puppet::Util do
315
309
 
316
310
  describe "when using platform :posix" do
317
311
  before :each do
318
- allow(Puppet.features).to receive(:posix?).and_return(true)
312
+ allow(Puppet.features).to receive(:posix).and_return(true)
319
313
  allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
320
314
  end
321
315
 
@@ -328,7 +322,7 @@ describe Puppet::Util do
328
322
 
329
323
  describe "when using platform :windows" do
330
324
  before :each do
331
- allow(Puppet.features).to receive(:posix?).and_return(false)
325
+ allow(Puppet.features).to receive(:posix).and_return(false)
332
326
  allow(Puppet::Util::Platform).to receive(:windows?).and_return(true)
333
327
  end
334
328
 
@@ -462,7 +456,7 @@ describe Puppet::Util do
462
456
 
463
457
  describe "when using platform :posix" do
464
458
  before :each do
465
- allow(Puppet.features).to receive(:posix?).and_return(true)
459
+ allow(Puppet.features).to receive(:posix).and_return(true)
466
460
  allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
467
461
  end
468
462
 
@@ -501,7 +495,7 @@ describe Puppet::Util do
501
495
 
502
496
  describe "when using platform :windows" do
503
497
  before :each do
504
- allow(Puppet.features).to receive(:posix?).and_return(false)
498
+ allow(Puppet.features).to receive(:posix).and_return(false)
505
499
  allow(Puppet::Util::Platform).to receive(:windows?).and_return(true)
506
500
  end
507
501
 
@@ -539,6 +533,7 @@ describe Puppet::Util do
539
533
  expect(Puppet::Util.uri_to_path(URI.parse('http://foo/bar%20baz'))).to eq('/bar baz')
540
534
  end
541
535
 
536
+
542
537
  [
543
538
  "http://foo/A%DB%BF%E1%9A%A0%F0%A0%9C%8E",
544
539
  "http://foo/A%DB%BF%E1%9A%A0%F0%A0%9C%8E".force_encoding(Encoding::ASCII)
@@ -588,15 +583,7 @@ describe Puppet::Util do
588
583
  end
589
584
  end
590
585
 
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
586
+ describe "safe_posix_fork" do
600
587
  let(:pid) { 5501 }
601
588
 
602
589
  before :each do
@@ -676,18 +663,6 @@ describe Puppet::Util do
676
663
  expect(Puppet::Util.which('doesnotexist')).to be_nil
677
664
  end
678
665
 
679
- it "should warn if the user's HOME is not set but their PATH contains a ~", :unless => gte_ruby_2_4 do
680
- env_path = %w[~/bin /usr/bin /bin].join(File::PATH_SEPARATOR)
681
-
682
- env = {:HOME => nil, :PATH => env_path}
683
- env.merge!({:HOMEDRIVE => nil, :USERPROFILE => nil}) if Puppet::Util::Platform.windows?
684
-
685
- expect(Puppet::Util::Warnings).to receive(:warnonce).once
686
- Puppet::Util.withenv(env) do
687
- Puppet::Util.which('foo')
688
- end
689
- end
690
-
691
666
  it "should reject directories" do
692
667
  expect(Puppet::Util.which(base)).to be_nil
693
668
  end
@@ -37,21 +37,19 @@ task(:gen_cert_fixtures) do
37
37
  # | |
38
38
  # signed.pem | +- /CN=signed
39
39
  # revoked.pem | +- /CN=revoked
40
+ # 127.0.0.1.pem | +- /CN=127.0.0.1 (with dns alt names)
40
41
  # tampered-cert.pem | +- /CN=signed (with different public key)
41
42
  # ec.pem | +- /CN=ec (with EC private key)
42
- # oid.pem | +- /CN=oid (with custom oid)
43
43
  # |
44
- # 127.0.0.1.pem +- /CN=127.0.0.1 (with dns alt names)
45
- # |
46
- # intermediate-agent.pem +- /CN=Test CA Agent Subauthority
47
- # | |
48
- # pluto.pem | +- /CN=pluto
44
+ # + /CN=Test CA Agent Subauthority
45
+ # | |
46
+ # pluto.pem | +- /CN=pluto
49
47
  # |
50
48
  # bad-int-basic-constraints.pem +- /CN=Test CA Subauthority (bad isCA constraint)
51
49
  #
52
50
  # bad-basic-constraints.pem /CN=Test CA (bad isCA constraint)
53
51
  #
54
- # unknown-ca.pem /CN=Unknown CA
52
+ # unknown-ca.pemm /CN=Unknown CA
55
53
  # |
56
54
  # unknown-127.0.0.1.pem +- /CN=127.0.0.1
57
55
  #
@@ -105,14 +103,6 @@ task(:gen_cert_fixtures) do
105
103
  save(dir, '127.0.0.1.pem', signed[:cert])
106
104
  save(dir, '127.0.0.1-key.pem', signed[:private_key])
107
105
 
108
- # Create an SSL cert with extensions containing custom oids
109
- extensions = [
110
- ['1.3.6.1.4.1.34380.1.2.1.1', OpenSSL::ASN1::UTF8String.new('somevalue'), false],
111
- ]
112
- oid = ca.create_cert('oid', inter[:cert], inter[:private_key], extensions: extensions)
113
- save(dir, 'oid.pem', oid[:cert])
114
- save(dir, 'oid-key.pem', oid[:private_key])
115
-
116
106
  # Create a leaf/entity key and cert for host "revoked", issued by "Test CA Subauthority"
117
107
  # and revoke the cert
118
108
  revoked = ca.create_cert('revoked', inter[:cert], inter[:private_key])
@@ -183,12 +173,12 @@ task(:gen_cert_fixtures) do
183
173
 
184
174
  # Create a request, but replace its public key after it's signed
185
175
  tampered_csr = ca.create_request('signed')[:csr]
186
- tampered_csr.public_key = OpenSSL::PKey::RSA.new(2048).public_key
176
+ tampered_csr.public_key = OpenSSL::PKey::RSA.new(1024).public_key
187
177
  save(dir, 'tampered-csr.pem', tampered_csr)
188
178
 
189
179
  # Create a cert issued from the real intermediate CA, but replace its
190
180
  # public key
191
181
  tampered_cert = ca.create_cert('signed', inter[:cert], inter[:private_key])[:cert]
192
- tampered_cert.public_key = OpenSSL::PKey::RSA.new(2048).public_key
182
+ tampered_cert.public_key = OpenSSL::PKey::RSA.new(1024).public_key
193
183
  save(dir, 'tampered-cert.pem', tampered_cert)
194
184
  end
data/tasks/parallel.rake CHANGED
@@ -5,9 +5,9 @@ require 'thread'
5
5
  begin
6
6
  require 'rspec'
7
7
  require 'rspec/core/formatters/helpers'
8
- require 'etc'
8
+ require 'facter'
9
9
  rescue LoadError
10
- # Don't define the task if we don't have rspec present
10
+ # Don't define the task if we don't have rspec or facter present
11
11
  else
12
12
  module Parallel
13
13
  module RSpec
@@ -401,7 +401,7 @@ else
401
401
  # Default group size in rspec examples
402
402
  DEFAULT_GROUP_SIZE = 1000
403
403
 
404
- process_count = [(args[:process_count] || Etc.nprocessors).to_i, 1].max
404
+ process_count = [(args[:process_count] || Facter.value("processorcount")).to_i, 1].max
405
405
  group_size = [(args[:group_size] || DEFAULT_GROUP_SIZE).to_i, 1].max
406
406
 
407
407
  abort unless Parallel::RSpec::Parallelizer.new(process_count, group_size, color_output?, args.extras).run