puppet 7.6.1-x64-mingw32 → 7.7.0-x64-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,8 +1,8 @@
1
- require 'puppet/parameter/boolean'
1
+ require_relative '../../puppet/parameter/boolean'
2
2
 
3
3
  Puppet::Type.newtype(:tidy) do
4
- require 'puppet/file_serving/fileset'
5
- require 'puppet/file_bucket/dipper'
4
+ require_relative '../../puppet/file_serving/fileset'
5
+ require_relative '../../puppet/file_bucket/dipper'
6
6
 
7
7
  @doc = "Remove unwanted files based on specific criteria. Multiple
8
8
  criteria are OR'd together, so a file that is too large but is not
@@ -50,6 +50,22 @@ Puppet::Type.newtype(:tidy) do
50
50
  end
51
51
  end
52
52
 
53
+ newparam(:max_files) do
54
+ desc "In case the resource is a directory and the recursion is enabled, puppet will
55
+ generate a new resource for each file file found, possible leading to
56
+ an excessive number of resources generated without any control.
57
+
58
+ Setting `max_files` will check the number of file resources that
59
+ will eventually be created and will raise a resource argument error if the
60
+ limit will be exceeded.
61
+
62
+ Use value `0` to disable the check. In this case, a warning is logged if
63
+ the number of files exceeds 1000."
64
+
65
+ defaultto 0
66
+ newvalues(/^[0-9]+$/)
67
+ end
68
+
53
69
  newparam(:matches) do
54
70
  desc <<-'EOT'
55
71
  One or more (shell type) file glob patterns, which restrict
@@ -256,9 +272,12 @@ Puppet::Type.newtype(:tidy) do
256
272
 
257
273
  case self[:recurse]
258
274
  when Integer, /^\d+$/
259
- parameter = { :recurse => true, :recurselimit => self[:recurse] }
275
+ parameter = { :max_files => self[:max_files],
276
+ :recurse => true,
277
+ :recurselimit => self[:recurse] }
260
278
  when true, :true, :inf
261
- parameter = { :recurse => true }
279
+ parameter = { :max_files => self[:max_files],
280
+ :recurse => true }
262
281
  end
263
282
 
264
283
  if parameter
@@ -1,9 +1,9 @@
1
1
  require 'etc'
2
2
  require 'facter'
3
- require 'puppet/parameter/boolean'
4
- require 'puppet/property/list'
5
- require 'puppet/property/ordered_list'
6
- require 'puppet/property/keyvalue'
3
+ require_relative '../../puppet/parameter/boolean'
4
+ require_relative '../../puppet/property/list'
5
+ require_relative '../../puppet/property/ordered_list'
6
+ require_relative '../../puppet/property/keyvalue'
7
7
 
8
8
  module Puppet
9
9
  Type.newtype(:user) do
data/lib/puppet/util.rb CHANGED
@@ -1,28 +1,28 @@
1
1
  # A module to collect utility functions.
2
2
 
3
3
  require 'English'
4
- require 'puppet/error'
5
- require 'puppet/util/execution_stub'
4
+ require_relative '../puppet/error'
5
+ require_relative 'util/execution_stub'
6
6
  require 'uri'
7
7
  require 'pathname'
8
8
  require 'ostruct'
9
- require 'puppet/util/platform'
10
- require 'puppet/util/symbolic_file_mode'
11
- require 'puppet/file_system/uniquefile'
9
+ require_relative 'util/platform'
10
+ require_relative 'util/symbolic_file_mode'
11
+ require_relative '../puppet/file_system/uniquefile'
12
12
  require 'securerandom'
13
- require 'puppet/util/character_encoding'
13
+ require_relative 'util/character_encoding'
14
14
 
15
15
  module Puppet
16
16
  module Util
17
- require 'puppet/util/monkey_patches'
17
+ require_relative 'util/monkey_patches'
18
18
  require 'benchmark'
19
19
 
20
20
  # These are all for backward compatibility -- these are methods that used
21
21
  # to be in Puppet::Util but have been moved into external modules.
22
- require 'puppet/util/posix'
22
+ require_relative 'util/posix'
23
23
  extend Puppet::Util::POSIX
24
24
 
25
- require 'puppet/util/windows/process' if Puppet::Util::Platform.windows?
25
+ require_relative 'util/windows/process' if Puppet::Util::Platform.windows?
26
26
 
27
27
  extend Puppet::Util::SymbolicFileMode
28
28
 
@@ -466,17 +466,7 @@ module Util
466
466
  # URI::parse and URI::Generic.build don't like paths encoded with CGI.escape
467
467
  # URI.escape does not change / to %2F and : to %3A like CGI.escape
468
468
  #
