puppet 6.25.0-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 (783) 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 +87 -130
  116. data/lib/puppet/confine/variable.rb +1 -1
  117. data/lib/puppet/defaults.rb +128 -226
  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 +164 -114
  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 -12
  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 +0 -69
  230. data/lib/puppet/parser/scope.rb +0 -1
  231. data/lib/puppet/parser/templatewrapper.rb +1 -2
  232. data/lib/puppet/pops/evaluator/deferred_resolver.rb +3 -5
  233. data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
  234. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -3
  235. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  236. data/lib/puppet/pops/issues.rb +0 -5
  237. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
  238. data/lib/puppet/pops/lookup/lookup_adapter.rb +2 -3
  239. data/lib/puppet/pops/model/ast.pp +0 -42
  240. data/lib/puppet/pops/model/ast.rb +0 -291
  241. data/lib/puppet/pops/model/ast_transformer.rb +1 -1
  242. data/lib/puppet/pops/model/factory.rb +1 -47
  243. data/lib/puppet/pops/model/model_label_provider.rb +0 -5
  244. data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
  245. data/lib/puppet/pops/model/pn_transformer.rb +0 -16
  246. data/lib/puppet/pops/parser/egrammar.ra +0 -56
  247. data/lib/puppet/pops/parser/eparser.rb +1691 -1883
  248. data/lib/puppet/pops/parser/lexer2.rb +91 -92
  249. data/lib/puppet/pops/parser/parser_support.rb +0 -5
  250. data/lib/puppet/pops/parser/slurp_support.rb +0 -1
  251. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
  252. data/lib/puppet/pops/serialization/to_data_converter.rb +6 -18
  253. data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
  254. data/lib/puppet/pops/types/p_sem_ver_type.rb +2 -8
  255. data/lib/puppet/pops/types/p_sensitive_type.rb +0 -10
  256. data/lib/puppet/pops/types/type_calculator.rb +0 -7
  257. data/lib/puppet/pops/types/type_formatter.rb +3 -4
  258. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  259. data/lib/puppet/pops/types/type_parser.rb +0 -4
  260. data/lib/puppet/pops/types/types.rb +1 -2
  261. data/lib/puppet/pops/validation/checker4_0.rb +9 -37
  262. data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
  263. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  264. data/lib/puppet/property/list.rb +1 -1
  265. data/lib/puppet/provider/aix_object.rb +1 -1
  266. data/lib/puppet/provider/exec/posix.rb +4 -16
  267. data/lib/puppet/provider/group/groupadd.rb +10 -18
  268. data/lib/puppet/provider/nameservice.rb +0 -18
  269. data/lib/puppet/provider/package/apt.rb +2 -34
  270. data/lib/puppet/provider/package/aptitude.rb +0 -6
  271. data/lib/puppet/provider/package/dnfmodule.rb +1 -1
  272. data/lib/puppet/provider/package/dpkg.rb +0 -10
  273. data/lib/puppet/provider/package/gem.rb +23 -3
  274. data/lib/puppet/provider/package/nim.rb +6 -11
  275. data/lib/puppet/provider/package/pip.rb +3 -16
  276. data/lib/puppet/provider/package/pkg.rb +2 -23
  277. data/lib/puppet/provider/package/portage.rb +1 -1
  278. data/lib/puppet/provider/package/puppet_gem.rb +1 -4
  279. data/lib/puppet/provider/package/puppetserver_gem.rb +1 -1
  280. data/lib/puppet/provider/package/yum.rb +1 -1
  281. data/lib/puppet/provider/parsedfile.rb +0 -3
  282. data/lib/puppet/provider/service/base.rb +1 -1
  283. data/lib/puppet/provider/service/debian.rb +0 -2
  284. data/lib/puppet/provider/service/init.rb +5 -5
  285. data/lib/puppet/provider/service/launchd.rb +2 -2
  286. data/lib/puppet/provider/service/redhat.rb +1 -1
  287. data/lib/puppet/provider/service/smf.rb +194 -76
  288. data/lib/puppet/provider/service/systemd.rb +6 -16
  289. data/lib/puppet/provider/service/upstart.rb +5 -5
  290. data/lib/puppet/provider/service/windows.rb +0 -38
  291. data/lib/puppet/provider/user/aix.rb +3 -46
  292. data/lib/puppet/provider/user/directoryservice.rb +11 -34
  293. data/lib/puppet/provider/user/useradd.rb +24 -134
  294. data/lib/puppet/provider.rb +1 -14
  295. data/lib/puppet/reference/configuration.rb +8 -7
  296. data/lib/puppet/reference/indirection.rb +1 -1
  297. data/lib/puppet/reference/providers.rb +2 -2
  298. data/lib/puppet/resource/catalog.rb +1 -14
  299. data/lib/puppet/resource/type.rb +3 -119
  300. data/lib/puppet/resource/type_collection.rb +3 -49
  301. data/lib/puppet/resource.rb +1 -89
  302. data/lib/puppet/runtime.rb +2 -13
  303. data/lib/puppet/settings/environment_conf.rb +0 -1
  304. data/lib/puppet/settings/integer_setting.rb +17 -0
  305. data/lib/puppet/settings/port_setting.rb +15 -0
  306. data/lib/puppet/settings/priority_setting.rb +5 -4
  307. data/lib/puppet/settings.rb +82 -98
  308. data/lib/puppet/ssl/base.rb +3 -5
  309. data/lib/puppet/ssl/certificate.rb +0 -6
  310. data/lib/puppet/ssl/certificate_request.rb +1 -12
  311. data/lib/puppet/ssl/certificate_signer.rb +6 -0
  312. data/lib/puppet/ssl/oids.rb +3 -1
  313. data/lib/puppet/ssl/ssl_provider.rb +17 -0
  314. data/lib/puppet/ssl/state_machine.rb +3 -1
  315. data/lib/puppet/ssl/verifier.rb +2 -0
  316. data/lib/puppet/ssl.rb +10 -6
  317. data/lib/puppet/test/test_helper.rb +2 -7
  318. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  319. data/lib/puppet/transaction/persistence.rb +1 -11
  320. data/lib/puppet/transaction/report.rb +3 -19
  321. data/lib/puppet/transaction.rb +1 -7
  322. data/lib/puppet/type/exec.rb +5 -35
  323. data/lib/puppet/type/file/checksum.rb +1 -1
  324. data/lib/puppet/type/file/mode.rb +0 -6
  325. data/lib/puppet/type/file/selcontext.rb +1 -1
  326. data/lib/puppet/type/file/source.rb +1 -1
  327. data/lib/puppet/type/file.rb +12 -32
  328. data/lib/puppet/type/filebucket.rb +4 -4
  329. data/lib/puppet/type/group.rb +1 -0
  330. data/lib/puppet/type/package.rb +8 -16
  331. data/lib/puppet/type/resources.rb +1 -1
  332. data/lib/puppet/type/service.rb +41 -26
  333. data/lib/puppet/type/tidy.rb +3 -22
  334. data/lib/puppet/type/user.rb +21 -38
  335. data/lib/puppet/type.rb +1 -77
  336. data/lib/puppet/util/autoload.rb +8 -1
  337. data/lib/puppet/util/command_line.rb +1 -1
  338. data/lib/puppet/util/execution.rb +0 -11
  339. data/lib/puppet/util/filetype.rb +2 -2
  340. data/lib/puppet/util/http_proxy.rb +2 -215
  341. data/lib/puppet/util/json.rb +0 -3
  342. data/lib/puppet/util/log.rb +2 -1
  343. data/lib/puppet/util/logging.rb +25 -1
  344. data/lib/puppet/util/monkey_patches.rb +0 -53
  345. data/lib/puppet/util/pidlock.rb +1 -1
  346. data/lib/puppet/util/posix.rb +5 -54
  347. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
  348. data/lib/puppet/util/rdoc.rb +0 -7
  349. data/lib/puppet/util/retry_action.rb +1 -1
  350. data/lib/puppet/util/run_mode.rb +9 -1
  351. data/lib/puppet/util/selinux.rb +4 -30
  352. data/lib/puppet/util/suidmanager.rb +2 -1
  353. data/lib/puppet/util/symbolic_file_mode.rb +17 -29
  354. data/lib/puppet/util/tagging.rb +0 -1
  355. data/lib/puppet/util/windows/adsi.rb +0 -46
  356. data/lib/puppet/util/windows/daemon.rb +360 -0
  357. data/lib/puppet/util/windows/error.rb +1 -0
  358. data/lib/puppet/util/windows/eventlog.rb +4 -9
  359. data/lib/puppet/util/windows/file.rb +8 -242
  360. data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
  361. data/lib/puppet/util/windows/principal.rb +2 -9
  362. data/lib/puppet/util/windows/process.rb +4 -226
  363. data/lib/puppet/util/windows/service.rb +9 -460
  364. data/lib/puppet/util/windows/sid.rb +2 -6
  365. data/lib/puppet/util/windows/string.rb +12 -13
  366. data/lib/puppet/util/windows/user.rb +2 -0
  367. data/lib/puppet/util/windows.rb +3 -8
  368. data/lib/puppet/util/yaml.rb +0 -22
  369. data/lib/puppet/util.rb +3 -4
  370. data/lib/puppet/vendor/require_vendored.rb +0 -1
  371. data/lib/puppet/version.rb +1 -1
  372. data/lib/puppet/x509/cert_provider.rb +29 -1
  373. data/lib/puppet/x509.rb +5 -1
  374. data/lib/puppet.rb +20 -25
  375. data/locales/puppet.pot +816 -1637
  376. data/man/man5/puppet.conf.5 +286 -382
  377. data/man/man8/puppet-agent.8 +2 -5
  378. data/man/man8/puppet-apply.8 +2 -2
  379. data/man/man8/puppet-catalog.8 +9 -9
  380. data/man/man8/puppet-config.8 +1 -1
  381. data/man/man8/puppet-describe.8 +1 -1
  382. data/man/man8/puppet-device.8 +2 -2
  383. data/man/man8/puppet-doc.8 +1 -1
  384. data/man/man8/puppet-epp.8 +1 -1
  385. data/man/man8/puppet-facts.8 +8 -51
  386. data/man/man8/puppet-filebucket.8 +4 -4
  387. data/man/man8/puppet-generate.8 +1 -1
  388. data/man/man8/puppet-help.8 +1 -1
  389. data/man/man8/puppet-lookup.8 +1 -1
  390. data/man/man8/puppet-module.8 +3 -60
  391. data/man/man8/puppet-node.8 +5 -5
  392. data/man/man8/puppet-parser.8 +1 -1
  393. data/man/man8/puppet-plugin.8 +1 -1
  394. data/man/man8/puppet-report.8 +5 -5
  395. data/man/man8/puppet-resource.8 +1 -1
  396. data/man/man8/puppet-script.8 +2 -2
  397. data/man/man8/puppet-ssl.8 +1 -5
  398. data/man/man8/puppet.8 +2 -2
  399. data/spec/fixtures/ssl/127.0.0.1-key.pem +57 -107
  400. data/spec/fixtures/ssl/127.0.0.1.pem +31 -52
  401. data/spec/fixtures/ssl/bad-basic-constraints.pem +35 -57
  402. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +35 -57
  403. data/spec/fixtures/ssl/ca.pem +35 -57
  404. data/spec/fixtures/ssl/crl.pem +18 -28
  405. data/spec/fixtures/ssl/ec-key.pem +11 -11
  406. data/spec/fixtures/ssl/ec.pem +24 -33
  407. data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
  408. data/spec/fixtures/ssl/encrypted-key.pem +58 -108
  409. data/spec/fixtures/ssl/intermediate-agent-crl.pem +19 -28
  410. data/spec/fixtures/ssl/intermediate-agent.pem +36 -57
  411. data/spec/fixtures/ssl/intermediate-crl.pem +21 -31
  412. data/spec/fixtures/ssl/intermediate.pem +36 -57
  413. data/spec/fixtures/ssl/pluto-key.pem +57 -107
  414. data/spec/fixtures/ssl/pluto.pem +30 -52
  415. data/spec/fixtures/ssl/request-key.pem +57 -107
  416. data/spec/fixtures/ssl/request.pem +26 -47
  417. data/spec/fixtures/ssl/revoked-key.pem +57 -107
  418. data/spec/fixtures/ssl/revoked.pem +30 -52
  419. data/spec/fixtures/ssl/signed-key.pem +57 -107
  420. data/spec/fixtures/ssl/signed.pem +30 -52
  421. data/spec/fixtures/ssl/tampered-cert.pem +30 -52
  422. data/spec/fixtures/ssl/tampered-csr.pem +26 -47
  423. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +57 -107
  424. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +29 -50
  425. data/spec/fixtures/ssl/unknown-ca-key.pem +57 -107
  426. data/spec/fixtures/ssl/unknown-ca.pem +33 -55
  427. data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
  428. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -4
  429. data/spec/integration/application/agent_spec.rb +51 -271
  430. data/spec/integration/application/apply_spec.rb +1 -20
  431. data/spec/integration/application/filebucket_spec.rb +16 -32
  432. data/spec/integration/application/help_spec.rb +2 -0
  433. data/spec/integration/application/module_spec.rb +0 -21
  434. data/spec/integration/application/plugin_spec.rb +24 -2
  435. data/spec/integration/configurer_spec.rb +2 -18
  436. data/spec/integration/defaults_spec.rb +14 -3
  437. data/spec/integration/environments/settings_interpolation_spec.rb +4 -0
  438. data/spec/integration/http/client_spec.rb +0 -12
  439. data/spec/integration/indirector/direct_file_server_spec.rb +3 -1
  440. data/spec/integration/indirector/facts/facter_spec.rb +39 -93
  441. data/spec/integration/network/http_pool_spec.rb +3 -21
  442. data/spec/integration/parser/catalog_spec.rb +0 -38
  443. data/spec/integration/parser/node_spec.rb +0 -9
  444. data/spec/integration/parser/pcore_resource_spec.rb +0 -37
  445. data/spec/integration/resource/type_collection_spec.rb +6 -2
  446. data/spec/integration/transaction/report_spec.rb +1 -1
  447. data/spec/integration/transaction_spec.rb +9 -4
  448. data/spec/integration/type/exec_spec.rb +45 -70
  449. data/spec/integration/type/file_spec.rb +7 -6
  450. data/spec/integration/type/package_spec.rb +6 -6
  451. data/spec/integration/util/rdoc/parser_spec.rb +1 -1
  452. data/spec/integration/util/windows/adsi_spec.rb +1 -21
  453. data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
  454. data/spec/integration/util/windows/principal_spec.rb +0 -21
  455. data/spec/integration/util/windows/process_spec.rb +9 -1
  456. data/spec/integration/util/windows/registry_spec.rb +10 -6
  457. data/spec/integration/util/windows/security_spec.rb +1 -1
  458. data/spec/lib/matchers/include.rb +27 -0
  459. data/spec/lib/matchers/include_spec.rb +32 -0
  460. data/spec/lib/puppet/test_ca.rb +2 -7
  461. data/spec/lib/puppet_spec/modules.rb +2 -13
  462. data/spec/lib/puppet_spec/puppetserver.rb +1 -16
  463. data/spec/lib/puppet_spec/settings.rb +1 -1
  464. data/spec/shared_behaviours/documentation_on_faces.rb +2 -0
  465. data/spec/spec_helper.rb +17 -13
  466. data/spec/unit/agent_spec.rb +6 -10
  467. data/spec/unit/application/agent_spec.rb +3 -7
  468. data/spec/unit/application/apply_spec.rb +56 -76
  469. data/spec/unit/application/facts_spec.rb +12 -456
  470. data/spec/unit/application/filebucket_spec.rb +43 -39
  471. data/spec/unit/application/resource_spec.rb +0 -29
  472. data/spec/unit/application/ssl_spec.rb +2 -25
  473. data/spec/unit/application_spec.rb +9 -51
  474. data/spec/unit/certificate_factory_spec.rb +1 -1
  475. data/spec/unit/configurer/downloader_spec.rb +6 -8
  476. data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
  477. data/spec/unit/configurer_spec.rb +67 -202
  478. data/spec/unit/confine/feature_spec.rb +1 -1
  479. data/spec/unit/confine_spec.rb +2 -8
  480. data/spec/unit/context/trusted_information_spec.rb +2 -6
  481. data/spec/unit/defaults_spec.rb +68 -55
  482. data/spec/unit/environments_spec.rb +68 -408
  483. data/spec/unit/face/node_spec.rb +11 -0
  484. data/spec/unit/face/plugin_spec.rb +73 -33
  485. data/spec/unit/file_bucket/dipper_spec.rb +2 -2
  486. data/spec/unit/file_bucket/file_spec.rb +1 -1
  487. data/spec/unit/file_serving/configuration/parser_spec.rb +15 -41
  488. data/spec/unit/file_serving/configuration_spec.rb +10 -26
  489. data/spec/unit/file_serving/fileset_spec.rb +0 -60
  490. data/spec/unit/file_serving/metadata_spec.rb +3 -3
  491. data/spec/unit/file_serving/terminus_helper_spec.rb +4 -11
  492. data/spec/unit/file_system_spec.rb +0 -22
  493. data/spec/unit/forge/module_release_spec.rb +7 -2
  494. data/spec/unit/functions/assert_type_spec.rb +1 -1
  495. data/spec/unit/functions/camelcase_spec.rb +1 -1
  496. data/spec/unit/functions/capitalize_spec.rb +1 -1
  497. data/spec/unit/functions/downcase_spec.rb +1 -1
  498. data/spec/unit/functions/empty_spec.rb +0 -10
  499. data/spec/unit/functions/logging_spec.rb +0 -1
  500. data/spec/unit/functions/lookup_spec.rb +0 -64
  501. data/spec/unit/functions/unwrap_spec.rb +0 -8
  502. data/spec/unit/functions/upcase_spec.rb +1 -1
  503. data/spec/unit/functions4_spec.rb +2 -2
  504. data/spec/unit/gettext/config_spec.rb +0 -12
  505. data/spec/unit/http/client_spec.rb +7 -8
  506. data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
  507. data/spec/unit/http/external_client_spec.rb +4 -4
  508. data/spec/unit/{network/http → http}/factory_spec.rb +5 -30
  509. data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
  510. data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
  511. data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
  512. data/spec/unit/http/resolver_spec.rb +13 -13
  513. data/spec/unit/http/service/compiler_spec.rb +0 -193
  514. data/spec/unit/http/service/file_server_spec.rb +3 -3
  515. data/spec/unit/http/service/puppetserver_spec.rb +34 -4
  516. data/spec/unit/http/service_spec.rb +0 -1
  517. data/spec/unit/http/session_spec.rb +16 -14
  518. data/spec/unit/{network/http → http}/site_spec.rb +3 -3
  519. data/spec/unit/indirector/catalog/compiler_spec.rb +10 -101
  520. data/spec/unit/indirector/catalog/rest_spec.rb +0 -8
  521. data/spec/unit/indirector/face_spec.rb +1 -0
  522. data/spec/unit/indirector/facts/facter_spec.rb +3 -0
  523. data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
  524. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +8 -26
  525. data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
  526. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
  527. data/spec/unit/indirector/file_server_spec.rb +1 -15
  528. data/spec/unit/indirector/indirection_spec.rb +15 -18
  529. data/spec/unit/indirector/report/rest_spec.rb +2 -17
  530. data/spec/unit/indirector/request_spec.rb +0 -264
  531. data/spec/unit/indirector/resource/ral_spec.rb +75 -40
  532. data/spec/unit/indirector/rest_spec.rb +98 -752
  533. data/spec/unit/indirector/store_configs_spec.rb +7 -0
  534. data/spec/unit/indirector_spec.rb +2 -2
  535. data/spec/unit/interface/action_spec.rb +9 -0
  536. data/spec/unit/module_spec.rb +1 -15
  537. data/spec/unit/module_tool/applications/installer_spec.rb +0 -105
  538. data/spec/unit/network/authconfig_spec.rb +2 -129
  539. data/spec/unit/network/authorization_spec.rb +2 -55
  540. data/spec/unit/network/formats_spec.rb +4 -51
  541. data/spec/unit/network/http/api/indirected_routes_spec.rb +5 -92
  542. data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
  543. data/spec/unit/network/http/api_spec.rb +10 -0
  544. data/spec/unit/network/http/connection_spec.rb +19 -41
  545. data/spec/unit/network/http/handler_spec.rb +0 -1
  546. data/spec/unit/network/http_pool_spec.rb +0 -4
  547. data/spec/unit/node/environment_spec.rb +33 -21
  548. data/spec/unit/node_spec.rb +2 -54
  549. data/spec/unit/parser/compiler_spec.rb +19 -3
  550. data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
  551. data/spec/unit/parser/functions/fqdn_rand_spec.rb +1 -15
  552. data/spec/unit/parser/resource_spec.rb +8 -14
  553. data/spec/unit/parser/templatewrapper_spec.rb +5 -16
  554. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
  555. data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
  556. data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
  557. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  558. data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
  559. data/spec/unit/pops/parser/parse_containers_spec.rb +11 -0
  560. data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
  561. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
  562. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -59
  563. data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -5
  564. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -18
  565. data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -18
  566. data/spec/unit/pops/types/type_calculator_spec.rb +6 -12
  567. data/spec/unit/pops/types/type_factory_spec.rb +1 -1
  568. data/spec/unit/pops/validator/validator_spec.rb +61 -46
  569. data/spec/unit/pops/visitor_spec.rb +1 -1
  570. data/spec/unit/property_spec.rb +0 -1
  571. data/spec/unit/provider/group/groupadd_spec.rb +2 -5
  572. data/spec/unit/provider/nameservice_spec.rb +64 -122
  573. data/spec/unit/provider/package/apt_spec.rb +23 -28
  574. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  575. data/spec/unit/provider/package/base_spec.rb +5 -6
  576. data/spec/unit/provider/package/dnfmodule_spec.rb +1 -10
  577. data/spec/unit/provider/package/dpkg_spec.rb +0 -48
  578. data/spec/unit/provider/package/gem_spec.rb +33 -1
  579. data/spec/unit/provider/package/nim_spec.rb +0 -42
  580. data/spec/unit/provider/package/pacman_spec.rb +12 -18
  581. data/spec/unit/provider/package/pip2_spec.rb +1 -1
  582. data/spec/unit/provider/package/pip3_spec.rb +1 -1
  583. data/spec/unit/provider/package/pip_spec.rb +12 -44
  584. data/spec/unit/provider/package/pkg_spec.rb +4 -29
  585. data/spec/unit/provider/package/pkgdmg_spec.rb +4 -0
  586. data/spec/unit/provider/package/puppet_gem_spec.rb +4 -3
  587. data/spec/unit/provider/package/puppetserver_gem_spec.rb +1 -1
  588. data/spec/unit/provider/parsedfile_spec.rb +0 -10
  589. data/spec/unit/provider/service/init_spec.rb +0 -1
  590. data/spec/unit/provider/service/launchd_spec.rb +0 -11
  591. data/spec/unit/provider/service/openwrt_spec.rb +1 -3
  592. data/spec/unit/provider/service/smf_spec.rb +401 -165
  593. data/spec/unit/provider/service/systemd_spec.rb +9 -54
  594. data/spec/unit/provider/service/windows_spec.rb +0 -203
  595. data/spec/unit/provider/user/aix_spec.rb +0 -105
  596. data/spec/unit/provider/user/directoryservice_spec.rb +36 -68
  597. data/spec/unit/provider/user/hpux_spec.rb +1 -1
  598. data/spec/unit/provider/user/pw_spec.rb +0 -2
  599. data/spec/unit/provider/user/useradd_spec.rb +5 -114
  600. data/spec/unit/provider_spec.rb +12 -22
  601. data/spec/unit/puppet_spec.rb +4 -12
  602. data/spec/unit/resource/catalog_spec.rb +1 -1
  603. data/spec/unit/resource/type_collection_spec.rb +2 -22
  604. data/spec/unit/resource/type_spec.rb +1 -1
  605. data/spec/unit/resource_spec.rb +10 -67
  606. data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
  607. data/spec/unit/settings/integer_setting_spec.rb +42 -0
  608. data/spec/unit/settings/port_setting_spec.rb +31 -0
  609. data/spec/unit/settings/priority_setting_spec.rb +4 -4
  610. data/spec/unit/settings_spec.rb +79 -110
  611. data/spec/unit/ssl/base_spec.rb +37 -3
  612. data/spec/unit/ssl/certificate_request_spec.rb +21 -45
  613. data/spec/unit/ssl/certificate_spec.rb +2 -11
  614. data/spec/unit/ssl/ssl_provider_spec.rb +2 -5
  615. data/spec/unit/ssl/state_machine_spec.rb +5 -20
  616. data/spec/unit/ssl/verifier_spec.rb +0 -21
  617. data/spec/unit/transaction/additional_resource_generator_spec.rb +9 -3
  618. data/spec/unit/transaction/event_manager_spec.rb +11 -14
  619. data/spec/unit/transaction/report_spec.rb +0 -2
  620. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  621. data/spec/unit/transaction_spec.rb +55 -96
  622. data/spec/unit/type/exec_spec.rb +29 -76
  623. data/spec/unit/type/file/checksum_spec.rb +6 -6
  624. data/spec/unit/type/file/content_spec.rb +2 -1
  625. data/spec/unit/type/file/ensure_spec.rb +1 -1
  626. data/spec/unit/type/file/mode_spec.rb +1 -1
  627. data/spec/unit/type/file/selinux_spec.rb +5 -3
  628. data/spec/unit/type/file/source_spec.rb +4 -5
  629. data/spec/unit/type/file_spec.rb +18 -6
  630. data/spec/unit/type/group_spec.rb +6 -13
  631. data/spec/unit/type/package_spec.rb +1 -1
  632. data/spec/unit/type/resources_spec.rb +7 -7
  633. data/spec/unit/type/service_spec.rb +189 -87
  634. data/spec/unit/type/tidy_spec.rb +8 -24
  635. data/spec/unit/type/user_spec.rb +0 -45
  636. data/spec/unit/type_spec.rb +24 -4
  637. data/spec/unit/util/at_fork_spec.rb +2 -2
  638. data/spec/unit/util/autoload_spec.rb +1 -5
  639. data/spec/unit/util/backups_spec.rb +2 -3
  640. data/spec/unit/util/execution_spec.rb +11 -44
  641. data/spec/unit/util/inifile_spec.rb +14 -6
  642. data/spec/unit/util/log_spec.rb +7 -8
  643. data/spec/unit/util/logging_spec.rb +3 -5
  644. data/spec/unit/util/monkey_patches_spec.rb +0 -6
  645. data/spec/unit/util/posix_spec.rb +15 -363
  646. data/spec/unit/util/run_mode_spec.rb +21 -121
  647. data/spec/unit/util/selinux_spec.rb +68 -163
  648. data/spec/unit/util/storage_spec.rb +1 -3
  649. data/spec/unit/util/suidmanager_spec.rb +41 -44
  650. data/spec/unit/util/windows/sid_spec.rb +0 -41
  651. data/spec/unit/util/windows/string_spec.rb +1 -3
  652. data/spec/unit/util/yaml_spec.rb +0 -54
  653. data/spec/unit/util_spec.rb +6 -31
  654. data/tasks/generate_cert_fixtures.rake +3 -12
  655. data/tasks/parallel.rake +3 -3
  656. metadata +137 -288
  657. data/conf/auth.conf +0 -150
  658. data/ext/README.md +0 -13
  659. data/lib/puppet/application/cert.rb +0 -76
  660. data/lib/puppet/application/key.rb +0 -4
  661. data/lib/puppet/application/man.rb +0 -4
  662. data/lib/puppet/application/status.rb +0 -4
  663. data/lib/puppet/face/key.rb +0 -16
  664. data/lib/puppet/face/man.rb +0 -145
  665. data/lib/puppet/face/module/build.rb +0 -14
  666. data/lib/puppet/face/module/generate.rb +0 -14
  667. data/lib/puppet/face/module/search.rb +0 -103
  668. data/lib/puppet/face/status.rb +0 -51
  669. data/lib/puppet/facter_impl.rb +0 -96
  670. data/lib/puppet/ffi/posix/constants.rb +0 -14
  671. data/lib/puppet/ffi/posix/functions.rb +0 -24
  672. data/lib/puppet/ffi/posix.rb +0 -10
  673. data/lib/puppet/file_serving/mount/scripts.rb +0 -24
  674. data/lib/puppet/indirector/certificate/file.rb +0 -9
  675. data/lib/puppet/indirector/certificate/rest.rb +0 -18
  676. data/lib/puppet/indirector/certificate_request/file.rb +0 -9
  677. data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
  678. data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
  679. data/lib/puppet/indirector/file_content/http.rb +0 -22
  680. data/lib/puppet/indirector/key/file.rb +0 -46
  681. data/lib/puppet/indirector/key/memory.rb +0 -7
  682. data/lib/puppet/indirector/ssl_file.rb +0 -162
  683. data/lib/puppet/indirector/status/local.rb +0 -12
  684. data/lib/puppet/indirector/status/rest.rb +0 -27
  685. data/lib/puppet/indirector/status.rb +0 -3
  686. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  687. data/lib/puppet/network/auth_config_parser.rb +0 -90
  688. data/lib/puppet/network/authstore.rb +0 -283
  689. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  690. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
  691. data/lib/puppet/network/http/base_pool.rb +0 -36
  692. data/lib/puppet/network/http/compression.rb +0 -127
  693. data/lib/puppet/network/http/connection_adapter.rb +0 -184
  694. data/lib/puppet/network/http/nocache_pool.rb +0 -28
  695. data/lib/puppet/network/rest_controller.rb +0 -2
  696. data/lib/puppet/network/rights.rb +0 -210
  697. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
  698. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
  699. data/lib/puppet/parser/environment_compiler.rb +0 -202
  700. data/lib/puppet/pops/types/enumeration.rb +0 -16
  701. data/lib/puppet/resource/capability_finder.rb +0 -154
  702. data/lib/puppet/rest/errors.rb +0 -15
  703. data/lib/puppet/rest/response.rb +0 -35
  704. data/lib/puppet/rest/route.rb +0 -85
  705. data/lib/puppet/rest/routes.rb +0 -135
  706. data/lib/puppet/settings/alias_setting.rb +0 -37
  707. data/lib/puppet/ssl/host.rb +0 -505
  708. data/lib/puppet/ssl/key.rb +0 -61
  709. data/lib/puppet/ssl/validator/default_validator.rb +0 -209
  710. data/lib/puppet/ssl/validator/no_validator.rb +0 -22
  711. data/lib/puppet/ssl/validator.rb +0 -61
  712. data/lib/puppet/ssl/verifier_adapter.rb +0 -58
  713. data/lib/puppet/status.rb +0 -40
  714. data/lib/puppet/util/connection.rb +0 -88
  715. data/lib/puppet/util/fact_dif.rb +0 -81
  716. data/lib/puppet/util/ssl.rb +0 -83
  717. data/lib/puppet/util/windows/api_types.rb +0 -309
  718. data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
  719. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  720. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  721. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  722. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  723. data/lib/puppet/vendor/pathspec/README.md +0 -53
  724. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  725. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  726. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  727. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  728. data/man/man8/puppet-key.8 +0 -126
  729. data/man/man8/puppet-man.8 +0 -76
  730. data/man/man8/puppet-status.8 +0 -108
  731. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -91
  732. data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
  733. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
  734. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
  735. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
  736. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
  737. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
  738. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
  739. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
  740. data/spec/fixtures/ssl/oid-key.pem +0 -117
  741. data/spec/fixtures/ssl/oid.pem +0 -69
  742. data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
  743. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
  744. data/spec/integration/application/resource_spec.rb +0 -64
  745. data/spec/integration/application/ssl_spec.rb +0 -20
  746. data/spec/integration/l10n/compiler_spec.rb +0 -37
  747. data/spec/integration/network/authconfig_spec.rb +0 -256
  748. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
  749. data/spec/shared_contexts/l10n.rb +0 -27
  750. data/spec/unit/application/man_spec.rb +0 -52
  751. data/spec/unit/capability_spec.rb +0 -414
  752. data/spec/unit/face/key_spec.rb +0 -9
  753. data/spec/unit/face/module/search_spec.rb +0 -231
  754. data/spec/unit/face/status_spec.rb +0 -9
  755. data/spec/unit/facter_impl_spec.rb +0 -31
  756. data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
  757. data/spec/unit/indirector/certificate/file_spec.rb +0 -14
  758. data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
  759. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
  760. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
  761. data/spec/unit/indirector/key/file_spec.rb +0 -78
  762. data/spec/unit/indirector/ssl_file_spec.rb +0 -305
  763. data/spec/unit/indirector/status/local_spec.rb +0 -10
  764. data/spec/unit/indirector/status/rest_spec.rb +0 -50
  765. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  766. data/spec/unit/network/auth_config_parser_spec.rb +0 -115
  767. data/spec/unit/network/authstore_spec.rb +0 -407
  768. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  769. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  770. data/spec/unit/network/http/compression_spec.rb +0 -240
  771. data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
  772. data/spec/unit/network/http_spec.rb +0 -9
  773. data/spec/unit/network/rights_spec.rb +0 -439
  774. data/spec/unit/parser/environment_compiler_spec.rb +0 -730
  775. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -20
  776. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  777. data/spec/unit/resource/capability_finder_spec.rb +0 -148
  778. data/spec/unit/rest/route_spec.rb +0 -132
  779. data/spec/unit/ssl/host_spec.rb +0 -645
  780. data/spec/unit/ssl/key_spec.rb +0 -173
  781. data/spec/unit/ssl/validator_spec.rb +0 -278
  782. data/spec/unit/status_spec.rb +0 -45
  783. data/spec/unit/util/ssl_spec.rb +0 -91
