puppet 7.3.0-universal-darwin → 7.7.0-universal-darwin

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 (677) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +31 -25
  3. data/ext/build_defaults.yaml +0 -1
  4. data/install.rb +11 -11
  5. data/lib/hiera_puppet.rb +1 -1
  6. data/lib/puppet.rb +37 -37
  7. data/lib/puppet/agent.rb +6 -6
  8. data/lib/puppet/agent/disabler.rb +1 -1
  9. data/lib/puppet/agent/locker.rb +2 -2
  10. data/lib/puppet/application.rb +6 -6
  11. data/lib/puppet/application/agent.rb +18 -11
  12. data/lib/puppet/application/apply.rb +6 -5
  13. data/lib/puppet/application/catalog.rb +1 -1
  14. data/lib/puppet/application/config.rb +1 -1
  15. data/lib/puppet/application/describe.rb +1 -1
  16. data/lib/puppet/application/device.rb +8 -7
  17. data/lib/puppet/application/doc.rb +7 -7
  18. data/lib/puppet/application/epp.rb +2 -2
  19. data/lib/puppet/application/face_base.rb +2 -2
  20. data/lib/puppet/application/facts.rb +1 -1
  21. data/lib/puppet/application/filebucket.rb +2 -2
  22. data/lib/puppet/application/generate.rb +1 -1
  23. data/lib/puppet/application/help.rb +1 -1
  24. data/lib/puppet/application/indirection_base.rb +1 -1
  25. data/lib/puppet/application/lookup.rb +6 -6
  26. data/lib/puppet/application/module.rb +1 -1
  27. data/lib/puppet/application/node.rb +1 -1
  28. data/lib/puppet/application/parser.rb +2 -2
  29. data/lib/puppet/application/plugin.rb +1 -1
  30. data/lib/puppet/application/report.rb +1 -1
  31. data/lib/puppet/application/resource.rb +3 -2
  32. data/lib/puppet/application/script.rb +6 -5
  33. data/lib/puppet/application/ssl.rb +13 -2
  34. data/lib/puppet/application_support.rb +4 -4
  35. data/lib/puppet/compilable_resource_type.rb +1 -1
  36. data/lib/puppet/concurrent/lock.rb +1 -1
  37. data/lib/puppet/configurer.rb +4 -4
  38. data/lib/puppet/configurer/downloader.rb +4 -3
  39. data/lib/puppet/configurer/fact_handler.rb +3 -3
  40. data/lib/puppet/configurer/plugin_handler.rb +1 -1
  41. data/lib/puppet/confine.rb +1 -1
  42. data/lib/puppet/confine/boolean.rb +1 -1
  43. data/lib/puppet/confine/exists.rb +1 -1
  44. data/lib/puppet/confine/false.rb +1 -1
  45. data/lib/puppet/confine/feature.rb +1 -1
  46. data/lib/puppet/confine/true.rb +1 -1
  47. data/lib/puppet/confine/variable.rb +1 -1
  48. data/lib/puppet/confine_collection.rb +1 -1
  49. data/lib/puppet/confiner.rb +1 -1
  50. data/lib/puppet/context.rb +2 -2
  51. data/lib/puppet/context/trusted_information.rb +1 -1
  52. data/lib/puppet/daemon.rb +2 -2
  53. data/lib/puppet/data_binding.rb +1 -1
  54. data/lib/puppet/datatypes/error.rb +1 -1
  55. data/lib/puppet/defaults.rb +15 -11
  56. data/lib/puppet/environments.rb +17 -2
  57. data/lib/puppet/etc.rb +1 -1
  58. data/lib/puppet/external/pson/common.rb +1 -1
  59. data/lib/puppet/external/pson/pure.rb +3 -3
  60. data/lib/puppet/face.rb +1 -1
  61. data/lib/puppet/face/catalog.rb +1 -1
  62. data/lib/puppet/face/config.rb +2 -2
  63. data/lib/puppet/face/epp.rb +6 -6
  64. data/lib/puppet/face/facts.rb +18 -8
  65. data/lib/puppet/face/generate.rb +2 -2
  66. data/lib/puppet/face/help.rb +3 -3
  67. data/lib/puppet/face/module.rb +3 -3
  68. data/lib/puppet/face/module/install.rb +2 -2
  69. data/lib/puppet/face/node.rb +1 -1
  70. data/lib/puppet/face/parser.rb +4 -4
  71. data/lib/puppet/face/plugin.rb +2 -2
  72. data/lib/puppet/face/report.rb +1 -1
  73. data/lib/puppet/face/resource.rb +1 -1
  74. data/lib/puppet/feature/base.rb +2 -2
  75. data/lib/puppet/feature/bolt.rb +1 -1
  76. data/lib/puppet/feature/cfpropertylist.rb +1 -1
  77. data/lib/puppet/feature/eventlog.rb +1 -1
  78. data/lib/puppet/feature/hiera_eyaml.rb +1 -1
  79. data/lib/puppet/feature/hocon.rb +1 -1
  80. data/lib/puppet/feature/libuser.rb +2 -2
  81. data/lib/puppet/feature/msgpack.rb +1 -1
  82. data/lib/puppet/feature/pe_license.rb +1 -1
  83. data/lib/puppet/feature/selinux.rb +1 -1
  84. data/lib/puppet/feature/ssh.rb +1 -1
  85. data/lib/puppet/feature/telnet.rb +1 -1
  86. data/lib/puppet/feature/zlib.rb +1 -1
  87. data/lib/puppet/ffi/posix.rb +2 -2
  88. data/lib/puppet/ffi/posix/constants.rb +1 -1
  89. data/lib/puppet/ffi/posix/functions.rb +1 -1
  90. data/lib/puppet/ffi/windows.rb +4 -4
  91. data/lib/puppet/ffi/windows/api_types.rb +3 -3
  92. data/lib/puppet/ffi/windows/constants.rb +2 -2
  93. data/lib/puppet/ffi/windows/functions.rb +1 -1
  94. data/lib/puppet/ffi/windows/structs.rb +1 -1
  95. data/lib/puppet/file_bucket/dipper.rb +4 -4
  96. data/lib/puppet/file_bucket/file.rb +3 -3
  97. data/lib/puppet/file_serving/base.rb +2 -2
  98. data/lib/puppet/file_serving/configuration.rb +10 -10
  99. data/lib/puppet/file_serving/configuration/parser.rb +2 -2
  100. data/lib/puppet/file_serving/content.rb +3 -3
  101. data/lib/puppet/file_serving/fileset.rb +16 -4
  102. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  103. data/lib/puppet/file_serving/metadata.rb +6 -6
  104. data/lib/puppet/file_serving/mount.rb +4 -4
  105. data/lib/puppet/file_serving/mount/file.rb +1 -1
  106. data/lib/puppet/file_serving/mount/locales.rb +1 -1
  107. data/lib/puppet/file_serving/mount/modules.rb +1 -1
  108. data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -1
  109. data/lib/puppet/file_serving/mount/plugins.rb +1 -1
  110. data/lib/puppet/file_serving/mount/tasks.rb +1 -1
  111. data/lib/puppet/file_serving/terminus_helper.rb +2 -2
  112. data/lib/puppet/file_serving/terminus_selector.rb +1 -1
  113. data/lib/puppet/file_system.rb +9 -9
  114. data/lib/puppet/file_system/jruby.rb +1 -1
  115. data/lib/puppet/file_system/memory_file.rb +8 -1
  116. data/lib/puppet/file_system/path_pattern.rb +1 -1
  117. data/lib/puppet/file_system/uniquefile.rb +1 -1
  118. data/lib/puppet/file_system/windows.rb +4 -2
  119. data/lib/puppet/forge.rb +5 -5
  120. data/lib/puppet/forge/cache.rb +1 -1
  121. data/lib/puppet/forge/errors.rb +3 -3
  122. data/lib/puppet/forge/repository.rb +4 -4
  123. data/lib/puppet/functions.rb +1 -1
  124. data/lib/puppet/functions/all.rb +1 -1
  125. data/lib/puppet/functions/camelcase.rb +1 -1
  126. data/lib/puppet/functions/capitalize.rb +2 -2
  127. data/lib/puppet/functions/downcase.rb +2 -2
  128. data/lib/puppet/functions/get.rb +5 -5
  129. data/lib/puppet/functions/group_by.rb +13 -5
  130. data/lib/puppet/functions/lest.rb +1 -1
  131. data/lib/puppet/functions/new.rb +100 -100
  132. data/lib/puppet/functions/partition.rb +12 -4
  133. data/lib/puppet/functions/require.rb +5 -5
  134. data/lib/puppet/functions/sort.rb +3 -3
  135. data/lib/puppet/functions/tree_each.rb +7 -9
  136. data/lib/puppet/functions/type.rb +4 -4
  137. data/lib/puppet/functions/upcase.rb +2 -2
  138. data/lib/puppet/functions/versioncmp.rb +1 -1
  139. data/lib/puppet/generate/models/type/type.rb +1 -1
  140. data/lib/puppet/generate/type.rb +2 -2
  141. data/lib/puppet/gettext/config.rb +3 -3
  142. data/lib/puppet/gettext/module_translations.rb +1 -1
  143. data/lib/puppet/graph.rb +6 -6
  144. data/lib/puppet/graph/simple_graph.rb +2 -2
  145. data/lib/puppet/http.rb +26 -26
  146. data/lib/puppet/http/factory.rb +6 -2
  147. data/lib/puppet/http/proxy.rb +1 -1
  148. data/lib/puppet/http/resolver/server_list.rb +15 -4
  149. data/lib/puppet/http/service/compiler.rb +73 -1
  150. data/lib/puppet/http/service/file_server.rb +3 -2
  151. data/lib/puppet/indirector.rb +5 -5
  152. data/lib/puppet/indirector/catalog/compiler.rb +7 -6
  153. data/lib/puppet/indirector/catalog/json.rb +2 -2
  154. data/lib/puppet/indirector/catalog/msgpack.rb +2 -2
  155. data/lib/puppet/indirector/catalog/rest.rb +2 -2
  156. data/lib/puppet/indirector/catalog/store_configs.rb +2 -2
  157. data/lib/puppet/indirector/catalog/yaml.rb +2 -2
  158. data/lib/puppet/indirector/code.rb +1 -1
  159. data/lib/puppet/indirector/data_binding/hiera.rb +1 -1
  160. data/lib/puppet/indirector/data_binding/none.rb +1 -1
  161. data/lib/puppet/indirector/direct_file_server.rb +2 -2
  162. data/lib/puppet/indirector/envelope.rb +1 -1
  163. data/lib/puppet/indirector/errors.rb +1 -1
  164. data/lib/puppet/indirector/exec.rb +2 -2
  165. data/lib/puppet/indirector/face.rb +1 -1
  166. data/lib/puppet/indirector/facts/facter.rb +3 -2
  167. data/lib/puppet/indirector/facts/json.rb +3 -3
  168. data/lib/puppet/indirector/facts/memory.rb +2 -2
  169. data/lib/puppet/indirector/facts/network_device.rb +2 -2
  170. data/lib/puppet/indirector/facts/rest.rb +2 -2
  171. data/lib/puppet/indirector/facts/store_configs.rb +2 -2
  172. data/lib/puppet/indirector/facts/yaml.rb +3 -3
  173. data/lib/puppet/indirector/file_bucket_file/file.rb +4 -4
  174. data/lib/puppet/indirector/file_bucket_file/rest.rb +2 -2
  175. data/lib/puppet/indirector/file_bucket_file/selector.rb +1 -1
  176. data/lib/puppet/indirector/file_content.rb +1 -1
  177. data/lib/puppet/indirector/file_content/file.rb +3 -3
  178. data/lib/puppet/indirector/file_content/file_server.rb +3 -3
  179. data/lib/puppet/indirector/file_content/rest.rb +3 -3
  180. data/lib/puppet/indirector/file_content/selector.rb +4 -4
  181. data/lib/puppet/indirector/file_metadata.rb +1 -1
  182. data/lib/puppet/indirector/file_metadata/file.rb +3 -3
  183. data/lib/puppet/indirector/file_metadata/file_server.rb +3 -3
  184. data/lib/puppet/indirector/file_metadata/http.rb +3 -3
  185. data/lib/puppet/indirector/file_metadata/rest.rb +4 -3
  186. data/lib/puppet/indirector/file_metadata/selector.rb +4 -4
  187. data/lib/puppet/indirector/file_server.rb +4 -4
  188. data/lib/puppet/indirector/generic_http.rb +1 -1
  189. data/lib/puppet/indirector/hiera.rb +1 -1
  190. data/lib/puppet/indirector/indirection.rb +5 -5
  191. data/lib/puppet/indirector/json.rb +2 -2
  192. data/lib/puppet/indirector/memory.rb +1 -1
  193. data/lib/puppet/indirector/msgpack.rb +2 -2
  194. data/lib/puppet/indirector/node/exec.rb +2 -2
  195. data/lib/puppet/indirector/node/json.rb +2 -2
  196. data/lib/puppet/indirector/node/memory.rb +2 -2
  197. data/lib/puppet/indirector/node/msgpack.rb +2 -2
  198. data/lib/puppet/indirector/node/plain.rb +2 -2
  199. data/lib/puppet/indirector/node/rest.rb +2 -2
  200. data/lib/puppet/indirector/node/store_configs.rb +2 -2
  201. data/lib/puppet/indirector/node/yaml.rb +2 -2
  202. data/lib/puppet/indirector/none.rb +1 -1
  203. data/lib/puppet/indirector/plain.rb +1 -1
  204. data/lib/puppet/indirector/report/json.rb +2 -2
  205. data/lib/puppet/indirector/report/msgpack.rb +2 -2
  206. data/lib/puppet/indirector/report/processor.rb +3 -3
  207. data/lib/puppet/indirector/report/rest.rb +1 -1
  208. data/lib/puppet/indirector/report/yaml.rb +2 -2
  209. data/lib/puppet/indirector/request.rb +3 -3
  210. data/lib/puppet/indirector/resource/ral.rb +1 -1
  211. data/lib/puppet/indirector/resource/store_configs.rb +2 -2
  212. data/lib/puppet/indirector/terminus.rb +5 -5
  213. data/lib/puppet/indirector/yaml.rb +2 -2
  214. data/lib/puppet/info_service.rb +3 -3
  215. data/lib/puppet/info_service/class_information_service.rb +3 -3
  216. data/lib/puppet/info_service/plan_information_service.rb +1 -1
  217. data/lib/puppet/info_service/task_information_service.rb +1 -1
  218. data/lib/puppet/interface.rb +10 -10
  219. data/lib/puppet/interface/documentation.rb +1 -1
  220. data/lib/puppet/loaders.rb +21 -25
  221. data/lib/puppet/metatype/manager.rb +3 -3
  222. data/lib/puppet/module.rb +5 -4
  223. data/lib/puppet/module/plan.rb +1 -1
  224. data/lib/puppet/module/task.rb +1 -1
  225. data/lib/puppet/module_tool.rb +10 -10
  226. data/lib/puppet/module_tool/applications.rb +7 -7
  227. data/lib/puppet/module_tool/applications/application.rb +2 -2
  228. data/lib/puppet/module_tool/applications/checksummer.rb +2 -2
  229. data/lib/puppet/module_tool/applications/installer.rb +7 -7
  230. data/lib/puppet/module_tool/applications/unpacker.rb +2 -2
  231. data/lib/puppet/module_tool/applications/upgrader.rb +5 -5
  232. data/lib/puppet/module_tool/checksums.rb +1 -1
  233. data/lib/puppet/module_tool/contents_description.rb +1 -1
  234. data/lib/puppet/module_tool/dependency.rb +2 -2
  235. data/lib/puppet/module_tool/errors.rb +6 -6
  236. data/lib/puppet/module_tool/install_directory.rb +2 -2
  237. data/lib/puppet/module_tool/installed_modules.rb +2 -2
  238. data/lib/puppet/module_tool/local_tarball.rb +2 -2
  239. data/lib/puppet/module_tool/metadata.rb +3 -3
  240. data/lib/puppet/module_tool/tar.rb +4 -4
  241. data/lib/puppet/network/format.rb +1 -1
  242. data/lib/puppet/network/format_handler.rb +3 -3
  243. data/lib/puppet/network/format_support.rb +1 -1
  244. data/lib/puppet/network/formats.rb +2 -2
  245. data/lib/puppet/network/http.rb +17 -14
  246. data/lib/puppet/network/http/api.rb +11 -7
  247. data/lib/puppet/network/http/api/indirected_routes.rb +1 -1
  248. data/lib/puppet/network/http/api/master.rb +3 -2
  249. data/lib/puppet/network/http/api/master/v3.rb +2 -25
  250. data/lib/puppet/network/http/api/master/v3/environments.rb +2 -33
  251. data/lib/puppet/network/http/api/server.rb +10 -0
  252. data/lib/puppet/network/http/api/server/v3.rb +39 -0
  253. data/lib/puppet/network/http/api/server/v3/environments.rb +48 -0
  254. data/lib/puppet/network/http/connection.rb +1 -1
  255. data/lib/puppet/network/http/error.rb +1 -1
  256. data/lib/puppet/network/http/handler.rb +3 -3
  257. data/lib/puppet/network/http_pool.rb +1 -1
  258. data/lib/puppet/node.rb +3 -3
  259. data/lib/puppet/node/environment.rb +15 -8
  260. data/lib/puppet/node/facts.rb +3 -3
  261. data/lib/puppet/pal/pal_api.rb +10 -10
  262. data/lib/puppet/pal/pal_impl.rb +3 -3
  263. data/lib/puppet/parameter.rb +4 -4
  264. data/lib/puppet/parameter/boolean.rb +1 -1
  265. data/lib/puppet/parameter/package_options.rb +1 -1
  266. data/lib/puppet/parameter/path.rb +1 -1
  267. data/lib/puppet/parameter/value.rb +1 -1
  268. data/lib/puppet/parameter/value_collection.rb +1 -1
  269. data/lib/puppet/parser.rb +10 -10
  270. data/lib/puppet/parser/ast.rb +8 -8
  271. data/lib/puppet/parser/ast/hostclass.rb +1 -1
  272. data/lib/puppet/parser/ast/pops_bridge.rb +2 -2
  273. data/lib/puppet/parser/catalog_compiler.rb +2 -2
  274. data/lib/puppet/parser/compiler.rb +5 -5
  275. data/lib/puppet/parser/e4_parser_adapter.rb +1 -1
  276. data/lib/puppet/parser/functions.rb +4 -4
  277. data/lib/puppet/parser/functions/digest.rb +1 -1
  278. data/lib/puppet/parser/functions/file.rb +1 -1
  279. data/lib/puppet/parser/functions/fqdn_rand.rb +14 -6
  280. data/lib/puppet/parser/functions/versioncmp.rb +1 -1
  281. data/lib/puppet/parser/parser_factory.rb +2 -2
  282. data/lib/puppet/parser/resource.rb +3 -3
  283. data/lib/puppet/parser/scope.rb +3 -3
  284. data/lib/puppet/parser/script_compiler.rb +2 -2
  285. data/lib/puppet/parser/templatewrapper.rb +2 -2
  286. data/lib/puppet/parser/type_loader.rb +1 -1
  287. data/lib/puppet/plugins/configuration.rb +5 -5
  288. data/lib/puppet/pops.rb +57 -57
  289. data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
  290. data/lib/puppet/pops/evaluator/evaluator_impl.rb +7 -7
  291. data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -1
  292. data/lib/puppet/pops/loader/base_loader.rb +42 -32
  293. data/lib/puppet/pops/loader/dependency_loader.rb +2 -2
  294. data/lib/puppet/pops/loader/loader.rb +15 -5
  295. data/lib/puppet/pops/loader/module_loaders.rb +8 -8
  296. data/lib/puppet/pops/loader/predefined_loader.rb +4 -0
  297. data/lib/puppet/pops/loader/runtime3_type_loader.rb +1 -1
  298. data/lib/puppet/pops/loader/static_loader.rb +4 -0
  299. data/lib/puppet/pops/loader/task_instantiator.rb +1 -1
  300. data/lib/puppet/pops/loaders.rb +4 -4
  301. data/lib/puppet/pops/lookup/invocation.rb +1 -1
  302. data/lib/puppet/pops/model/ast_transformer.rb +1 -1
  303. data/lib/puppet/pops/model/pn_transformer.rb +1 -1
  304. data/lib/puppet/pops/parser/eparser.rb +2 -2
  305. data/lib/puppet/pops/parser/evaluating_parser.rb +1 -1
  306. data/lib/puppet/pops/parser/lexer2.rb +5 -9
  307. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  308. data/lib/puppet/pops/parser/parser_support.rb +4 -4
  309. data/lib/puppet/pops/puppet_stack.rb +1 -1
  310. data/lib/puppet/pops/serialization/json.rb +1 -1
  311. data/lib/puppet/pops/serialization/json_path.rb +1 -1
  312. data/lib/puppet/pops/time/timespan.rb +1 -1
  313. data/lib/puppet/pops/types/p_type_set_type.rb +1 -1
  314. data/lib/puppet/pops/types/string_converter.rb +1 -1
  315. data/lib/puppet/pops/types/type_calculator.rb +1 -1
  316. data/lib/puppet/pops/types/type_formatter.rb +1 -1
  317. data/lib/puppet/pops/types/type_parser.rb +1 -1
  318. data/lib/puppet/pops/types/types.rb +1 -1
  319. data/lib/puppet/pops/validation/checker4_0.rb +1 -2
  320. data/lib/puppet/property.rb +3 -3
  321. data/lib/puppet/property/boolean.rb +1 -1
  322. data/lib/puppet/property/ensure.rb +1 -1
  323. data/lib/puppet/property/keyvalue.rb +1 -1
  324. data/lib/puppet/property/list.rb +2 -2
  325. data/lib/puppet/property/ordered_list.rb +1 -1
  326. data/lib/puppet/provider.rb +2 -2
  327. data/lib/puppet/provider/confine.rb +2 -2
  328. data/lib/puppet/provider/exec.rb +2 -2
  329. data/lib/puppet/provider/exec/posix.rb +1 -1
  330. data/lib/puppet/provider/exec/windows.rb +1 -1
  331. data/lib/puppet/provider/file/posix.rb +1 -1
  332. data/lib/puppet/provider/file/windows.rb +1 -1
  333. data/lib/puppet/provider/group/aix.rb +1 -1
  334. data/lib/puppet/provider/group/directoryservice.rb +1 -1
  335. data/lib/puppet/provider/group/groupadd.rb +15 -10
  336. data/lib/puppet/provider/group/ldap.rb +1 -1
  337. data/lib/puppet/provider/group/pw.rb +1 -1
  338. data/lib/puppet/provider/group/windows_adsi.rb +1 -1
  339. data/lib/puppet/provider/ldap.rb +2 -2
  340. data/lib/puppet/provider/nameservice.rb +1 -1
  341. data/lib/puppet/provider/nameservice/directoryservice.rb +3 -3
  342. data/lib/puppet/provider/nameservice/objectadd.rb +1 -1
  343. data/lib/puppet/provider/nameservice/pw.rb +1 -1
  344. data/lib/puppet/provider/package.rb +1 -1
  345. data/lib/puppet/provider/package/aix.rb +2 -2
  346. data/lib/puppet/provider/package/appdmg.rb +2 -2
  347. data/lib/puppet/provider/package/apple.rb +1 -1
  348. data/lib/puppet/provider/package/apt.rb +32 -4
  349. data/lib/puppet/provider/package/aptitude.rb +6 -0
  350. data/lib/puppet/provider/package/dnfmodule.rb +2 -2
  351. data/lib/puppet/provider/package/dpkg.rb +1 -1
  352. data/lib/puppet/provider/package/gem.rb +3 -3
  353. data/lib/puppet/provider/package/hpux.rb +1 -1
  354. data/lib/puppet/provider/package/macports.rb +2 -2
  355. data/lib/puppet/provider/package/nim.rb +2 -2
  356. data/lib/puppet/provider/package/openbsd.rb +1 -1
  357. data/lib/puppet/provider/package/opkg.rb +1 -1
  358. data/lib/puppet/provider/package/pacman.rb +1 -1
  359. data/lib/puppet/provider/package/pip.rb +3 -3
  360. data/lib/puppet/provider/package/pkg.rb +2 -2
  361. data/lib/puppet/provider/package/pkgdmg.rb +3 -3
  362. data/lib/puppet/provider/package/pkgin.rb +1 -1
  363. data/lib/puppet/provider/package/pkgng.rb +1 -1
  364. data/lib/puppet/provider/package/portage.rb +1 -1
  365. data/lib/puppet/provider/package/portupgrade.rb +1 -1
  366. data/lib/puppet/provider/package/puppet_gem.rb +12 -1
  367. data/lib/puppet/provider/package/puppetserver_gem.rb +0 -0
  368. data/lib/puppet/provider/package/rpm.rb +2 -2
  369. data/lib/puppet/provider/package/sun.rb +1 -1
  370. data/lib/puppet/provider/package/windows.rb +3 -3
  371. data/lib/puppet/provider/package/windows/exe_package.rb +1 -1
  372. data/lib/puppet/provider/package/windows/msi_package.rb +1 -1
  373. data/lib/puppet/provider/package/windows/package.rb +4 -4
  374. data/lib/puppet/provider/package/yum.rb +3 -3
  375. data/lib/puppet/provider/package_targetable.rb +1 -1
  376. data/lib/puppet/provider/parsedfile.rb +3 -3
  377. data/lib/puppet/provider/service/base.rb +6 -4
  378. data/lib/puppet/provider/service/daemontools.rb +0 -1
  379. data/lib/puppet/provider/service/debian.rb +5 -5
  380. data/lib/puppet/provider/service/init.rb +1 -1
  381. data/lib/puppet/provider/service/launchd.rb +9 -3
  382. data/lib/puppet/provider/service/service.rb +28 -3
  383. data/lib/puppet/provider/service/smf.rb +0 -24
  384. data/lib/puppet/provider/service/src.rb +2 -2
  385. data/lib/puppet/provider/service/systemd.rb +12 -7
  386. data/lib/puppet/provider/service/windows.rb +38 -0
  387. data/lib/puppet/provider/user/aix.rb +2 -2
  388. data/lib/puppet/provider/user/directoryservice.rb +2 -2
  389. data/lib/puppet/provider/user/ldap.rb +1 -1
  390. data/lib/puppet/provider/user/openbsd.rb +1 -1
  391. data/lib/puppet/provider/user/pw.rb +1 -1
  392. data/lib/puppet/provider/user/user_role_add.rb +2 -2
  393. data/lib/puppet/provider/user/useradd.rb +65 -11
  394. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  395. data/lib/puppet/reference/configuration.rb +1 -1
  396. data/lib/puppet/reference/indirection.rb +4 -4
  397. data/lib/puppet/reference/report.rb +1 -1
  398. data/lib/puppet/reports.rb +1 -1
  399. data/lib/puppet/reports/http.rb +2 -2
  400. data/lib/puppet/reports/log.rb +1 -1
  401. data/lib/puppet/reports/store.rb +2 -2
  402. data/lib/puppet/resource.rb +4 -4
  403. data/lib/puppet/resource/catalog.rb +5 -5
  404. data/lib/puppet/resource/status.rb +2 -2
  405. data/lib/puppet/resource/type.rb +4 -4
  406. data/lib/puppet/resource/type_collection.rb +4 -4
  407. data/lib/puppet/runtime.rb +1 -1
  408. data/lib/puppet/scheduler.rb +4 -4
  409. data/lib/puppet/settings.rb +31 -30
  410. data/lib/puppet/settings/autosign_setting.rb +1 -1
  411. data/lib/puppet/settings/base_setting.rb +2 -2
  412. data/lib/puppet/settings/certificate_revocation_setting.rb +1 -1
  413. data/lib/puppet/settings/config_file.rb +1 -1
  414. data/lib/puppet/settings/environment_conf.rb +1 -0
  415. data/lib/puppet/settings/errors.rb +1 -1
  416. data/lib/puppet/settings/priority_setting.rb +3 -3
  417. data/lib/puppet/ssl.rb +11 -11
  418. data/lib/puppet/ssl/base.rb +3 -3
  419. data/lib/puppet/ssl/certificate.rb +1 -1
  420. data/lib/puppet/ssl/certificate_request.rb +2 -2
  421. data/lib/puppet/ssl/certificate_request_attributes.rb +2 -2
  422. data/lib/puppet/ssl/oids.rb +1 -1
  423. data/lib/puppet/ssl/openssl_loader.rb +1 -1
  424. data/lib/puppet/ssl/ssl_context.rb +1 -1
  425. data/lib/puppet/ssl/ssl_provider.rb +1 -1
  426. data/lib/puppet/ssl/state_machine.rb +2 -2
  427. data/lib/puppet/ssl/verifier.rb +5 -1
  428. data/lib/puppet/syntax_checkers/base64.rb +1 -1
  429. data/lib/puppet/syntax_checkers/epp.rb +1 -1
  430. data/lib/puppet/syntax_checkers/json.rb +1 -1
  431. data/lib/puppet/syntax_checkers/pp.rb +1 -1
  432. data/lib/puppet/transaction.rb +11 -11
  433. data/lib/puppet/transaction/event.rb +4 -4
  434. data/lib/puppet/transaction/event_manager.rb +1 -1
  435. data/lib/puppet/transaction/persistence.rb +1 -1
  436. data/lib/puppet/transaction/report.rb +2 -2
  437. data/lib/puppet/transaction/resource_harness.rb +1 -1
  438. data/lib/puppet/type.rb +14 -14
  439. data/lib/puppet/type/component.rb +3 -3
  440. data/lib/puppet/type/file.rb +37 -19
  441. data/lib/puppet/type/file/checksum.rb +1 -1
  442. data/lib/puppet/type/file/checksum_value.rb +2 -2
  443. data/lib/puppet/type/file/content.rb +2 -2
  444. data/lib/puppet/type/file/data_sync.rb +2 -2
  445. data/lib/puppet/type/file/ensure.rb +1 -1
  446. data/lib/puppet/type/file/group.rb +1 -1
  447. data/lib/puppet/type/file/mode.rb +1 -1
  448. data/lib/puppet/type/file/selcontext.rb +2 -2
  449. data/lib/puppet/type/file/source.rb +4 -4
  450. data/lib/puppet/type/filebucket.rb +1 -1
  451. data/lib/puppet/type/group.rb +2 -2
  452. data/lib/puppet/type/package.rb +5 -5
  453. data/lib/puppet/type/resources.rb +2 -2
  454. data/lib/puppet/type/service.rb +10 -29
  455. data/lib/puppet/type/tidy.rb +24 -5
  456. data/lib/puppet/type/user.rb +4 -4
  457. data/lib/puppet/util.rb +43 -34
  458. data/lib/puppet/util/at_fork.rb +3 -3
  459. data/lib/puppet/util/at_fork/solaris.rb +1 -1
  460. data/lib/puppet/util/autoload.rb +4 -4
  461. data/lib/puppet/util/checksums.rb +3 -3
  462. data/lib/puppet/util/colors.rb +1 -1
  463. data/lib/puppet/util/command_line.rb +6 -6
  464. data/lib/puppet/util/command_line/puppet_option_parser.rb +2 -2
  465. data/lib/puppet/util/execution.rb +2 -2
  466. data/lib/puppet/util/feature.rb +2 -2
  467. data/lib/puppet/util/filetype.rb +1 -1
  468. data/lib/puppet/util/http_proxy.rb +1 -1
  469. data/lib/puppet/util/inifile.rb +2 -2
  470. data/lib/puppet/util/instance_loader.rb +3 -3
  471. data/lib/puppet/util/json_lockfile.rb +1 -1
  472. data/lib/puppet/util/ldap/connection.rb +1 -1
  473. data/lib/puppet/util/ldap/generator.rb +1 -1
  474. data/lib/puppet/util/ldap/manager.rb +3 -3
  475. data/lib/puppet/util/limits.rb +1 -1
  476. data/lib/puppet/util/log.rb +6 -6
  477. data/lib/puppet/util/log/destinations.rb +1 -1
  478. data/lib/puppet/util/logging.rb +2 -2
  479. data/lib/puppet/util/metric.rb +2 -2
  480. data/lib/puppet/util/monkey_patches.rb +14 -3
  481. data/lib/puppet/util/network_device/base.rb +3 -3
  482. data/lib/puppet/util/network_device/config.rb +2 -2
  483. data/lib/puppet/util/network_device/transport.rb +1 -1
  484. data/lib/puppet/util/network_device/transport/base.rb +2 -2
  485. data/lib/puppet/util/package/version/range.rb +6 -6
  486. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  487. data/lib/puppet/util/package/version/range/gt.rb +1 -1
  488. data/lib/puppet/util/package/version/range/gt_eq.rb +1 -1
  489. data/lib/puppet/util/package/version/range/lt.rb +1 -1
  490. data/lib/puppet/util/package/version/range/lt_eq.rb +1 -1
  491. data/lib/puppet/util/package/version/range/min_max.rb +1 -1
  492. data/lib/puppet/util/package/version/range/simple.rb +1 -1
  493. data/lib/puppet/util/package/version/rpm.rb +1 -1
  494. data/lib/puppet/util/pidlock.rb +1 -1
  495. data/lib/puppet/util/plist.rb +1 -1
  496. data/lib/puppet/util/posix.rb +1 -1
  497. data/lib/puppet/util/profiler.rb +3 -3
  498. data/lib/puppet/util/profiler/aggregate.rb +2 -2
  499. data/lib/puppet/util/profiler/object_counts.rb +1 -1
  500. data/lib/puppet/util/profiler/wall_clock.rb +1 -1
  501. data/lib/puppet/util/provider_features.rb +2 -2
  502. data/lib/puppet/util/rdoc.rb +2 -2
  503. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +2 -2
  504. data/lib/puppet/util/rdoc/parser.rb +6 -6
  505. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  506. data/lib/puppet/util/reference.rb +1 -1
  507. data/lib/puppet/util/resource_template.rb +2 -2
  508. data/lib/puppet/util/rubygems.rb +1 -1
  509. data/lib/puppet/util/selinux.rb +30 -4
  510. data/lib/puppet/util/skip_tags.rb +1 -1
  511. data/lib/puppet/util/storage.rb +1 -1
  512. data/lib/puppet/util/suidmanager.rb +2 -2
  513. data/lib/puppet/util/symbolic_file_mode.rb +1 -1
  514. data/lib/puppet/util/tag_set.rb +1 -1
  515. data/lib/puppet/util/tagging.rb +1 -1
  516. data/lib/puppet/util/watched_file.rb +1 -1
  517. data/lib/puppet/util/watcher.rb +3 -3
  518. data/lib/puppet/util/windows.rb +20 -20
  519. data/lib/puppet/util/windows/access_control_entry.rb +1 -1
  520. data/lib/puppet/util/windows/adsi.rb +47 -1
  521. data/lib/puppet/util/windows/daemon.rb +1 -1
  522. data/lib/puppet/util/windows/error.rb +2 -2
  523. data/lib/puppet/util/windows/file.rb +1 -1
  524. data/lib/puppet/util/windows/monkey_patches/process.rb +2 -2
  525. data/lib/puppet/util/windows/principal.rb +10 -3
  526. data/lib/puppet/util/windows/process.rb +2 -2
  527. data/lib/puppet/util/windows/registry.rb +1 -1
  528. data/lib/puppet/util/windows/root_certs.rb +2 -2
  529. data/lib/puppet/util/windows/security.rb +1 -1
  530. data/lib/puppet/util/windows/security_descriptor.rb +1 -1
  531. data/lib/puppet/util/windows/service.rb +1 -1
  532. data/lib/puppet/util/windows/sid.rb +5 -3
  533. data/lib/puppet/util/windows/user.rb +1 -1
  534. data/lib/puppet/vendor.rb +1 -1
  535. data/lib/puppet/version.rb +1 -1
  536. data/lib/puppet/x509.rb +4 -4
  537. data/lib/puppet/x509/cert_provider.rb +1 -1
  538. data/lib/puppet/x509/pem_store.rb +1 -1
  539. data/lib/puppet_pal.rb +2 -2
  540. data/locales/puppet.pot +173 -157
  541. data/man/man5/puppet.conf.5 +263 -240
  542. data/man/man8/puppet-agent.8 +1 -1
  543. data/man/man8/puppet-apply.8 +1 -1
  544. data/man/man8/puppet-catalog.8 +1 -1
  545. data/man/man8/puppet-config.8 +1 -1
  546. data/man/man8/puppet-describe.8 +1 -1
  547. data/man/man8/puppet-device.8 +1 -1
  548. data/man/man8/puppet-doc.8 +1 -1
  549. data/man/man8/puppet-epp.8 +1 -1
  550. data/man/man8/puppet-facts.8 +5 -2
  551. data/man/man8/puppet-filebucket.8 +1 -1
  552. data/man/man8/puppet-generate.8 +1 -1
  553. data/man/man8/puppet-help.8 +1 -1
  554. data/man/man8/puppet-lookup.8 +1 -1
  555. data/man/man8/puppet-module.8 +1 -1
  556. data/man/man8/puppet-node.8 +1 -1
  557. data/man/man8/puppet-parser.8 +1 -1
  558. data/man/man8/puppet-plugin.8 +1 -1
  559. data/man/man8/puppet-report.8 +1 -1
  560. data/man/man8/puppet-resource.8 +1 -1
  561. data/man/man8/puppet-script.8 +1 -1
  562. data/man/man8/puppet-ssl.8 +5 -1
  563. data/man/man8/puppet.8 +2 -2
  564. data/spec/fixtures/ssl/127.0.0.1-key.pem +107 -57
  565. data/spec/fixtures/ssl/127.0.0.1.pem +52 -31
  566. data/spec/fixtures/ssl/bad-basic-constraints.pem +57 -35
  567. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +57 -35
  568. data/spec/fixtures/ssl/ca.pem +57 -35
  569. data/spec/fixtures/ssl/crl.pem +28 -18
  570. data/spec/fixtures/ssl/ec-key.pem +11 -11
  571. data/spec/fixtures/ssl/ec.pem +33 -24
  572. data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
  573. data/spec/fixtures/ssl/encrypted-key.pem +108 -58
  574. data/spec/fixtures/ssl/intermediate-agent-crl.pem +28 -19
  575. data/spec/fixtures/ssl/intermediate-agent.pem +57 -36
  576. data/spec/fixtures/ssl/intermediate-crl.pem +31 -21
  577. data/spec/fixtures/ssl/intermediate.pem +57 -36
  578. data/spec/fixtures/ssl/pluto-key.pem +107 -57
  579. data/spec/fixtures/ssl/pluto.pem +52 -30
  580. data/spec/fixtures/ssl/request-key.pem +107 -57
  581. data/spec/fixtures/ssl/request.pem +47 -26
  582. data/spec/fixtures/ssl/revoked-key.pem +107 -57
  583. data/spec/fixtures/ssl/revoked.pem +52 -30
  584. data/spec/fixtures/ssl/signed-key.pem +107 -57
  585. data/spec/fixtures/ssl/signed.pem +52 -30
  586. data/spec/fixtures/ssl/tampered-cert.pem +52 -30
  587. data/spec/fixtures/ssl/tampered-csr.pem +47 -26
  588. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +107 -57
  589. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +50 -29
  590. data/spec/fixtures/ssl/unknown-ca-key.pem +107 -57
  591. data/spec/fixtures/ssl/unknown-ca.pem +55 -33
  592. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +9 -0
  593. data/spec/integration/application/agent_spec.rb +33 -0
  594. data/spec/integration/application/plugin_spec.rb +1 -1
  595. data/spec/integration/http/client_spec.rb +12 -0
  596. data/spec/integration/indirector/direct_file_server_spec.rb +1 -3
  597. data/spec/integration/parser/collection_spec.rb +10 -0
  598. data/spec/integration/type/file_spec.rb +5 -5
  599. data/spec/integration/util/windows/adsi_spec.rb +18 -0
  600. data/spec/integration/util/windows/principal_spec.rb +21 -0
  601. data/spec/integration/util/windows/registry_spec.rb +6 -0
  602. data/spec/lib/puppet/test_ca.rb +2 -2
  603. data/spec/lib/puppet_spec/files.rb +1 -1
  604. data/spec/shared_contexts/provider.rb +16 -0
  605. data/spec/spec_helper.rb +11 -1
  606. data/spec/unit/application/agent_spec.rb +7 -2
  607. data/spec/unit/application/facts_spec.rb +58 -7
  608. data/spec/unit/application/ssl_spec.rb +23 -0
  609. data/spec/unit/configurer/downloader_spec.rb +6 -0
  610. data/spec/unit/configurer_spec.rb +23 -0
  611. data/spec/unit/environments_spec.rb +164 -88
  612. data/spec/unit/file_bucket/dipper_spec.rb +1 -1
  613. data/spec/unit/file_serving/fileset_spec.rb +60 -0
  614. data/spec/unit/file_system_spec.rb +9 -0
  615. data/spec/unit/gettext/config_spec.rb +12 -0
  616. data/spec/unit/http/factory_spec.rb +19 -0
  617. data/spec/unit/http/service/compiler_spec.rb +123 -0
  618. data/spec/unit/indirector/catalog/compiler_spec.rb +14 -10
  619. data/spec/unit/indirector/facts/facter_spec.rb +9 -0
  620. data/spec/unit/module_spec.rb +1 -1
  621. data/spec/unit/network/http/api/master_spec.rb +38 -0
  622. data/spec/unit/network/http/api/{master → server}/v3/environments_spec.rb +2 -2
  623. data/spec/unit/network/http/api/{master → server}/v3_spec.rb +19 -19
  624. data/spec/unit/network/http/api_spec.rb +11 -11
  625. data/spec/unit/parser/functions/fqdn_rand_spec.rb +15 -1
  626. data/spec/unit/pops/loaders/dependency_loader_spec.rb +1 -1
  627. data/spec/unit/pops/lookup/context_spec.rb +1 -1
  628. data/spec/unit/pops/parser/lexer2_spec.rb +0 -4
  629. data/spec/unit/pops/types/type_parser_spec.rb +2 -1
  630. data/spec/unit/pops/validator/validator_spec.rb +20 -43
  631. data/spec/unit/provider/group/groupadd_spec.rb +5 -2
  632. data/spec/unit/provider/package/apt_spec.rb +24 -15
  633. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  634. data/spec/unit/provider/package/dnfmodule_spec.rb +13 -4
  635. data/spec/unit/provider/package/gem_spec.rb +3 -1
  636. data/spec/unit/provider/package/pip2_spec.rb +3 -1
  637. data/spec/unit/provider/package/pip3_spec.rb +3 -1
  638. data/spec/unit/provider/package/pip_spec.rb +3 -1
  639. data/spec/unit/provider/package/pkg_spec.rb +44 -44
  640. data/spec/unit/provider/package/puppet_gem_spec.rb +31 -1
  641. data/spec/unit/provider/package/puppetserver_gem_spec.rb +2 -0
  642. data/spec/unit/provider/service/base_spec.rb +8 -8
  643. data/spec/unit/provider/service/bsd_spec.rb +0 -4
  644. data/spec/unit/provider/service/daemontools_spec.rb +1 -1
  645. data/spec/unit/provider/service/debian_spec.rb +15 -17
  646. data/spec/unit/provider/service/gentoo_spec.rb +19 -14
  647. data/spec/unit/provider/service/init_spec.rb +29 -20
  648. data/spec/unit/provider/service/launchd_spec.rb +10 -12
  649. data/spec/unit/provider/service/openbsd_spec.rb +21 -35
  650. data/spec/unit/provider/service/openrc_spec.rb +15 -14
  651. data/spec/unit/provider/service/openwrt_spec.rb +3 -1
  652. data/spec/unit/provider/service/redhat_spec.rb +20 -19
  653. data/spec/unit/provider/service/smf_spec.rb +6 -5
  654. data/spec/unit/provider/service/src_spec.rb +5 -10
  655. data/spec/unit/provider/service/systemd_spec.rb +68 -29
  656. data/spec/unit/provider/service/upstart_spec.rb +25 -20
  657. data/spec/unit/provider/service/windows_spec.rb +202 -0
  658. data/spec/unit/provider/user/useradd_spec.rb +70 -3
  659. data/spec/unit/resource/catalog_spec.rb +1 -1
  660. data/spec/unit/ssl/certificate_request_spec.rb +4 -10
  661. data/spec/unit/ssl/state_machine_spec.rb +19 -5
  662. data/spec/unit/transaction/additional_resource_generator_spec.rb +0 -2
  663. data/spec/unit/transaction_spec.rb +18 -20
  664. data/spec/unit/type/file/selinux_spec.rb +3 -3
  665. data/spec/unit/type/service_spec.rb +10 -154
  666. data/spec/unit/type/tidy_spec.rb +17 -7
  667. data/spec/unit/util/at_fork_spec.rb +9 -9
  668. data/spec/unit/util/posix_spec.rb +1 -1
  669. data/spec/unit/util/selinux_spec.rb +87 -16
  670. data/spec/unit/util/windows/sid_spec.rb +6 -0
  671. data/tasks/generate_cert_fixtures.rake +2 -2
  672. metadata +15 -16
  673. data/spec/lib/matchers/include.rb +0 -27
  674. data/spec/lib/matchers/include_spec.rb +0 -32
  675. data/spec/unit/pops/parser/parse_application_spec.rb +0 -13
  676. data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -23
  677. data/spec/unit/pops/parser/parse_site_spec.rb +0 -43
