puppet 6.25.1-x64-mingw32 → 7.0.0-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

Files changed (784) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +16 -2
  3. data/CONTRIBUTING.md +5 -5
  4. data/Gemfile +3 -5
  5. data/Gemfile.lock +39 -51
  6. data/README.md +5 -5
  7. data/conf/fileserver.conf +5 -10
  8. data/ext/README.environment +8 -0
  9. data/ext/build_defaults.yaml +1 -1
  10. data/ext/dbfix.sql +132 -0
  11. data/ext/debian/README.Debian +8 -0
  12. data/ext/debian/README.source +2 -0
  13. data/ext/debian/TODO.Debian +1 -0
  14. data/ext/debian/changelog.erb +1122 -0
  15. data/ext/debian/compat +1 -0
  16. data/ext/debian/control +144 -0
  17. data/ext/debian/copyright +339 -0
  18. data/ext/debian/docs +1 -0
  19. data/ext/debian/fileserver.conf +41 -0
  20. data/ext/debian/puppet-common.dirs +13 -0
  21. data/ext/debian/puppet-common.install +3 -0
  22. data/ext/debian/puppet-common.lintian-overrides +5 -0
  23. data/ext/debian/puppet-common.manpages +28 -0
  24. data/ext/debian/puppet-common.postinst +35 -0
  25. data/ext/debian/puppet-common.postrm +33 -0
  26. data/ext/debian/puppet-el.dirs +1 -0
  27. data/ext/debian/puppet-el.emacsen-install +25 -0
  28. data/ext/debian/puppet-el.emacsen-remove +11 -0
  29. data/ext/debian/puppet-el.emacsen-startup +9 -0
  30. data/ext/debian/puppet-el.install +1 -0
  31. data/ext/debian/puppet-testsuite.install +2 -0
  32. data/ext/debian/puppet-testsuite.lintian-overrides +4 -0
  33. data/ext/debian/puppet.lintian-overrides +3 -0
  34. data/ext/debian/puppet.logrotate +20 -0
  35. data/ext/debian/puppet.postinst +20 -0
  36. data/ext/debian/puppet.postrm +20 -0
  37. data/ext/debian/puppet.preinst +20 -0
  38. data/ext/debian/puppetmaster-common.install +2 -0
  39. data/ext/debian/puppetmaster-common.manpages +2 -0
  40. data/ext/debian/puppetmaster-common.postinst +6 -0
  41. data/ext/debian/puppetmaster-passenger.dirs +4 -0
  42. data/ext/debian/puppetmaster-passenger.postinst +162 -0
  43. data/ext/debian/puppetmaster-passenger.postrm +61 -0
  44. data/ext/debian/puppetmaster.README.debian +17 -0
  45. data/ext/debian/puppetmaster.default +14 -0
  46. data/ext/debian/puppetmaster.init +137 -0
  47. data/ext/debian/puppetmaster.lintian-overrides +3 -0
  48. data/ext/debian/puppetmaster.postinst +20 -0
  49. data/ext/debian/puppetmaster.postrm +5 -0
  50. data/ext/debian/puppetmaster.preinst +22 -0
  51. data/ext/debian/rules +132 -0
  52. data/ext/debian/source/format +1 -0
  53. data/ext/debian/source/options +1 -0
  54. data/ext/debian/vim-puppet.README.Debian +13 -0
  55. data/ext/debian/vim-puppet.dirs +5 -0
  56. data/ext/debian/vim-puppet.yaml +7 -0
  57. data/ext/debian/watch +2 -0
  58. data/ext/freebsd/puppetd +26 -0
  59. data/ext/freebsd/puppetmasterd +26 -0
  60. data/ext/gentoo/conf.d/puppet +5 -0
  61. data/ext/gentoo/conf.d/puppetmaster +12 -0
  62. data/ext/gentoo/init.d/puppet +38 -0
  63. data/ext/gentoo/init.d/puppetmaster +51 -0
  64. data/ext/gentoo/puppet/fileserver.conf +41 -0
  65. data/ext/ips/puppet-agent +44 -0
  66. data/ext/ips/puppet-master +44 -0
  67. data/ext/ips/puppet.p5m.erb +12 -0
  68. data/ext/ips/puppetagent.xml +42 -0
  69. data/ext/ips/puppetmaster.xml +42 -0
  70. data/ext/ips/rules +19 -0
  71. data/ext/ips/transforms +34 -0
  72. data/ext/ldap/puppet.schema +24 -0
  73. data/ext/logcheck/puppet +23 -0
  74. data/{examples → ext}/nagios/check_puppet.rb +2 -2
  75. data/ext/osx/file_mapping.yaml +28 -0
  76. data/ext/osx/postflight.erb +109 -0
  77. data/ext/osx/preflight.erb +52 -0
  78. data/ext/osx/prototype.plist.erb +38 -0
  79. data/ext/osx/puppet.plist +0 -2
  80. data/ext/project_data.yaml +1 -15
  81. data/ext/redhat/fileserver.conf +41 -0
  82. data/ext/redhat/logrotate +21 -0
  83. data/ext/redhat/puppet.spec.erb +841 -0
  84. data/ext/redhat/server.init +128 -0
  85. data/ext/redhat/server.sysconfig +13 -0
  86. data/{examples/enc → ext}/regexp_nodes/classes/databases +0 -0
  87. data/{examples/enc → ext}/regexp_nodes/classes/webservers +0 -0
  88. data/{examples/enc → ext}/regexp_nodes/environment/development +0 -0
  89. data/{examples/enc → ext}/regexp_nodes/parameters/service/prod +0 -0
  90. data/{examples/enc → ext}/regexp_nodes/parameters/service/qa +0 -0
  91. data/{examples/enc → ext}/regexp_nodes/parameters/service/sandbox +0 -0
  92. data/{examples/enc → ext}/regexp_nodes/regexp_nodes.rb +0 -0
  93. data/ext/solaris/pkginfo +6 -0
  94. data/ext/solaris/smf/puppetd.xml +77 -0
  95. data/ext/solaris/smf/puppetmasterd.xml +77 -0
  96. data/ext/solaris/smf/svc-puppetd +71 -0
  97. data/ext/solaris/smf/svc-puppetmasterd +67 -0
  98. data/ext/suse/puppet.spec +310 -0
  99. data/ext/suse/server.init +173 -0
  100. data/ext/windows/service/daemon.rb +6 -5
  101. data/ext/yaml_nodes.rb +105 -0
  102. data/install.rb +21 -17
  103. data/lib/puppet/application/agent.rb +4 -16
  104. data/lib/puppet/application/apply.rb +4 -24
  105. data/lib/puppet/application/device.rb +100 -106
  106. data/lib/puppet/application/filebucket.rb +13 -10
  107. data/lib/puppet/application/resource.rb +16 -32
  108. data/lib/puppet/application/script.rb +0 -2
  109. data/lib/puppet/application/ssl.rb +1 -13
  110. data/lib/puppet/application.rb +178 -108
  111. data/lib/puppet/application_support.rb +0 -7
  112. data/lib/puppet/concurrent/thread_local_singleton.rb +0 -1
  113. data/lib/puppet/configurer/downloader.rb +1 -2
  114. data/lib/puppet/configurer/plugin_handler.rb +21 -19
  115. data/lib/puppet/configurer.rb +86 -189
  116. data/lib/puppet/confine/variable.rb +1 -1
  117. data/lib/puppet/defaults.rb +128 -232
  118. data/lib/puppet/environments.rb +82 -146
  119. data/lib/puppet/face/facts.rb +5 -103
  120. data/lib/puppet/face/help/action.erb +0 -1
  121. data/lib/puppet/face/help/face.erb +0 -1
  122. data/lib/puppet/face/help.rb +1 -1
  123. data/lib/puppet/face/node/clean.rb +0 -11
  124. data/lib/puppet/face/plugin.rb +5 -8
  125. data/lib/puppet/ffi/windows/api_types.rb +311 -0
  126. data/lib/puppet/ffi/windows/constants.rb +404 -0
  127. data/lib/puppet/ffi/windows/functions.rb +628 -0
  128. data/lib/puppet/ffi/windows/structs.rb +338 -0
  129. data/lib/puppet/ffi/windows.rb +12 -0
  130. data/lib/puppet/file_serving/configuration/parser.rb +3 -34
  131. data/lib/puppet/file_serving/configuration.rb +0 -8
  132. data/lib/puppet/file_serving/fileset.rb +2 -14
  133. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  134. data/lib/puppet/file_serving/mount/file.rb +4 -4
  135. data/lib/puppet/file_serving/mount.rb +1 -2
  136. data/lib/puppet/file_system/file_impl.rb +1 -3
  137. data/lib/puppet/file_system/memory_file.rb +1 -8
  138. data/lib/puppet/file_system/windows.rb +2 -4
  139. data/lib/puppet/forge/repository.rb +0 -1
  140. data/lib/puppet/forge.rb +4 -4
  141. data/lib/puppet/functions/all.rb +1 -1
  142. data/lib/puppet/functions/camelcase.rb +1 -1
  143. data/lib/puppet/functions/capitalize.rb +2 -2
  144. data/lib/puppet/functions/downcase.rb +2 -2
  145. data/lib/puppet/functions/empty.rb +0 -8
  146. data/lib/puppet/functions/find_template.rb +2 -2
  147. data/lib/puppet/functions/get.rb +5 -5
  148. data/lib/puppet/functions/group_by.rb +5 -13
  149. data/lib/puppet/functions/lest.rb +1 -1
  150. data/lib/puppet/functions/new.rb +100 -100
  151. data/lib/puppet/functions/partition.rb +4 -12
  152. data/lib/puppet/functions/require.rb +5 -5
  153. data/lib/puppet/functions/sort.rb +3 -3
  154. data/lib/puppet/functions/strftime.rb +0 -1
  155. data/lib/puppet/functions/tree_each.rb +9 -7
  156. data/lib/puppet/functions/type.rb +4 -4
  157. data/lib/puppet/functions/unwrap.rb +2 -17
  158. data/lib/puppet/functions/upcase.rb +2 -2
  159. data/lib/puppet/generate/models/type/type.rb +4 -1
  160. data/lib/puppet/http/client.rb +165 -115
  161. data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
  162. data/lib/puppet/http/errors.rb +16 -0
  163. data/lib/puppet/http/external_client.rb +5 -7
  164. data/lib/puppet/{network/http → http}/factory.rb +8 -15
  165. data/lib/puppet/{network/http → http}/pool.rb +61 -26
  166. data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
  167. data/lib/puppet/http/proxy.rb +137 -0
  168. data/lib/puppet/http/redirector.rb +4 -17
  169. data/lib/puppet/http/resolver/server_list.rb +10 -25
  170. data/lib/puppet/http/resolver/settings.rb +4 -7
  171. data/lib/puppet/http/resolver/srv.rb +7 -11
  172. data/lib/puppet/http/resolver.rb +5 -15
  173. data/lib/puppet/http/response.rb +36 -54
  174. data/lib/puppet/http/response_converter.rb +24 -0
  175. data/lib/puppet/http/response_net_http.rb +42 -0
  176. data/lib/puppet/http/retry_after_handler.rb +4 -13
  177. data/lib/puppet/http/service/ca.rb +11 -22
  178. data/lib/puppet/http/service/compiler.rb +23 -144
  179. data/lib/puppet/http/service/file_server.rb +19 -29
  180. data/lib/puppet/http/service/puppetserver.rb +26 -12
  181. data/lib/puppet/http/service/report.rb +8 -10
  182. data/lib/puppet/http/service.rb +12 -26
  183. data/lib/puppet/http/session.rb +11 -20
  184. data/lib/puppet/{network/http → http}/site.rb +1 -2
  185. data/lib/puppet/http.rb +22 -13
  186. data/lib/puppet/indirector/catalog/compiler.rb +6 -25
  187. data/lib/puppet/indirector/catalog/rest.rb +2 -5
  188. data/lib/puppet/indirector/facts/facter.rb +6 -6
  189. data/lib/puppet/indirector/facts/rest.rb +3 -22
  190. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
  191. data/lib/puppet/indirector/file_content/rest.rb +2 -6
  192. data/lib/puppet/indirector/file_metadata/rest.rb +3 -10
  193. data/lib/puppet/indirector/file_server.rb +1 -8
  194. data/lib/puppet/indirector/generic_http.rb +0 -11
  195. data/lib/puppet/indirector/indirection.rb +1 -1
  196. data/lib/puppet/indirector/node/rest.rb +2 -4
  197. data/lib/puppet/indirector/report/rest.rb +3 -8
  198. data/lib/puppet/indirector/request.rb +0 -101
  199. data/lib/puppet/indirector/resource/ral.rb +1 -6
  200. data/lib/puppet/indirector/rest.rb +12 -263
  201. data/lib/puppet/indirector/terminus.rb +0 -4
  202. data/lib/puppet/interface/documentation.rb +0 -1
  203. data/lib/puppet/module/plan.rb +1 -0
  204. data/lib/puppet/module/task.rb +1 -1
  205. data/lib/puppet/module.rb +0 -1
  206. data/lib/puppet/module_tool/applications/installer.rb +2 -56
  207. data/lib/puppet/module_tool/applications/uninstaller.rb +1 -1
  208. data/lib/puppet/module_tool/applications/upgrader.rb +1 -1
  209. data/lib/puppet/module_tool/applications.rb +0 -1
  210. data/lib/puppet/module_tool/errors/shared.rb +2 -34
  211. data/lib/puppet/network/authconfig.rb +2 -96
  212. data/lib/puppet/network/authorization.rb +13 -35
  213. data/lib/puppet/network/formats.rb +0 -67
  214. data/lib/puppet/network/http/api/indirected_routes.rb +3 -21
  215. data/lib/puppet/network/http/api/master/v3.rb +11 -13
  216. data/lib/puppet/network/http/connection.rb +247 -316
  217. data/lib/puppet/network/http/handler.rb +0 -1
  218. data/lib/puppet/network/http.rb +3 -3
  219. data/lib/puppet/network/http_pool.rb +16 -34
  220. data/lib/puppet/node/environment.rb +11 -10
  221. data/lib/puppet/node.rb +1 -30
  222. data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
  223. data/lib/puppet/pal/pal_impl.rb +4 -2
  224. data/lib/puppet/parser/ast/leaf.rb +2 -3
  225. data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
  226. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
  227. data/lib/puppet/parser/compiler.rb +0 -198
  228. data/lib/puppet/parser/functions/fqdn_rand.rb +6 -14
  229. data/lib/puppet/parser/resource.rb +1 -70
  230. data/lib/puppet/parser/scope.rb +0 -1
  231. data/lib/puppet/parser/templatewrapper.rb +1 -2
  232. data/lib/puppet/pops/evaluator/closure.rb +5 -7
  233. data/lib/puppet/pops/evaluator/deferred_resolver.rb +3 -5
  234. data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
  235. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -4
  236. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  237. data/lib/puppet/pops/issues.rb +0 -5
  238. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
  239. data/lib/puppet/pops/lookup/lookup_adapter.rb +2 -3
  240. data/lib/puppet/pops/model/ast.pp +0 -42
  241. data/lib/puppet/pops/model/ast.rb +0 -291
  242. data/lib/puppet/pops/model/ast_transformer.rb +1 -1
  243. data/lib/puppet/pops/model/factory.rb +1 -47
  244. data/lib/puppet/pops/model/model_label_provider.rb +0 -5
  245. data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
  246. data/lib/puppet/pops/model/pn_transformer.rb +0 -16
  247. data/lib/puppet/pops/parser/egrammar.ra +0 -56
  248. data/lib/puppet/pops/parser/eparser.rb +1691 -1883
  249. data/lib/puppet/pops/parser/lexer2.rb +91 -92
  250. data/lib/puppet/pops/parser/parser_support.rb +0 -5
  251. data/lib/puppet/pops/parser/slurp_support.rb +0 -1
  252. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
  253. data/lib/puppet/pops/serialization/to_data_converter.rb +6 -18
  254. data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
  255. data/lib/puppet/pops/types/p_sem_ver_type.rb +2 -8
  256. data/lib/puppet/pops/types/p_sensitive_type.rb +0 -10
  257. data/lib/puppet/pops/types/type_calculator.rb +0 -7
  258. data/lib/puppet/pops/types/type_formatter.rb +3 -4
  259. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  260. data/lib/puppet/pops/types/type_parser.rb +0 -4
  261. data/lib/puppet/pops/types/types.rb +1 -2
  262. data/lib/puppet/pops/validation/checker4_0.rb +9 -37
  263. data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
  264. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  265. data/lib/puppet/property/list.rb +1 -1
  266. data/lib/puppet/provider/aix_object.rb +1 -1
  267. data/lib/puppet/provider/exec/posix.rb +4 -16
  268. data/lib/puppet/provider/group/groupadd.rb +10 -18
  269. data/lib/puppet/provider/nameservice.rb +0 -18
  270. data/lib/puppet/provider/package/apt.rb +2 -34
  271. data/lib/puppet/provider/package/aptitude.rb +0 -6
  272. data/lib/puppet/provider/package/dnfmodule.rb +1 -1
  273. data/lib/puppet/provider/package/dpkg.rb +0 -10
  274. data/lib/puppet/provider/package/gem.rb +23 -3
  275. data/lib/puppet/provider/package/nim.rb +6 -11
  276. data/lib/puppet/provider/package/pip.rb +3 -16
  277. data/lib/puppet/provider/package/pkg.rb +2 -23
  278. data/lib/puppet/provider/package/portage.rb +1 -1
  279. data/lib/puppet/provider/package/puppet_gem.rb +1 -4
  280. data/lib/puppet/provider/package/puppetserver_gem.rb +1 -1
  281. data/lib/puppet/provider/package/yum.rb +1 -1
  282. data/lib/puppet/provider/parsedfile.rb +0 -3
  283. data/lib/puppet/provider/service/base.rb +1 -1
  284. data/lib/puppet/provider/service/debian.rb +0 -2
  285. data/lib/puppet/provider/service/init.rb +5 -5
  286. data/lib/puppet/provider/service/launchd.rb +2 -2
  287. data/lib/puppet/provider/service/redhat.rb +1 -1
  288. data/lib/puppet/provider/service/smf.rb +194 -76
  289. data/lib/puppet/provider/service/systemd.rb +6 -16
  290. data/lib/puppet/provider/service/upstart.rb +5 -5
  291. data/lib/puppet/provider/service/windows.rb +0 -38
  292. data/lib/puppet/provider/user/aix.rb +3 -46
  293. data/lib/puppet/provider/user/directoryservice.rb +11 -34
  294. data/lib/puppet/provider/user/useradd.rb +24 -134
  295. data/lib/puppet/provider.rb +1 -14
  296. data/lib/puppet/reference/configuration.rb +8 -7
  297. data/lib/puppet/reference/indirection.rb +1 -1
  298. data/lib/puppet/reference/providers.rb +2 -2
  299. data/lib/puppet/resource/catalog.rb +2 -15
  300. data/lib/puppet/resource/type.rb +3 -119
  301. data/lib/puppet/resource/type_collection.rb +3 -49
  302. data/lib/puppet/resource.rb +6 -127
  303. data/lib/puppet/runtime.rb +2 -13
  304. data/lib/puppet/settings/environment_conf.rb +0 -1
  305. data/lib/puppet/settings/integer_setting.rb +17 -0
  306. data/lib/puppet/settings/port_setting.rb +15 -0
  307. data/lib/puppet/settings/priority_setting.rb +5 -4
  308. data/lib/puppet/settings.rb +82 -98
  309. data/lib/puppet/ssl/base.rb +3 -5
  310. data/lib/puppet/ssl/certificate.rb +0 -6
  311. data/lib/puppet/ssl/certificate_request.rb +1 -12
  312. data/lib/puppet/ssl/certificate_signer.rb +6 -0
  313. data/lib/puppet/ssl/oids.rb +3 -1
  314. data/lib/puppet/ssl/ssl_provider.rb +17 -0
  315. data/lib/puppet/ssl/state_machine.rb +3 -1
  316. data/lib/puppet/ssl/verifier.rb +2 -0
  317. data/lib/puppet/ssl.rb +10 -6
  318. data/lib/puppet/test/test_helper.rb +2 -7
  319. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  320. data/lib/puppet/transaction/persistence.rb +1 -11
  321. data/lib/puppet/transaction/report.rb +3 -19
  322. data/lib/puppet/transaction.rb +1 -7
  323. data/lib/puppet/type/exec.rb +5 -35
  324. data/lib/puppet/type/file/checksum.rb +1 -1
  325. data/lib/puppet/type/file/mode.rb +0 -6
  326. data/lib/puppet/type/file/selcontext.rb +1 -1
  327. data/lib/puppet/type/file/source.rb +1 -1
  328. data/lib/puppet/type/file.rb +12 -32
  329. data/lib/puppet/type/filebucket.rb +4 -4
  330. data/lib/puppet/type/group.rb +1 -0
  331. data/lib/puppet/type/package.rb +8 -16
  332. data/lib/puppet/type/resources.rb +1 -1
  333. data/lib/puppet/type/service.rb +41 -26
  334. data/lib/puppet/type/tidy.rb +3 -22
  335. data/lib/puppet/type/user.rb +21 -38
  336. data/lib/puppet/type.rb +1 -77
  337. data/lib/puppet/util/autoload.rb +8 -1
  338. data/lib/puppet/util/command_line.rb +1 -1
  339. data/lib/puppet/util/execution.rb +0 -11
  340. data/lib/puppet/util/filetype.rb +2 -2
  341. data/lib/puppet/util/http_proxy.rb +2 -215
  342. data/lib/puppet/util/json.rb +0 -3
  343. data/lib/puppet/util/log.rb +2 -1
  344. data/lib/puppet/util/logging.rb +25 -1
  345. data/lib/puppet/util/monkey_patches.rb +0 -53
  346. data/lib/puppet/util/pidlock.rb +1 -1
  347. data/lib/puppet/util/posix.rb +5 -54
  348. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
  349. data/lib/puppet/util/rdoc.rb +0 -7
  350. data/lib/puppet/util/retry_action.rb +1 -1
  351. data/lib/puppet/util/run_mode.rb +9 -1
  352. data/lib/puppet/util/selinux.rb +4 -30
  353. data/lib/puppet/util/suidmanager.rb +2 -1
  354. data/lib/puppet/util/symbolic_file_mode.rb +17 -29
  355. data/lib/puppet/util/tagging.rb +0 -1
  356. data/lib/puppet/util/windows/adsi.rb +0 -46
  357. data/lib/puppet/util/windows/daemon.rb +360 -0
  358. data/lib/puppet/util/windows/error.rb +1 -0
  359. data/lib/puppet/util/windows/eventlog.rb +4 -9
  360. data/lib/puppet/util/windows/file.rb +8 -242
  361. data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
  362. data/lib/puppet/util/windows/principal.rb +2 -9
  363. data/lib/puppet/util/windows/process.rb +4 -226
  364. data/lib/puppet/util/windows/service.rb +11 -457
  365. data/lib/puppet/util/windows/sid.rb +2 -6
  366. data/lib/puppet/util/windows/string.rb +12 -13
  367. data/lib/puppet/util/windows/user.rb +2 -0
  368. data/lib/puppet/util/windows.rb +3 -11
  369. data/lib/puppet/util/yaml.rb +0 -22
  370. data/lib/puppet/util.rb +3 -4
  371. data/lib/puppet/vendor/require_vendored.rb +0 -1
  372. data/lib/puppet/version.rb +1 -1
  373. data/lib/puppet/x509/cert_provider.rb +29 -1
  374. data/lib/puppet/x509.rb +5 -1
  375. data/lib/puppet.rb +20 -25
  376. data/locales/puppet.pot +816 -1637
  377. data/man/man5/puppet.conf.5 +286 -382
  378. data/man/man8/puppet-agent.8 +2 -5
  379. data/man/man8/puppet-apply.8 +2 -2
  380. data/man/man8/puppet-catalog.8 +9 -9
  381. data/man/man8/puppet-config.8 +1 -1
  382. data/man/man8/puppet-describe.8 +1 -1
  383. data/man/man8/puppet-device.8 +2 -2
  384. data/man/man8/puppet-doc.8 +1 -1
  385. data/man/man8/puppet-epp.8 +1 -1
  386. data/man/man8/puppet-facts.8 +8 -51
  387. data/man/man8/puppet-filebucket.8 +4 -4
  388. data/man/man8/puppet-generate.8 +1 -1
  389. data/man/man8/puppet-help.8 +1 -1
  390. data/man/man8/puppet-lookup.8 +1 -1
  391. data/man/man8/puppet-module.8 +3 -60
  392. data/man/man8/puppet-node.8 +5 -5
  393. data/man/man8/puppet-parser.8 +1 -1
  394. data/man/man8/puppet-plugin.8 +1 -1
  395. data/man/man8/puppet-report.8 +5 -5
  396. data/man/man8/puppet-resource.8 +1 -1
  397. data/man/man8/puppet-script.8 +2 -2
  398. data/man/man8/puppet-ssl.8 +1 -5
  399. data/man/man8/puppet.8 +2 -2
  400. data/spec/fixtures/ssl/127.0.0.1-key.pem +57 -107
  401. data/spec/fixtures/ssl/127.0.0.1.pem +31 -52
  402. data/spec/fixtures/ssl/bad-basic-constraints.pem +35 -57
  403. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +35 -57
  404. data/spec/fixtures/ssl/ca.pem +35 -57
  405. data/spec/fixtures/ssl/crl.pem +18 -28
  406. data/spec/fixtures/ssl/ec-key.pem +11 -11
  407. data/spec/fixtures/ssl/ec.pem +24 -33
  408. data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
  409. data/spec/fixtures/ssl/encrypted-key.pem +58 -108
  410. data/spec/fixtures/ssl/intermediate-agent-crl.pem +19 -28
  411. data/spec/fixtures/ssl/intermediate-agent.pem +36 -57
  412. data/spec/fixtures/ssl/intermediate-crl.pem +21 -31
  413. data/spec/fixtures/ssl/intermediate.pem +36 -57
  414. data/spec/fixtures/ssl/pluto-key.pem +57 -107
  415. data/spec/fixtures/ssl/pluto.pem +30 -52
  416. data/spec/fixtures/ssl/request-key.pem +57 -107
  417. data/spec/fixtures/ssl/request.pem +26 -47
  418. data/spec/fixtures/ssl/revoked-key.pem +57 -107
  419. data/spec/fixtures/ssl/revoked.pem +30 -52
  420. data/spec/fixtures/ssl/signed-key.pem +57 -107
  421. data/spec/fixtures/ssl/signed.pem +30 -52
  422. data/spec/fixtures/ssl/tampered-cert.pem +30 -52
  423. data/spec/fixtures/ssl/tampered-csr.pem +26 -47
  424. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +57 -107
  425. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +29 -50
  426. data/spec/fixtures/ssl/unknown-ca-key.pem +57 -107
  427. data/spec/fixtures/ssl/unknown-ca.pem +33 -55
  428. data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
  429. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -4
  430. data/spec/integration/application/agent_spec.rb +51 -299
  431. data/spec/integration/application/apply_spec.rb +1 -20
  432. data/spec/integration/application/filebucket_spec.rb +16 -32
  433. data/spec/integration/application/help_spec.rb +2 -0
  434. data/spec/integration/application/module_spec.rb +0 -21
  435. data/spec/integration/application/plugin_spec.rb +24 -2
  436. data/spec/integration/configurer_spec.rb +2 -18
  437. data/spec/integration/defaults_spec.rb +14 -3
  438. data/spec/integration/environments/settings_interpolation_spec.rb +4 -0
  439. data/spec/integration/http/client_spec.rb +0 -12
  440. data/spec/integration/indirector/direct_file_server_spec.rb +3 -1
  441. data/spec/integration/indirector/facts/facter_spec.rb +39 -93
  442. data/spec/integration/network/http_pool_spec.rb +3 -21
  443. data/spec/integration/parser/catalog_spec.rb +0 -38
  444. data/spec/integration/parser/node_spec.rb +0 -9
  445. data/spec/integration/parser/pcore_resource_spec.rb +0 -47
  446. data/spec/integration/resource/type_collection_spec.rb +6 -2
  447. data/spec/integration/transaction/report_spec.rb +1 -1
  448. data/spec/integration/transaction_spec.rb +9 -4
  449. data/spec/integration/type/exec_spec.rb +45 -70
  450. data/spec/integration/type/file_spec.rb +7 -6
  451. data/spec/integration/type/package_spec.rb +6 -6
  452. data/spec/integration/util/rdoc/parser_spec.rb +1 -1
  453. data/spec/integration/util/windows/adsi_spec.rb +1 -21
  454. data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
  455. data/spec/integration/util/windows/principal_spec.rb +0 -21
  456. data/spec/integration/util/windows/process_spec.rb +9 -1
  457. data/spec/integration/util/windows/registry_spec.rb +10 -6
  458. data/spec/integration/util/windows/security_spec.rb +1 -1
  459. data/spec/lib/matchers/include.rb +27 -0
  460. data/spec/lib/matchers/include_spec.rb +32 -0
  461. data/spec/lib/puppet/test_ca.rb +2 -7
  462. data/spec/lib/puppet_spec/modules.rb +2 -13
  463. data/spec/lib/puppet_spec/puppetserver.rb +1 -16
  464. data/spec/lib/puppet_spec/settings.rb +1 -1
  465. data/spec/shared_behaviours/documentation_on_faces.rb +2 -0
  466. data/spec/spec_helper.rb +17 -13
  467. data/spec/unit/agent_spec.rb +6 -10
  468. data/spec/unit/application/agent_spec.rb +3 -7
  469. data/spec/unit/application/apply_spec.rb +56 -76
  470. data/spec/unit/application/facts_spec.rb +12 -456
  471. data/spec/unit/application/filebucket_spec.rb +43 -39
  472. data/spec/unit/application/resource_spec.rb +0 -29
  473. data/spec/unit/application/ssl_spec.rb +2 -25
  474. data/spec/unit/application_spec.rb +9 -51
  475. data/spec/unit/certificate_factory_spec.rb +1 -1
  476. data/spec/unit/configurer/downloader_spec.rb +6 -8
  477. data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
  478. data/spec/unit/configurer_spec.rb +68 -264
  479. data/spec/unit/confine/feature_spec.rb +1 -1
  480. data/spec/unit/confine_spec.rb +2 -8
  481. data/spec/unit/context/trusted_information_spec.rb +2 -6
  482. data/spec/unit/defaults_spec.rb +68 -55
  483. data/spec/unit/environments_spec.rb +68 -408
  484. data/spec/unit/face/node_spec.rb +11 -0
  485. data/spec/unit/face/plugin_spec.rb +73 -33
  486. data/spec/unit/file_bucket/dipper_spec.rb +2 -2
  487. data/spec/unit/file_bucket/file_spec.rb +1 -1
  488. data/spec/unit/file_serving/configuration/parser_spec.rb +15 -41
  489. data/spec/unit/file_serving/configuration_spec.rb +10 -26
  490. data/spec/unit/file_serving/fileset_spec.rb +0 -60
  491. data/spec/unit/file_serving/metadata_spec.rb +3 -3
  492. data/spec/unit/file_serving/terminus_helper_spec.rb +4 -11
  493. data/spec/unit/file_system_spec.rb +0 -22
  494. data/spec/unit/forge/module_release_spec.rb +7 -2
  495. data/spec/unit/functions/assert_type_spec.rb +1 -1
  496. data/spec/unit/functions/camelcase_spec.rb +1 -1
  497. data/spec/unit/functions/capitalize_spec.rb +1 -1
  498. data/spec/unit/functions/downcase_spec.rb +1 -1
  499. data/spec/unit/functions/empty_spec.rb +0 -10
  500. data/spec/unit/functions/logging_spec.rb +0 -1
  501. data/spec/unit/functions/lookup_spec.rb +0 -64
  502. data/spec/unit/functions/unwrap_spec.rb +0 -8
  503. data/spec/unit/functions/upcase_spec.rb +1 -1
  504. data/spec/unit/functions4_spec.rb +2 -2
  505. data/spec/unit/gettext/config_spec.rb +0 -12
  506. data/spec/unit/http/client_spec.rb +8 -66
  507. data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
  508. data/spec/unit/http/external_client_spec.rb +4 -4
  509. data/spec/unit/{network/http → http}/factory_spec.rb +5 -30
  510. data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
  511. data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
  512. data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
  513. data/spec/unit/http/resolver_spec.rb +13 -13
  514. data/spec/unit/http/service/compiler_spec.rb +0 -193
  515. data/spec/unit/http/service/file_server_spec.rb +3 -3
  516. data/spec/unit/http/service/puppetserver_spec.rb +34 -4
  517. data/spec/unit/http/service_spec.rb +0 -1
  518. data/spec/unit/http/session_spec.rb +16 -14
  519. data/spec/unit/{network/http → http}/site_spec.rb +3 -3
  520. data/spec/unit/indirector/catalog/compiler_spec.rb +10 -101
  521. data/spec/unit/indirector/catalog/rest_spec.rb +0 -8
  522. data/spec/unit/indirector/face_spec.rb +1 -0
  523. data/spec/unit/indirector/facts/facter_spec.rb +3 -0
  524. data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
  525. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +8 -26
  526. data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
  527. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
  528. data/spec/unit/indirector/file_server_spec.rb +1 -15
  529. data/spec/unit/indirector/indirection_spec.rb +15 -18
  530. data/spec/unit/indirector/report/rest_spec.rb +2 -17
  531. data/spec/unit/indirector/request_spec.rb +0 -264
  532. data/spec/unit/indirector/resource/ral_spec.rb +75 -40
  533. data/spec/unit/indirector/rest_spec.rb +98 -752
  534. data/spec/unit/indirector/store_configs_spec.rb +7 -0
  535. data/spec/unit/indirector_spec.rb +2 -2
  536. data/spec/unit/interface/action_spec.rb +9 -0
  537. data/spec/unit/module_spec.rb +1 -15
  538. data/spec/unit/module_tool/applications/installer_spec.rb +0 -105
  539. data/spec/unit/network/authconfig_spec.rb +2 -129
  540. data/spec/unit/network/authorization_spec.rb +2 -55
  541. data/spec/unit/network/formats_spec.rb +4 -51
  542. data/spec/unit/network/http/api/indirected_routes_spec.rb +5 -92
  543. data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
  544. data/spec/unit/network/http/api_spec.rb +10 -0
  545. data/spec/unit/network/http/connection_spec.rb +19 -41
  546. data/spec/unit/network/http/handler_spec.rb +0 -1
  547. data/spec/unit/network/http_pool_spec.rb +0 -4
  548. data/spec/unit/node/environment_spec.rb +33 -21
  549. data/spec/unit/node_spec.rb +2 -54
  550. data/spec/unit/parser/compiler_spec.rb +19 -3
  551. data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
  552. data/spec/unit/parser/functions/fqdn_rand_spec.rb +1 -15
  553. data/spec/unit/parser/resource_spec.rb +8 -14
  554. data/spec/unit/parser/templatewrapper_spec.rb +5 -16
  555. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
  556. data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
  557. data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
  558. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  559. data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
  560. data/spec/unit/pops/parser/parse_containers_spec.rb +11 -0
  561. data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
  562. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
  563. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -59
  564. data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -5
  565. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -18
  566. data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -18
  567. data/spec/unit/pops/types/type_calculator_spec.rb +6 -12
  568. data/spec/unit/pops/types/type_factory_spec.rb +1 -1
  569. data/spec/unit/pops/validator/validator_spec.rb +61 -46
  570. data/spec/unit/pops/visitor_spec.rb +1 -1
  571. data/spec/unit/property_spec.rb +0 -1
  572. data/spec/unit/provider/group/groupadd_spec.rb +2 -5
  573. data/spec/unit/provider/nameservice_spec.rb +64 -122
  574. data/spec/unit/provider/package/apt_spec.rb +23 -28
  575. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  576. data/spec/unit/provider/package/base_spec.rb +5 -6
  577. data/spec/unit/provider/package/dnfmodule_spec.rb +1 -10
  578. data/spec/unit/provider/package/dpkg_spec.rb +0 -48
  579. data/spec/unit/provider/package/gem_spec.rb +33 -1
  580. data/spec/unit/provider/package/nim_spec.rb +0 -42
  581. data/spec/unit/provider/package/pacman_spec.rb +12 -18
  582. data/spec/unit/provider/package/pip2_spec.rb +1 -1
  583. data/spec/unit/provider/package/pip3_spec.rb +1 -1
  584. data/spec/unit/provider/package/pip_spec.rb +12 -44
  585. data/spec/unit/provider/package/pkg_spec.rb +4 -29
  586. data/spec/unit/provider/package/pkgdmg_spec.rb +4 -0
  587. data/spec/unit/provider/package/puppet_gem_spec.rb +4 -3
  588. data/spec/unit/provider/package/puppetserver_gem_spec.rb +1 -1
  589. data/spec/unit/provider/parsedfile_spec.rb +0 -10
  590. data/spec/unit/provider/service/init_spec.rb +0 -1
  591. data/spec/unit/provider/service/launchd_spec.rb +0 -11
  592. data/spec/unit/provider/service/openwrt_spec.rb +1 -3
  593. data/spec/unit/provider/service/smf_spec.rb +401 -165
  594. data/spec/unit/provider/service/systemd_spec.rb +9 -54
  595. data/spec/unit/provider/service/windows_spec.rb +0 -203
  596. data/spec/unit/provider/user/aix_spec.rb +0 -105
  597. data/spec/unit/provider/user/directoryservice_spec.rb +36 -68
  598. data/spec/unit/provider/user/hpux_spec.rb +1 -1
  599. data/spec/unit/provider/user/pw_spec.rb +0 -2
  600. data/spec/unit/provider/user/useradd_spec.rb +5 -114
  601. data/spec/unit/provider_spec.rb +12 -22
  602. data/spec/unit/puppet_spec.rb +4 -12
  603. data/spec/unit/resource/catalog_spec.rb +2 -15
  604. data/spec/unit/resource/type_collection_spec.rb +2 -22
  605. data/spec/unit/resource/type_spec.rb +1 -1
  606. data/spec/unit/resource_spec.rb +12 -125
  607. data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
  608. data/spec/unit/settings/integer_setting_spec.rb +42 -0
  609. data/spec/unit/settings/port_setting_spec.rb +31 -0
  610. data/spec/unit/settings/priority_setting_spec.rb +4 -4
  611. data/spec/unit/settings_spec.rb +79 -110
  612. data/spec/unit/ssl/base_spec.rb +37 -3
  613. data/spec/unit/ssl/certificate_request_spec.rb +21 -45
  614. data/spec/unit/ssl/certificate_spec.rb +2 -11
  615. data/spec/unit/ssl/ssl_provider_spec.rb +2 -5
  616. data/spec/unit/ssl/state_machine_spec.rb +5 -20
  617. data/spec/unit/ssl/verifier_spec.rb +0 -21
  618. data/spec/unit/transaction/additional_resource_generator_spec.rb +9 -3
  619. data/spec/unit/transaction/event_manager_spec.rb +11 -14
  620. data/spec/unit/transaction/report_spec.rb +0 -2
  621. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  622. data/spec/unit/transaction_spec.rb +55 -96
  623. data/spec/unit/type/exec_spec.rb +29 -76
  624. data/spec/unit/type/file/checksum_spec.rb +6 -6
  625. data/spec/unit/type/file/content_spec.rb +2 -1
  626. data/spec/unit/type/file/ensure_spec.rb +1 -1
  627. data/spec/unit/type/file/mode_spec.rb +1 -1
  628. data/spec/unit/type/file/selinux_spec.rb +5 -3
  629. data/spec/unit/type/file/source_spec.rb +4 -5
  630. data/spec/unit/type/file_spec.rb +18 -6
  631. data/spec/unit/type/group_spec.rb +6 -13
  632. data/spec/unit/type/package_spec.rb +1 -1
  633. data/spec/unit/type/resources_spec.rb +7 -7
  634. data/spec/unit/type/service_spec.rb +189 -87
  635. data/spec/unit/type/tidy_spec.rb +8 -24
  636. data/spec/unit/type/user_spec.rb +0 -45
  637. data/spec/unit/type_spec.rb +24 -4
  638. data/spec/unit/util/at_fork_spec.rb +2 -2
  639. data/spec/unit/util/autoload_spec.rb +1 -5
  640. data/spec/unit/util/backups_spec.rb +2 -3
  641. data/spec/unit/util/execution_spec.rb +11 -44
  642. data/spec/unit/util/inifile_spec.rb +14 -6
  643. data/spec/unit/util/log_spec.rb +7 -8
  644. data/spec/unit/util/logging_spec.rb +3 -5
  645. data/spec/unit/util/monkey_patches_spec.rb +0 -6
  646. data/spec/unit/util/posix_spec.rb +15 -363
  647. data/spec/unit/util/run_mode_spec.rb +21 -121
  648. data/spec/unit/util/selinux_spec.rb +68 -163
  649. data/spec/unit/util/storage_spec.rb +1 -3
  650. data/spec/unit/util/suidmanager_spec.rb +41 -44
  651. data/spec/unit/util/windows/sid_spec.rb +0 -41
  652. data/spec/unit/util/windows/string_spec.rb +1 -3
  653. data/spec/unit/util/yaml_spec.rb +0 -54
  654. data/spec/unit/util_spec.rb +6 -31
  655. data/tasks/generate_cert_fixtures.rake +3 -12
  656. data/tasks/parallel.rake +3 -3
  657. metadata +137 -288
  658. data/conf/auth.conf +0 -150
  659. data/ext/README.md +0 -13
  660. data/lib/puppet/application/cert.rb +0 -76
  661. data/lib/puppet/application/key.rb +0 -4
  662. data/lib/puppet/application/man.rb +0 -4
  663. data/lib/puppet/application/status.rb +0 -4
  664. data/lib/puppet/face/key.rb +0 -16
  665. data/lib/puppet/face/man.rb +0 -145
  666. data/lib/puppet/face/module/build.rb +0 -14
  667. data/lib/puppet/face/module/generate.rb +0 -14
  668. data/lib/puppet/face/module/search.rb +0 -103
  669. data/lib/puppet/face/status.rb +0 -51
  670. data/lib/puppet/facter_impl.rb +0 -96
  671. data/lib/puppet/ffi/posix/constants.rb +0 -14
  672. data/lib/puppet/ffi/posix/functions.rb +0 -24
  673. data/lib/puppet/ffi/posix.rb +0 -10
  674. data/lib/puppet/file_serving/mount/scripts.rb +0 -24
  675. data/lib/puppet/indirector/certificate/file.rb +0 -9
  676. data/lib/puppet/indirector/certificate/rest.rb +0 -18
  677. data/lib/puppet/indirector/certificate_request/file.rb +0 -9
  678. data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
  679. data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
  680. data/lib/puppet/indirector/file_content/http.rb +0 -22
  681. data/lib/puppet/indirector/key/file.rb +0 -46
  682. data/lib/puppet/indirector/key/memory.rb +0 -7
  683. data/lib/puppet/indirector/ssl_file.rb +0 -162
  684. data/lib/puppet/indirector/status/local.rb +0 -12
  685. data/lib/puppet/indirector/status/rest.rb +0 -27
  686. data/lib/puppet/indirector/status.rb +0 -3
  687. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  688. data/lib/puppet/network/auth_config_parser.rb +0 -90
  689. data/lib/puppet/network/authstore.rb +0 -283
  690. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  691. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
  692. data/lib/puppet/network/http/base_pool.rb +0 -36
  693. data/lib/puppet/network/http/compression.rb +0 -127
  694. data/lib/puppet/network/http/connection_adapter.rb +0 -184
  695. data/lib/puppet/network/http/nocache_pool.rb +0 -28
  696. data/lib/puppet/network/rest_controller.rb +0 -2
  697. data/lib/puppet/network/rights.rb +0 -210
  698. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
  699. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
  700. data/lib/puppet/parser/environment_compiler.rb +0 -202
  701. data/lib/puppet/pops/types/enumeration.rb +0 -16
  702. data/lib/puppet/resource/capability_finder.rb +0 -154
  703. data/lib/puppet/rest/errors.rb +0 -15
  704. data/lib/puppet/rest/response.rb +0 -35
  705. data/lib/puppet/rest/route.rb +0 -85
  706. data/lib/puppet/rest/routes.rb +0 -135
  707. data/lib/puppet/settings/alias_setting.rb +0 -37
  708. data/lib/puppet/ssl/host.rb +0 -505
  709. data/lib/puppet/ssl/key.rb +0 -61
  710. data/lib/puppet/ssl/validator/default_validator.rb +0 -209
  711. data/lib/puppet/ssl/validator/no_validator.rb +0 -22
  712. data/lib/puppet/ssl/validator.rb +0 -61
  713. data/lib/puppet/ssl/verifier_adapter.rb +0 -58
  714. data/lib/puppet/status.rb +0 -40
  715. data/lib/puppet/util/connection.rb +0 -88
  716. data/lib/puppet/util/fact_dif.rb +0 -81
  717. data/lib/puppet/util/ssl.rb +0 -83
  718. data/lib/puppet/util/windows/api_types.rb +0 -309
  719. data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
  720. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  721. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  722. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  723. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  724. data/lib/puppet/vendor/pathspec/README.md +0 -53
  725. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  726. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  727. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  728. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  729. data/man/man8/puppet-key.8 +0 -126
  730. data/man/man8/puppet-man.8 +0 -76
  731. data/man/man8/puppet-status.8 +0 -108
  732. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -92
  733. data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
  734. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
  735. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
  736. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
  737. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
  738. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
  739. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
  740. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
  741. data/spec/fixtures/ssl/oid-key.pem +0 -117
  742. data/spec/fixtures/ssl/oid.pem +0 -69
  743. data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
  744. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
  745. data/spec/integration/application/resource_spec.rb +0 -64
  746. data/spec/integration/application/ssl_spec.rb +0 -20
  747. data/spec/integration/l10n/compiler_spec.rb +0 -37
  748. data/spec/integration/network/authconfig_spec.rb +0 -256
  749. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
  750. data/spec/shared_contexts/l10n.rb +0 -27
  751. data/spec/unit/application/man_spec.rb +0 -52
  752. data/spec/unit/capability_spec.rb +0 -414
  753. data/spec/unit/face/key_spec.rb +0 -9
  754. data/spec/unit/face/module/search_spec.rb +0 -231
  755. data/spec/unit/face/status_spec.rb +0 -9
  756. data/spec/unit/facter_impl_spec.rb +0 -31
  757. data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
  758. data/spec/unit/indirector/certificate/file_spec.rb +0 -14
  759. data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
  760. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
  761. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
  762. data/spec/unit/indirector/key/file_spec.rb +0 -78
  763. data/spec/unit/indirector/ssl_file_spec.rb +0 -305
  764. data/spec/unit/indirector/status/local_spec.rb +0 -10
  765. data/spec/unit/indirector/status/rest_spec.rb +0 -50
  766. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  767. data/spec/unit/network/auth_config_parser_spec.rb +0 -115
  768. data/spec/unit/network/authstore_spec.rb +0 -407
  769. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  770. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  771. data/spec/unit/network/http/compression_spec.rb +0 -240
  772. data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
  773. data/spec/unit/network/http_spec.rb +0 -9
  774. data/spec/unit/network/rights_spec.rb +0 -439
  775. data/spec/unit/parser/environment_compiler_spec.rb +0 -730
  776. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -20
  777. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  778. data/spec/unit/resource/capability_finder_spec.rb +0 -148
  779. data/spec/unit/rest/route_spec.rb +0 -132
  780. data/spec/unit/ssl/host_spec.rb +0 -645
  781. data/spec/unit/ssl/key_spec.rb +0 -173
  782. data/spec/unit/ssl/validator_spec.rb +0 -278
  783. data/spec/unit/status_spec.rb +0 -45
  784. data/spec/unit/util/ssl_spec.rb +0 -91