@@ -1,6 +1,5 @@
1
1
  # coding: utf-8
2
- require 'puppet/util/windows'
3
- require 'ffi'
2
+ require 'puppet/ffi/windows'
4
3
 
5
4
  module Puppet::Util::Windows
6
5
  # This module is designed to provide an API between the windows system and puppet for
@@ -8,315 +7,22 @@ module Puppet::Util::Windows
8
7
  #
9
8
  # for an overview of the service state transitions see: https://docs.microsoft.com/en-us/windows/desktop/Services/service-status-transitions
10
9
  module Service
11
- extend FFI::Library
12
10
  extend Puppet::Util::Windows::String
13
11
 
14
- FILE = Puppet::Util::Windows::File
12
+ include Puppet::FFI::Windows::Constants
13
+ extend Puppet::FFI::Windows::Constants
14
+
15
+ include Puppet::FFI::Windows::Structs
16
+ extend Puppet::FFI::Windows::Structs
17
+
18
+ include Puppet::FFI::Windows::Functions
19
+ extend Puppet::FFI::Windows::Functions
15
20
 
16
21
  # integer value of the floor for timeouts when waiting for service pending states.
17
22
  # puppet will wait the length of dwWaitHint if it is longer than this value, but
18
23
  # no shorter
19
24
  DEFAULT_TIMEOUT = 30
