puppet 7.6.1-x86-mingw32 → 7.7.0-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (625) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +9 -9
  3. data/install.rb +11 -11
  4. data/lib/hiera_puppet.rb +1 -1
  5. data/lib/puppet.rb +37 -37
  6. data/lib/puppet/agent.rb +6 -6
  7. data/lib/puppet/agent/disabler.rb +1 -1
  8. data/lib/puppet/agent/locker.rb +2 -2
  9. data/lib/puppet/application.rb +6 -6
  10. data/lib/puppet/application/agent.rb +18 -11
  11. data/lib/puppet/application/apply.rb +6 -5
  12. data/lib/puppet/application/catalog.rb +1 -1
  13. data/lib/puppet/application/config.rb +1 -1
  14. data/lib/puppet/application/describe.rb +1 -1
  15. data/lib/puppet/application/device.rb +8 -7
  16. data/lib/puppet/application/doc.rb +7 -7
  17. data/lib/puppet/application/epp.rb +2 -2
  18. data/lib/puppet/application/face_base.rb +2 -2
  19. data/lib/puppet/application/facts.rb +1 -1
  20. data/lib/puppet/application/filebucket.rb +2 -2
  21. data/lib/puppet/application/generate.rb +1 -1
  22. data/lib/puppet/application/help.rb +1 -1
  23. data/lib/puppet/application/indirection_base.rb +1 -1
  24. data/lib/puppet/application/lookup.rb +6 -6
  25. data/lib/puppet/application/module.rb +1 -1
  26. data/lib/puppet/application/node.rb +1 -1
  27. data/lib/puppet/application/parser.rb +2 -2
  28. data/lib/puppet/application/plugin.rb +1 -1
  29. data/lib/puppet/application/report.rb +1 -1
  30. data/lib/puppet/application/resource.rb +3 -2
  31. data/lib/puppet/application/script.rb +6 -5
  32. data/lib/puppet/application/ssl.rb +2 -2
  33. data/lib/puppet/application_support.rb +4 -4
  34. data/lib/puppet/compilable_resource_type.rb +1 -1
  35. data/lib/puppet/concurrent/lock.rb +1 -1
  36. data/lib/puppet/configurer.rb +4 -4
  37. data/lib/puppet/configurer/downloader.rb +4 -3
  38. data/lib/puppet/configurer/fact_handler.rb +3 -3
  39. data/lib/puppet/configurer/plugin_handler.rb +1 -1
  40. data/lib/puppet/confine.rb +1 -1
  41. data/lib/puppet/confine/boolean.rb +1 -1
  42. data/lib/puppet/confine/exists.rb +1 -1
  43. data/lib/puppet/confine/false.rb +1 -1
  44. data/lib/puppet/confine/feature.rb +1 -1
  45. data/lib/puppet/confine/true.rb +1 -1
  46. data/lib/puppet/confine/variable.rb +1 -1
  47. data/lib/puppet/confine_collection.rb +1 -1
  48. data/lib/puppet/confiner.rb +1 -1
  49. data/lib/puppet/context.rb +2 -2
  50. data/lib/puppet/context/trusted_information.rb +1 -1
  51. data/lib/puppet/daemon.rb +2 -2
  52. data/lib/puppet/data_binding.rb +1 -1
  53. data/lib/puppet/datatypes/error.rb +1 -1
  54. data/lib/puppet/defaults.rb +6 -6
  55. data/lib/puppet/environments.rb +1 -1
  56. data/lib/puppet/etc.rb +1 -1
  57. data/lib/puppet/external/pson/common.rb +1 -1
  58. data/lib/puppet/external/pson/pure.rb +3 -3
  59. data/lib/puppet/face.rb +1 -1
  60. data/lib/puppet/face/catalog.rb +1 -1
  61. data/lib/puppet/face/config.rb +2 -2
  62. data/lib/puppet/face/epp.rb +6 -6
  63. data/lib/puppet/face/facts.rb +2 -2
  64. data/lib/puppet/face/generate.rb +2 -2
  65. data/lib/puppet/face/help.rb +3 -3
  66. data/lib/puppet/face/module.rb +3 -3
  67. data/lib/puppet/face/module/install.rb +2 -2
  68. data/lib/puppet/face/node.rb +1 -1
  69. data/lib/puppet/face/parser.rb +4 -4
  70. data/lib/puppet/face/plugin.rb +2 -2
  71. data/lib/puppet/face/report.rb +1 -1
  72. data/lib/puppet/face/resource.rb +1 -1
  73. data/lib/puppet/feature/base.rb +2 -2
  74. data/lib/puppet/feature/bolt.rb +1 -1
  75. data/lib/puppet/feature/cfpropertylist.rb +1 -1
  76. data/lib/puppet/feature/eventlog.rb +1 -1
  77. data/lib/puppet/feature/hiera_eyaml.rb +1 -1
  78. data/lib/puppet/feature/hocon.rb +1 -1
  79. data/lib/puppet/feature/libuser.rb +2 -2
  80. data/lib/puppet/feature/msgpack.rb +1 -1
  81. data/lib/puppet/feature/pe_license.rb +1 -1
  82. data/lib/puppet/feature/selinux.rb +1 -1
  83. data/lib/puppet/feature/ssh.rb +1 -1
  84. data/lib/puppet/feature/telnet.rb +1 -1
  85. data/lib/puppet/feature/zlib.rb +1 -1
  86. data/lib/puppet/ffi/posix.rb +2 -2
  87. data/lib/puppet/ffi/posix/constants.rb +1 -1
  88. data/lib/puppet/ffi/posix/functions.rb +1 -1
  89. data/lib/puppet/ffi/windows.rb +4 -4
  90. data/lib/puppet/ffi/windows/api_types.rb +2 -2
  91. data/lib/puppet/ffi/windows/constants.rb +1 -1
  92. data/lib/puppet/ffi/windows/functions.rb +1 -1
  93. data/lib/puppet/ffi/windows/structs.rb +1 -1
  94. data/lib/puppet/file_bucket/dipper.rb +4 -4
  95. data/lib/puppet/file_bucket/file.rb +3 -3
  96. data/lib/puppet/file_serving/base.rb +2 -2
  97. data/lib/puppet/file_serving/configuration.rb +10 -10
  98. data/lib/puppet/file_serving/configuration/parser.rb +2 -2
  99. data/lib/puppet/file_serving/content.rb +3 -3
  100. data/lib/puppet/file_serving/fileset.rb +16 -4
  101. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  102. data/lib/puppet/file_serving/metadata.rb +6 -6
  103. data/lib/puppet/file_serving/mount.rb +4 -4
  104. data/lib/puppet/file_serving/mount/file.rb +1 -1
  105. data/lib/puppet/file_serving/mount/locales.rb +1 -1
  106. data/lib/puppet/file_serving/mount/modules.rb +1 -1
  107. data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -1
  108. data/lib/puppet/file_serving/mount/plugins.rb +1 -1
  109. data/lib/puppet/file_serving/mount/tasks.rb +1 -1
  110. data/lib/puppet/file_serving/terminus_helper.rb +2 -2
  111. data/lib/puppet/file_serving/terminus_selector.rb +1 -1
  112. data/lib/puppet/file_system.rb +9 -9
  113. data/lib/puppet/file_system/jruby.rb +1 -1
  114. data/lib/puppet/file_system/path_pattern.rb +1 -1
  115. data/lib/puppet/file_system/uniquefile.rb +1 -1
  116. data/lib/puppet/file_system/windows.rb +2 -2
  117. data/lib/puppet/forge.rb +5 -5
  118. data/lib/puppet/forge/cache.rb +1 -1
  119. data/lib/puppet/forge/errors.rb +3 -3
  120. data/lib/puppet/forge/repository.rb +4 -4
  121. data/lib/puppet/functions/all.rb +1 -1
  122. data/lib/puppet/functions/camelcase.rb +1 -1
  123. data/lib/puppet/functions/capitalize.rb +2 -2
  124. data/lib/puppet/functions/downcase.rb +2 -2
  125. data/lib/puppet/functions/get.rb +5 -5
  126. data/lib/puppet/functions/group_by.rb +13 -5
  127. data/lib/puppet/functions/lest.rb +1 -1
  128. data/lib/puppet/functions/new.rb +100 -100
  129. data/lib/puppet/functions/partition.rb +4 -4
  130. data/lib/puppet/functions/require.rb +5 -5
  131. data/lib/puppet/functions/sort.rb +3 -3
  132. data/lib/puppet/functions/tree_each.rb +7 -9
  133. data/lib/puppet/functions/type.rb +4 -4
  134. data/lib/puppet/functions/upcase.rb +2 -2
  135. data/lib/puppet/functions/versioncmp.rb +1 -1
  136. data/lib/puppet/generate/models/type/type.rb +1 -1
  137. data/lib/puppet/generate/type.rb +2 -2
  138. data/lib/puppet/gettext/config.rb +3 -3
  139. data/lib/puppet/gettext/module_translations.rb +1 -1
  140. data/lib/puppet/graph.rb +6 -6
  141. data/lib/puppet/graph/simple_graph.rb +2 -2
  142. data/lib/puppet/http.rb +26 -26
  143. data/lib/puppet/http/factory.rb +2 -2
  144. data/lib/puppet/http/proxy.rb +1 -1
  145. data/lib/puppet/http/resolver/server_list.rb +15 -4
  146. data/lib/puppet/http/service/compiler.rb +73 -1
  147. data/lib/puppet/http/service/file_server.rb +3 -2
  148. data/lib/puppet/indirector.rb +5 -5
  149. data/lib/puppet/indirector/catalog/compiler.rb +7 -6
  150. data/lib/puppet/indirector/catalog/json.rb +2 -2
  151. data/lib/puppet/indirector/catalog/msgpack.rb +2 -2
  152. data/lib/puppet/indirector/catalog/rest.rb +2 -2
  153. data/lib/puppet/indirector/catalog/store_configs.rb +2 -2
  154. data/lib/puppet/indirector/catalog/yaml.rb +2 -2
  155. data/lib/puppet/indirector/code.rb +1 -1
  156. data/lib/puppet/indirector/data_binding/hiera.rb +1 -1
  157. data/lib/puppet/indirector/data_binding/none.rb +1 -1
  158. data/lib/puppet/indirector/direct_file_server.rb +2 -2
  159. data/lib/puppet/indirector/envelope.rb +1 -1
  160. data/lib/puppet/indirector/errors.rb +1 -1
  161. data/lib/puppet/indirector/exec.rb +2 -2
  162. data/lib/puppet/indirector/face.rb +1 -1
  163. data/lib/puppet/indirector/facts/facter.rb +2 -2
  164. data/lib/puppet/indirector/facts/json.rb +3 -3
  165. data/lib/puppet/indirector/facts/memory.rb +2 -2
  166. data/lib/puppet/indirector/facts/network_device.rb +2 -2
  167. data/lib/puppet/indirector/facts/rest.rb +2 -2
  168. data/lib/puppet/indirector/facts/store_configs.rb +2 -2
  169. data/lib/puppet/indirector/facts/yaml.rb +3 -3
  170. data/lib/puppet/indirector/file_bucket_file/file.rb +4 -4
  171. data/lib/puppet/indirector/file_bucket_file/rest.rb +2 -2
  172. data/lib/puppet/indirector/file_bucket_file/selector.rb +1 -1
  173. data/lib/puppet/indirector/file_content.rb +1 -1
  174. data/lib/puppet/indirector/file_content/file.rb +3 -3
  175. data/lib/puppet/indirector/file_content/file_server.rb +3 -3
  176. data/lib/puppet/indirector/file_content/rest.rb +3 -3
  177. data/lib/puppet/indirector/file_content/selector.rb +4 -4
  178. data/lib/puppet/indirector/file_metadata.rb +1 -1
  179. data/lib/puppet/indirector/file_metadata/file.rb +3 -3
  180. data/lib/puppet/indirector/file_metadata/file_server.rb +3 -3
  181. data/lib/puppet/indirector/file_metadata/http.rb +3 -3
  182. data/lib/puppet/indirector/file_metadata/rest.rb +4 -3
  183. data/lib/puppet/indirector/file_metadata/selector.rb +4 -4
  184. data/lib/puppet/indirector/file_server.rb +4 -4
  185. data/lib/puppet/indirector/generic_http.rb +1 -1
  186. data/lib/puppet/indirector/hiera.rb +1 -1
  187. data/lib/puppet/indirector/indirection.rb +5 -5
  188. data/lib/puppet/indirector/json.rb +2 -2
  189. data/lib/puppet/indirector/memory.rb +1 -1
  190. data/lib/puppet/indirector/msgpack.rb +2 -2
  191. data/lib/puppet/indirector/node/exec.rb +2 -2
  192. data/lib/puppet/indirector/node/json.rb +2 -2
  193. data/lib/puppet/indirector/node/memory.rb +2 -2
  194. data/lib/puppet/indirector/node/msgpack.rb +2 -2
  195. data/lib/puppet/indirector/node/plain.rb +2 -2
  196. data/lib/puppet/indirector/node/rest.rb +2 -2
  197. data/lib/puppet/indirector/node/store_configs.rb +2 -2
  198. data/lib/puppet/indirector/node/yaml.rb +2 -2
  199. data/lib/puppet/indirector/none.rb +1 -1
  200. data/lib/puppet/indirector/plain.rb +1 -1
  201. data/lib/puppet/indirector/report/json.rb +2 -2
  202. data/lib/puppet/indirector/report/msgpack.rb +2 -2
  203. data/lib/puppet/indirector/report/processor.rb +3 -3
  204. data/lib/puppet/indirector/report/rest.rb +1 -1
  205. data/lib/puppet/indirector/report/yaml.rb +2 -2
  206. data/lib/puppet/indirector/request.rb +3 -3
  207. data/lib/puppet/indirector/resource/ral.rb +1 -1
  208. data/lib/puppet/indirector/resource/store_configs.rb +2 -2
  209. data/lib/puppet/indirector/terminus.rb +5 -5
  210. data/lib/puppet/indirector/yaml.rb +2 -2
  211. data/lib/puppet/info_service.rb +3 -3
  212. data/lib/puppet/info_service/class_information_service.rb +3 -3
  213. data/lib/puppet/info_service/plan_information_service.rb +1 -1
  214. data/lib/puppet/info_service/task_information_service.rb +1 -1
  215. data/lib/puppet/interface.rb +10 -10
  216. data/lib/puppet/interface/documentation.rb +1 -1
  217. data/lib/puppet/loaders.rb +21 -21
  218. data/lib/puppet/metatype/manager.rb +3 -3
  219. data/lib/puppet/module.rb +4 -4
  220. data/lib/puppet/module/plan.rb +1 -1
  221. data/lib/puppet/module/task.rb +1 -1
  222. data/lib/puppet/module_tool.rb +10 -10
  223. data/lib/puppet/module_tool/applications.rb +7 -7
  224. data/lib/puppet/module_tool/applications/application.rb +2 -2
  225. data/lib/puppet/module_tool/applications/checksummer.rb +2 -2
  226. data/lib/puppet/module_tool/applications/installer.rb +7 -7
  227. data/lib/puppet/module_tool/applications/unpacker.rb +2 -2
  228. data/lib/puppet/module_tool/applications/upgrader.rb +5 -5
  229. data/lib/puppet/module_tool/checksums.rb +1 -1
  230. data/lib/puppet/module_tool/contents_description.rb +1 -1
  231. data/lib/puppet/module_tool/dependency.rb +2 -2
  232. data/lib/puppet/module_tool/errors.rb +6 -6
  233. data/lib/puppet/module_tool/install_directory.rb +2 -2
  234. data/lib/puppet/module_tool/installed_modules.rb +2 -2
  235. data/lib/puppet/module_tool/local_tarball.rb +2 -2
  236. data/lib/puppet/module_tool/metadata.rb +3 -3
  237. data/lib/puppet/module_tool/tar.rb +4 -4
  238. data/lib/puppet/network/format.rb +1 -1
  239. data/lib/puppet/network/format_handler.rb +3 -3
  240. data/lib/puppet/network/format_support.rb +1 -1
  241. data/lib/puppet/network/formats.rb +2 -2
  242. data/lib/puppet/network/http.rb +12 -12
  243. data/lib/puppet/network/http/api.rb +1 -1
  244. data/lib/puppet/network/http/api/indirected_routes.rb +1 -1
  245. data/lib/puppet/network/http/api/master.rb +1 -1
  246. data/lib/puppet/network/http/api/master/v3.rb +2 -2
  247. data/lib/puppet/network/http/api/master/v3/environments.rb +2 -2
  248. data/lib/puppet/network/http/api/server/v3.rb +2 -2
  249. data/lib/puppet/network/http/api/server/v3/environments.rb +1 -1
  250. data/lib/puppet/network/http/connection.rb +1 -1
  251. data/lib/puppet/network/http/error.rb +1 -1
  252. data/lib/puppet/network/http/handler.rb +3 -3
  253. data/lib/puppet/network/http_pool.rb +1 -1
  254. data/lib/puppet/node.rb +3 -3
  255. data/lib/puppet/node/environment.rb +3 -3
  256. data/lib/puppet/node/facts.rb +3 -3
  257. data/lib/puppet/pal/pal_api.rb +10 -10
  258. data/lib/puppet/pal/pal_impl.rb +3 -3
  259. data/lib/puppet/parameter.rb +4 -4
  260. data/lib/puppet/parameter/boolean.rb +1 -1
  261. data/lib/puppet/parameter/package_options.rb +1 -1
  262. data/lib/puppet/parameter/path.rb +1 -1
  263. data/lib/puppet/parameter/value.rb +1 -1
  264. data/lib/puppet/parameter/value_collection.rb +1 -1
  265. data/lib/puppet/parser.rb +10 -10
  266. data/lib/puppet/parser/ast.rb +8 -8
  267. data/lib/puppet/parser/ast/hostclass.rb +1 -1
  268. data/lib/puppet/parser/ast/pops_bridge.rb +2 -2
  269. data/lib/puppet/parser/catalog_compiler.rb +2 -2
  270. data/lib/puppet/parser/compiler.rb +5 -5
  271. data/lib/puppet/parser/e4_parser_adapter.rb +1 -1
  272. data/lib/puppet/parser/functions.rb +4 -4
  273. data/lib/puppet/parser/functions/digest.rb +1 -1
  274. data/lib/puppet/parser/functions/file.rb +1 -1
  275. data/lib/puppet/parser/functions/fqdn_rand.rb +14 -6
  276. data/lib/puppet/parser/functions/versioncmp.rb +1 -1
  277. data/lib/puppet/parser/parser_factory.rb +2 -2
  278. data/lib/puppet/parser/resource.rb +3 -3
  279. data/lib/puppet/parser/scope.rb +3 -3
  280. data/lib/puppet/parser/script_compiler.rb +2 -2
  281. data/lib/puppet/parser/templatewrapper.rb +2 -2
  282. data/lib/puppet/parser/type_loader.rb +1 -1
  283. data/lib/puppet/plugins/configuration.rb +5 -5
  284. data/lib/puppet/pops.rb +57 -57
  285. data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
  286. data/lib/puppet/pops/evaluator/evaluator_impl.rb +7 -7
  287. data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -1
  288. data/lib/puppet/pops/loader/task_instantiator.rb +1 -1
  289. data/lib/puppet/pops/lookup/invocation.rb +1 -1
  290. data/lib/puppet/pops/model/ast_transformer.rb +1 -1
  291. data/lib/puppet/pops/model/pn_transformer.rb +1 -1
  292. data/lib/puppet/pops/parser/eparser.rb +2 -2
  293. data/lib/puppet/pops/parser/evaluating_parser.rb +1 -1
  294. data/lib/puppet/pops/parser/lexer2.rb +5 -5
  295. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  296. data/lib/puppet/pops/parser/parser_support.rb +4 -4
  297. data/lib/puppet/pops/puppet_stack.rb +1 -1
  298. data/lib/puppet/pops/serialization/json.rb +1 -1
  299. data/lib/puppet/pops/serialization/json_path.rb +1 -1
  300. data/lib/puppet/pops/time/timespan.rb +1 -1
  301. data/lib/puppet/pops/types/string_converter.rb +1 -1
  302. data/lib/puppet/pops/types/type_calculator.rb +1 -1
  303. data/lib/puppet/pops/types/type_formatter.rb +1 -1
  304. data/lib/puppet/pops/types/type_parser.rb +1 -1
  305. data/lib/puppet/pops/types/types.rb +1 -1
  306. data/lib/puppet/pops/validation/checker4_0.rb +1 -1
  307. data/lib/puppet/property.rb +3 -3
  308. data/lib/puppet/property/boolean.rb +1 -1
  309. data/lib/puppet/property/ensure.rb +1 -1
  310. data/lib/puppet/property/keyvalue.rb +1 -1
  311. data/lib/puppet/property/list.rb +1 -1
  312. data/lib/puppet/property/ordered_list.rb +1 -1
  313. data/lib/puppet/provider.rb +2 -2
  314. data/lib/puppet/provider/confine.rb +2 -2
  315. data/lib/puppet/provider/exec.rb +2 -2
  316. data/lib/puppet/provider/exec/posix.rb +1 -1
  317. data/lib/puppet/provider/exec/windows.rb +1 -1
  318. data/lib/puppet/provider/file/posix.rb +1 -1
  319. data/lib/puppet/provider/file/windows.rb +1 -1
  320. data/lib/puppet/provider/group/aix.rb +1 -1
  321. data/lib/puppet/provider/group/directoryservice.rb +1 -1
  322. data/lib/puppet/provider/group/groupadd.rb +2 -2
  323. data/lib/puppet/provider/group/ldap.rb +1 -1
  324. data/lib/puppet/provider/group/pw.rb +1 -1
  325. data/lib/puppet/provider/group/windows_adsi.rb +1 -1
  326. data/lib/puppet/provider/ldap.rb +2 -2
  327. data/lib/puppet/provider/nameservice.rb +1 -1
  328. data/lib/puppet/provider/nameservice/directoryservice.rb +3 -3
  329. data/lib/puppet/provider/nameservice/objectadd.rb +1 -1
  330. data/lib/puppet/provider/nameservice/pw.rb +1 -1
  331. data/lib/puppet/provider/package.rb +1 -1
  332. data/lib/puppet/provider/package/aix.rb +2 -2
  333. data/lib/puppet/provider/package/appdmg.rb +2 -2
  334. data/lib/puppet/provider/package/apple.rb +1 -1
  335. data/lib/puppet/provider/package/apt.rb +2 -2
  336. data/lib/puppet/provider/package/dnfmodule.rb +1 -1
  337. data/lib/puppet/provider/package/dpkg.rb +1 -1
  338. data/lib/puppet/provider/package/gem.rb +3 -3
  339. data/lib/puppet/provider/package/hpux.rb +1 -1
  340. data/lib/puppet/provider/package/macports.rb +2 -2
  341. data/lib/puppet/provider/package/nim.rb +2 -2
  342. data/lib/puppet/provider/package/openbsd.rb +1 -1
  343. data/lib/puppet/provider/package/opkg.rb +1 -1
  344. data/lib/puppet/provider/package/pacman.rb +1 -1
  345. data/lib/puppet/provider/package/pip.rb +3 -3
  346. data/lib/puppet/provider/package/pkg.rb +2 -2
  347. data/lib/puppet/provider/package/pkgdmg.rb +3 -3
  348. data/lib/puppet/provider/package/pkgin.rb +1 -1
  349. data/lib/puppet/provider/package/pkgng.rb +1 -1
  350. data/lib/puppet/provider/package/portage.rb +1 -1
  351. data/lib/puppet/provider/package/portupgrade.rb +1 -1
  352. data/lib/puppet/provider/package/puppetserver_gem.rb +0 -0
  353. data/lib/puppet/provider/package/rpm.rb +2 -2
  354. data/lib/puppet/provider/package/sun.rb +1 -1
  355. data/lib/puppet/provider/package/windows.rb +3 -3
  356. data/lib/puppet/provider/package/windows/exe_package.rb +1 -1
  357. data/lib/puppet/provider/package/windows/msi_package.rb +1 -1
  358. data/lib/puppet/provider/package/windows/package.rb +4 -4
  359. data/lib/puppet/provider/package/yum.rb +3 -3
  360. data/lib/puppet/provider/package_targetable.rb +1 -1
  361. data/lib/puppet/provider/parsedfile.rb +3 -3
  362. data/lib/puppet/provider/service/base.rb +6 -4
  363. data/lib/puppet/provider/service/daemontools.rb +0 -1
  364. data/lib/puppet/provider/service/debian.rb +3 -5
  365. data/lib/puppet/provider/service/init.rb +1 -1
  366. data/lib/puppet/provider/service/launchd.rb +9 -3
  367. data/lib/puppet/provider/service/service.rb +28 -3
  368. data/lib/puppet/provider/service/smf.rb +0 -24
  369. data/lib/puppet/provider/service/src.rb +2 -2
  370. data/lib/puppet/provider/service/systemd.rb +11 -6
  371. data/lib/puppet/provider/service/windows.rb +38 -0
  372. data/lib/puppet/provider/user/aix.rb +2 -2
  373. data/lib/puppet/provider/user/directoryservice.rb +2 -2
  374. data/lib/puppet/provider/user/ldap.rb +1 -1
  375. data/lib/puppet/provider/user/openbsd.rb +1 -1
  376. data/lib/puppet/provider/user/pw.rb +1 -1
  377. data/lib/puppet/provider/user/user_role_add.rb +2 -2
  378. data/lib/puppet/provider/user/useradd.rb +3 -3
  379. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  380. data/lib/puppet/reference/configuration.rb +1 -1
  381. data/lib/puppet/reference/indirection.rb +4 -4
  382. data/lib/puppet/reference/report.rb +1 -1
  383. data/lib/puppet/reports.rb +1 -1
  384. data/lib/puppet/reports/http.rb +2 -2
  385. data/lib/puppet/reports/log.rb +1 -1
  386. data/lib/puppet/reports/store.rb +2 -2
  387. data/lib/puppet/resource.rb +4 -4
  388. data/lib/puppet/resource/catalog.rb +5 -5
  389. data/lib/puppet/resource/status.rb +2 -2
  390. data/lib/puppet/resource/type.rb +4 -4
  391. data/lib/puppet/resource/type_collection.rb +4 -4
  392. data/lib/puppet/runtime.rb +1 -1
  393. data/lib/puppet/scheduler.rb +4 -4
  394. data/lib/puppet/settings.rb +28 -28
  395. data/lib/puppet/settings/autosign_setting.rb +1 -1
  396. data/lib/puppet/settings/base_setting.rb +2 -2
  397. data/lib/puppet/settings/certificate_revocation_setting.rb +1 -1
  398. data/lib/puppet/settings/config_file.rb +1 -1
  399. data/lib/puppet/settings/errors.rb +1 -1
  400. data/lib/puppet/settings/priority_setting.rb +3 -3
  401. data/lib/puppet/ssl.rb +11 -11
  402. data/lib/puppet/ssl/base.rb +3 -3
  403. data/lib/puppet/ssl/certificate.rb +1 -1
  404. data/lib/puppet/ssl/certificate_request.rb +2 -2
  405. data/lib/puppet/ssl/certificate_request_attributes.rb +2 -2
  406. data/lib/puppet/ssl/oids.rb +1 -1
  407. data/lib/puppet/ssl/openssl_loader.rb +1 -1
  408. data/lib/puppet/ssl/ssl_context.rb +1 -1
  409. data/lib/puppet/ssl/ssl_provider.rb +1 -1
  410. data/lib/puppet/ssl/state_machine.rb +2 -2
  411. data/lib/puppet/ssl/verifier.rb +5 -1
  412. data/lib/puppet/syntax_checkers/base64.rb +1 -1
  413. data/lib/puppet/syntax_checkers/epp.rb +1 -1
  414. data/lib/puppet/syntax_checkers/json.rb +1 -1
  415. data/lib/puppet/syntax_checkers/pp.rb +1 -1
  416. data/lib/puppet/transaction.rb +11 -11
  417. data/lib/puppet/transaction/event.rb +4 -4
  418. data/lib/puppet/transaction/event_manager.rb +1 -1
  419. data/lib/puppet/transaction/persistence.rb +1 -1
  420. data/lib/puppet/transaction/report.rb +2 -2
  421. data/lib/puppet/transaction/resource_harness.rb +1 -1
  422. data/lib/puppet/type.rb +14 -14
  423. data/lib/puppet/type/component.rb +3 -3
  424. data/lib/puppet/type/file.rb +37 -19
  425. data/lib/puppet/type/file/checksum.rb +1 -1
  426. data/lib/puppet/type/file/checksum_value.rb +2 -2
  427. data/lib/puppet/type/file/content.rb +2 -2
  428. data/lib/puppet/type/file/data_sync.rb +2 -2
  429. data/lib/puppet/type/file/ensure.rb +1 -1
  430. data/lib/puppet/type/file/group.rb +1 -1
  431. data/lib/puppet/type/file/mode.rb +1 -1
  432. data/lib/puppet/type/file/selcontext.rb +2 -2
  433. data/lib/puppet/type/file/source.rb +4 -4
  434. data/lib/puppet/type/filebucket.rb +1 -1
  435. data/lib/puppet/type/group.rb +2 -2
  436. data/lib/puppet/type/package.rb +2 -2
  437. data/lib/puppet/type/resources.rb +2 -2
  438. data/lib/puppet/type/service.rb +10 -29
  439. data/lib/puppet/type/tidy.rb +24 -5
  440. data/lib/puppet/type/user.rb +4 -4
  441. data/lib/puppet/util.rb +43 -34
  442. data/lib/puppet/util/at_fork.rb +3 -3
  443. data/lib/puppet/util/at_fork/solaris.rb +1 -1
  444. data/lib/puppet/util/autoload.rb +4 -4
  445. data/lib/puppet/util/checksums.rb +3 -3
  446. data/lib/puppet/util/colors.rb +1 -1
  447. data/lib/puppet/util/command_line.rb +6 -6
  448. data/lib/puppet/util/command_line/puppet_option_parser.rb +2 -2
  449. data/lib/puppet/util/execution.rb +2 -2
  450. data/lib/puppet/util/feature.rb +2 -2
  451. data/lib/puppet/util/filetype.rb +1 -1
  452. data/lib/puppet/util/http_proxy.rb +1 -1
  453. data/lib/puppet/util/inifile.rb +2 -2
  454. data/lib/puppet/util/instance_loader.rb +3 -3
  455. data/lib/puppet/util/json_lockfile.rb +1 -1
  456. data/lib/puppet/util/ldap/connection.rb +1 -1
  457. data/lib/puppet/util/ldap/generator.rb +1 -1
  458. data/lib/puppet/util/ldap/manager.rb +3 -3
  459. data/lib/puppet/util/limits.rb +1 -1
  460. data/lib/puppet/util/log.rb +6 -6
  461. data/lib/puppet/util/log/destinations.rb +1 -1
  462. data/lib/puppet/util/logging.rb +2 -2
  463. data/lib/puppet/util/metric.rb +2 -2
  464. data/lib/puppet/util/monkey_patches.rb +7 -3
  465. data/lib/puppet/util/network_device/base.rb +3 -3
  466. data/lib/puppet/util/network_device/config.rb +2 -2
  467. data/lib/puppet/util/network_device/transport.rb +1 -1
  468. data/lib/puppet/util/network_device/transport/base.rb +2 -2
  469. data/lib/puppet/util/package/version/range.rb +6 -6
  470. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  471. data/lib/puppet/util/package/version/range/gt.rb +1 -1
  472. data/lib/puppet/util/package/version/range/gt_eq.rb +1 -1
  473. data/lib/puppet/util/package/version/range/lt.rb +1 -1
  474. data/lib/puppet/util/package/version/range/lt_eq.rb +1 -1
  475. data/lib/puppet/util/package/version/range/min_max.rb +1 -1
  476. data/lib/puppet/util/package/version/range/simple.rb +1 -1
  477. data/lib/puppet/util/package/version/rpm.rb +1 -1
  478. data/lib/puppet/util/pidlock.rb +1 -1
  479. data/lib/puppet/util/plist.rb +1 -1
  480. data/lib/puppet/util/posix.rb +1 -1
  481. data/lib/puppet/util/profiler.rb +3 -3
  482. data/lib/puppet/util/profiler/aggregate.rb +2 -2
  483. data/lib/puppet/util/profiler/object_counts.rb +1 -1
  484. data/lib/puppet/util/profiler/wall_clock.rb +1 -1
  485. data/lib/puppet/util/provider_features.rb +2 -2
  486. data/lib/puppet/util/rdoc.rb +2 -2
  487. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +2 -2
  488. data/lib/puppet/util/rdoc/parser.rb +6 -6
  489. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  490. data/lib/puppet/util/reference.rb +1 -1
  491. data/lib/puppet/util/resource_template.rb +2 -2
  492. data/lib/puppet/util/rubygems.rb +1 -1
  493. data/lib/puppet/util/selinux.rb +30 -4
  494. data/lib/puppet/util/skip_tags.rb +1 -1
  495. data/lib/puppet/util/storage.rb +1 -1
  496. data/lib/puppet/util/suidmanager.rb +2 -2
  497. data/lib/puppet/util/symbolic_file_mode.rb +1 -1
  498. data/lib/puppet/util/tag_set.rb +1 -1
  499. data/lib/puppet/util/tagging.rb +1 -1
  500. data/lib/puppet/util/watched_file.rb +1 -1
  501. data/lib/puppet/util/watcher.rb +3 -3
  502. data/lib/puppet/util/windows.rb +20 -20
  503. data/lib/puppet/util/windows/access_control_entry.rb +1 -1
  504. data/lib/puppet/util/windows/adsi.rb +1 -1
  505. data/lib/puppet/util/windows/daemon.rb +1 -1
  506. data/lib/puppet/util/windows/error.rb +2 -2
  507. data/lib/puppet/util/windows/file.rb +1 -1
  508. data/lib/puppet/util/windows/monkey_patches/process.rb +2 -2
  509. data/lib/puppet/util/windows/principal.rb +1 -1
  510. data/lib/puppet/util/windows/process.rb +2 -2
  511. data/lib/puppet/util/windows/registry.rb +1 -1
  512. data/lib/puppet/util/windows/root_certs.rb +2 -2
  513. data/lib/puppet/util/windows/security.rb +1 -1
  514. data/lib/puppet/util/windows/security_descriptor.rb +1 -1
  515. data/lib/puppet/util/windows/service.rb +1 -1
  516. data/lib/puppet/util/windows/sid.rb +1 -1
  517. data/lib/puppet/util/windows/user.rb +1 -1
  518. data/lib/puppet/vendor.rb +1 -1
  519. data/lib/puppet/version.rb +1 -1
  520. data/lib/puppet/x509.rb +4 -4
  521. data/lib/puppet/x509/cert_provider.rb +1 -1
  522. data/lib/puppet/x509/pem_store.rb +1 -1
  523. data/lib/puppet_pal.rb +2 -2
  524. data/locales/puppet.pot +156 -144
  525. data/man/man5/puppet.conf.5 +256 -241
  526. data/man/man8/puppet-agent.8 +1 -1
  527. data/man/man8/puppet-apply.8 +1 -1
  528. data/man/man8/puppet-catalog.8 +1 -1
  529. data/man/man8/puppet-config.8 +1 -1
  530. data/man/man8/puppet-describe.8 +1 -1
  531. data/man/man8/puppet-device.8 +1 -1
  532. data/man/man8/puppet-doc.8 +1 -1
  533. data/man/man8/puppet-epp.8 +1 -1
  534. data/man/man8/puppet-facts.8 +1 -1
  535. data/man/man8/puppet-filebucket.8 +1 -1
  536. data/man/man8/puppet-generate.8 +1 -1
  537. data/man/man8/puppet-help.8 +1 -1
  538. data/man/man8/puppet-lookup.8 +1 -1
  539. data/man/man8/puppet-module.8 +1 -1
  540. data/man/man8/puppet-node.8 +1 -1
  541. data/man/man8/puppet-parser.8 +1 -1
  542. data/man/man8/puppet-plugin.8 +1 -1
  543. data/man/man8/puppet-report.8 +1 -1
  544. data/man/man8/puppet-resource.8 +1 -1
  545. data/man/man8/puppet-script.8 +1 -1
  546. data/man/man8/puppet-ssl.8 +1 -1
  547. data/man/man8/puppet.8 +2 -2
  548. data/spec/fixtures/ssl/127.0.0.1-key.pem +107 -57
  549. data/spec/fixtures/ssl/127.0.0.1.pem +52 -31
  550. data/spec/fixtures/ssl/bad-basic-constraints.pem +57 -35
  551. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +57 -35
  552. data/spec/fixtures/ssl/ca.pem +57 -35
  553. data/spec/fixtures/ssl/crl.pem +28 -18
  554. data/spec/fixtures/ssl/ec-key.pem +11 -11
  555. data/spec/fixtures/ssl/ec.pem +33 -24
  556. data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
  557. data/spec/fixtures/ssl/encrypted-key.pem +108 -58
  558. data/spec/fixtures/ssl/intermediate-agent-crl.pem +28 -19
  559. data/spec/fixtures/ssl/intermediate-agent.pem +57 -36
  560. data/spec/fixtures/ssl/intermediate-crl.pem +31 -21
  561. data/spec/fixtures/ssl/intermediate.pem +57 -36
  562. data/spec/fixtures/ssl/pluto-key.pem +107 -57
  563. data/spec/fixtures/ssl/pluto.pem +52 -30
  564. data/spec/fixtures/ssl/request-key.pem +107 -57
  565. data/spec/fixtures/ssl/request.pem +47 -26
  566. data/spec/fixtures/ssl/revoked-key.pem +107 -57
  567. data/spec/fixtures/ssl/revoked.pem +52 -30
  568. data/spec/fixtures/ssl/signed-key.pem +107 -57
  569. data/spec/fixtures/ssl/signed.pem +52 -30
  570. data/spec/fixtures/ssl/tampered-cert.pem +52 -30
  571. data/spec/fixtures/ssl/tampered-csr.pem +47 -26
  572. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +107 -57
  573. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +50 -29
  574. data/spec/fixtures/ssl/unknown-ca-key.pem +107 -57
  575. data/spec/fixtures/ssl/unknown-ca.pem +55 -33
  576. data/spec/integration/type/file_spec.rb +5 -5
  577. data/spec/lib/puppet/test_ca.rb +2 -2
  578. data/spec/lib/puppet_spec/files.rb +1 -1
  579. data/spec/shared_contexts/provider.rb +16 -0
  580. data/spec/unit/application/agent_spec.rb +7 -2
  581. data/spec/unit/configurer/downloader_spec.rb +6 -0
  582. data/spec/unit/configurer_spec.rb +23 -0
  583. data/spec/unit/file_bucket/dipper_spec.rb +1 -1
  584. data/spec/unit/file_serving/fileset_spec.rb +60 -0
  585. data/spec/unit/gettext/config_spec.rb +12 -0
  586. data/spec/unit/http/service/compiler_spec.rb +123 -0
  587. data/spec/unit/indirector/catalog/compiler_spec.rb +14 -10
  588. data/spec/unit/parser/functions/fqdn_rand_spec.rb +15 -1
  589. data/spec/unit/pops/lookup/context_spec.rb +1 -1
  590. data/spec/unit/provider/package/dnfmodule_spec.rb +3 -3
  591. data/spec/unit/provider/package/gem_spec.rb +3 -1
  592. data/spec/unit/provider/package/pip2_spec.rb +3 -1
  593. data/spec/unit/provider/package/pip3_spec.rb +3 -1
  594. data/spec/unit/provider/package/pip_spec.rb +3 -1
  595. data/spec/unit/provider/package/pkg_spec.rb +44 -44
  596. data/spec/unit/provider/package/puppet_gem_spec.rb +3 -1
  597. data/spec/unit/provider/package/puppetserver_gem_spec.rb +2 -0
  598. data/spec/unit/provider/service/base_spec.rb +8 -8
  599. data/spec/unit/provider/service/bsd_spec.rb +0 -4
  600. data/spec/unit/provider/service/daemontools_spec.rb +1 -1
  601. data/spec/unit/provider/service/debian_spec.rb +15 -17
  602. data/spec/unit/provider/service/gentoo_spec.rb +19 -14
  603. data/spec/unit/provider/service/init_spec.rb +29 -20
  604. data/spec/unit/provider/service/launchd_spec.rb +10 -12
  605. data/spec/unit/provider/service/openbsd_spec.rb +21 -35
  606. data/spec/unit/provider/service/openrc_spec.rb +15 -14
  607. data/spec/unit/provider/service/openwrt_spec.rb +3 -1
  608. data/spec/unit/provider/service/redhat_spec.rb +20 -19
  609. data/spec/unit/provider/service/smf_spec.rb +6 -5
  610. data/spec/unit/provider/service/src_spec.rb +5 -10
  611. data/spec/unit/provider/service/systemd_spec.rb +57 -29
  612. data/spec/unit/provider/service/upstart_spec.rb +25 -20
  613. data/spec/unit/provider/service/windows_spec.rb +202 -0
  614. data/spec/unit/resource/catalog_spec.rb +1 -1
  615. data/spec/unit/ssl/state_machine_spec.rb +19 -5
  616. data/spec/unit/transaction/additional_resource_generator_spec.rb +0 -2
  617. data/spec/unit/transaction_spec.rb +18 -20
  618. data/spec/unit/type/file/selinux_spec.rb +3 -3
  619. data/spec/unit/type/service_spec.rb +10 -154
  620. data/spec/unit/type/tidy_spec.rb +17 -7
  621. data/spec/unit/util/at_fork_spec.rb +9 -9
  622. data/spec/unit/util/posix_spec.rb +1 -1
  623. data/spec/unit/util/selinux_spec.rb +87 -16
  624. data/tasks/generate_cert_fixtures.rake +2 -2
  625. metadata +4 -2