469
- # URI.escape is obsolete in Ruby 2.7. Ignore this error until we're able to
470
- # switch to a different escape mechanism. If this is JRuby, we can't mask
471
- # the error message, because this isn't thread safe. JRuby shouldn't be
472
- # using Ruby 2.7 or raising the warning anyway.
473
- orig_verbose = $VERBOSE
474
- $VERBOSE = nil unless Puppet::Util::Platform.jruby?
475
- begin
476
- encoded += URI.escape(parts[:path]) unless parts[:path].nil?
477
- ensure
478
- $VERBOSE = orig_verbose unless Puppet::Util::Platform.jruby?
479
- end
469
+ encoded += rfc2396_escape(parts[:path]) unless parts[:path].nil?
480
470
 
481
471
  # each query parameter
482
472
  if !parts[:query].nil?
@@ -495,12 +485,31 @@ module Util
495
485
  end
496
486
  module_function :uri_encode
497
487
 
498
- def uri_unescape(path)
499
- orig_verbose = $VERBOSE
500
- $VERBOSE = nil unless Puppet::Util::Platform.jruby?
501
- return URI.unescape(path)
502
- ensure
503
- $VERBOSE = orig_verbose unless Puppet::Util::Platform.jruby?
488
+ # From https://github.com/ruby/ruby/blob/v2_7_3/lib/uri/rfc2396_parser.rb#L24-L46
489
+ ALPHA = "a-zA-Z".freeze
490
+ ALNUM = "#{ALPHA}\\d".freeze
491
+ UNRESERVED = "\\-_.!~*'()#{ALNUM}".freeze
492
+ RESERVED = ";/?:@&=+$,\\[\\]".freeze
493
+ UNSAFE = Regexp.new("[^#{UNRESERVED}#{RESERVED}]").freeze
494
+
495
+ HEX = "a-fA-F\\d".freeze
496
+ ESCAPED = Regexp.new("%[#{HEX}]{2}").freeze
497
+
498
+ def rfc2396_escape(str)
499
+ str.gsub(UNSAFE) do |match|
500
+ tmp = ''
501
+ match.each_byte do |uc|
502
+ tmp << sprintf('%%%02X', uc)
503
+ end
504
+ tmp
505
+ end.force_encoding(Encoding::US_ASCII)
506
+ end
507
+ module_function :rfc2396_escape
508
+
509
+ def uri_unescape(str)
510
+ enc = str.encoding
511
+ enc = Encoding::UTF_8 if enc == Encoding::US_ASCII
512
+ str.gsub(ESCAPED) { [$&[1, 2]].pack('H2').force_encoding(enc) }
504
513
  end
505
514
  module_function :uri_unescape
506
515
 
@@ -776,11 +785,11 @@ end
776
785
  end
777
786
 
778
787
 
779
- require 'puppet/util/errors'
780
- require 'puppet/util/metaid'
781
- require 'puppet/util/classgen'
782
- require 'puppet/util/docs'
783
- require 'puppet/util/execution'
784
- require 'puppet/util/logging'
785
- require 'puppet/util/package'
786
- require 'puppet/util/warnings'
788
+ require_relative 'util/errors'
789
+ require_relative 'util/metaid'
790
+ require_relative 'util/classgen'
791
+ require_relative 'util/docs'
792
+ require_relative 'util/execution'
793
+ require_relative 'util/logging'
794
+ require_relative 'util/package'
795
+ require_relative 'util/warnings'
@@ -1,4 +1,4 @@
1
- require 'puppet'
1
+ require_relative '../../puppet'
2
2
 
3
3
  # A module for building AtFork handlers. These handlers are objects providing
4
4
  # pre/post fork callbacks modeled after those registered by the `pthread_atfork`
@@ -15,7 +15,7 @@ module Puppet::Util::AtFork
15
15
  @handler_class = loop do
16
16
  if Puppet::Util::Platform.solaris?
17
17
  begin
18
- require 'puppet/util/at_fork/solaris'
18
+ require_relative 'at_fork/solaris'
19
19
  # using break to return a value from the loop block
20
20
  break Puppet::Util::AtFork::Solaris
21
21
  rescue LoadError => detail
@@ -24,7 +24,7 @@ module Puppet::Util::AtFork
24
24
  end
25
25
  end
26
26
 
27
- require 'puppet/util/at_fork/noop'
27
+ require_relative 'at_fork/noop'
28
28
  # using break to return a value from the loop block
29
29
  break Puppet::Util::AtFork::Noop
30
30
  end
@@ -1,4 +1,4 @@
1
- require 'puppet'
1
+ require_relative '../../../puppet'
2
2
  require 'fiddle'
3
3
 