@@ -195,17 +195,27 @@ describe tidy do
195
195
  allow(Puppet::FileServing::Fileset).to receive(:new).and_return(@fileset)
196
196
  end
197
197
 
198
- it "should use a Fileset for infinite recursion" do
199
- expect(Puppet::FileServing::Fileset).to receive(:new).with(@basepath, :recurse => true).and_return(@fileset)
198
+ it "should use a Fileset with default max_files for infinite recursion" do
199
+ expect(Puppet::FileServing::Fileset).to receive(:new).with(@basepath, :recurse => true, :max_files=>0).and_return(@fileset)
200
200
  expect(@fileset).to receive(:files).and_return(%w{. one two})
201
201
  allow(@tidy).to receive(:tidy?).and_return(false)
202
202
 
203
203
  @tidy.generate
204
204
  end
205
205
 
206
- it "should use a Fileset for limited recursion" do
206
+ it "should use a Fileset with default max_files for limited recursion" do
207
207
  @tidy[:recurse] = 42
208
- expect(Puppet::FileServing::Fileset).to receive(:new).with(@basepath, :recurse => true, :recurselimit => 42).and_return(@fileset)
208
+ expect(Puppet::FileServing::Fileset).to receive(:new).with(@basepath, :recurse => true, :recurselimit => 42, :max_files=>0).and_return(@fileset)
209
+ expect(@fileset).to receive(:files).and_return(%w{. one two})
210
+ allow(@tidy).to receive(:tidy?).and_return(false)
211
+
212
+ @tidy.generate
213
+ end
214
+
215
+ it "should use a Fileset with max_files for limited recursion" do
216
+ @tidy[:recurse] = 42
217
+ @tidy[:max_files] = 9876
218
+ expect(Puppet::FileServing::Fileset).to receive(:new).with(@basepath, :recurse => true, :recurselimit => 42, :max_files=>9876).and_return(@fileset)
209
219
  expect(@fileset).to receive(:files).and_return(%w{. one two})