@@ -1,5 +1,5 @@
1
- require 'puppet/ssl'
2
- require 'puppet/util/pidlock'
1
+ require_relative '../../puppet/ssl'
2
+ require_relative '../../puppet/util/pidlock'
3
3
 
4
4
  # This class implements a state machine for bootstrapping a host's CA and CRL
5
5
  # bundles, private key and signed client certificate. Each state has a frozen
@@ -1,4 +1,4 @@
1
- require 'puppet/ssl'
1
+ require_relative '../../puppet/ssl'
2
2
 
3
3
  # Verify an SSL connection.
4
4
  #
@@ -117,6 +117,10 @@ class Puppet::SSL::Verifier
117
117
  return false
118
118
  end
119
119
 
120
+ when OpenSSL::X509::V_ERR_HOSTNAME_MISMATCH # new in ruby-openssl 2.2.0/ruby 3.0
121
+ @last_error = Puppet::SSL::CertMismatchError.new(peer_cert, @hostname)
122
+ return false
123
+
120
124
  when OpenSSL::X509::V_ERR_CRL_NOT_YET_VALID
121
125
  crl = store_context.current_crl
122
126
  if crl && crl.last_update && crl.last_update < Time.now + FIVE_MINUTES_AS_SECONDS
@@ -1,6 +1,6 @@
1
1
  # A syntax checker for Base64.