@@ -0,0 +1,338 @@
1
+ # coding: utf-8
2
+ require 'puppet/ffi/windows'
3
+
4
+ module Puppet::FFI::Windows
5
+ module Structs
6
+
7
+ extend FFI::Library
8
+ extend Puppet::FFI::Windows::APITypes
9
+
10
+ # https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/aa379560(v=vs.85)
11
+ # typedef struct _SECURITY_ATTRIBUTES {
12
+ # DWORD nLength;
13
+ # LPVOID lpSecurityDescriptor;
14
+ # BOOL bInheritHandle;
15
+ # } SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
16
+ class SECURITY_ATTRIBUTES < FFI::Struct
17
+ layout(
18
+ :nLength, :dword,
19
+ :lpSecurityDescriptor, :lpvoid,
20
+ :bInheritHandle, :win32_bool
21
+ )
22
+ end
23
+
24
+ private_constant :SECURITY_ATTRIBUTES
25
+
26
+ # sizeof(STARTUPINFO) == 68
27
+ # https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/ns-processthreadsapi-startupinfoa
28
+ # typedef struct _STARTUPINFOA {
29
+ # DWORD cb;
30
+ # LPSTR lpReserved;
31
+ # LPSTR lpDesktop;
32
+ # LPSTR lpTitle;
33
+ # DWORD dwX;
34
+ # DWORD dwY;
35
+ # DWORD dwXSize;
36
+ # DWORD dwYSize;
37
+ # DWORD dwXCountChars;
38
+ # DWORD dwYCountChars;
39
+ # DWORD dwFillAttribute;
40
+ # DWORD dwFlags;
41
+ # WORD wShowWindow;
42
+ # WORD cbReserved2;
43
+ # LPBYTE lpReserved2;
44
+ # HANDLE hStdInput;
45
+ # HANDLE hStdOutput;
46
+ # HANDLE hStdError;
47
+ # } STARTUPINFOA, *LPSTARTUPINFOA;
48
+ class STARTUPINFO < FFI::Struct
49
+ layout(
50
+ :cb, :dword,
51
+ :lpReserved, :lpcstr,
52
+ :lpDesktop, :lpcstr,
53
+ :lpTitle, :lpcstr,
54
+ :dwX, :dword,
55
+ :dwY, :dword,
56
+ :dwXSize, :dword,
57
+ :dwYSize, :dword,
58
+ :dwXCountChars, :dword,
59
+ :dwYCountChars, :dword,
60
+ :dwFillAttribute, :dword,
61
+ :dwFlags, :dword,
62
+ :wShowWindow, :word,
63
+ :cbReserved2, :word,
64
+ :lpReserved2, :pointer,
65
+ :hStdInput, :handle,
66
+ :hStdOutput, :handle,
67
+ :hStdError, :handle
68
+ )
69
+ end
70
+
71
+ private_constant :STARTUPINFO
72
+
73
+ # https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/ns-processthreadsapi-process_information
74
+ # typedef struct _PROCESS_INFORMATION {
75
+ # HANDLE hProcess;
76
+ # HANDLE hThread;
77
+ # DWORD dwProcessId;
78
+ # DWORD dwThreadId;
79
+ # } PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;
80
+ class PROCESS_INFORMATION < FFI::Struct
81
+ layout(
82
+ :hProcess, :handle,
83
+ :hThread, :handle,
84
+ :dwProcessId, :dword,
85
+ :dwThreadId, :dword
86
+ )
87
+ end
88
+
89
+ private_constant :PROCESS_INFORMATION
90
+
91
+ # https://msdn.microsoft.com/en-us/library/windows/desktop/aa379261(v=vs.85).aspx
92
+ # typedef struct _LUID {
93
+ # DWORD LowPart;
94
+ # LONG HighPart;
95
+ # } LUID, *PLUID;
96
+ class LUID < FFI::Struct
97
+ layout :LowPart, :dword,
98
+ :HighPart, :win32_long
99
+ end
100
+
101
+ # https://msdn.microsoft.com/en-us/library/windows/desktop/aa379263(v=vs.85).aspx
102
+ # typedef struct _LUID_AND_ATTRIBUTES {
103
+ # LUID Luid;
104
+ # DWORD Attributes;
105
+ # } LUID_AND_ATTRIBUTES, *PLUID_AND_ATTRIBUTES;
106
+ class LUID_AND_ATTRIBUTES < FFI::Struct
107
+ layout :Luid, LUID,
108
+ :Attributes, :dword
109
+ end
110
+
111
+ # https://msdn.microsoft.com/en-us/library/windows/desktop/aa379630(v=vs.85).aspx
112
+ # typedef struct _TOKEN_PRIVILEGES {
113
+ # DWORD PrivilegeCount;
114
+ # LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];
115
+ # } TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;
116
+ class TOKEN_PRIVILEGES < FFI::Struct
117
+ layout :PrivilegeCount, :dword,
118
+ :Privileges, [LUID_AND_ATTRIBUTES, 1] # placeholder for offset
119
+ end
120
+
121
+ # https://msdn.microsoft.com/en-us/library/windows/desktop/bb530717(v=vs.85).aspx
122
+ # typedef struct _TOKEN_ELEVATION {
123
+ # DWORD TokenIsElevated;
124
+ # } TOKEN_ELEVATION, *PTOKEN_ELEVATION;
125
+ class TOKEN_ELEVATION < FFI::Struct
126
+ layout :TokenIsElevated, :dword
127
+ end
128
+
129
+ # https://docs.microsoft.com/en-us/windows/desktop/api/winsvc/ns-winsvc-_service_status_process
130
+ # typedef struct _SERVICE_STATUS_PROCESS {
131
+ # DWORD dwServiceType;
132
+ # DWORD dwCurrentState;
133
+ # DWORD dwControlsAccepted;
134
+ # DWORD dwWin32ExitCode;
135
+ # DWORD dwServiceSpecificExitCode;
136
+ # DWORD dwCheckPoint;
137
+ # DWORD dwWaitHint;
138
+ # DWORD dwProcessId;
139
+ # DWORD dwServiceFlags;
140
+ # } SERVICE_STATUS_PROCESS, *LPSERVICE_STATUS_PROCESS;
141
+ class SERVICE_STATUS_PROCESS < FFI::Struct
142
+ layout(
143
+ :dwServiceType, :dword,
144
+ :dwCurrentState, :dword,
145
+ :dwControlsAccepted, :dword,
146
+ :dwWin32ExitCode, :dword,
147
+ :dwServiceSpecificExitCode, :dword,
148
+ :dwCheckPoint, :dword,
149
+ :dwWaitHint, :dword,
150
+ :dwProcessId, :dword,
151
+ :dwServiceFlags, :dword
152
+ )
153
+ end
154
+
155
+ # https://docs.microsoft.com/en-us/windows/win32/api/winsvc/ns-winsvc-service_delayed_auto_start_info
156
+ # typedef struct _SERVICE_DELAYED_AUTO_START_INFO {
157
+ # BOOL fDelayedAutostart;
158
+ # } SERVICE_DELAYED_AUTO_START_INFO, *LPSERVICE_DELAYED_AUTO_START_INFO;
159
+ class SERVICE_DELAYED_AUTO_START_INFO < FFI::Struct
160
+ layout(:fDelayedAutostart, :int)
161
+ alias aset []=
162
+ # Intercept the accessor so that we can handle either true/false or 1/0.
163
+ # Since there is only one member, there’s no need to check the key name.
164
+ def []=(key, value)
165
+ [0, false].include?(value) ? aset(key, 0) : aset(key, 1)
166
+ end
167
+ end
168
+
169
+ # https://docs.microsoft.com/en-us/windows/desktop/api/winsvc/ns-winsvc-_enum_service_status_processw
170
+ # typedef struct _ENUM_SERVICE_STATUS_PROCESSW {
171
+ # LPWSTR lpServiceName;
172
+ # LPWSTR lpDisplayName;
173
+ # SERVICE_STATUS_PROCESS ServiceStatusProcess;
174
+ # } ENUM_SERVICE_STATUS_PROCESSW, *LPENUM_SERVICE_STATUS_PROCESSW;
175
+ class ENUM_SERVICE_STATUS_PROCESSW < FFI::Struct
176
+ layout(
177
+ :lpServiceName, :pointer,
178
+ :lpDisplayName, :pointer,
179
+ :ServiceStatusProcess, SERVICE_STATUS_PROCESS
180
+ )
181
+ end
182
+
183
+ # typedef struct _SERVICE_STATUS {
184
+ # DWORD dwServiceType;
185
+ # DWORD dwCurrentState;
186
+ # DWORD dwControlsAccepted;
187
+ # DWORD dwWin32ExitCode;
188
+ # DWORD dwServiceSpecificExitCode;
189
+ # DWORD dwCheckPoint;
190
+ # DWORD dwWaitHint;
191
+ # } SERVICE_STATUS, *LPSERVICE_STATUS;
192
+ class SERVICE_STATUS < FFI::Struct
193
+ layout(
194
+ :dwServiceType, :dword,
195
+ :dwCurrentState, :dword,
196
+ :dwControlsAccepted, :dword,
197
+ :dwWin32ExitCode, :dword,
198
+ :dwServiceSpecificExitCode, :dword,
199
+ :dwCheckPoint, :dword,
200
+ :dwWaitHint, :dword,
201
+ )
202
+ end
203
+
204
+ # typedef struct _QUERY_SERVICE_CONFIGW {
205
+ # DWORD dwServiceType;
206
+ # DWORD dwStartType;
207
+ # DWORD dwErrorControl;
208
+ # LPWSTR lpBinaryPathName;
209
+ # LPWSTR lpLoadOrderGroup;
210
+ # DWORD dwTagId;
211
+ # LPWSTR lpDependencies;
212
+ # LPWSTR lpServiceStartName;
213
+ # LPWSTR lpDisplayName;
214
+ # } QUERY_SERVICE_CONFIGW, *LPQUERY_SERVICE_CONFIGW;
215
+ class QUERY_SERVICE_CONFIGW < FFI::Struct
216
+ layout(
217
+ :dwServiceType, :dword,
218
+ :dwStartType, :dword,
219
+ :dwErrorControl, :dword,
220
+ :lpBinaryPathName, :pointer,
221
+ :lpLoadOrderGroup, :pointer,
222
+ :dwTagId, :dword,
223
+ :lpDependencies, :pointer,
224
+ :lpServiceStartName, :pointer,
225
+ :lpDisplayName, :pointer,
226
+ )
227
+ end
228
+
229
+ # typedef struct _SERVICE_TABLE_ENTRYW {
230
+ # LPWSTR lpServiceName;
231
+ # LPSERVICE_MAIN_FUNCTIONW lpServiceProc;
232
+ # } SERVICE_TABLE_ENTRYW, *LPSERVICE_TABLE_ENTRYW;
233
+ class SERVICE_TABLE_ENTRYW < FFI::Struct
234
+ layout(
235
+ :lpServiceName, :pointer,
236
+ :lpServiceProc, :pointer
237
+ )
238
+ end
239
+
240
+ # https://msdn.microsoft.com/en-us/library/windows/desktop/ms724834%28v=vs.85%29.aspx
241
+ # typedef struct _OSVERSIONINFO {
242
+ # DWORD dwOSVersionInfoSize;
243
+ # DWORD dwMajorVersion;
244
+ # DWORD dwMinorVersion;
245
+ # DWORD dwBuildNumber;
246
+ # DWORD dwPlatformId;
247
+ # TCHAR szCSDVersion[128];
248
+ # } OSVERSIONINFO;
249
+ class OSVERSIONINFO < FFI::Struct
250
+ layout(
251
+ :dwOSVersionInfoSize, :dword,
252
+ :dwMajorVersion, :dword,
253
+ :dwMinorVersion, :dword,
254
+ :dwBuildNumber, :dword,
255
+ :dwPlatformId, :dword,
256
+ :szCSDVersion, [:wchar, 128]
257
+ )
258
+ end
259
+
260
+ MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16384
261
+
262
+ # SYMLINK_REPARSE_DATA_BUFFER
263
+ # https://msdn.microsoft.com/en-us/library/cc232006.aspx
264
+ # https://msdn.microsoft.com/en-us/library/windows/hardware/ff552012(v=vs.85).aspx
265
+ # struct is always MAXIMUM_REPARSE_DATA_BUFFER_SIZE bytes
266
+ class SYMLINK_REPARSE_DATA_BUFFER < FFI::Struct
267
+ layout :ReparseTag, :win32_ulong,
268
+ :ReparseDataLength, :ushort,
269
+ :Reserved, :ushort,
270
+ :SubstituteNameOffset, :ushort,
271
+ :SubstituteNameLength, :ushort,
272
+ :PrintNameOffset, :ushort,
273
+ :PrintNameLength, :ushort,
274
+ :Flags, :win32_ulong,
275
+ # max less above fields dword / uint 4 bytes, ushort 2 bytes
276
+ # technically a WCHAR buffer, but we care about size in bytes here
277
+ :PathBuffer, [:byte, MAXIMUM_REPARSE_DATA_BUFFER_SIZE - 20]
278
+ end
279
+
280
+ # MOUNT_POINT_REPARSE_DATA_BUFFER
281
+ # https://msdn.microsoft.com/en-us/library/cc232007.aspx
282
+ # https://msdn.microsoft.com/en-us/library/windows/hardware/ff552012(v=vs.85).aspx
283
+ # struct is always MAXIMUM_REPARSE_DATA_BUFFER_SIZE bytes
284
+ class MOUNT_POINT_REPARSE_DATA_BUFFER < FFI::Struct
285
+ layout :ReparseTag, :win32_ulong,
286
+ :ReparseDataLength, :ushort,
287
+ :Reserved, :ushort,
288
+ :SubstituteNameOffset, :ushort,
289
+ :SubstituteNameLength, :ushort,
290
+ :PrintNameOffset, :ushort,
291
+ :PrintNameLength, :ushort,
292
+ # max less above fields dword / uint 4 bytes, ushort 2 bytes
293
+ # technically a WCHAR buffer, but we care about size in bytes here
294
+ :PathBuffer, [:byte, MAXIMUM_REPARSE_DATA_BUFFER_SIZE - 16]
295
+ end
296
+
297
+ # SHFILEINFO
298
+ # https://docs.microsoft.com/en-us/windows/win32/api/shellapi/ns-shellapi-shfileinfow
299
+ # typedef struct _SHFILEINFOW {
300
+ # HICON hIcon;
301
+ # int iIcon;
302
+ # DWORD dwAttributes;
303
+ # WCHAR szDisplayName[MAX_PATH];
304
+ # WCHAR szTypeName[80];
305
+ # } SHFILEINFOW;
306
+ class SHFILEINFO < FFI::Struct
307
+ layout(
308
+ :hIcon, :ulong,
309
+ :iIcon, :int,
310
+ :dwAttributes, :ulong,
311
+ :szDisplayName, [:char, 256],
312
+ :szTypeName, [:char, 80]
313
+ )
314
+ end
315
+
316
+ # REPARSE_JDATA_BUFFER
317
+ class REPARSE_JDATA_BUFFER < FFI::Struct
318
+ layout(
319
+ :ReparseTag, :ulong,
320
+ :ReparseDataLength, :ushort,
321
+ :Reserved, :ushort,
322
+ :SubstituteNameOffset, :ushort,
323
+ :SubstituteNameLength, :ushort,
324
+ :PrintNameOffset, :ushort,
325
+ :PrintNameLength, :ushort,
326
+ :PathBuffer, [:char, 1024]
327
+ )
328
+
329
+ # The REPARSE_DATA_BUFFER_HEADER_SIZE which is calculated as:
330
+ #
331
+ # sizeof(ReparseTag) + sizeof(ReparseDataLength) + sizeof(Reserved)
332
+ #
333
+ def header_size
334
+ FFI::Type::ULONG.size + FFI::Type::USHORT.size + FFI::Type::USHORT.size
335
+ end
336
+ end
337
+ end
338
+ end
@@ -0,0 +1,12 @@
1
+ require 'ffi'
2
+
3
+ module Puppet
4
+ module FFI
5
+ module Windows
6
+ require 'puppet/ffi/windows/api_types'
7
+ require 'puppet/ffi/windows/constants'
8
+ require 'puppet/ffi/windows/structs'
9
+ require 'puppet/ffi/windows/functions'
10
+ end
11
+ end
12
+ end
@@ -32,10 +32,9 @@ class Puppet::FileServing::Configuration::Parser
32
32
  case var