210
220
  allow(@tidy).to receive(:tidy?).and_return(false)
211
221
 
@@ -411,7 +421,7 @@ describe tidy do
411
421
  @tidy[:recurse] = true
412
422
  @tidy[:rmdirs] = true
413
423
  fileset = double('fileset')
414
- expect(Puppet::FileServing::Fileset).to receive(:new).with(@basepath, :recurse => true).and_return(fileset)
424
+ expect(Puppet::FileServing::Fileset).to receive(:new).with(@basepath, :recurse => true, :max_files=>0).and_return(fileset)
415
425
  expect(fileset).to receive(:files).and_return(%w{. one two one/subone two/subtwo one/subone/ssone})
416
426
  allow(@tidy).to receive(:tidy?).and_return(true)
417
427
 
@@ -433,7 +443,7 @@ describe tidy do
433
443
  @tidy[:recurse] = true
434
444
  @tidy[:rmdirs] = true
435
445
  fileset = double('fileset')
436
- expect(Puppet::FileServing::Fileset).to receive(:new).with(@basepath, :recurse => true).and_return(fileset)
446
+ expect(Puppet::FileServing::Fileset).to receive(:new).with(@basepath, :recurse => true, :max_files=>0).and_return(fileset)
437
447
  expect(fileset).to receive(:files).and_return(%w{. a a/2 a/1 a/3})