2
2
  # @api public
3
- require 'puppet/syntax_checkers'
3
+ require_relative '../../puppet/syntax_checkers'
4
4
  require 'base64'
5
5
  class Puppet::SyntaxCheckers::Base64 < Puppet::Plugins::SyntaxCheckers::SyntaxChecker
6
6
 
@@ -1,6 +1,6 @@
1
1
  # A syntax checker for JSON.
2
2
  # @api public
3
- require 'puppet/syntax_checkers'
3
+ require_relative '../../puppet/syntax_checkers'
4
4
  class Puppet::SyntaxCheckers::EPP < Puppet::Plugins::SyntaxCheckers::SyntaxChecker
5
5
 
6
6
  # Checks the text for Puppet Language EPP syntax issues and reports them to the given acceptor.
@@ -1,6 +1,6 @@
1
1
  # A syntax checker for JSON.
2
2
  # @api public
3
- require 'puppet/syntax_checkers'
3
+ require_relative '../../puppet/syntax_checkers'
4
4
  class Puppet::SyntaxCheckers::Json < Puppet::Plugins::SyntaxCheckers::SyntaxChecker
5
5
 
6
6
  # Checks the text for JSON syntax issues and reports them to the given acceptor.
@@ -1,6 +1,6 @@
1
1
  # A syntax checker for JSON.