20
25
 
21
- # Service error codes
22
- # https://docs.microsoft.com/en-us/windows/desktop/debug/system-error-codes--1000-1299-
23
- ERROR_SERVICE_DOES_NOT_EXIST = 0x00000424
24
-
25
- # Service control codes
26
- # https://docs.microsoft.com/en-us/windows/desktop/api/Winsvc/nf-winsvc-controlserviceexw
27
- SERVICE_CONTROL_STOP = 0x00000001
28
- SERVICE_CONTROL_PAUSE = 0x00000002
29
- SERVICE_CONTROL_CONTINUE = 0x00000003
30
- SERVICE_CONTROL_INTERROGATE = 0x00000004
31
- SERVICE_CONTROL_SHUTDOWN = 0x00000005
32
- SERVICE_CONTROL_PARAMCHANGE = 0x00000006
33
- SERVICE_CONTROL_NETBINDADD = 0x00000007
34
- SERVICE_CONTROL_NETBINDREMOVE = 0x00000008
35
- SERVICE_CONTROL_NETBINDENABLE = 0x00000009
36
- SERVICE_CONTROL_NETBINDDISABLE = 0x0000000A
37
- SERVICE_CONTROL_DEVICEEVENT = 0x0000000B
38
- SERVICE_CONTROL_HARDWAREPROFILECHANGE = 0x0000000C
39
- SERVICE_CONTROL_POWEREVENT = 0x0000000D
40
- SERVICE_CONTROL_SESSIONCHANGE = 0x0000000E
41
- SERVICE_CONTROL_PRESHUTDOWN = 0x0000000F
42
- SERVICE_CONTROL_TIMECHANGE = 0x00000010
43
- SERVICE_CONTROL_TRIGGEREVENT = 0x00000020
44
- SERVICE_CONTROL_SIGNALS = {
45
- SERVICE_CONTROL_STOP => :SERVICE_CONTROL_STOP,
46
- SERVICE_CONTROL_PAUSE => :SERVICE_CONTROL_PAUSE,
47
- SERVICE_CONTROL_CONTINUE => :SERVICE_CONTROL_CONTINUE,
48
- SERVICE_CONTROL_INTERROGATE => :SERVICE_CONTROL_INTERROGATE,
49
- SERVICE_CONTROL_SHUTDOWN => :SERVICE_CONTROL_SHUTDOWN,
50
- SERVICE_CONTROL_PARAMCHANGE => :SERVICE_CONTROL_PARAMCHANGE,
51
- SERVICE_CONTROL_NETBINDADD => :SERVICE_CONTROL_NETBINDADD,
52
- SERVICE_CONTROL_NETBINDREMOVE => :SERVICE_CONTROL_NETBINDREMOVE,
53
- SERVICE_CONTROL_NETBINDENABLE => :SERVICE_CONTROL_NETBINDENABLE,
54
- SERVICE_CONTROL_NETBINDDISABLE => :SERVICE_CONTROL_NETBINDDISABLE,
55
- SERVICE_CONTROL_DEVICEEVENT => :SERVICE_CONTROL_DEVICEEVENT,
56
- SERVICE_CONTROL_HARDWAREPROFILECHANGE => :SERVICE_CONTROL_HARDWAREPROFILECHANGE,
57
- SERVICE_CONTROL_POWEREVENT => :SERVICE_CONTROL_POWEREVENT,
58
- SERVICE_CONTROL_SESSIONCHANGE => :SERVICE_CONTROL_SESSIONCHANGE,
59
- SERVICE_CONTROL_PRESHUTDOWN => :SERVICE_CONTROL_PRESHUTDOWN,
60
- SERVICE_CONTROL_TIMECHANGE => :SERVICE_CONTROL_TIMECHANGE,
61
- SERVICE_CONTROL_TRIGGEREVENT => :SERVICE_CONTROL_TRIGGEREVENT
62
- }
63
-
64
-
65
- # Service start type codes
66
- # https://docs.microsoft.com/en-us/windows/desktop/api/Winsvc/nf-winsvc-changeserviceconfigw
67
- SERVICE_AUTO_START = 0x00000002
68
- SERVICE_BOOT_START = 0x00000000
69
- SERVICE_DEMAND_START = 0x00000003
70
- SERVICE_DISABLED = 0x00000004
71
- SERVICE_SYSTEM_START = 0x00000001
72
- SERVICE_START_TYPES = {
73
- SERVICE_AUTO_START => :SERVICE_AUTO_START,
74
- SERVICE_BOOT_START => :SERVICE_BOOT_START,
75
- SERVICE_DEMAND_START => :SERVICE_DEMAND_START,
76
- SERVICE_DISABLED => :SERVICE_DISABLED,
77
- SERVICE_SYSTEM_START => :SERVICE_SYSTEM_START,
78
- }
79
-
80
- # Service type codes
81
- # https://docs.microsoft.com/en-us/windows/desktop/api/Winsvc/nf-winsvc-changeserviceconfigw
82
- SERVICE_FILE_SYSTEM_DRIVER = 0x00000002
83
- SERVICE_KERNEL_DRIVER = 0x00000001
84
- SERVICE_WIN32_OWN_PROCESS = 0x00000010
85
- SERVICE_WIN32_SHARE_PROCESS = 0x00000020
86
- SERVICE_USER_OWN_PROCESS = 0x00000050
87
- SERVICE_USER_SHARE_PROCESS = 0x00000060
88
- # Available only if service is also SERVICE_WIN32_OWN_PROCESS or SERVICE_WIN32_SHARE_PROCESS
89
- SERVICE_INTERACTIVE_PROCESS = 0x00000100
90
- ALL_SERVICE_TYPES =
91
- SERVICE_FILE_SYSTEM_DRIVER |
92
- SERVICE_KERNEL_DRIVER |
93
- SERVICE_WIN32_OWN_PROCESS |
94
- SERVICE_WIN32_SHARE_PROCESS
95
-
96
- # Current state codes
97
- # https://docs.microsoft.com/en-us/windows/desktop/api/winsvc/ns-winsvc-_service_status_process
98
- SERVICE_CONTINUE_PENDING = 0x00000005
99
- SERVICE_PAUSE_PENDING = 0x00000006
100
- SERVICE_PAUSED = 0x00000007
101
- SERVICE_RUNNING = 0x00000004
102
- SERVICE_START_PENDING = 0x00000002
103
- SERVICE_STOP_PENDING = 0x00000003
104
- SERVICE_STOPPED = 0x00000001
105
- UNSAFE_PENDING_STATES = [SERVICE_START_PENDING, SERVICE_STOP_PENDING]
106
- FINAL_STATES = {
107
- SERVICE_CONTINUE_PENDING => SERVICE_RUNNING,
108
- SERVICE_PAUSE_PENDING => SERVICE_PAUSED,
109
- SERVICE_START_PENDING => SERVICE_RUNNING,
110
- SERVICE_STOP_PENDING => SERVICE_STOPPED
111
- }
112
- SERVICE_STATES = {
113
- SERVICE_CONTINUE_PENDING => :SERVICE_CONTINUE_PENDING,
114
- SERVICE_PAUSE_PENDING => :SERVICE_PAUSE_PENDING,
115
- SERVICE_PAUSED => :SERVICE_PAUSED,
116
- SERVICE_RUNNING => :SERVICE_RUNNING,
117
- SERVICE_START_PENDING => :SERVICE_START_PENDING,
118
- SERVICE_STOP_PENDING => :SERVICE_STOP_PENDING,
119
- SERVICE_STOPPED => :SERVICE_STOPPED,
120
- }
121
-
122
- # Service accepts control codes
123
- # https://docs.microsoft.com/en-us/windows/desktop/api/winsvc/ns-winsvc-_service_status_process
124
- SERVICE_ACCEPT_STOP = 0x00000001
125
- SERVICE_ACCEPT_PAUSE_CONTINUE = 0x00000002
126
- SERVICE_ACCEPT_SHUTDOWN = 0x00000004
127
- SERVICE_ACCEPT_PARAMCHANGE = 0x00000008
128
- SERVICE_ACCEPT_NETBINDCHANGE = 0x00000010
129
- SERVICE_ACCEPT_HARDWAREPROFILECHANGE = 0x00000020
130
- SERVICE_ACCEPT_POWEREVENT = 0x00000040
131
- SERVICE_ACCEPT_SESSIONCHANGE = 0x00000080
132
- SERVICE_ACCEPT_PRESHUTDOWN = 0x00000100
133
- SERVICE_ACCEPT_TIMECHANGE = 0x00000200
134
- SERVICE_ACCEPT_TRIGGEREVENT = 0x00000400
135
- SERVICE_ACCEPT_USER_LOGOFF = 0x00000800
136
-
137
- # Service manager access codes
138
- # https://docs.microsoft.com/en-us/windows/desktop/Services/service-security-and-access-rights
139
- SC_MANAGER_CREATE_SERVICE = 0x00000002
140
- SC_MANAGER_CONNECT = 0x00000001
141
- SC_MANAGER_ENUMERATE_SERVICE = 0x00000004
142
- SC_MANAGER_LOCK = 0x00000008
143
- SC_MANAGER_MODIFY_BOOT_CONFIG = 0x00000020
144
- SC_MANAGER_QUERY_LOCK_STATUS = 0x00000010
145
- SC_MANAGER_ALL_ACCESS =
146
- FILE::STANDARD_RIGHTS_REQUIRED |
147
- SC_MANAGER_CREATE_SERVICE |
148
- SC_MANAGER_CONNECT |
149
- SC_MANAGER_ENUMERATE_SERVICE |
150
- SC_MANAGER_LOCK |
151
- SC_MANAGER_MODIFY_BOOT_CONFIG |
152
- SC_MANAGER_QUERY_LOCK_STATUS
153
-
154
-
155
- # Service access codes
156
- # https://docs.microsoft.com/en-us/windows/desktop/Services/service-security-and-access-rights
157
- SERVICE_CHANGE_CONFIG = 0x0002
158
- SERVICE_ENUMERATE_DEPENDENTS = 0x0008
159
- SERVICE_INTERROGATE = 0x0080
160
- SERVICE_PAUSE_CONTINUE = 0x0040
161
- SERVICE_QUERY_STATUS = 0x0004
162
- SERVICE_QUERY_CONFIG = 0x0001
163
- SERVICE_START = 0x0010
164
- SERVICE_STOP = 0x0020
165
- SERVICE_USER_DEFINED_CONTROL = 0x0100
166
- SERVICE_ALL_ACCESS =
167
- FILE::STANDARD_RIGHTS_REQUIRED |
168
- SERVICE_CHANGE_CONFIG |
169
- SERVICE_ENUMERATE_DEPENDENTS |
170
- SERVICE_INTERROGATE |
171
- SERVICE_PAUSE_CONTINUE |
172
- SERVICE_QUERY_STATUS |
173
- SERVICE_QUERY_CONFIG |
174
- SERVICE_START |
175
- SERVICE_STOP |
176
- SERVICE_USER_DEFINED_CONTROL
177
-
178
- # Service config codes
179
- # From the windows 10 SDK:
180
- # //
181
- # // Value to indicate no change to an optional parameter
182
- # //
183
- # #define SERVICE_NO_CHANGE 0xffffffff
184
- # https://docs.microsoft.com/en-us/windows/win32/api/winsvc/nf-winsvc-changeserviceconfig2w
185
- SERVICE_CONFIG_DESCRIPTION = 0x00000001
186
- SERVICE_CONFIG_FAILURE_ACTIONS = 0x00000002
187
- SERVICE_CONFIG_DELAYED_AUTO_START_INFO = 0x00000003
188
- SERVICE_CONFIG_FAILURE_ACTIONS_FLAG = 0x00000004
189
- SERVICE_CONFIG_SERVICE_SID_INFO = 0x00000005
190
- SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO = 0x00000006
191
- SERVICE_CONFIG_PRESHUTDOWN_INFO = 0x00000007
192
- SERVICE_CONFIG_TRIGGER_INFO = 0x00000008
193
- SERVICE_CONFIG_PREFERRED_NODE = 0x00000009
194
- SERVICE_CONFIG_LAUNCH_PROTECTED = 0x0000000C
195
- SERVICE_NO_CHANGE = 0xffffffff
196
- SERVICE_CONFIG_TYPES = {
197
- SERVICE_CONFIG_DESCRIPTION => :SERVICE_CONFIG_DESCRIPTION,
198
- SERVICE_CONFIG_FAILURE_ACTIONS => :SERVICE_CONFIG_FAILURE_ACTIONS,
199
- SERVICE_CONFIG_DELAYED_AUTO_START_INFO => :SERVICE_CONFIG_DELAYED_AUTO_START_INFO,
200
- SERVICE_CONFIG_FAILURE_ACTIONS_FLAG => :SERVICE_CONFIG_FAILURE_ACTIONS_FLAG,
201
- SERVICE_CONFIG_SERVICE_SID_INFO => :SERVICE_CONFIG_SERVICE_SID_INFO,
202
- SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO => :SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO,
203
- SERVICE_CONFIG_PRESHUTDOWN_INFO => :SERVICE_CONFIG_PRESHUTDOWN_INFO,
204
- SERVICE_CONFIG_TRIGGER_INFO => :SERVICE_CONFIG_TRIGGER_INFO,
205
- SERVICE_CONFIG_PREFERRED_NODE => :SERVICE_CONFIG_PREFERRED_NODE,
206
- SERVICE_CONFIG_LAUNCH_PROTECTED => :SERVICE_CONFIG_LAUNCH_PROTECTED,
207
- }
208
-
209
- # Service enum codes
210
- # https://docs.microsoft.com/en-us/windows/desktop/api/winsvc/nf-winsvc-enumservicesstatusexa
211
- SERVICE_ACTIVE = 0x00000001
212
- SERVICE_INACTIVE = 0x00000002
213
- SERVICE_STATE_ALL =
214
- SERVICE_ACTIVE |
215
- SERVICE_INACTIVE
216
-
217
- # https://docs.microsoft.com/en-us/windows/desktop/api/winsvc/ns-winsvc-_enum_service_status_processw
218
- SERVICENAME_MAX = 256
219
-
220
- # https://docs.microsoft.com/en-us/windows/desktop/api/winsvc/ns-winsvc-_service_status_process
221
- # typedef struct _SERVICE_STATUS_PROCESS {
222
- # DWORD dwServiceType;
223
- # DWORD dwCurrentState;
224
- # DWORD dwControlsAccepted;
225
- # DWORD dwWin32ExitCode;
226
- # DWORD dwServiceSpecificExitCode;
227
- # DWORD dwCheckPoint;
228
- # DWORD dwWaitHint;
229
- # DWORD dwProcessId;
230
- # DWORD dwServiceFlags;
231
- # } SERVICE_STATUS_PROCESS, *LPSERVICE_STATUS_PROCESS;
232
- class SERVICE_STATUS_PROCESS < FFI::Struct
233
- layout(
234
- :dwServiceType, :dword,
235
- :dwCurrentState, :dword,
236
- :dwControlsAccepted, :dword,
237
- :dwWin32ExitCode, :dword,
238
- :dwServiceSpecificExitCode, :dword,
239
- :dwCheckPoint, :dword,
240
- :dwWaitHint, :dword,
241
- :dwProcessId, :dword,
242
- :dwServiceFlags, :dword
243
- )
244
- end
245
-
246
- # https://docs.microsoft.com/en-us/windows/win32/api/winsvc/ns-winsvc-service_delayed_auto_start_info
247
- # typedef struct _SERVICE_DELAYED_AUTO_START_INFO {
248
- # BOOL fDelayedAutostart;
249
- # } SERVICE_DELAYED_AUTO_START_INFO, *LPSERVICE_DELAYED_AUTO_START_INFO;
250
- class SERVICE_DELAYED_AUTO_START_INFO < FFI::Struct
251
- layout(:fDelayedAutostart, :int)
252
- alias aset []=
253
- # Intercept the accessor so that we can handle either true/false or 1/0.
254
- # Since there is only one member, there’s no need to check the key name.
255
- def []=(key, value)
256
- [0, false].include?(value) ? aset(key, 0) : aset(key, 1)
257
- end
258
- end
259
-
260
- # https://docs.microsoft.com/en-us/windows/desktop/api/winsvc/ns-winsvc-_enum_service_status_processw
261
- # typedef struct _ENUM_SERVICE_STATUS_PROCESSW {
262
- # LPWSTR lpServiceName;
263
- # LPWSTR lpDisplayName;
264
- # SERVICE_STATUS_PROCESS ServiceStatusProcess;
265
- # } ENUM_SERVICE_STATUS_PROCESSW, *LPENUM_SERVICE_STATUS_PROCESSW;
266
- class ENUM_SERVICE_STATUS_PROCESSW < FFI::Struct
267
- layout(
268
- :lpServiceName, :pointer,
269
- :lpDisplayName, :pointer,
270
- :ServiceStatusProcess, SERVICE_STATUS_PROCESS
271
- )
272
- end
273
-
274
- # typedef struct _SERVICE_STATUS {
275
- # DWORD dwServiceType;
276
- # DWORD dwCurrentState;
277
- # DWORD dwControlsAccepted;
278
- # DWORD dwWin32ExitCode;
279
- # DWORD dwServiceSpecificExitCode;
280
- # DWORD dwCheckPoint;
281
- # DWORD dwWaitHint;
282
- # } SERVICE_STATUS, *LPSERVICE_STATUS;
283
- class SERVICE_STATUS < FFI::Struct
284
- layout(
285
- :dwServiceType, :dword,
286
- :dwCurrentState, :dword,
287
- :dwControlsAccepted, :dword,
288
- :dwWin32ExitCode, :dword,
289
- :dwServiceSpecificExitCode, :dword,
290
- :dwCheckPoint, :dword,
291
- :dwWaitHint, :dword,
292
- )
293
- end
294
-
295
- # typedef struct _QUERY_SERVICE_CONFIGW {
296
- # DWORD dwServiceType;
297
- # DWORD dwStartType;
298
- # DWORD dwErrorControl;
299
- # LPWSTR lpBinaryPathName;
300
- # LPWSTR lpLoadOrderGroup;
301
- # DWORD dwTagId;
302
- # LPWSTR lpDependencies;
303
- # LPWSTR lpServiceStartName;
304
- # LPWSTR lpDisplayName;
305
- # } QUERY_SERVICE_CONFIGW, *LPQUERY_SERVICE_CONFIGW;
306
- class QUERY_SERVICE_CONFIGW < FFI::Struct
307
- layout(
308
- :dwServiceType, :dword,
309
- :dwStartType, :dword,
310
- :dwErrorControl, :dword,
311
- :lpBinaryPathName, :pointer,
312
- :lpLoadOrderGroup, :pointer,
313
- :dwTagId, :dword,
314
- :lpDependencies, :pointer,
315
- :lpServiceStartName, :pointer,
316
- :lpDisplayName, :pointer,
317
- )
318
- end
319
-
320
26
  # Returns true if the service exists, false otherwise.