4
4
  # Early versions of Fiddle relied on the deprecated DL module and used
@@ -1,8 +1,8 @@
1
1
  require 'pathname'
2
- require 'puppet/util/rubygems'
3
- require 'puppet/util/warnings'
4
- require 'puppet/pops/adaptable'
5
- require 'puppet/concurrent/synchronized'
2
+ require_relative '../../puppet/util/rubygems'
3
+ require_relative '../../puppet/util/warnings'
4
+ require_relative '../../puppet/pops/adaptable'
5
+ require_relative '../../puppet/concurrent/synchronized'
6
6
 
7
7
  # An adapter that ties the module_directories cache to the environment where the modules are parsed. This
8
8
  # adapter ensures that the life-cycle of this cache doesn't exceed the life-cycle of the environment.
@@ -154,7 +154,7 @@ module Puppet::Util::Checksums
154
154
 
155
155
  # Calculate a checksum using Digest::SHA224.
156
156
  def sha224(content)
157
- require 'puppet/ssl/openssl_loader'
157
+ require_relative '../../puppet/ssl/openssl_loader'
158
158
  OpenSSL::Digest::SHA224.new.hexdigest(content)
159
159
  end
160
160
 
@@ -163,14 +163,14 @@ module Puppet::Util::Checksums
163
163
  end
164
164
 
165
165
  def sha224_file(filename, lite = false)
166
- require 'puppet/ssl/openssl_loader'
166
+ require_relative '../../puppet/ssl/openssl_loader'
167
167
 
168
168
  digest = OpenSSL::Digest::SHA224.new
169
169
  checksum_file(digest, filename, lite)
170
170
  end
171
171
 
172
172
  def sha224_stream(lite = false, &block)
173
- require 'puppet/ssl/openssl_loader'
173
+ require_relative '../../puppet/ssl/openssl_loader'
174
174
  digest = OpenSSL::Digest::SHA224.new
175
175
  checksum_stream(digest, block, lite)
176
176
  end
@@ -1,4 +1,4 @@
1
- require 'puppet/util/platform'
1
+ require_relative '../../puppet/util/platform'
2
2
 
3
3
  module Puppet::Util::Colors
4
4
  BLACK = {:console => "\e[0;30m", :html => "color: #FFA0A0" }
@@ -9,12 +9,12 @@ if not defined? ::Bundler
9
9
  end
10
10
  end
11
11
 
12
- require 'puppet'
13
- require 'puppet/util'
14
- require "puppet/util/rubygems"
15
- require "puppet/util/limits"
16
- require 'puppet/util/colors'
17
- require 'puppet/gettext/module_translations'
12
+ require_relative '../../puppet'
13
+ require_relative '../../puppet/util'
14
+ require_relative '../../puppet/util/rubygems'
15
+ require_relative '../../puppet/util/limits'
16
+ require_relative '../../puppet/util/colors'
17
+ require_relative '../../puppet/gettext/module_translations'
18
18
 
19
19
  module Puppet
20
20
  module Util
@@ -1,4 +1,4 @@
1
- require 'puppet/util/command_line/trollop'
1
+ require_relative '../../../puppet/util/command_line/trollop'
2
2
 
3
3
  module Puppet
4
4
  module Util
@@ -16,7 +16,7 @@ module Puppet
16
16
 
17
17
  class PuppetOptionParser
18
18
  def initialize(usage_msg = nil)
19
- require "puppet/util/command_line/trollop"
19
+ require_relative '../../../puppet/util/command_line/trollop'
20
20
 
21
21
  @create_default_short_options = false
22
22
 
@@ -1,10 +1,10 @@
1
1
  require 'timeout'
2
- require 'puppet/file_system/uniquefile'
2
+ require_relative '../../puppet/file_system/uniquefile'
3
3
 
4
4
  module Puppet
5
5
  require 'rbconfig'
6
6
 
7
- require 'puppet/error'
7
+ require_relative '../../puppet/error'
8
8
  # A command failed to execute.
9
9
  # @api public
10
10
  class ExecutionFailure < Puppet::Error
@@ -1,5 +1,5 @@
1
- require 'puppet'
2
- require 'puppet/util/warnings'
1
+ require_relative '../../puppet'
2
+ require_relative '../../puppet/util/warnings'
3
3
 
4
4
  class Puppet::Util::Feature
5
5
  include Puppet::Util::Warnings
@@ -1,7 +1,7 @@
1
1
  # Basic classes for reading, writing, and emptying files. Not much
2
2
  # to see here.
3
3
 
4
- require 'puppet/util/selinux'
4
+ require_relative '../../puppet/util/selinux'
5
5
  require 'tempfile'
6
6
  require 'fileutils'