2
2
  # @api public
3
- require 'puppet/syntax_checkers'
3
+ require_relative '../../puppet/syntax_checkers'
4
4
  class Puppet::SyntaxCheckers::PP < Puppet::Plugins::SyntaxCheckers::SyntaxChecker
5
5
 
6
6
  # Checks the text for Puppet Language syntax issues and reports them to the given acceptor.
@@ -1,7 +1,7 @@
1
- require 'puppet'
2
- require 'puppet/util/tagging'
3
- require 'puppet/util/skip_tags'
4
- require 'puppet/application'
1
+ require_relative '../puppet'
2
+ require_relative '../puppet/util/tagging'
3
+ require_relative '../puppet/util/skip_tags'
4
+ require_relative '../puppet/application'
5
5
  require 'digest/sha1'
6
6
  require 'set'
7
7
 
@@ -10,12 +10,12 @@ require 'set'
10
10
  #
11
11
  # @api private
12
12
  class Puppet::Transaction
13
- require 'puppet/transaction/additional_resource_generator'
14
- require 'puppet/transaction/event'
15
- require 'puppet/transaction/event_manager'
16
- require 'puppet/transaction/resource_harness'
17
- require 'puppet/resource/status'
18
- require 'puppet/transaction/persistence'
13
+ require_relative 'transaction/additional_resource_generator'
14
+ require_relative 'transaction/event'
15
+ require_relative 'transaction/event_manager'
16
+ require_relative 'transaction/resource_harness'
17
+ require_relative '../puppet/resource/status'
18
+ require_relative 'transaction/persistence'
19
19
 