321
27
  #
322
28
  # @param [String] service_name name of the service
@@ -991,162 +697,5 @@ module Puppet::Util::Windows
991
697
  end
992
698
  private :milliseconds_to_seconds
993
699
  end
994
-
995
- # https://docs.microsoft.com/en-us/windows/desktop/api/Winsvc/nf-winsvc-openscmanagerw
996
- # SC_HANDLE OpenSCManagerW(
997
- # LPCWSTR lpMachineName,
998
- # LPCWSTR lpDatabaseName,
999
- # DWORD dwDesiredAccess
1000
- # );
1001
- ffi_lib :advapi32
1002
- attach_function_private :OpenSCManagerW,
1003
- [:lpcwstr, :lpcwstr, :dword], :handle
1004
-
1005
- # https://docs.microsoft.com/en-us/windows/desktop/api/Winsvc/nf-winsvc-openservicew
1006
- # SC_HANDLE OpenServiceW(
1007
- # SC_HANDLE hSCManager,
1008
- # LPCWSTR lpServiceName,
1009
- # DWORD dwDesiredAccess
1010
- # );
1011
- ffi_lib :advapi32
1012
- attach_function_private :OpenServiceW,
1013
- [:handle, :lpcwstr, :dword], :handle
1014
-
1015
- # https://docs.microsoft.com/en-us/windows/desktop/api/Winsvc/nf-winsvc-closeservicehandle
1016
- # BOOL CloseServiceHandle(
1017
- # SC_HANDLE hSCObject
1018
- # );
1019
- ffi_lib :advapi32
1020
- attach_function_private :CloseServiceHandle,
1021
- [:handle], :win32_bool
1022
-
1023
- # https://docs.microsoft.com/en-us/windows/desktop/api/winsvc/nf-winsvc-queryservicestatusex
1024
- # BOOL QueryServiceStatusEx(
1025
- # SC_HANDLE hService,
1026
- # SC_STATUS_TYPE InfoLevel,
1027
- # LPBYTE lpBuffer,
1028
- # DWORD cbBufSize,
1029
- # LPDWORD pcbBytesNeeded
1030
- # );
1031
- SC_STATUS_TYPE = enum(
1032
- :SC_STATUS_PROCESS_INFO, 0,
1033
- )
1034
- ffi_lib :advapi32
1035
- attach_function_private :QueryServiceStatusEx,
1036
- [:handle, SC_STATUS_TYPE, :lpbyte, :dword, :lpdword], :win32_bool
1037
-
1038
- # https://docs.microsoft.com/en-us/windows/desktop/api/Winsvc/nf-winsvc-queryserviceconfigw
1039
- # BOOL QueryServiceConfigW(
1040
- # SC_HANDLE hService,
1041
- # LPQUERY_SERVICE_CONFIGW lpServiceConfig,
1042
- # DWORD cbBufSize,
1043
- # LPDWORD pcbBytesNeeded
1044
- # );
1045
- ffi_lib :advapi32
1046
- attach_function_private :QueryServiceConfigW,
1047
- [:handle, :lpbyte, :dword, :lpdword], :win32_bool
1048
-
1049
- # https://docs.microsoft.com/en-us/windows/win32/api/winsvc/nf-winsvc-queryserviceconfig2w
1050
- # BOOL QueryServiceConfig2W(
1051
- # SC_HANDLE hService,
1052
- # DWORD dwInfoLevel,
1053
- # LPBYTE lpBuffer,
1054
- # DWORD cbBufSize,
1055
- # LPDWORD pcbBytesNeeded
1056
- # );
1057
- ffi_lib :advapi32
1058
- attach_function_private :QueryServiceConfig2W,
1059
- [:handle, :dword, :lpbyte, :dword, :lpdword], :win32_bool
1060
-
1061
- # https://docs.microsoft.com/en-us/windows/desktop/api/Winsvc/nf-winsvc-startservicew
1062
- # BOOL StartServiceW(
1063
- # SC_HANDLE hService,
1064
- # DWORD dwNumServiceArgs,
1065
- # LPCWSTR *lpServiceArgVectors
1066
- # );
1067
- ffi_lib :advapi32
1068
- attach_function_private :StartServiceW,
1069
- [:handle, :dword, :pointer], :win32_bool
1070
-
1071
- # https://docs.microsoft.com/en-us/windows/desktop/api/winsvc/nf-winsvc-controlservice
1072
- # BOOL ControlService(
1073
- # SC_HANDLE hService,
1074
- # DWORD dwControl,
1075
- # LPSERVICE_STATUS lpServiceStatus
1076
- # );
1077
- ffi_lib :advapi32
1078
- attach_function_private :ControlService,
1079
- [:handle, :dword, :pointer], :win32_bool
1080
-
1081
- # https://docs.microsoft.com/en-us/windows/desktop/api/winsvc/nf-winsvc-changeserviceconfigw
1082
- # BOOL ChangeServiceConfigW(
1083
- # SC_HANDLE hService,
1084
- # DWORD dwServiceType,
1085
- # DWORD dwStartType,
1086
- # DWORD dwErrorControl,
1087
- # LPCWSTR lpBinaryPathName,
1088
- # LPCWSTR lpLoadOrderGroup,
1089
- # LPDWORD lpdwTagId,
1090
- # LPCWSTR lpDependencies,
1091
- # LPCWSTR lpServiceStartName,
1092
- # LPCWSTR lpPassword,
1093
- # LPCWSTR lpDisplayName
1094
- # );
1095
- ffi_lib :advapi32
1096
- attach_function_private :ChangeServiceConfigW,
1097
- [
1098
- :handle,
1099
- :dword,
1100
- :dword,
1101
- :dword,
1102
- :lpcwstr,
1103
- :lpcwstr,
1104
- :lpdword,
1105
- :lpcwstr,
1106
- :lpcwstr,
1107
- :lpcwstr,
1108
- :lpcwstr
1109
- ], :win32_bool
1110
-
1111
- # https://docs.microsoft.com/en-us/windows/win32/api/winsvc/nf-winsvc-changeserviceconfig2w
1112
- # BOOL ChangeServiceConfig2W(
1113
- # SC_HANDLE hService,
1114
- # DWORD dwInfoLevel,
1115
- # LPVOID lpInfo
1116
- # );
1117
- ffi_lib :advapi32
1118
- attach_function_private :ChangeServiceConfig2W,
1119
- [:handle, :dword, :lpvoid], :win32_bool
1120
-
1121
- # https://docs.microsoft.com/en-us/windows/desktop/api/winsvc/nf-winsvc-enumservicesstatusexw
1122
- # BOOL EnumServicesStatusExW(
1123
- # SC_HANDLE hSCManager,
1124
- # SC_ENUM_TYPE InfoLevel,
1125
- # DWORD dwServiceType,
1126
- # DWORD dwServiceState,
1127
- # LPBYTE lpServices,
1128
- # DWORD cbBufSize,
1129
- # LPDWORD pcbBytesNeeded,
1130
- # LPDWORD lpServicesReturned,
1131
- # LPDWORD lpResumeHandle,
1132
- # LPCWSTR pszGroupName
1133
- # );
1134
- SC_ENUM_TYPE = enum(
1135
- :SC_ENUM_PROCESS_INFO, 0,
1136
- )
1137
- ffi_lib :advapi32
1138
- attach_function_private :EnumServicesStatusExW,
1139
- [
1140
- :handle,
1141
- SC_ENUM_TYPE,
1142
- :dword,
1143
- :dword,
1144
- :lpbyte,
1145
- :dword,
1146
- :lpdword,
1147
- :lpdword,
1148
- :lpdword,
1149
- :lpcwstr
1150
- ], :win32_bool
1151
700
  end