438
448
  allow(@tidy).to receive(:tidy?).and_return(true)
439
449
 
@@ -446,7 +456,7 @@ describe tidy do
446
456
  @tidy[:noop] = true
447
457
 
448
458
  fileset = double('fileset')
449
- expect(Puppet::FileServing::Fileset).to receive(:new).with(@basepath, :recurse => true).and_return(fileset)
459
+ expect(Puppet::FileServing::Fileset).to receive(:new).with(@basepath, :recurse => true, :max_files=>0).and_return(fileset)
450
460
  expect(fileset).to receive(:files).and_return(%w{. a a/2 a/1 a/3})
451
461
  allow(@tidy).to receive(:tidy?).and_return(true)
452
462
 
@@ -29,11 +29,11 @@ describe 'Puppet::Util::AtFork' do
29
29
  end
30
30
 
31
31
  def stub_solaris_handler(stub_noop_too = false)
32
- allow(Puppet::Util::AtFork).to receive(:require).with(anything) do |lib|
33
- if lib == 'puppet/util/at_fork/solaris'
34
- load lib + '.rb'
32
+ allow(Puppet::Util::AtFork).to receive(:require_relative).with(anything) do |lib|
33
+ if lib == 'at_fork/solaris'
34
+ load 'puppet/util/at_fork/solaris.rb'
35
35
  true