7
7
 
@@ -1,4 +1,4 @@
1
- require 'puppet/http'
1
+ require_relative '../../puppet/http'
2
2
 
3
3
  # for backwards compatibility
4
4
  Puppet::Util::HttpProxy = Puppet::HTTP::Proxy
@@ -8,8 +8,8 @@
8
8
  #
9
9
  # The parsing tries to stay close to python's ConfigParser
10
10
 
11
- require 'puppet/util/filetype'
12
- require 'puppet/error'
11
+ require_relative '../../puppet/util/filetype'
12
+ require_relative '../../puppet/error'
13
13
 
14
14
  module Puppet::Util::IniConfig
15
15
  # A section in a .ini file
@@ -1,6 +1,6 @@
1
- require 'puppet/util/autoload'
2
- require 'puppet/util'
3
- require 'puppet/concurrent/lock'
1
+ require_relative '../../puppet/util/autoload'
2
+ require_relative '../../puppet/util'
3
+ require_relative '../../puppet/concurrent/lock'
4
4
 
5
5
  # A module that can easily autoload things for us. Uses an instance
6
6
  # of Puppet::Util::Autoload
@@ -1,4 +1,4 @@
1
- require 'puppet/util/lockfile'
1
+ require_relative '../../puppet/util/lockfile'
2
2
 
3
3
  # This class provides a simple API for managing a lock file
4
4
  # whose contents are a serialized JSON object. In addition
@@ -1,4 +1,4 @@
1
- require 'puppet/util/ldap'
1
+ require_relative '../../../puppet/util/ldap'
2
2
 
3
3
  class Puppet::Util::Ldap::Connection
4
4
  attr_accessor :host, :port, :user, :password, :reset, :ssl
@@ -1,4 +1,4 @@
1
- require 'puppet/util/ldap'
1
+ require_relative '../../../puppet/util/ldap'
2
2
 
3
3
  class Puppet::Util::Ldap::Generator
4
4
  # Declare the attribute we'll use to generate the value.
@@ -1,6 +1,6 @@
1
- require 'puppet/util/ldap'
2
- require 'puppet/util/ldap/connection'
3
- require 'puppet/util/ldap/generator'
1
+ require_relative '../../../puppet/util/ldap'
2
+ require_relative '../../../puppet/util/ldap/connection'
3
+ require_relative '../../../puppet/util/ldap/generator'
4
4
 
5
5
  # The configuration class for LDAP providers, plus
6
6
  # connection handling for actually interacting with ldap.
@@ -1,4 +1,4 @@
1
- require 'puppet/util'
1
+ require_relative '../../puppet/util'
2
2
 
3
3
  module Puppet::Util::Limits
4
4
  # @api private
@@ -1,7 +1,7 @@
1
- require 'puppet/util/tagging'
2
- require 'puppet/util/classgen'
3
- require 'puppet/util/psych_support'
4
- require 'puppet/network/format_support'
1
+ require_relative '../../puppet/util/tagging'
2
+ require_relative '../../puppet/util/classgen'
3
+ require_relative '../../puppet/util/psych_support'
4
+ require_relative '../../puppet/network/format_support'
5
5
  require 'facter'
6
6
 
7
7
  # Pass feedback to the user. Log levels are modeled after syslog's, and it is
@@ -35,8 +35,8 @@ class Puppet::Util::Log
35
35
  dest
36
36
  end
37
37
 
38
- require 'puppet/util/log/destination'
39
- require 'puppet/util/log/destinations'
38
+ require_relative 'log/destination'
39
+ require_relative 'log/destinations'
40
40
 
41
41
  @destinations = {}
42
42
 
@@ -135,7 +135,7 @@ Puppet::Util::Log.newdesttype :logstash_event do
135
135
  end
136
136
 
137
137
  Puppet::Util::Log.newdesttype :console do
138
- require 'puppet/util/colors'
138
+ require_relative '../../../puppet/util/colors'
139
139
  include Puppet::Util::Colors
140
140
 
141
141
  def initialize
@@ -1,6 +1,6 @@
1
1
  # A module to make logging a bit easier.
2
- require 'puppet/util/log'
3
- require 'puppet/error'
2
+ require_relative '../../puppet/util/log'
3
+ require_relative '../../puppet/error'
4
4
 
5
5
  require 'facter'
6
6
 
@@ -1,6 +1,6 @@
1
1
  # included so we can test object types
2
- require 'puppet'
3
- require 'puppet/network/format_support'
2
+ require_relative '../../puppet'
3
+ require_relative '../../puppet/network/format_support'
4
4
 
5
5
  # A class for handling metrics. This is currently ridiculously hackish.
6
6
  class Puppet::Util::Metric