1152
701
  end
@@ -74,15 +74,11 @@ module Puppet::Util::Windows
74
74
  string_to_sid_ptr(name) do |sid_ptr|
75
75
  raw_sid_bytes = sid_ptr.read_array_of_uchar(get_length_sid(sid_ptr))
76
76
  end
77
- rescue => e
78
- # Avoid debug logs pollution with valid account names
79
- # https://docs.microsoft.com/en-us/windows/win32/api/sddl/nf-sddl-convertstringsidtosidw#return-value
80
- Puppet.debug("Could not retrieve raw SID bytes from '#{name}': #{e.message}") unless e.code == ERROR_INVALID_SID_STRUCTURE
77
+ rescue
81
78
  end
82
79
 
83
80
  raw_sid_bytes ? Principal.lookup_account_sid(raw_sid_bytes) : Principal.lookup_account_name(name)
84
- rescue => e
85
- Puppet.debug("#{e.message}")
81
+ rescue
86
82
  (allow_unresolved && raw_sid_bytes) ? unresolved_principal(name, raw_sid_bytes) : nil
87
83
  end
88
84
  module_function :name_to_principal
@@ -1,16 +1,15 @@
1
- require 'puppet/util/windows'
1
+ module Puppet
2
+ module Util
3
+ module Windows
4
+ module String
5
+ def wide_string(str)
6
+ # if given a nil string, assume caller wants to pass a nil pointer to win32
7
+ return nil if str.nil?
2
8
 