36
- elsif stub_noop_too && lib == 'puppet/util/at_fork/noop'
36
+ elsif stub_noop_too && lib == 'at_fork/noop'
37
37
  Puppet::Util::AtFork.class_exec do
38
38
  const_set(:Noop, Class.new)
39
39
  end
@@ -67,8 +67,8 @@ describe 'Puppet::Util::AtFork' do
67
67
  end
68
68
 
69
69
  it %q(should return the Solaris specific AtFork handler) do
70
- allow(Puppet::Util::AtFork).to receive(:require).with(anything) do |lib|
71
- if lib == 'puppet/util/at_fork/solaris'
70
+ allow(Puppet::Util::AtFork).to receive(:require_relative).with(anything) do |lib|
71
+ if lib == 'at_fork/solaris'
72
72
  Puppet::Util::AtFork.class_exec do
73
73
  const_set(:Solaris, Class.new)
74
74
  end
@@ -118,14 +118,14 @@ describe 'Puppet::Util::AtFork' do
118
118
  end
119
119
 
120
120
  def stub_noop_handler(namespace_only = false)
121
- allow(Puppet::Util::AtFork).to receive(:require).with(anything) do |lib|
122
- if lib == 'puppet/util/at_fork/noop'
121
+ allow(Puppet::Util::AtFork).to receive(:require_relative).with(anything) do |lib|
122
+ if lib == 'at_fork/noop'
123
123
  if namespace_only