20
20
  attr_accessor :catalog, :ignoreschedules, :for_network_device
21
21
 
@@ -466,4 +466,4 @@ class Puppet::Transaction
466
466
 
467
467
  end
468
468
 
469
- require 'puppet/transaction/report'
469
+ require_relative 'transaction/report'
@@ -1,7 +1,7 @@
1
- require 'puppet/transaction'
2
- require 'puppet/util/tagging'
3
- require 'puppet/util/logging'
4
- require 'puppet/network/format_support'
1
+ require_relative '../../puppet/transaction'
2
+ require_relative '../../puppet/util/tagging'
3
+ require_relative '../../puppet/util/logging'
4
+ require_relative '../../puppet/network/format_support'
5
5
 
6
6
  # A simple struct for storing what happens on the system.
7
7
  class Puppet::Transaction::Event
@@ -1,4 +1,4 @@
1
- require 'puppet/transaction'
1
+ require_relative '../../puppet/transaction'
2
2
 
3
3
  # This class stores, routes, and responds to events generated while evaluating
4
4
  # a transaction.
@@ -1,5 +1,5 @@
1
1
  require 'yaml'
2
- require 'puppet/util/yaml'
2
+ require_relative '../../puppet/util/yaml'
3
3
 
4
4
  # A persistence store implementation for storing information between