3
- module Puppet::Util::Windows::String
4
- def wide_string(str)
5
- # if given a nil string, assume caller wants to pass a nil pointer to win32
6
- return nil if str.nil?
7
- # ruby (< 2.1) does not respect multibyte terminators, so it is possible
8
- # for a string to contain a single trailing null byte, followed by garbage
9
- # causing buffer overruns.
10
- #
11
- # See http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?revision=41920&view=revision
12
- newstr = str + "\0".encode(str.encoding)
13
- newstr.encode!('UTF-16LE')
9
+ str.encode('UTF-16LE')
10
+ end
11
+ module_function :wide_string
12
+ end
13
+ end
14
14
  end
15
- module_function :wide_string
16
15
  end
@@ -1,4 +1,6 @@
1
1
  require 'puppet/util/windows'
2
+
3
+ require 'facter'
2
4
  require 'ffi'
3
5
 
4
6
  module Puppet::Util::Windows::User
@@ -1,4 +1,5 @@
1
1
  require 'puppet/util/platform'
2
+
2
3
  module Puppet::Util::Windows
3
4
  module ADSI
4
5
  class ADSIObject; end
@@ -15,8 +16,6 @@ module Puppet::Util::Windows
15
16
  class EventLog; end
16
17
 
17
18
  if Puppet::Util::Platform.windows?