124
124
  Puppet::Util::AtFork.class_exec do
125
125
  const_set(:Noop, Class.new)
126
126
  end
127
127
  else
128
- load lib + '.rb'
128
+ load 'puppet/util/at_fork/noop.rb'
129
129
  end
130
130
  true
131
131
  else
@@ -338,7 +338,7 @@ describe Puppet::Util::POSIX do
338
338
  let(:expected_groups) { ['group1', 'group3'] }
339
339
 
340
340
  before(:each) do
341
- allow(Puppet::Util::POSIX).to receive(:require).with('puppet/ffi/posix').and_raise(LoadError, 'cannot load such file -- ffi')
341
+ allow(Puppet::Util::POSIX).to receive(:require_relative).with('../../puppet/ffi/posix').and_raise(LoadError, 'cannot load such file -- ffi')
342
342
  end
343
343
 
344
344
  it "should return the groups" do
@@ -3,26 +3,29 @@ require 'spec_helper'
3
3
  require 'pathname'
4
4
  require 'puppet/util/selinux'
5
5
 
6
- unless defined?(Selinux)
7
- module Selinux
8
- def self.is_selinux_enabled
9
- false
10
- end
11
- end
12
- end
13
-
14
6
  describe Puppet::Util::SELinux do
15
7
  include Puppet::Util::SELinux
