puppet 6.25.1-universal-darwin → 7.0.0-universal-darwin
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CODEOWNERS +16 -2
- data/CONTRIBUTING.md +5 -5
- data/Gemfile +3 -5
- data/Gemfile.lock +39 -51
- data/README.md +5 -5
- data/conf/fileserver.conf +5 -10
- data/ext/README.environment +8 -0
- data/ext/build_defaults.yaml +1 -1
- data/ext/dbfix.sql +132 -0
- data/ext/debian/README.Debian +8 -0
- data/ext/debian/README.source +2 -0
- data/ext/debian/TODO.Debian +1 -0
- data/ext/debian/changelog.erb +1122 -0
- data/ext/debian/compat +1 -0
- data/ext/debian/control +144 -0
- data/ext/debian/copyright +339 -0
- data/ext/debian/docs +1 -0
- data/ext/debian/fileserver.conf +41 -0
- data/ext/debian/puppet-common.dirs +13 -0
- data/ext/debian/puppet-common.install +3 -0
- data/ext/debian/puppet-common.lintian-overrides +5 -0
- data/ext/debian/puppet-common.manpages +28 -0
- data/ext/debian/puppet-common.postinst +35 -0
- data/ext/debian/puppet-common.postrm +33 -0
- data/ext/debian/puppet-el.dirs +1 -0
- data/ext/debian/puppet-el.emacsen-install +25 -0
- data/ext/debian/puppet-el.emacsen-remove +11 -0
- data/ext/debian/puppet-el.emacsen-startup +9 -0
- data/ext/debian/puppet-el.install +1 -0
- data/ext/debian/puppet-testsuite.install +2 -0
- data/ext/debian/puppet-testsuite.lintian-overrides +4 -0
- data/ext/debian/puppet.lintian-overrides +3 -0
- data/ext/debian/puppet.logrotate +20 -0
- data/ext/debian/puppet.postinst +20 -0
- data/ext/debian/puppet.postrm +20 -0
- data/ext/debian/puppet.preinst +20 -0
- data/ext/debian/puppetmaster-common.install +2 -0
- data/ext/debian/puppetmaster-common.manpages +2 -0
- data/ext/debian/puppetmaster-common.postinst +6 -0
- data/ext/debian/puppetmaster-passenger.dirs +4 -0
- data/ext/debian/puppetmaster-passenger.postinst +162 -0
- data/ext/debian/puppetmaster-passenger.postrm +61 -0
- data/ext/debian/puppetmaster.README.debian +17 -0
- data/ext/debian/puppetmaster.default +14 -0
- data/ext/debian/puppetmaster.init +137 -0
- data/ext/debian/puppetmaster.lintian-overrides +3 -0
- data/ext/debian/puppetmaster.postinst +20 -0
- data/ext/debian/puppetmaster.postrm +5 -0
- data/ext/debian/puppetmaster.preinst +22 -0
- data/ext/debian/rules +132 -0
- data/ext/debian/source/format +1 -0
- data/ext/debian/source/options +1 -0
- data/ext/debian/vim-puppet.README.Debian +13 -0
- data/ext/debian/vim-puppet.dirs +5 -0
- data/ext/debian/vim-puppet.yaml +7 -0
- data/ext/debian/watch +2 -0
- data/ext/freebsd/puppetd +26 -0
- data/ext/freebsd/puppetmasterd +26 -0
- data/ext/gentoo/conf.d/puppet +5 -0
- data/ext/gentoo/conf.d/puppetmaster +12 -0
- data/ext/gentoo/init.d/puppet +38 -0
- data/ext/gentoo/init.d/puppetmaster +51 -0
- data/ext/gentoo/puppet/fileserver.conf +41 -0
- data/ext/ips/puppet-agent +44 -0
- data/ext/ips/puppet-master +44 -0
- data/ext/ips/puppet.p5m.erb +12 -0
- data/ext/ips/puppetagent.xml +42 -0
- data/ext/ips/puppetmaster.xml +42 -0
- data/ext/ips/rules +19 -0
- data/ext/ips/transforms +34 -0
- data/ext/ldap/puppet.schema +24 -0
- data/ext/logcheck/puppet +23 -0
- data/{examples → ext}/nagios/check_puppet.rb +2 -2
- data/ext/osx/file_mapping.yaml +28 -0
- data/ext/osx/postflight.erb +109 -0
- data/ext/osx/preflight.erb +52 -0
- data/ext/osx/prototype.plist.erb +38 -0
- data/ext/osx/puppet.plist +0 -2
- data/ext/project_data.yaml +1 -15
- data/ext/redhat/fileserver.conf +41 -0
- data/ext/redhat/logrotate +21 -0
- data/ext/redhat/puppet.spec.erb +841 -0
- data/ext/redhat/server.init +128 -0
- data/ext/redhat/server.sysconfig +13 -0
- data/{examples/enc → ext}/regexp_nodes/classes/databases +0 -0
- data/{examples/enc → ext}/regexp_nodes/classes/webservers +0 -0
- data/{examples/enc → ext}/regexp_nodes/environment/development +0 -0
- data/{examples/enc → ext}/regexp_nodes/parameters/service/prod +0 -0
- data/{examples/enc → ext}/regexp_nodes/parameters/service/qa +0 -0
- data/{examples/enc → ext}/regexp_nodes/parameters/service/sandbox +0 -0
- data/{examples/enc → ext}/regexp_nodes/regexp_nodes.rb +0 -0
- data/ext/solaris/pkginfo +6 -0
- data/ext/solaris/smf/puppetd.xml +77 -0
- data/ext/solaris/smf/puppetmasterd.xml +77 -0
- data/ext/solaris/smf/svc-puppetd +71 -0
- data/ext/solaris/smf/svc-puppetmasterd +67 -0
- data/ext/suse/puppet.spec +310 -0
- data/ext/suse/server.init +173 -0
- data/ext/windows/service/daemon.rb +6 -5
- data/ext/yaml_nodes.rb +105 -0
- data/install.rb +21 -17
- data/lib/puppet/application/agent.rb +4 -16
- data/lib/puppet/application/apply.rb +4 -24
- data/lib/puppet/application/device.rb +100 -106
- data/lib/puppet/application/filebucket.rb +13 -10
- data/lib/puppet/application/resource.rb +16 -32
- data/lib/puppet/application/script.rb +0 -2
- data/lib/puppet/application/ssl.rb +1 -13
- data/lib/puppet/application.rb +178 -108
- data/lib/puppet/application_support.rb +0 -7
- data/lib/puppet/concurrent/thread_local_singleton.rb +0 -1
- data/lib/puppet/configurer/downloader.rb +1 -2
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/configurer.rb +86 -189
- data/lib/puppet/confine/variable.rb +1 -1
- data/lib/puppet/defaults.rb +128 -232
- data/lib/puppet/environments.rb +82 -146
- data/lib/puppet/face/facts.rb +5 -103
- data/lib/puppet/face/help/action.erb +0 -1
- data/lib/puppet/face/help/face.erb +0 -1
- data/lib/puppet/face/help.rb +1 -1
- data/lib/puppet/face/node/clean.rb +0 -11
- data/lib/puppet/face/plugin.rb +5 -8
- data/lib/puppet/ffi/windows/api_types.rb +311 -0
- data/lib/puppet/ffi/windows/constants.rb +404 -0
- data/lib/puppet/ffi/windows/functions.rb +628 -0
- data/lib/puppet/ffi/windows/structs.rb +338 -0
- data/lib/puppet/ffi/windows.rb +12 -0
- data/lib/puppet/file_serving/configuration/parser.rb +3 -34
- data/lib/puppet/file_serving/configuration.rb +0 -8
- data/lib/puppet/file_serving/fileset.rb +2 -14
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/mount/file.rb +4 -4
- data/lib/puppet/file_serving/mount.rb +1 -2
- data/lib/puppet/file_system/file_impl.rb +1 -3
- data/lib/puppet/file_system/memory_file.rb +1 -8
- data/lib/puppet/file_system/windows.rb +2 -4
- data/lib/puppet/forge/repository.rb +0 -1
- data/lib/puppet/forge.rb +4 -4
- data/lib/puppet/functions/all.rb +1 -1
- data/lib/puppet/functions/camelcase.rb +1 -1
- data/lib/puppet/functions/capitalize.rb +2 -2
- data/lib/puppet/functions/downcase.rb +2 -2
- data/lib/puppet/functions/empty.rb +0 -8
- data/lib/puppet/functions/find_template.rb +2 -2
- data/lib/puppet/functions/get.rb +5 -5
- data/lib/puppet/functions/group_by.rb +5 -13
- data/lib/puppet/functions/lest.rb +1 -1
- data/lib/puppet/functions/new.rb +100 -100
- data/lib/puppet/functions/partition.rb +4 -12
- data/lib/puppet/functions/require.rb +5 -5
- data/lib/puppet/functions/sort.rb +3 -3
- data/lib/puppet/functions/strftime.rb +0 -1
- data/lib/puppet/functions/tree_each.rb +9 -7
- data/lib/puppet/functions/type.rb +4 -4
- data/lib/puppet/functions/unwrap.rb +2 -17
- data/lib/puppet/functions/upcase.rb +2 -2
- data/lib/puppet/generate/models/type/type.rb +4 -1
- data/lib/puppet/http/client.rb +165 -115
- data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
- data/lib/puppet/http/errors.rb +16 -0
- data/lib/puppet/http/external_client.rb +5 -7
- data/lib/puppet/{network/http → http}/factory.rb +8 -15
- data/lib/puppet/{network/http → http}/pool.rb +61 -26
- data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
- data/lib/puppet/http/proxy.rb +137 -0
- data/lib/puppet/http/redirector.rb +4 -17
- data/lib/puppet/http/resolver/server_list.rb +10 -25
- data/lib/puppet/http/resolver/settings.rb +4 -7
- data/lib/puppet/http/resolver/srv.rb +7 -11
- data/lib/puppet/http/resolver.rb +5 -15
- data/lib/puppet/http/response.rb +36 -54
- data/lib/puppet/http/response_converter.rb +24 -0
- data/lib/puppet/http/response_net_http.rb +42 -0
- data/lib/puppet/http/retry_after_handler.rb +4 -13
- data/lib/puppet/http/service/ca.rb +11 -22
- data/lib/puppet/http/service/compiler.rb +23 -144
- data/lib/puppet/http/service/file_server.rb +19 -29
- data/lib/puppet/http/service/puppetserver.rb +26 -12
- data/lib/puppet/http/service/report.rb +8 -10
- data/lib/puppet/http/service.rb +12 -26
- data/lib/puppet/http/session.rb +11 -20
- data/lib/puppet/{network/http → http}/site.rb +1 -2
- data/lib/puppet/http.rb +22 -13
- data/lib/puppet/indirector/catalog/compiler.rb +6 -25
- data/lib/puppet/indirector/catalog/rest.rb +2 -5
- data/lib/puppet/indirector/facts/facter.rb +6 -6
- data/lib/puppet/indirector/facts/rest.rb +3 -22
- data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
- data/lib/puppet/indirector/file_content/rest.rb +2 -6
- data/lib/puppet/indirector/file_metadata/rest.rb +3 -10
- data/lib/puppet/indirector/file_server.rb +1 -8
- data/lib/puppet/indirector/generic_http.rb +0 -11
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/node/rest.rb +2 -4
- data/lib/puppet/indirector/report/rest.rb +3 -8
- data/lib/puppet/indirector/request.rb +0 -101
- data/lib/puppet/indirector/resource/ral.rb +1 -6
- data/lib/puppet/indirector/rest.rb +12 -263
- data/lib/puppet/indirector/terminus.rb +0 -4
- data/lib/puppet/interface/documentation.rb +0 -1
- data/lib/puppet/module/plan.rb +1 -0
- data/lib/puppet/module/task.rb +1 -1
- data/lib/puppet/module.rb +0 -1
- data/lib/puppet/module_tool/applications/installer.rb +2 -56
- data/lib/puppet/module_tool/applications/uninstaller.rb +1 -1
- data/lib/puppet/module_tool/applications/upgrader.rb +1 -1
- data/lib/puppet/module_tool/applications.rb +0 -1
- data/lib/puppet/module_tool/errors/shared.rb +2 -34
- data/lib/puppet/network/authconfig.rb +2 -96
- data/lib/puppet/network/authorization.rb +13 -35
- data/lib/puppet/network/formats.rb +0 -67
- data/lib/puppet/network/http/api/indirected_routes.rb +3 -21
- data/lib/puppet/network/http/api/master/v3.rb +11 -13
- data/lib/puppet/network/http/connection.rb +247 -316
- data/lib/puppet/network/http/handler.rb +0 -1
- data/lib/puppet/network/http.rb +3 -3
- data/lib/puppet/network/http_pool.rb +16 -34
- data/lib/puppet/node/environment.rb +11 -10
- data/lib/puppet/node.rb +1 -30
- data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
- data/lib/puppet/pal/pal_impl.rb +4 -2
- data/lib/puppet/parser/ast/leaf.rb +2 -3
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
- data/lib/puppet/parser/compiler.rb +0 -198
- data/lib/puppet/parser/functions/fqdn_rand.rb +6 -14
- data/lib/puppet/parser/resource.rb +1 -70
- data/lib/puppet/parser/scope.rb +0 -1
- data/lib/puppet/parser/templatewrapper.rb +1 -2
- data/lib/puppet/pops/evaluator/closure.rb +5 -7
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +3 -5
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -4
- data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
- data/lib/puppet/pops/issues.rb +0 -5
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
- data/lib/puppet/pops/lookup/lookup_adapter.rb +2 -3
- data/lib/puppet/pops/model/ast.pp +0 -42
- data/lib/puppet/pops/model/ast.rb +0 -291
- data/lib/puppet/pops/model/ast_transformer.rb +1 -1
- data/lib/puppet/pops/model/factory.rb +1 -47
- data/lib/puppet/pops/model/model_label_provider.rb +0 -5
- data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
- data/lib/puppet/pops/model/pn_transformer.rb +0 -16
- data/lib/puppet/pops/parser/egrammar.ra +0 -56
- data/lib/puppet/pops/parser/eparser.rb +1691 -1883
- data/lib/puppet/pops/parser/lexer2.rb +91 -92
- data/lib/puppet/pops/parser/parser_support.rb +0 -5
- data/lib/puppet/pops/parser/slurp_support.rb +0 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
- data/lib/puppet/pops/serialization/to_data_converter.rb +6 -18
- data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
- data/lib/puppet/pops/types/p_sem_ver_type.rb +2 -8
- data/lib/puppet/pops/types/p_sensitive_type.rb +0 -10
- data/lib/puppet/pops/types/type_calculator.rb +0 -7
- data/lib/puppet/pops/types/type_formatter.rb +3 -4
- data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
- data/lib/puppet/pops/types/type_parser.rb +0 -4
- data/lib/puppet/pops/types/types.rb +1 -2
- data/lib/puppet/pops/validation/checker4_0.rb +9 -37
- data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
- data/lib/puppet/property/list.rb +1 -1
- data/lib/puppet/provider/aix_object.rb +1 -1
- data/lib/puppet/provider/exec/posix.rb +4 -16
- data/lib/puppet/provider/group/groupadd.rb +10 -18
- data/lib/puppet/provider/nameservice.rb +0 -18
- data/lib/puppet/provider/package/apt.rb +2 -34
- data/lib/puppet/provider/package/aptitude.rb +0 -6
- data/lib/puppet/provider/package/dnfmodule.rb +1 -1
- data/lib/puppet/provider/package/dpkg.rb +0 -10
- data/lib/puppet/provider/package/gem.rb +23 -3
- data/lib/puppet/provider/package/nim.rb +6 -11
- data/lib/puppet/provider/package/pip.rb +3 -16
- data/lib/puppet/provider/package/pkg.rb +2 -23
- data/lib/puppet/provider/package/portage.rb +1 -1
- data/lib/puppet/provider/package/puppet_gem.rb +1 -4
- data/lib/puppet/provider/package/puppetserver_gem.rb +1 -1
- data/lib/puppet/provider/package/yum.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +0 -3
- data/lib/puppet/provider/service/base.rb +1 -1
- data/lib/puppet/provider/service/debian.rb +0 -2
- data/lib/puppet/provider/service/init.rb +5 -5
- data/lib/puppet/provider/service/launchd.rb +2 -2
- data/lib/puppet/provider/service/redhat.rb +1 -1
- data/lib/puppet/provider/service/smf.rb +194 -76
- data/lib/puppet/provider/service/systemd.rb +6 -16
- data/lib/puppet/provider/service/upstart.rb +5 -5
- data/lib/puppet/provider/service/windows.rb +0 -38
- data/lib/puppet/provider/user/aix.rb +3 -46
- data/lib/puppet/provider/user/directoryservice.rb +11 -34
- data/lib/puppet/provider/user/useradd.rb +24 -134
- data/lib/puppet/provider.rb +1 -14
- data/lib/puppet/reference/configuration.rb +8 -7
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/reference/providers.rb +2 -2
- data/lib/puppet/resource/catalog.rb +2 -15
- data/lib/puppet/resource/type.rb +3 -119
- data/lib/puppet/resource/type_collection.rb +3 -49
- data/lib/puppet/resource.rb +6 -127
- data/lib/puppet/runtime.rb +2 -13
- data/lib/puppet/settings/environment_conf.rb +0 -1
- data/lib/puppet/settings/integer_setting.rb +17 -0
- data/lib/puppet/settings/port_setting.rb +15 -0
- data/lib/puppet/settings/priority_setting.rb +5 -4
- data/lib/puppet/settings.rb +82 -98
- data/lib/puppet/ssl/base.rb +3 -5
- data/lib/puppet/ssl/certificate.rb +0 -6
- data/lib/puppet/ssl/certificate_request.rb +1 -12
- data/lib/puppet/ssl/certificate_signer.rb +6 -0
- data/lib/puppet/ssl/oids.rb +3 -1
- data/lib/puppet/ssl/ssl_provider.rb +17 -0
- data/lib/puppet/ssl/state_machine.rb +3 -1
- data/lib/puppet/ssl/verifier.rb +2 -0
- data/lib/puppet/ssl.rb +10 -6
- data/lib/puppet/test/test_helper.rb +2 -7
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/persistence.rb +1 -11
- data/lib/puppet/transaction/report.rb +3 -19
- data/lib/puppet/transaction.rb +1 -7
- data/lib/puppet/type/exec.rb +5 -35
- data/lib/puppet/type/file/checksum.rb +1 -1
- data/lib/puppet/type/file/mode.rb +0 -6
- data/lib/puppet/type/file/selcontext.rb +1 -1
- data/lib/puppet/type/file/source.rb +1 -1
- data/lib/puppet/type/file.rb +12 -32
- data/lib/puppet/type/filebucket.rb +4 -4
- data/lib/puppet/type/group.rb +1 -0
- data/lib/puppet/type/package.rb +8 -16
- data/lib/puppet/type/resources.rb +1 -1
- data/lib/puppet/type/service.rb +41 -26
- data/lib/puppet/type/tidy.rb +3 -22
- data/lib/puppet/type/user.rb +21 -38
- data/lib/puppet/type.rb +1 -77
- data/lib/puppet/util/autoload.rb +8 -1
- data/lib/puppet/util/command_line.rb +1 -1
- data/lib/puppet/util/execution.rb +0 -11
- data/lib/puppet/util/filetype.rb +2 -2
- data/lib/puppet/util/http_proxy.rb +2 -215
- data/lib/puppet/util/json.rb +0 -3
- data/lib/puppet/util/log.rb +2 -1
- data/lib/puppet/util/logging.rb +25 -1
- data/lib/puppet/util/monkey_patches.rb +0 -53
- data/lib/puppet/util/pidlock.rb +1 -1
- data/lib/puppet/util/posix.rb +5 -54
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
- data/lib/puppet/util/rdoc.rb +0 -7
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/run_mode.rb +9 -1
- data/lib/puppet/util/selinux.rb +4 -30
- data/lib/puppet/util/suidmanager.rb +2 -1
- data/lib/puppet/util/symbolic_file_mode.rb +17 -29
- data/lib/puppet/util/tagging.rb +0 -1
- data/lib/puppet/util/windows/adsi.rb +0 -46
- data/lib/puppet/util/windows/daemon.rb +360 -0
- data/lib/puppet/util/windows/error.rb +1 -0
- data/lib/puppet/util/windows/eventlog.rb +4 -9
- data/lib/puppet/util/windows/file.rb +8 -242
- data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
- data/lib/puppet/util/windows/principal.rb +2 -9
- data/lib/puppet/util/windows/process.rb +4 -226
- data/lib/puppet/util/windows/service.rb +11 -457
- data/lib/puppet/util/windows/sid.rb +2 -6
- data/lib/puppet/util/windows/string.rb +12 -13
- data/lib/puppet/util/windows/user.rb +2 -0
- data/lib/puppet/util/windows.rb +3 -11
- data/lib/puppet/util/yaml.rb +0 -22
- data/lib/puppet/util.rb +3 -4
- data/lib/puppet/vendor/require_vendored.rb +0 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet/x509/cert_provider.rb +29 -1
- data/lib/puppet/x509.rb +5 -1
- data/lib/puppet.rb +20 -25
- data/locales/puppet.pot +816 -1637
- data/man/man5/puppet.conf.5 +286 -382
- data/man/man8/puppet-agent.8 +2 -5
- data/man/man8/puppet-apply.8 +2 -2
- data/man/man8/puppet-catalog.8 +9 -9
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +2 -2
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +8 -51
- data/man/man8/puppet-filebucket.8 +4 -4
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-module.8 +3 -60
- data/man/man8/puppet-node.8 +5 -5
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +5 -5
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +2 -2
- data/man/man8/puppet-ssl.8 +1 -5
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/ssl/127.0.0.1-key.pem +57 -107
- data/spec/fixtures/ssl/127.0.0.1.pem +31 -52
- data/spec/fixtures/ssl/bad-basic-constraints.pem +35 -57
- data/spec/fixtures/ssl/bad-int-basic-constraints.pem +35 -57
- data/spec/fixtures/ssl/ca.pem +35 -57
- data/spec/fixtures/ssl/crl.pem +18 -28
- data/spec/fixtures/ssl/ec-key.pem +11 -11
- data/spec/fixtures/ssl/ec.pem +24 -33
- data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
- data/spec/fixtures/ssl/encrypted-key.pem +58 -108
- data/spec/fixtures/ssl/intermediate-agent-crl.pem +19 -28
- data/spec/fixtures/ssl/intermediate-agent.pem +36 -57
- data/spec/fixtures/ssl/intermediate-crl.pem +21 -31
- data/spec/fixtures/ssl/intermediate.pem +36 -57
- data/spec/fixtures/ssl/pluto-key.pem +57 -107
- data/spec/fixtures/ssl/pluto.pem +30 -52
- data/spec/fixtures/ssl/request-key.pem +57 -107
- data/spec/fixtures/ssl/request.pem +26 -47
- data/spec/fixtures/ssl/revoked-key.pem +57 -107
- data/spec/fixtures/ssl/revoked.pem +30 -52
- data/spec/fixtures/ssl/signed-key.pem +57 -107
- data/spec/fixtures/ssl/signed.pem +30 -52
- data/spec/fixtures/ssl/tampered-cert.pem +30 -52
- data/spec/fixtures/ssl/tampered-csr.pem +26 -47
- data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +57 -107
- data/spec/fixtures/ssl/unknown-127.0.0.1.pem +29 -50
- data/spec/fixtures/ssl/unknown-ca-key.pem +57 -107
- data/spec/fixtures/ssl/unknown-ca.pem +33 -55
- data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
- data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -4
- data/spec/integration/application/agent_spec.rb +51 -299
- data/spec/integration/application/apply_spec.rb +1 -20
- data/spec/integration/application/filebucket_spec.rb +16 -32
- data/spec/integration/application/help_spec.rb +2 -0
- data/spec/integration/application/module_spec.rb +0 -21
- data/spec/integration/application/plugin_spec.rb +24 -2
- data/spec/integration/configurer_spec.rb +2 -18
- data/spec/integration/defaults_spec.rb +14 -3
- data/spec/integration/environments/settings_interpolation_spec.rb +4 -0
- data/spec/integration/http/client_spec.rb +0 -12
- data/spec/integration/indirector/direct_file_server_spec.rb +3 -1
- data/spec/integration/indirector/facts/facter_spec.rb +39 -93
- data/spec/integration/network/http_pool_spec.rb +3 -21
- data/spec/integration/parser/catalog_spec.rb +0 -38
- data/spec/integration/parser/node_spec.rb +0 -9
- data/spec/integration/parser/pcore_resource_spec.rb +0 -47
- data/spec/integration/resource/type_collection_spec.rb +6 -2
- data/spec/integration/transaction/report_spec.rb +1 -1
- data/spec/integration/transaction_spec.rb +9 -4
- data/spec/integration/type/exec_spec.rb +45 -70
- data/spec/integration/type/file_spec.rb +7 -6
- data/spec/integration/type/package_spec.rb +6 -6
- data/spec/integration/util/rdoc/parser_spec.rb +1 -1
- data/spec/integration/util/windows/adsi_spec.rb +1 -21
- data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
- data/spec/integration/util/windows/principal_spec.rb +0 -21
- data/spec/integration/util/windows/process_spec.rb +9 -1
- data/spec/integration/util/windows/registry_spec.rb +10 -6
- data/spec/integration/util/windows/security_spec.rb +1 -1
- data/spec/lib/matchers/include.rb +27 -0
- data/spec/lib/matchers/include_spec.rb +32 -0
- data/spec/lib/puppet/test_ca.rb +2 -7
- data/spec/lib/puppet_spec/modules.rb +2 -13
- data/spec/lib/puppet_spec/puppetserver.rb +1 -16
- data/spec/lib/puppet_spec/settings.rb +1 -1
- data/spec/shared_behaviours/documentation_on_faces.rb +2 -0
- data/spec/spec_helper.rb +17 -13
- data/spec/unit/agent_spec.rb +6 -10
- data/spec/unit/application/agent_spec.rb +3 -7
- data/spec/unit/application/apply_spec.rb +56 -76
- data/spec/unit/application/facts_spec.rb +12 -456
- data/spec/unit/application/filebucket_spec.rb +43 -39
- data/spec/unit/application/resource_spec.rb +0 -29
- data/spec/unit/application/ssl_spec.rb +2 -25
- data/spec/unit/application_spec.rb +9 -51
- data/spec/unit/certificate_factory_spec.rb +1 -1
- data/spec/unit/configurer/downloader_spec.rb +6 -8
- data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
- data/spec/unit/configurer_spec.rb +68 -264
- data/spec/unit/confine/feature_spec.rb +1 -1
- data/spec/unit/confine_spec.rb +2 -8
- data/spec/unit/context/trusted_information_spec.rb +2 -6
- data/spec/unit/defaults_spec.rb +68 -55
- data/spec/unit/environments_spec.rb +68 -408
- data/spec/unit/face/node_spec.rb +11 -0
- data/spec/unit/face/plugin_spec.rb +73 -33
- data/spec/unit/file_bucket/dipper_spec.rb +2 -2
- data/spec/unit/file_bucket/file_spec.rb +1 -1
- data/spec/unit/file_serving/configuration/parser_spec.rb +15 -41
- data/spec/unit/file_serving/configuration_spec.rb +10 -26
- data/spec/unit/file_serving/fileset_spec.rb +0 -60
- data/spec/unit/file_serving/metadata_spec.rb +3 -3
- data/spec/unit/file_serving/terminus_helper_spec.rb +4 -11
- data/spec/unit/file_system_spec.rb +0 -22
- data/spec/unit/forge/module_release_spec.rb +7 -2
- data/spec/unit/functions/assert_type_spec.rb +1 -1
- data/spec/unit/functions/camelcase_spec.rb +1 -1
- data/spec/unit/functions/capitalize_spec.rb +1 -1
- data/spec/unit/functions/downcase_spec.rb +1 -1
- data/spec/unit/functions/empty_spec.rb +0 -10
- data/spec/unit/functions/logging_spec.rb +0 -1
- data/spec/unit/functions/lookup_spec.rb +0 -64
- data/spec/unit/functions/unwrap_spec.rb +0 -8
- data/spec/unit/functions/upcase_spec.rb +1 -1
- data/spec/unit/functions4_spec.rb +2 -2
- data/spec/unit/gettext/config_spec.rb +0 -12
- data/spec/unit/http/client_spec.rb +8 -66
- data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
- data/spec/unit/http/external_client_spec.rb +4 -4
- data/spec/unit/{network/http → http}/factory_spec.rb +5 -30
- data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
- data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
- data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
- data/spec/unit/http/resolver_spec.rb +13 -13
- data/spec/unit/http/service/compiler_spec.rb +0 -193
- data/spec/unit/http/service/file_server_spec.rb +3 -3
- data/spec/unit/http/service/puppetserver_spec.rb +34 -4
- data/spec/unit/http/service_spec.rb +0 -1
- data/spec/unit/http/session_spec.rb +16 -14
- data/spec/unit/{network/http → http}/site_spec.rb +3 -3
- data/spec/unit/indirector/catalog/compiler_spec.rb +10 -101
- data/spec/unit/indirector/catalog/rest_spec.rb +0 -8
- data/spec/unit/indirector/face_spec.rb +1 -0
- data/spec/unit/indirector/facts/facter_spec.rb +3 -0
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
- data/spec/unit/indirector/file_bucket_file/selector_spec.rb +8 -26
- data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_server_spec.rb +1 -15
- data/spec/unit/indirector/indirection_spec.rb +15 -18
- data/spec/unit/indirector/report/rest_spec.rb +2 -17
- data/spec/unit/indirector/request_spec.rb +0 -264
- data/spec/unit/indirector/resource/ral_spec.rb +75 -40
- data/spec/unit/indirector/rest_spec.rb +98 -752
- data/spec/unit/indirector/store_configs_spec.rb +7 -0
- data/spec/unit/indirector_spec.rb +2 -2
- data/spec/unit/interface/action_spec.rb +9 -0
- data/spec/unit/module_spec.rb +1 -15
- data/spec/unit/module_tool/applications/installer_spec.rb +0 -105
- data/spec/unit/network/authconfig_spec.rb +2 -129
- data/spec/unit/network/authorization_spec.rb +2 -55
- data/spec/unit/network/formats_spec.rb +4 -51
- data/spec/unit/network/http/api/indirected_routes_spec.rb +5 -92
- data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
- data/spec/unit/network/http/api_spec.rb +10 -0
- data/spec/unit/network/http/connection_spec.rb +19 -41
- data/spec/unit/network/http/handler_spec.rb +0 -1
- data/spec/unit/network/http_pool_spec.rb +0 -4
- data/spec/unit/node/environment_spec.rb +33 -21
- data/spec/unit/node_spec.rb +2 -54
- data/spec/unit/parser/compiler_spec.rb +19 -3
- data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +1 -15
- data/spec/unit/parser/resource_spec.rb +8 -14
- data/spec/unit/parser/templatewrapper_spec.rb +5 -16
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
- data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
- data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
- data/spec/unit/pops/parser/parse_containers_spec.rb +11 -0
- data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -59
- data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -5
- data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -18
- data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -18
- data/spec/unit/pops/types/type_calculator_spec.rb +6 -12
- data/spec/unit/pops/types/type_factory_spec.rb +1 -1
- data/spec/unit/pops/validator/validator_spec.rb +61 -46
- data/spec/unit/pops/visitor_spec.rb +1 -1
- data/spec/unit/property_spec.rb +0 -1
- data/spec/unit/provider/group/groupadd_spec.rb +2 -5
- data/spec/unit/provider/nameservice_spec.rb +64 -122
- data/spec/unit/provider/package/apt_spec.rb +23 -28
- data/spec/unit/provider/package/aptitude_spec.rb +1 -1
- data/spec/unit/provider/package/base_spec.rb +5 -6
- data/spec/unit/provider/package/dnfmodule_spec.rb +1 -10
- data/spec/unit/provider/package/dpkg_spec.rb +0 -48
- data/spec/unit/provider/package/gem_spec.rb +33 -1
- data/spec/unit/provider/package/nim_spec.rb +0 -42
- data/spec/unit/provider/package/pacman_spec.rb +12 -18
- data/spec/unit/provider/package/pip2_spec.rb +1 -1
- data/spec/unit/provider/package/pip3_spec.rb +1 -1
- data/spec/unit/provider/package/pip_spec.rb +12 -44
- data/spec/unit/provider/package/pkg_spec.rb +4 -29
- data/spec/unit/provider/package/pkgdmg_spec.rb +4 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +4 -3
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +1 -1
- data/spec/unit/provider/parsedfile_spec.rb +0 -10
- data/spec/unit/provider/service/init_spec.rb +0 -1
- data/spec/unit/provider/service/launchd_spec.rb +0 -11
- data/spec/unit/provider/service/openwrt_spec.rb +1 -3
- data/spec/unit/provider/service/smf_spec.rb +401 -165
- data/spec/unit/provider/service/systemd_spec.rb +9 -54
- data/spec/unit/provider/service/windows_spec.rb +0 -203
- data/spec/unit/provider/user/aix_spec.rb +0 -105
- data/spec/unit/provider/user/directoryservice_spec.rb +36 -68
- data/spec/unit/provider/user/hpux_spec.rb +1 -1
- data/spec/unit/provider/user/pw_spec.rb +0 -2
- data/spec/unit/provider/user/useradd_spec.rb +5 -114
- data/spec/unit/provider_spec.rb +12 -22
- data/spec/unit/puppet_spec.rb +4 -12
- data/spec/unit/resource/catalog_spec.rb +2 -15
- data/spec/unit/resource/type_collection_spec.rb +2 -22
- data/spec/unit/resource/type_spec.rb +1 -1
- data/spec/unit/resource_spec.rb +12 -125
- data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
- data/spec/unit/settings/integer_setting_spec.rb +42 -0
- data/spec/unit/settings/port_setting_spec.rb +31 -0
- data/spec/unit/settings/priority_setting_spec.rb +4 -4
- data/spec/unit/settings_spec.rb +79 -110
- data/spec/unit/ssl/base_spec.rb +37 -3
- data/spec/unit/ssl/certificate_request_spec.rb +21 -45
- data/spec/unit/ssl/certificate_spec.rb +2 -11
- data/spec/unit/ssl/ssl_provider_spec.rb +2 -5
- data/spec/unit/ssl/state_machine_spec.rb +5 -20
- data/spec/unit/ssl/verifier_spec.rb +0 -21
- data/spec/unit/transaction/additional_resource_generator_spec.rb +9 -3
- data/spec/unit/transaction/event_manager_spec.rb +11 -14
- data/spec/unit/transaction/report_spec.rb +0 -2
- data/spec/unit/transaction/resource_harness_spec.rb +2 -2
- data/spec/unit/transaction_spec.rb +55 -96
- data/spec/unit/type/exec_spec.rb +29 -76
- data/spec/unit/type/file/checksum_spec.rb +6 -6
- data/spec/unit/type/file/content_spec.rb +2 -1
- data/spec/unit/type/file/ensure_spec.rb +1 -1
- data/spec/unit/type/file/mode_spec.rb +1 -1
- data/spec/unit/type/file/selinux_spec.rb +5 -3
- data/spec/unit/type/file/source_spec.rb +4 -5
- data/spec/unit/type/file_spec.rb +18 -6
- data/spec/unit/type/group_spec.rb +6 -13
- data/spec/unit/type/package_spec.rb +1 -1
- data/spec/unit/type/resources_spec.rb +7 -7
- data/spec/unit/type/service_spec.rb +189 -87
- data/spec/unit/type/tidy_spec.rb +8 -24
- data/spec/unit/type/user_spec.rb +0 -45
- data/spec/unit/type_spec.rb +24 -4
- data/spec/unit/util/at_fork_spec.rb +2 -2
- data/spec/unit/util/autoload_spec.rb +1 -5
- data/spec/unit/util/backups_spec.rb +2 -3
- data/spec/unit/util/execution_spec.rb +11 -44
- data/spec/unit/util/inifile_spec.rb +14 -6
- data/spec/unit/util/log_spec.rb +7 -8
- data/spec/unit/util/logging_spec.rb +3 -5
- data/spec/unit/util/monkey_patches_spec.rb +0 -6
- data/spec/unit/util/posix_spec.rb +15 -363
- data/spec/unit/util/run_mode_spec.rb +21 -121
- data/spec/unit/util/selinux_spec.rb +68 -163
- data/spec/unit/util/storage_spec.rb +1 -3
- data/spec/unit/util/suidmanager_spec.rb +41 -44
- data/spec/unit/util/windows/sid_spec.rb +0 -41
- data/spec/unit/util/windows/string_spec.rb +1 -3
- data/spec/unit/util/yaml_spec.rb +0 -54
- data/spec/unit/util_spec.rb +6 -31
- data/tasks/generate_cert_fixtures.rake +3 -12
- data/tasks/parallel.rake +3 -3
- metadata +137 -226
- data/conf/auth.conf +0 -150
- data/ext/README.md +0 -13
- data/lib/puppet/application/cert.rb +0 -76
- data/lib/puppet/application/key.rb +0 -4
- data/lib/puppet/application/man.rb +0 -4
- data/lib/puppet/application/status.rb +0 -4
- data/lib/puppet/face/key.rb +0 -16
- data/lib/puppet/face/man.rb +0 -145
- data/lib/puppet/face/module/build.rb +0 -14
- data/lib/puppet/face/module/generate.rb +0 -14
- data/lib/puppet/face/module/search.rb +0 -103
- data/lib/puppet/face/status.rb +0 -51
- data/lib/puppet/facter_impl.rb +0 -96
- data/lib/puppet/ffi/posix/constants.rb +0 -14
- data/lib/puppet/ffi/posix/functions.rb +0 -24
- data/lib/puppet/ffi/posix.rb +0 -10
- data/lib/puppet/file_serving/mount/scripts.rb +0 -24
- data/lib/puppet/indirector/certificate/file.rb +0 -9
- data/lib/puppet/indirector/certificate/rest.rb +0 -18
- data/lib/puppet/indirector/certificate_request/file.rb +0 -9
- data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
- data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
- data/lib/puppet/indirector/file_content/http.rb +0 -22
- data/lib/puppet/indirector/key/file.rb +0 -46
- data/lib/puppet/indirector/key/memory.rb +0 -7
- data/lib/puppet/indirector/ssl_file.rb +0 -162
- data/lib/puppet/indirector/status/local.rb +0 -12
- data/lib/puppet/indirector/status/rest.rb +0 -27
- data/lib/puppet/indirector/status.rb +0 -3
- data/lib/puppet/module_tool/applications/searcher.rb +0 -29
- data/lib/puppet/network/auth_config_parser.rb +0 -90
- data/lib/puppet/network/authstore.rb +0 -283
- data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
- data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
- data/lib/puppet/network/http/base_pool.rb +0 -36
- data/lib/puppet/network/http/compression.rb +0 -127
- data/lib/puppet/network/http/connection_adapter.rb +0 -184
- data/lib/puppet/network/http/nocache_pool.rb +0 -28
- data/lib/puppet/network/rest_controller.rb +0 -2
- data/lib/puppet/network/rights.rb +0 -210
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
- data/lib/puppet/parser/environment_compiler.rb +0 -202
- data/lib/puppet/pops/types/enumeration.rb +0 -16
- data/lib/puppet/resource/capability_finder.rb +0 -154
- data/lib/puppet/rest/errors.rb +0 -15
- data/lib/puppet/rest/response.rb +0 -35
- data/lib/puppet/rest/route.rb +0 -85
- data/lib/puppet/rest/routes.rb +0 -135
- data/lib/puppet/settings/alias_setting.rb +0 -37
- data/lib/puppet/ssl/host.rb +0 -505
- data/lib/puppet/ssl/key.rb +0 -61
- data/lib/puppet/ssl/validator/default_validator.rb +0 -209
- data/lib/puppet/ssl/validator/no_validator.rb +0 -22
- data/lib/puppet/ssl/validator.rb +0 -61
- data/lib/puppet/ssl/verifier_adapter.rb +0 -58
- data/lib/puppet/status.rb +0 -40
- data/lib/puppet/util/connection.rb +0 -88
- data/lib/puppet/util/fact_dif.rb +0 -81
- data/lib/puppet/util/ssl.rb +0 -83
- data/lib/puppet/util/windows/api_types.rb +0 -309
- data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
- data/lib/puppet/vendor/load_pathspec.rb +0 -1
- data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
- data/lib/puppet/vendor/pathspec/LICENSE +0 -201
- data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
- data/lib/puppet/vendor/pathspec/README.md +0 -53
- data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
- data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
- data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
- data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
- data/man/man8/puppet-key.8 +0 -126
- data/man/man8/puppet-man.8 +0 -76
- data/man/man8/puppet-status.8 +0 -108
- data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -92
- data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
- data/spec/fixtures/ssl/oid-key.pem +0 -117
- data/spec/fixtures/ssl/oid.pem +0 -69
- data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
- data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
- data/spec/integration/application/resource_spec.rb +0 -64
- data/spec/integration/application/ssl_spec.rb +0 -20
- data/spec/integration/l10n/compiler_spec.rb +0 -37
- data/spec/integration/network/authconfig_spec.rb +0 -256
- data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
- data/spec/shared_contexts/l10n.rb +0 -27
- data/spec/unit/application/man_spec.rb +0 -52
- data/spec/unit/capability_spec.rb +0 -414
- data/spec/unit/face/key_spec.rb +0 -9
- data/spec/unit/face/module/search_spec.rb +0 -231
- data/spec/unit/face/status_spec.rb +0 -9
- data/spec/unit/facter_impl_spec.rb +0 -31
- data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
- data/spec/unit/indirector/certificate/file_spec.rb +0 -14
- data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
- data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
- data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
- data/spec/unit/indirector/key/file_spec.rb +0 -78
- data/spec/unit/indirector/ssl_file_spec.rb +0 -305
- data/spec/unit/indirector/status/local_spec.rb +0 -10
- data/spec/unit/indirector/status/rest_spec.rb +0 -50
- data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
- data/spec/unit/network/auth_config_parser_spec.rb +0 -115
- data/spec/unit/network/authstore_spec.rb +0 -407
- data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
- data/spec/unit/network/http/compression_spec.rb +0 -240
- data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
- data/spec/unit/network/http_spec.rb +0 -9
- data/spec/unit/network/rights_spec.rb +0 -439
- data/spec/unit/parser/environment_compiler_spec.rb +0 -730
- data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -20
- data/spec/unit/pops/types/enumeration_spec.rb +0 -51
- data/spec/unit/resource/capability_finder_spec.rb +0 -148
- data/spec/unit/rest/route_spec.rb +0 -132
- data/spec/unit/ssl/host_spec.rb +0 -645
- data/spec/unit/ssl/key_spec.rb +0 -173
- data/spec/unit/ssl/validator_spec.rb +0 -278
- data/spec/unit/status_spec.rb +0 -45
- 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
|
@@ -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
|
-
|
37
|
-
|
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, :
|
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, :
|
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, :
|
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" =>
|
6
|
+
"h" => Facter.value("hostname"),
|
7
7
|
"H" => [
|
8
|
-
|
9
|
-
|
8
|
+
Facter.value("hostname"),
|
9
|
+
Facter.value("domain")
|
10
10
|
].join("."),
|
11
|
-
"d" =>
|
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
|
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
|
-
|
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
|
-
:
|
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 =>
|
113
|
-
contents = path.read( :mode => 'rb', :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)
|
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 =>
|
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 =>
|
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 =>
|
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
|
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
|
|
data/lib/puppet/functions/all.rb
CHANGED
@@ -51,7 +51,7 @@
|
|
51
51
|
# notice $data.all |$key, $value| { $value % 10 == 0 and $key =~ /^abc/ }
|
52
52
|
# ```
|
53
53
|
#
|
54
|
-
# Would notice
|
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
|
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
|
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
|
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
|
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
|
32
|
+
# Would both result in ['a', 'b']
|
33
33
|
#
|
34
34
|
# @example Converting a Hash to lower case
|
35
35
|
# ```puppet
|