18
- require 'Win32API' # case matters in this require!
19
-
20
19
  # Note: Setting codepage here globally ensures all strings returned via
21
20
  # WIN32OLE (Ruby's late-bound COM support) are encoded in Encoding::UTF_8
22
21
  #
@@ -24,14 +23,9 @@ module Puppet::Util::Windows
24
23
  # to 2048 (at least on US English Windows) and is not listed in the MS
25
24
  # locales table, here: https://msdn.microsoft.com/en-us/library/ms912047(v=winembedded.10).aspx
26
25
  require 'win32ole' ; WIN32OLE.codepage = WIN32OLE::CP_UTF8
27
- # gems
28
- require 'win32/process'
29
- require 'puppet/util/windows/monkey_patches/dir'
30
- require 'win32/dir'
31
- require 'win32/service'
32
26
 
33
27
  # these reference platform specific gems
34
- require 'puppet/util/windows/api_types'
28
+ require 'puppet/ffi/windows'
35
29
  require 'puppet/util/windows/string'
36
30
  require 'puppet/util/windows/error'
37
31
  require 'puppet/util/windows/com'
@@ -49,5 +43,6 @@ module Puppet::Util::Windows
49
43
  require 'puppet/util/windows/registry'
50
44
  require 'puppet/util/windows/eventlog'