5
5
  # transaction runs for the purposes of information inference (such
@@ -1,5 +1,5 @@
1
- require 'puppet'
2
- require 'puppet/indirector'
1
+ require_relative '../../puppet'
2
+ require_relative '../../puppet/indirector'
3
3
 
4
4
  # This class is used to report what happens on a client.
5
5
  # There are two types of data in a report; _Logs_ and _Metrics_.
@@ -1,4 +1,4 @@
1
- require 'puppet/resource/status'
1
+ require_relative '../../puppet/resource/status'
2
2
 
3
3
  class Puppet::Transaction::ResourceHarness
4
4
  NO_ACTION = Object.new
data/lib/puppet/type.rb CHANGED
@@ -1,16 +1,16 @@
1
1
  # -*- coding: utf-8 -*-
2
- require 'puppet'
3
- require 'puppet/util/log'
4
- require 'puppet/util/metric'
5
- require 'puppet/property'
6
- require 'puppet/parameter'
7
- require 'puppet/util'
8
- require 'puppet/util/autoload'
9
- require 'puppet/metatype/manager'
10
- require 'puppet/util/errors'
11
- require 'puppet/util/logging'
12
- require 'puppet/util/tagging'
13
- require 'puppet/concurrent/lock'
2
+ require_relative '../puppet'
3
+ require_relative '../puppet/util/log'
4
+ require_relative '../puppet/util/metric'
5
+ require_relative '../puppet/property'
6
+ require_relative '../puppet/parameter'
7
+ require_relative '../puppet/util'
8
+ require_relative '../puppet/util/autoload'
9
+ require_relative '../puppet/metatype/manager'
10
+ require_relative '../puppet/util/errors'
11
+ require_relative '../puppet/util/logging'
12
+ require_relative '../puppet/util/tagging'
13
+ require_relative '../puppet/concurrent/lock'
14
14
 