16
8
 
9
+ let(:selinux) { double('selinux', is_selinux_enabled: false) }
10
+
11
+ before :each do
12
+ stub_const('Selinux', selinux)
13
+ end
14
+
17
15
  describe "selinux_support?" do
18
- it "should return :true if this system has SELinux enabled" do
16
+ it "should return true if this system has SELinux enabled" do
19
17
  expect(Selinux).to receive(:is_selinux_enabled).and_return(1)
20
- expect(selinux_support?).to be_truthy
18
+ expect(selinux_support?).to eq(true)
21
19
  end
22
20
 
23
- it "should return :false if this system lacks SELinux" do
21
+ it "should return false if this system has SELinux disabled" do
24
22
  expect(Selinux).to receive(:is_selinux_enabled).and_return(0)
25
- expect(selinux_support?).to be_falsey
23
+ expect(selinux_support?).to eq(false)
24
+ end
25
+
26
+ it "should return false if this system lacks SELinux" do
27
+ hide_const('Selinux')
28
+ expect(selinux_support?).to eq(false)
26
29
  end
27
30
 
28
31
  it "should return nil if /proc/mounts does not exist" do
@@ -156,7 +159,7 @@ describe Puppet::Util::SELinux do
156
159
  end
157
160
  end
158
161
 
159
- it "handles no such file or directory errors by issuing a warning" do
162
+ it "backward compatibly handles no such file or directory errors by issuing a warning when resource_ensure not set" do
160
163
  without_partial_double_verification do
161
164
  allow(self).to receive(:selinux_support?).and_return(true)
162
165
  allow(self).to receive(:selinux_label_support?).and_return(true)
@@ -167,6 +170,51 @@ describe Puppet::Util::SELinux do
167
170
  end
168
171
  end
169
172
 
173
+ it "should determine mode based on resource ensure when set to file" do
174
+ without_partial_double_verification do
175
+ allow(self).to receive(:selinux_support?).and_return(true)
176
+ allow(self).to receive(:selinux_label_support?).and_return(true)
177
+ allow(Selinux).to receive(:matchpathcon).with("/root/chuj", 32768).and_return(-1)
178
+ allow(self).to receive(:file_lstat).with("/root/chuj").and_raise(Errno::ENOENT, "/root/chuj")
179
+
180
+ expect(get_selinux_default_context("/root/chuj", :present)).to be_nil
181
+ expect(get_selinux_default_context("/root/chuj", :file)).to be_nil
182
+ end
183
+ end
184
+
185
+ it "should determine mode based on resource ensure when set to dir" do
186
+ without_partial_double_verification do
187
+ allow(self).to receive(:selinux_support?).and_return(true)
188
+ allow(self).to receive(:selinux_label_support?).and_return(true)
189
+ allow(Selinux).to receive(:matchpathcon).with("/root/chuj", 16384).and_return(-1)
190
+ allow(self).to receive(:file_lstat).with("/root/chuj").and_raise(Errno::ENOENT, "/root/chuj")
191
+
192
+ expect(get_selinux_default_context("/root/chuj", :directory)).to be_nil
193
+ end
194
+ end
195
+
196
+ it "should determine mode based on resource ensure when set to link" do
197
+ without_partial_double_verification do
198
+ allow(self).to receive(:selinux_support?).and_return(true)
199
+ allow(self).to receive(:selinux_label_support?).and_return(true)
200
+ allow(Selinux).to receive(:matchpathcon).with("/root/chuj", 40960).and_return(-1)
201
+ allow(self).to receive(:file_lstat).with("/root/chuj").and_raise(Errno::ENOENT, "/root/chuj")
202
+
203
+ expect(get_selinux_default_context("/root/chuj", :link)).to be_nil
204
+ end
205
+ end
206
+
207
+ it "should determine mode based on resource ensure when set to unknown" do
208
+ without_partial_double_verification do
209
+ allow(self).to receive(:selinux_support?).and_return(true)
210
+ allow(self).to receive(:selinux_label_support?).and_return(true)
211
+ allow(Selinux).to receive(:matchpathcon).with("/root/chuj", 0).and_return(-1)
212
+ allow(self).to receive(:file_lstat).with("/root/chuj").and_raise(Errno::ENOENT, "/root/chuj")
213
+
214
+ expect(get_selinux_default_context("/root/chuj", "unknown")).to be_nil
215
+ end
216
+ end
217
+
170
218
  it "should return nil if matchpathcon returns failure" do
171
219
  without_partial_double_verification do
172
220
  expect(self).to receive(:selinux_support?).and_return(true)
@@ -326,21 +374,44 @@ describe Puppet::Util::SELinux do
326
374
  end
327
375
 
328
376
  it "should return nil if no default context exists" do
329
- expect(self).to receive(:get_selinux_default_context).with("/foo").and_return(nil)
377
+ expect(self).to receive(:get_selinux_default_context).with("/foo", nil).and_return(nil)
330
378
  expect(set_selinux_default_context("/foo")).to be_nil
331
379
  end
332
380
 
333
381
  it "should do nothing and return nil if the current context matches the default context" do
334
- expect(self).to receive(:get_selinux_default_context).with("/foo").and_return("user_u:role_r:type_t")
382
+ expect(self).to receive(:get_selinux_default_context).with("/foo", nil).and_return("user_u:role_r:type_t")
335
383
  expect(self).to receive(:get_selinux_current_context).with("/foo").and_return("user_u:role_r:type_t")
336
384
  expect(set_selinux_default_context("/foo")).to be_nil
337
385
  end
338
386
 
339
387
  it "should set and return the default context if current and default do not match" do
340
- expect(self).to receive(:get_selinux_default_context).with("/foo").and_return("user_u:role_r:type_t")
388
+ expect(self).to receive(:get_selinux_default_context).with("/foo", nil).and_return("user_u:role_r:type_t")
341
389
  expect(self).to receive(:get_selinux_current_context).with("/foo").and_return("olduser_u:role_r:type_t")
342
390
  expect(self).to receive(:set_selinux_context).with("/foo", "user_u:role_r:type_t").and_return(true)
343
391
  expect(set_selinux_default_context("/foo")).to eq("user_u:role_r:type_t")
344
392
  end
345
393
  end
394
+
395
+ describe "get_create_mode" do
396
+ it "should return 0 if the resource is absent" do
397
+ expect(get_create_mode(:absent)).to eq(0)
398
+ end
399
+
400
+ it "should return mode with file type set to S_IFREG when resource is file" do
401
+ expect(get_create_mode(:present)).to eq(32768)
402
+ expect(get_create_mode(:file)).to eq(32768)
403
+ end
404
+
405
+ it "should return mode with file type set to S_IFDIR when resource is dir" do
406
+ expect(get_create_mode(:directory)).to eq(16384)
407
+ end
408
+
409
+ it "should return mode with file type set to S_IFLNK when resource is link" do
410
+ expect(get_create_mode(:link)).to eq(40960)
411
+ end
412
+
413
+ it "should return 0 for everything else" do
414
+ expect(get_create_mode("unknown")).to eq(0)
415
+ end
416
+ end
346
417
  end
@@ -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
@@ -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: 7.3.0
4
+ version: 7.7.0
5
5
  platform: universal-darwin
6
6
  authors:
7
7
  - Puppet Labs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-19 00:00:00.000000000 Z
11
+ date: 2021-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: facter
@@ -720,6 +720,9 @@ files:
720
720
  - lib/puppet/network/http/api/master.rb