51
45
  require 'puppet/util/windows/service'
46
+ require 'puppet/util/windows/monkey_patches/process'
52
47
  end
53
48
  end
@@ -42,28 +42,6 @@ module Puppet::Util::Yaml
42
42
  safe_load(yaml, allowed_classes, filename)
43
43
  end
44
44
 
45
- # @deprecated Use {#safe_load_file} instead.
46
- def self.load_file(filename, default_value = false, strip_classes = false)
47
- Puppet.deprecation_warning(_("Puppet::Util::Yaml.load_file is deprecated. Use safe_load_file instead."))
48
-
49
- if(strip_classes) then
50
- data = YAML::parse_file(filename)
51
- data.root.each do |o|
52
- if o.respond_to?(:tag=) and
53
- o.tag != nil and
54
- o.tag.start_with?("!ruby")
55
- o.tag = nil
56
- end
57
- end
58
- data.to_ruby || default_value
59
- else
60
- yaml = YAML.load_file(filename)
61
- yaml || default_value
62
- end
63
- rescue *YamlLoadExceptions => detail
64
- raise YamlLoadError.new(detail.message, detail)
65
- end
66
-
67
45
  def self.dump(structure, filename)
68
46
  Puppet::FileSystem.replace_file(filename, 0660) do |fh|
69
47
  YAML.dump(structure, fh)
data/lib/puppet/util.rb CHANGED
@@ -763,13 +763,12 @@ module Util
763
763
  # Executes a block of code, wrapped around Facter.load_external(false) and
764
764
  # Facter.load_external(true) which will cause Facter to not evaluate external facts.
765
765
  def skip_external_facts
766
- return yield unless Puppet.runtime[:facter].load_external?
767
-
766
+ return yield unless Facter.respond_to? :load_external
768
767
  begin
769
- Puppet.runtime[:facter].load_external(false)
768
+ Facter.load_external(false)
770
769
  yield
771
770
  ensure
772
- Puppet.runtime[:facter].load_external(true)
771
+ Facter.load_external(true)
773
772
  end
774
773
  end
775
774
  module_function :skip_external_facts
@@ -2,4 +2,3 @@
2
2
  # Add one requirement per vendored package (or a comment if it is loaded on demand).
3
3
 
4
4
  # The vendored library 'rgen' is loaded on demand.
5
- # The vendored library 'pathspec' is loaded on demand.
@@ -6,7 +6,7 @@
6
6
  # Raketasks and such to set the version based on the output of `git describe`
7
7
 
8
8
  module Puppet
9
- PUPPETVERSION = '6.25.0'
9
+ PUPPETVERSION = '7.0.0'
10
10
 
11
11
  ##
12
12
  # version is a public API method intended to always provide a fast and