15
15
  # see the bottom of the file for the rest of the inclusions
16
16
 
@@ -1699,8 +1699,8 @@ class Type
1699
1699
 
1700
1700
  ###############################
1701
1701
  # All of the provider plumbing for the resource types.
1702
- require 'puppet/provider'
1703
- require 'puppet/util/provider_features'
1702
+ require_relative '../puppet/provider'
1703
+ require_relative '../puppet/util/provider_features'
1704
1704
 
1705
1705
  # Add the feature handling module.
1706
1706
  extend Puppet::Util::ProviderFeatures
@@ -1,7 +1,7 @@
1
1
 
2
- require 'puppet'
3
- require 'puppet/type'
4
- require 'puppet/transaction'
2
+ require_relative '../../puppet'
3
+ require_relative '../../puppet/type'
4
+ require_relative '../../puppet/transaction'
5
5
 
6
6
  Puppet::Type.newtype(:component) do
7
7
  include Enumerable
@@ -6,11 +6,11 @@ require 'uri'
6
6
  require 'fileutils'
7
7
  require 'enumerator'
8
8
  require 'pathname'
9
- require 'puppet/parameter/boolean'
10
- require 'puppet/util/diff'
11
- require 'puppet/util/checksums'
12
- require 'puppet/util/backups'
13
- require 'puppet/util/symbolic_file_mode'
9
+ require_relative '../../puppet/parameter/boolean'
10
+ require_relative '../../puppet/util/diff'
11
+ require_relative '../../puppet/util/checksums'
12
+ require_relative '../../puppet/util/backups'
13
+ require_relative '../../puppet/util/symbolic_file_mode'
14
14
 
15
15
  Puppet::Type.newtype(:file) do
16
16
  include Puppet::Util::Checksums
@@ -218,6 +218,23 @@ Puppet::Type.newtype(:file) do
218
218
  end
219
219
  end
220
220
 
221
+ newparam(:max_files) do
222
+ desc "In case the resource is a directory and the recursion is enabled, puppet will
223
+ generate a new resource for each file file found, possible leading to
224
+ an excessive number of resources generated without any control.
225
+
226
+ Setting `max_files` will check the number of file resources that
227
+ will eventually be created and will raise a resource argument error if the
228
+ limit will be exceeded.
229
+
230
+ Use value `0` to log a warning instead of raising an error.
231
+
232
+ Use value `-1` to disable errors and warnings due to max files."
233
+
234
+ defaultto 0
235
+ newvalues(/^[0-9]+$/, /^-1$/)
236
+ end
237
+
221
238
  newparam(:replace, :boolean => true, :parent => Puppet::Parameter::Boolean) do
222
239
  desc "Whether to replace a file or symlink that already exists on the local system but
223
240
  whose content doesn't match what the `source` or `content` attribute
@@ -574,7 +591,7 @@ Puppet::Type.newtype(:file) do
574
591
  options = @original_parameters.merge(:path => full_path).reject { |param, value| value.nil? }
575
592
 
576
593
  # These should never be passed to our children.
577
- [:parent, :ensure, :recurse, :recurselimit, :target, :alias, :source].each do |param|
594
+ [:parent, :ensure, :recurse, :recurselimit, :max_files, :target, :alias, :source].each do |param|
578
595
  options.delete(param) if options.include?(param)
579
596
  end
580
597
 
@@ -751,6 +768,7 @@ Puppet::Type.newtype(:file) do
751
768
  :links => self[:links],
752
769
  :recurse => (self[:recurse] == :remote ? true : self[:recurse]),
753
770
  :recurselimit => self[:recurselimit],
771
+ :max_files => self[:max_files],
754
772
  :source_permissions => self[:source_permissions],
755
773
  :ignore => self[:ignore],
756
774
  :checksum_type => (self[:source] || self[:content]) ? self[:checksum] : :none,
@@ -1100,16 +1118,16 @@ end
1100
1118
  # We put all of the properties in separate files, because there are so many
1101
1119
  # of them. The order these are loaded is important, because it determines
1102
1120
  # the order they are in the property lit.
1103
- require 'puppet/type/file/checksum'
1104
- require 'puppet/type/file/content' # can create the file
1105
- require 'puppet/type/file/source' # can create the file
1106
- require 'puppet/type/file/checksum_value' # can create the file, in place of content
1107
- require 'puppet/type/file/target' # creates a different type of file
1108
- require 'puppet/type/file/ensure' # can create the file
1109
- require 'puppet/type/file/owner'
1110
- require 'puppet/type/file/group'
1111
- require 'puppet/type/file/mode'
1112
- require 'puppet/type/file/type'
1113
- require 'puppet/type/file/selcontext' # SELinux file context
1114
- require 'puppet/type/file/ctime'
1115
- require 'puppet/type/file/mtime'
1121
+ require_relative 'file/checksum'
1122
+ require_relative 'file/content' # can create the file
1123
+ require_relative 'file/source' # can create the file
1124
+ require_relative 'file/checksum_value' # can create the file, in place of content
1125
+ require_relative 'file/target' # creates a different type of file
1126
+ require_relative 'file/ensure' # can create the file
1127
+ require_relative 'file/owner'
1128
+ require_relative 'file/group'
1129
+ require_relative 'file/mode'
1130
+ require_relative 'file/type'
1131
+ require_relative 'file/selcontext' # SELinux file context
1132
+ require_relative 'file/ctime'
1133
+ require_relative 'file/mtime'
@@ -1,4 +1,4 @@
1
- require 'puppet/util/checksums'
1
+ require_relative '../../../puppet/util/checksums'
2
2
 
3
3
  # Specify which checksum algorithm to use when checksumming
4
4
  # files.
@@ -1,5 +1,5 @@
1
- require 'puppet/util/checksums'
2
- require 'puppet/type/file/data_sync'
1
+ require_relative '../../../puppet/util/checksums'
2
+ require_relative '../../../puppet/type/file/data_sync'
3
3
 
4
4
  module Puppet