721
721
  - lib/puppet/network/http/api/master/v3.rb
722
722
  - lib/puppet/network/http/api/master/v3/environments.rb
723
+ - lib/puppet/network/http/api/server.rb
724
+ - lib/puppet/network/http/api/server/v3.rb
725
+ - lib/puppet/network/http/api/server/v3/environments.rb
723
726
  - lib/puppet/network/http/connection.rb
724
727
  - lib/puppet/network/http/error.rb
725
728
  - lib/puppet/network/http/handler.rb
@@ -1746,6 +1749,7 @@ files:
1746
1749
  - spec/fixtures/unit/provider/service/smf/svcs_instances.out
1747
1750
  - spec/fixtures/unit/provider/service/smf/svcs_multiple_fmris.out
1748
1751
  - spec/fixtures/unit/provider/service/systemd/list_unit_files_services
1752
+ - spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset
1749
1753
  - spec/fixtures/unit/provider/user/aix/aix_passwd_file.out
1750
1754
  - spec/fixtures/unit/reports/tagmail/tagmail_email.conf
1751
1755
  - spec/fixtures/unit/reports/tagmail/tagmail_failers.conf
@@ -1833,10 +1837,8 @@ files:
1833
1837
  - spec/integration/util/windows/user_spec.rb
1834
1838
  - spec/integration/util_spec.rb
1835
1839
  - spec/lib/matchers/containment_matchers.rb
1836
- - spec/lib/matchers/include.rb
1837
1840
  - spec/lib/matchers/include_in_order.rb
1838
1841
  - spec/lib/matchers/include_in_order_spec.rb
1839
- - spec/lib/matchers/include_spec.rb
1840
1842
  - spec/lib/matchers/json.rb
1841
1843
  - spec/lib/matchers/match_tokens2.rb
1842
1844
  - spec/lib/matchers/relationship_graph_matchers.rb
@@ -1886,6 +1888,7 @@ files:
1886
1888
  - spec/shared_contexts/checksum.rb
1887
1889
  - spec/shared_contexts/digests.rb
1888
1890
  - spec/shared_contexts/https.rb
1891
+ - spec/shared_contexts/provider.rb
1889
1892
  - spec/shared_contexts/types_setup.rb
1890
1893
  - spec/shared_examples/rhel_package_provider.rb
1891
1894
  - spec/spec_helper.rb
@@ -2161,8 +2164,9 @@ files:
2161
2164
  - spec/unit/network/format_support_spec.rb
2162
2165
  - spec/unit/network/formats_spec.rb
2163
2166
  - spec/unit/network/http/api/indirected_routes_spec.rb
2164
- - spec/unit/network/http/api/master/v3/environments_spec.rb
2165
- - spec/unit/network/http/api/master/v3_spec.rb
2167
+ - spec/unit/network/http/api/master_spec.rb
2168
+ - spec/unit/network/http/api/server/v3/environments_spec.rb
2169
+ - spec/unit/network/http/api/server/v3_spec.rb
2166
2170
  - spec/unit/network/http/api_spec.rb
2167
2171
  - spec/unit/network/http/connection_spec.rb
2168
2172
  - spec/unit/network/http/error_spec.rb
@@ -2256,10 +2260,8 @@ files:
2256
2260
  - spec/unit/pops/parser/evaluating_parser_spec.rb
2257
2261
  - spec/unit/pops/parser/lexer2_spec.rb
2258
2262
  - spec/unit/pops/parser/locator_spec.rb
2259
- - spec/unit/pops/parser/parse_application_spec.rb
2260
2263
  - spec/unit/pops/parser/parse_basic_expressions_spec.rb
2261
2264
  - spec/unit/pops/parser/parse_calls_spec.rb
2262
- - spec/unit/pops/parser/parse_capabilities_spec.rb
2263
2265
  - spec/unit/pops/parser/parse_conditionals_spec.rb
2264
2266
  - spec/unit/pops/parser/parse_containers_spec.rb
2265
2267
  - spec/unit/pops/parser/parse_functions_spec.rb
@@ -2267,7 +2269,6 @@ files:
2267
2269
  - spec/unit/pops/parser/parse_lambda_spec.rb
2268
2270
  - spec/unit/pops/parser/parse_plan_spec.rb
2269
2271
  - spec/unit/pops/parser/parse_resource_spec.rb
2270
- - spec/unit/pops/parser/parse_site_spec.rb
2271
2272
  - spec/unit/pops/parser/parser_rspec_helper.rb
2272
2273
  - spec/unit/pops/parser/parser_spec.rb
2273
2274
  - spec/unit/pops/parser/parsing_typed_parameters_spec.rb
@@ -2986,6 +2987,7 @@ test_files:
2986
2987
  - spec/fixtures/unit/provider/service/smf/svcs_instances.out
2987
2988
  - spec/fixtures/unit/provider/service/smf/svcs_multiple_fmris.out
2988
2989
  - spec/fixtures/unit/provider/service/systemd/list_unit_files_services
2990
+ - spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset
2989
2991
  - spec/fixtures/unit/provider/user/aix/aix_passwd_file.out
2990
2992
  - spec/fixtures/unit/reports/tagmail/tagmail_email.conf
2991
2993
  - spec/fixtures/unit/reports/tagmail/tagmail_failers.conf
@@ -3073,10 +3075,8 @@ test_files:
3073
3075
  - spec/integration/util/windows/user_spec.rb
3074
3076
  - spec/integration/util_spec.rb
3075
3077
  - spec/lib/matchers/containment_matchers.rb
3076
- - spec/lib/matchers/include.rb
3077
3078
  - spec/lib/matchers/include_in_order.rb
3078
3079
  - spec/lib/matchers/include_in_order_spec.rb
3079
- - spec/lib/matchers/include_spec.rb
3080
3080
  - spec/lib/matchers/json.rb
3081
3081
  - spec/lib/matchers/match_tokens2.rb
3082
3082
  - spec/lib/matchers/relationship_graph_matchers.rb
@@ -3126,6 +3126,7 @@ test_files:
3126
3126
  - spec/shared_contexts/checksum.rb
3127
3127
  - spec/shared_contexts/digests.rb
3128
3128
  - spec/shared_contexts/https.rb
3129
+ - spec/shared_contexts/provider.rb
3129
3130
  - spec/shared_contexts/types_setup.rb
3130
3131
  - spec/shared_examples/rhel_package_provider.rb
3131
3132
  - spec/spec_helper.rb
@@ -3401,8 +3402,9 @@ test_files:
3401
3402
  - spec/unit/network/format_support_spec.rb
3402
3403
  - spec/unit/network/formats_spec.rb
3403
3404
  - spec/unit/network/http/api/indirected_routes_spec.rb
3404
- - spec/unit/network/http/api/master/v3/environments_spec.rb
3405
- - spec/unit/network/http/api/master/v3_spec.rb
3405
+ - spec/unit/network/http/api/master_spec.rb
3406
+ - spec/unit/network/http/api/server/v3/environments_spec.rb
3407
+ - spec/unit/network/http/api/server/v3_spec.rb
3406
3408
  - spec/unit/network/http/api_spec.rb
3407
3409
  - spec/unit/network/http/connection_spec.rb
3408
3410
  - spec/unit/network/http/error_spec.rb
@@ -3496,10 +3498,8 @@ test_files:
3496
3498
  - spec/unit/pops/parser/evaluating_parser_spec.rb
3497
3499
  - spec/unit/pops/parser/lexer2_spec.rb
3498
3500
  - spec/unit/pops/parser/locator_spec.rb
3499
- - spec/unit/pops/parser/parse_application_spec.rb
3500
3501
  - spec/unit/pops/parser/parse_basic_expressions_spec.rb
3501
3502
  - spec/unit/pops/parser/parse_calls_spec.rb
3502
- - spec/unit/pops/parser/parse_capabilities_spec.rb
3503
3503
  - spec/unit/pops/parser/parse_conditionals_spec.rb
3504
3504
  - spec/unit/pops/parser/parse_containers_spec.rb
3505
3505
  - spec/unit/pops/parser/parse_functions_spec.rb
@@ -3507,7 +3507,6 @@ test_files:
3507
3507
  - spec/unit/pops/parser/parse_lambda_spec.rb
3508
3508
  - spec/unit/pops/parser/parse_plan_spec.rb
3509
3509
  - spec/unit/pops/parser/parse_resource_spec.rb
3510
- - spec/unit/pops/parser/parse_site_spec.rb
3511
3510
  - spec/unit/pops/parser/parser_rspec_helper.rb
3512
3511
  - spec/unit/pops/parser/parser_spec.rb
3513
3512
  - spec/unit/pops/parser/parsing_typed_parameters_spec.rb
@@ -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