33
33
  when "path"
34
34
  path(mount, value)
35
- when "allow"
36
- allow(mount, value)
37
- when "deny"
38
- deny(mount, value)
35
+ when "allow", "deny"
36
+ error_location_str = Puppet::Util::Errors.error_location(@file.filename, @count)
37
+ Puppet.err("Entry '#{line.chomp}' is unsupported and will be ignored at #{error_location_str}")
39
38
  else
40
39
  error_location_str = Puppet::Util::Errors.error_location(@file.filename, @count)
41
40
  raise ArgumentError.new(_("Invalid argument '%{var}' at %{error_location}") %
@@ -64,34 +63,6 @@ class Puppet::FileServing::Configuration::Parser
64
63
 
65
64
  private
66
65
 
67
- # Allow a given pattern access to a mount.
68
- def allow(mount, value)
69
- value.split(/\s*,\s*/).each { |val|
70
- begin
71
- mount.info _("allowing %{val} access") % { val: val }
72
- mount.allow(val)
73
- rescue Puppet::AuthStoreError => detail
74
- error_location_str = Puppet::Util::Errors.error_location(@file, @count)
75
- raise ArgumentError.new("%{detail} %{error_location}" %
76
- { detail: detail.to_s, error_location: error_location_str })
77
- end
78
- }
79
- end
80
-
81
- # Deny a given pattern access to a mount.
82
- def deny(mount, value)
83
- value.split(/\s*,\s*/).each { |val|
84
- begin
85
- mount.info _("denying %{val} access") % { val: val }
86
- mount.deny(val)
87
- rescue Puppet::AuthStoreError => detail
88
- error_location_str = Puppet::Util::Errors.error_location(@file, @count)
89
- raise ArgumentError.new("%{detail} %{error_location}" %
90
- { detail: detail.to_s, error_location: error_location_str })
91
- end
92
- }
93
- end
94
-
95
66
  # Create a new mount.
96
67
  def newmount(name)
97
68
  if @mounts.include?(name)
@@ -104,8 +75,6 @@ class Puppet::FileServing::Configuration::Parser
104
75
  mount = Mount::Modules.new(name)
105
76
  when "plugins"
106
77
  mount = Mount::Plugins.new(name)
107
- when "scripts"
108
- mount = Mount::Scripts.new(name)
109
78
  when "tasks"
110
79
  mount = Mount::Tasks.new(name)
111
80
  when "locales"
@@ -6,7 +6,6 @@ require 'puppet/file_serving/mount/modules'
6
6
  require 'puppet/file_serving/mount/plugins'
7
7
  require 'puppet/file_serving/mount/locales'
8
8
  require 'puppet/file_serving/mount/pluginfacts'
9
- require 'puppet/file_serving/mount/scripts'
10
9
  require 'puppet/file_serving/mount/tasks'
11
10
 
12
11
  class Puppet::FileServing::Configuration
@@ -81,17 +80,10 @@ class Puppet::FileServing::Configuration
81
80
 
82
81
  def mk_default_mounts
83
82
  @mounts["modules"] ||= Mount::Modules.new("modules")
84
- @mounts["modules"].allow('*') if @mounts["modules"].empty?
85
83
  @mounts["plugins"] ||= Mount::Plugins.new("plugins")
86
- @mounts["plugins"].allow('*') if @mounts["plugins"].empty?
87
84
  @mounts["locales"] ||= Mount::Locales.new("locales")
88
- @mounts["locales"].allow('*') if @mounts["locales"].empty?
89
85
  @mounts["pluginfacts"] ||= Mount::PluginFacts.new("pluginfacts")
90
- @mounts["pluginfacts"].allow('*') if @mounts["pluginfacts"].empty?
91
- @mounts["scripts"] ||= Mount::Scripts.new("scripts")
92
- @mounts["scripts"].allow('*') if @mounts["scripts"].empty?
93
86
  @mounts["tasks"] ||= Mount::Tasks.new("tasks")
94
- @mounts["tasks"].allow('*') if @mounts["tasks"].empty?
95
87
  end
96
88
 
97
89
  # Read the configuration file.
@@ -5,7 +5,7 @@ require 'puppet/file_serving/metadata'
5
5
  # Operate recursively on a path, returning a set of file paths.
6
6
  class Puppet::FileServing::Fileset
7
7
  attr_reader :path, :ignore, :links
8
- attr_accessor :recurse, :recurselimit, :max_files, :checksum_type
8
+ attr_accessor :recurse, :recurselimit, :checksum_type
9
9
 
10
10
  # Produce a hash of files, with merged so that earlier files
11
11
  # with the same postfix win. E.g., /dir1/subfile beats /dir2/subfile.
@@ -40,7 +40,6 @@ class Puppet::FileServing::Fileset
40
40
  self.links = :manage
41
41
  @recurse = false
42
42
  @recurselimit = :infinite
43
- @max_files = 0
44
43
 
45
44
  if options.is_a?(Puppet::Indirector::Request)
46
45
  initialize_from_request(options)
@@ -59,17 +58,6 @@ class Puppet::FileServing::Fileset
59
58
  # level deep, which Find doesn't do.
60
59
  def files
61
60
  files = perform_recursion
62
- soft_max_files = 1000
63
-
64
- # munged_max_files is needed since puppet http handler is keeping negative numbers as strings
65
- # https://github.com/puppetlabs/puppet/blob/main/lib/puppet/network/http/handler.rb#L196-L197
66
- munged_max_files = max_files == '-1' ? -1 : max_files
67
-
68
- if munged_max_files > 0 && files.size > munged_max_files
69
- raise Puppet::Error.new _("The directory '%{path}' contains %{entries} entries, which exceeds the limit of %{munged_max_files} specified by the max_files parameter for this resource. The limit may be increased, but be aware that large number of file resources can result in excessive resource consumption and degraded performance. Consider using an alternate method to manage large directory trees") % { path: path, entries: files.size, munged_max_files: munged_max_files }
70
- elsif munged_max_files == 0 && files.size > soft_max_files
71
- Puppet.warning _("The directory '%{path}' contains %{entries} entries, which exceeds the default soft limit %{soft_max_files} and may cause excessive resource consumption and degraded performance. To remove this warning set a value for `max_files` parameter or consider using an alternate method to manage large directory trees") % { path: path, entries: files.size, soft_max_files: soft_max_files }
72
- end
73
61
 
74
62
  # Now strip off the leading path, so each file becomes relative, and remove
75
63
  # any slashes that might end up at the beginning of the path.
@@ -108,7 +96,7 @@ class Puppet::FileServing::Fileset
108
96
  end
109
97
 
110
98
  def initialize_from_request(request)
111
- [:links, :ignore, :recurse, :recurselimit, :max_files, :checksum_type].each do |param|
99
+ [:links, :ignore, :recurse, :recurselimit, :checksum_type].each do |param|
112
100
  if request.options.include?(param) # use 'include?' so the values can be false
113
101
  value = request.options[param]
114
102
  elsif request.options.include?(param.to_s)
@@ -51,7 +51,7 @@ class Puppet::FileServing::HttpMetadata < Puppet::FileServing::Metadata
51
51
  def collect
52
52
  # Prefer the checksum_type from the indirector request options
53
53
  # but fall back to the alternative otherwise
54
- [ @checksum_type, :md5, :sha256, :sha1, :mtime ].each do |type|
54
+ [ @checksum_type, :sha256, :sha1, :md5, :mtime ].each do |type|
55
55
  @checksum_type = type
56
56
  @checksum = @checksums[type]
57
57
  break if @checksum
@@ -3,12 +3,12 @@ require 'puppet/file_serving/mount'
3
3
  class Puppet::FileServing::Mount::File < Puppet::FileServing::Mount
4
4
  def self.localmap
5
5
  @localmap ||= {
6
- "h" => Puppet.runtime[:facter].value("hostname"),
6
+ "h" => Facter.value("hostname"),
7
7
  "H" => [
8
- Puppet.runtime[:facter].value("hostname"),
9
- Puppet.runtime[:facter].value("domain")
8
+ Facter.value("hostname"),
9
+ Facter.value("domain")
10
10
  ].join("."),
11
- "d" => Puppet.runtime[:facter].value("domain")
11
+ "d" => Facter.value("domain")
12
12
  }
13
13
  end
14
14
 
@@ -1,4 +1,3 @@
1
- require 'puppet/network/authstore'
2
1
  require 'puppet/util/logging'
3
2
  require 'puppet/file_serving'
4
3
  require 'puppet/file_serving/metadata'
@@ -6,7 +5,7 @@ require 'puppet/file_serving/content'
6
5
 
7
6
  # Broker access to the filesystem, converting local URIs into metadata
8
7
  # or content objects.
9
- class Puppet::FileServing::Mount < Puppet::Network::AuthStore
8
+ class Puppet::FileServing::Mount
10
9
  include Puppet::Util::Logging
11
10
 
12
11
  attr_reader :name
@@ -84,9 +84,7 @@ class Puppet::FileSystem::FileImpl
84
84
  end
85
85
 
86
86
  def read_preserve_line_endings(path)
87
- default_encoding = Encoding.default_external.name
88
- encoding = default_encoding.downcase.start_with?('utf-') ? "bom|#{default_encoding}" : default_encoding
89
- read(path, encoding: encoding)
87
+ read(path)
90
88
  end
91
89
 
92
90
  def binread(path)
@@ -7,13 +7,6 @@ class Puppet::FileSystem::MemoryFile
7
7
  new(path, :exist? => false, :executable? => false)
8
8
  end
9
9
 
10
- def self.a_missing_directory(path)
11
- new(path,
12
- :exist? => false,
13
- :executable? => false,
14
- :directory? => true)
15
- end
16
-
17
10
  def self.a_regular_file_containing(path, content)
18
11
  new(path, :exist? => true, :executable? => false, :content => content)
19
12
  end
@@ -25,7 +18,7 @@ class Puppet::FileSystem::MemoryFile
25
18
  def self.a_directory(path, children = [])
26
19
  new(path,
27
20
  :exist? => true,
28
- :executable? => true,
21
+ :excutable? => true,
29
22
  :directory? => true,
30
23
  :children => children)
31
24
  end
@@ -109,8 +109,8 @@ class Puppet::FileSystem::Windows < Puppet::FileSystem::Posix
109
109
  end
110
110
 
111
111
  def read_preserve_line_endings(path)
112
- contents = path.read( :mode => 'rb', :encoding => 'bom|utf-8')
113
- contents = path.read( :mode => 'rb', :encoding => "bom|#{Encoding::default_external.name}") unless contents.valid_encoding?
112
+ contents = path.read( :mode => 'rb', :encoding => Encoding::UTF_8)
113
+ contents = path.read( :mode => 'rb', :encoding => Encoding::default_external) unless contents.valid_encoding?
114
114
  contents = path.read unless contents.valid_encoding?
115
115
 
116
116
  contents
@@ -128,8 +128,6 @@ class Puppet::FileSystem::Windows < Puppet::FileSystem::Posix
128
128
  end
129
129
 
130
130
  current_sid = Puppet::Util::Windows::SID.name_to_sid(Puppet::Util::Windows::ADSI::User.current_user_name)
131
- current_sid = Puppet::Util::Windows::SID.name_to_sid(Puppet::Util::Windows::ADSI::User.current_sam_compatible_user_name) unless current_sid
132
-
133
131
  dacl = case mode
134
132
  when 0644
135
133
  dacl = secure_dacl(current_sid)
@@ -1,7 +1,6 @@
1
1
  require 'puppet/ssl/openssl_loader'
2
2
  require 'digest/sha1'
3
3
  require 'uri'
4
- require 'puppet/util/http_proxy'
5
4
  require 'puppet/forge'
6
5
  require 'puppet/forge/errors'
7
6
  require 'puppet/network/http'
data/lib/puppet/forge.rb CHANGED
@@ -70,7 +70,7 @@ class Puppet::Forge < SemanticPuppet::Dependency::Source
70
70
  uri = decode_uri(result['pagination']['next'])
71
71
  matches.concat result['results']
72
72
  else
73
- raise ResponseError.new(:uri => response.url, :response => response)
73
+ raise ResponseError.new(:uri => URI.parse(@host).merge(uri), :response => response)
74
74
  end
75
75
  end
76
76
 
@@ -105,7 +105,7 @@ class Puppet::Forge < SemanticPuppet::Dependency::Source
105
105
  if response.code == 200
106
106
  response = Puppet::Util::Json.load(response.body)
107
107
  else
108
- raise ResponseError.new(:uri => response.url, :response => response)
108
+ raise ResponseError.new(:uri => URI.parse(@host).merge(uri), :response => response)
109
109
  end
110
110
 
111
111
  releases.concat(process(response['results']))
@@ -208,12 +208,12 @@ class Puppet::Forge < SemanticPuppet::Dependency::Source
208
208
  response = @source.make_http_request(uri, destination)
209
209
  destination.flush and destination.close
210
210
  unless response.code == 200
211
- raise Puppet::Forge::Errors::ResponseError.new(:uri => response.url, :response => response)
211
+ raise Puppet::Forge::Errors::ResponseError.new(:uri => uri, :response => response)
212
212
  end
213
213
  end
214
214
 
215
215
  def validate_checksum(file, checksum, digest_class)
216
- if Puppet.runtime[:facter].value(:fips_enabled) && digest_class == Digest::MD5
216
+ if Facter.value(:fips_enabled) && digest_class == Digest::MD5
217
217
  raise _("Module install using MD5 is prohibited in FIPS mode.")
218
218
  end
219
219
 
@@ -51,7 +51,7 @@
51
51
  # notice $data.all |$key, $value| { $value % 10 == 0 and $key =~ /^abc/ }
52
52
  # ```
53
53
  #
54
- # Would notice `true`.
54
+ # Would notice true.
55
55
  #
56
56
  # For an general examples that demonstrates iteration, see the Puppet
57
57
  # [iteration](https://puppet.com/docs/puppet/latest/lang_iteration.html)
@@ -3,7 +3,7 @@
3
3
  # This function is compatible with the stdlib function with the same name.
4
4
  #
5
5
  # The function does the following:
6
- # * For a `String` the conversion replaces all combinations of `*_<char>*` with an upcased version of the
6
+ # * For a `String` the conversion replaces all combinations of *_<char>* with an upcased version of the
7
7
  # character following the _. This is done using Ruby system locale which handles some, but not all
8
8
  # special international up-casing rules (for example German double-s ß is upcased to "Ss").
9
9
  # * For an `Iterable[Variant[String, Numeric]]` (for example an `Array`) each value is capitalized and the conversion is not recursive.
@@ -18,14 +18,14 @@
18
18
  # 'hello'.capitalize()
19
19
  # upcase('hello')
20
20
  # ```
21
- # Would both result in `"Hello"`
21
+ # Would both result in "Hello"
22
22
  #
23
23
  # @example Capitalizing strings in an Array
24
24
  # ```puppet
25
25
  # ['abc', 'bcd'].capitalize()
26
26
  # capitalize(['abc', 'bcd'])
27
27
  # ```
28
- # Would both result in `['Abc', 'Bcd']`
28
+ # Would both result in ['Abc', 'Bcd']
29
29
  #
30
30
  Puppet::Functions.create_function(:capitalize) do
31
31
 
@@ -22,14 +22,14 @@
22
22
  # 'HELLO'.downcase()
23
23
  # downcase('HEllO')
24
24
  # ```
25
- # Would both result in `"hello"`
25
+ # Would both result in "hello"
26
26
  #
27
27
  # @example Converting an Array to lower case
28
28
  # ```puppet
29
29
  # ['A', 'B'].downcase()
30
30
  # downcase(['A', 'B'])
31
31
  # ```
32
- # Would both result in `['a', 'b']`
32
+ # Would both result in ['a', 'b']
33
33
  #
34
34
  # @example Converting a Hash to lower case
35
35
  # ```puppet