5
5
  Puppet::Type.type(:file).newproperty(:checksum_value) do
@@ -2,8 +2,8 @@ require 'net/http'
2
2
  require 'uri'
3
3
  require 'tempfile'
4
4
 
5
- require 'puppet/util/checksums'
6
- require 'puppet/type/file/data_sync.rb'
5
+ require_relative '../../../puppet/util/checksums'
6
+ require_relative '../../../puppet/type/file/data_sync.rb'
7
7
 
8
8
  module Puppet
9
9
  Puppet::Type.type(:file).newproperty(:content) do
@@ -1,5 +1,5 @@
1
- require 'puppet/util/checksums'
2
- require 'puppet/util/diff'
1
+ require_relative '../../../puppet/util/checksums'
2
+ require_relative '../../../puppet/util/diff'
3
3
  require 'date'
4
4
  require 'tempfile'
5
5
 
@@ -2,7 +2,7 @@
2
2
  module Puppet
3
3
  Puppet::Type.type(:file).ensurable do
4
4
  require 'etc'
5
- require 'puppet/util/symbolic_file_mode'
5
+ require_relative '../../../puppet/util/symbolic_file_mode'
6
6
  include Puppet::Util::SymbolicFileMode
7
7
 
8
8
  desc <<-EOT
@@ -1,4 +1,4 @@
1
- require 'puppet/util/posix'
1
+ require_relative '../../../puppet/util/posix'
2
2
 
3
3
  module Puppet
4
4
  # Manage file group ownership.
@@ -5,7 +5,7 @@
5
5
 
6
6
  module Puppet
7
7
  Puppet::Type.type(:file).newproperty(:mode) do
8
- require 'puppet/util/symbolic_file_mode'
8
+ require_relative '../../../puppet/util/symbolic_file_mode'
9
9
  include Puppet::Util::SymbolicFileMode
10
10
 
11
11
  desc <<-'EOT'
@@ -21,7 +21,7 @@
21
21
 
22
22
 
23
23
  module Puppet
24
- require 'puppet/util/selinux'
24
+ require_relative '../../../puppet/util/selinux'
25
25
 
26
26
  class SELFileContext < Puppet::Property
27
27
  include Puppet::Util::SELinux
@@ -42,7 +42,7 @@ module Puppet
42
42
  return nil
43
43
  end
44
44
 
45
- context = self.get_selinux_default_context(@resource[:path])
45
+ context = self.get_selinux_default_context(@resource[:path], @resource[:ensure])
46
46
  unless context
47
47
  return nil
48
48
  end
@@ -1,8 +1,8 @@
1
- require 'puppet/file_serving/content'
2
- require 'puppet/file_serving/metadata'
3
- require 'puppet/file_serving/terminus_helper'
1
+ require_relative '../../../puppet/file_serving/content'
2
+ require_relative '../../../puppet/file_serving/metadata'
3
+ require_relative '../../../puppet/file_serving/terminus_helper'
4
4
 
5
- require 'puppet/http'
5
+ require_relative '../../../puppet/http'
6
6
 
7
7
  module Puppet
8
8
  # Copy files from a local or remote source. This state *only* does any work
@@ -1,5 +1,5 @@
1
1
  module Puppet
2
- require 'puppet/file_bucket/dipper'
2
+ require_relative '../../puppet/file_bucket/dipper'
3
3
 
4
4
  Type.newtype(:filebucket) do
5
5
  @doc = <<-EOT
@@ -1,7 +1,7 @@
1
1
  require 'etc'
2
2
  require 'facter'
3
- require 'puppet/property/keyvalue'
4
- require 'puppet/parameter/boolean'
3
+ require_relative '../../puppet/property/keyvalue'
4
+ require_relative '../../puppet/parameter/boolean'
5
5
 
6
6
  module Puppet
7
7
  Type.newtype(:group) do
@@ -4,8 +4,8 @@
4
4
  # This allows packages to exist on the same machine using different packaging
5
5
  # systems.
6
6
 
7
- require 'puppet/parameter/package_options'
8
- require 'puppet/parameter/boolean'
7
+ require_relative '../../puppet/parameter/package_options'
8
+ require_relative '../../puppet/parameter/boolean'
9
9
 
10
10
  module Puppet
11
11
  Type.newtype(:package) do
@@ -1,5 +1,5 @@
1
- require 'puppet'
2
- require 'puppet/parameter/boolean'
1
+ require_relative '../../puppet'
2
+ require_relative '../../puppet/parameter/boolean'
3
3
 
4
4
  Puppet::Type.newtype(:resources) do
5
5
  @doc = "This is a metatype that can manage other resource types. Any
@@ -139,23 +139,9 @@ module Puppet
139
139
  newproperty(:logonaccount, :required_features => :manages_logon_credentials) do
140
140
  desc "Specify an account for service logon"
141
141
 
142
- munge do |value|
143
- return value unless Puppet::Util::Platform.windows?
144
- return 'LocalSystem' if Puppet::Util::Windows::User::localsystem?(value)
145
-
146
- value.sub!(/^\.\\/, "#{Puppet::Util::Windows::ADSI.computer_name}\\")
147
- user_information = Puppet::Util::Windows::SID.name_to_principal(value)
148
- raise Puppet::Error.new("\"#{value}\" is not a valid account") unless user_information && [:SidTypeUser, :SidTypeWellKnownGroup].include?(user_information.account_type)
149
-
150
- user_rights = Puppet::Util::Windows::User::get_rights(user_information.domain_account) unless Puppet::Util::Windows::User::default_system_account?(value)
151
- raise Puppet::Error.new("\"#{user_information.domain_account}\" has the 'Log On As A Service' right set to denied.") if user_rights =~ /SeDenyServiceLogonRight/
152
- raise Puppet::Error.new("\"#{user_information.domain_account}\" is missing the 'Log On As A Service' right.") unless user_rights.nil? || user_rights =~ /SeServiceLogonRight/
153
-
154
- if user_information.domain == Puppet::Util::Windows::ADSI.computer_name
155
- ".\\#{user_information.account}"
156
- else
157
- user_information.domain_account
158
- end
142
+ def insync?(current)
143
+ return provider.logonaccount_insync?(current) if provider.respond_to?(:logonaccount_insync?)
144
+ super(current)
159
145
  end
160
146
  end
161
147
 
@@ -163,18 +149,7 @@ module Puppet
163
149
  desc "Specify a password for service logon. Default value is an empty string (when logonaccount is specified)."
164
150
 
165
151
  validate do |value|
166
- raise Puppet::Error.new(_"The 'logonaccount' parameter is mandatory when setting 'logonpassword'.") unless @resource[:logonaccount]
167
- raise ArgumentError, _("Passwords cannot include ':'") if value.is_a?(String) and value.include?(":")
168
- return unless Puppet::Util::Platform.windows?
169
-
170
- is_a_predefined_local_account = Puppet::Util::Windows::User::default_system_account?(@resource[:logonaccount]) || @resource[:logonaccount] == 'LocalSystem'
171
-
172
- account_info = @resource[:logonaccount].split("\\")
173
- able_to_logon = Puppet::Util::Windows::User.password_is?(account_info[1], value, account_info[0]) unless is_a_predefined_local_account
174
-
175
- raise Puppet::Error.new("The given password is invalid for user '#{@resource[:logonaccount]}'.") unless is_a_predefined_local_account || able_to_logon
176
-
177
- provider.logonpassword=(value)
152
+ raise ArgumentError, _("Passwords cannot include ':'") if value.is_a?(String) && value.include?(":")
178
153
  end
179
154
 
180
155
  sensitive true
@@ -320,5 +295,11 @@ module Puppet
320
295
  def self.needs_ensure_retrieved
321
296
  false
322
297
  end
298
+
299
+ validate do
300
+ if @parameters[:logonpassword] && @parameters[:logonaccount].nil?
301
+ raise Puppet::Error.new(_"The 'logonaccount' parameter is mandatory when setting 'logonpassword'.")
302
+ end
303
+ end
323
304
  end
324
305
  end