puppet 6.25.1-x86-mingw32 → 7.0.0-x86-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.
- 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 -288
- 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
data/lib/puppet/type.rb
CHANGED
@@ -114,29 +114,6 @@ class Type
|
|
114
114
|
attr_reader :properties
|
115
115
|
end
|
116
116
|
|
117
|
-
# Allow declaring that a type is actually a capability
|
118
|
-
class << self
|
119
|
-
# @deprecated application orchestration will be removed in puppet 7
|
120
|
-
attr_accessor :is_capability
|
121
|
-
|
122
|
-
# @deprecated application orchestration will be removed in puppet 7
|
123
|
-
def is_capability?
|
124
|
-
c = is_capability
|
125
|
-
c.nil? ? false : c
|
126
|
-
end
|
127
|
-
end
|
128
|
-
|
129
|
-
# Returns whether this type represents an application instance; since
|
130
|
-
# only defined types, i.e., instances of Puppet::Resource::Type can
|
131
|
-
# represent application instances, this implementation always returns
|
132
|
-
# +false+. Having this method though makes code checking whether a
|
133
|
-
# resource is an application instance simpler
|
134
|
-
#
|
135
|
-
# @deprecated application orchestration will be removed in puppet 7
|
136
|
-
def self.application?
|
137
|
-
false
|
138
|
-
end
|
139
|
-
|
140
117
|
# Returns all the attribute names of the type in the appropriate order.
|
141
118
|
# The {key_attributes} come first, then the {provider}, then the {properties}, and finally
|
142
119
|
# the {parameters} and {metaparams},
|
@@ -1295,7 +1272,7 @@ class Type
|
|
1295
1272
|
like it does when running normally. However, if a resource attribute is not in
|
1296
1273
|
the desired state (as declared in the catalog), Puppet will take no
|
1297
1274
|
action, and will instead report the changes it _would_ have made. These
|
1298
|
-
simulated changes will appear in the report sent to the
|
1275
|
+
simulated changes will appear in the report sent to the puppet master, or
|
1299
1276
|
be shown on the console if running puppet agent or puppet apply in the
|
1300
1277
|
foreground. The simulated changes will not send refresh events to any
|
1301
1278
|
subscribing or notified resources, although Puppet will log that a refresh
|
@@ -1720,59 +1697,6 @@ class Type
|
|
1720
1697
|
}
|
1721
1698
|
end
|
1722
1699
|
|
1723
|
-
# @deprecated application orchestration will be removed in puppet 7
|
1724
|
-
newmetaparam(:export, :parent => RelationshipMetaparam, :attributes => {:direction => :out, :events => :NONE}) do
|
1725
|
-
desc <<EOS
|
1726
|
-
Export a capability resource.
|
1727
|
-
|
1728
|
-
The value of this parameter must be a reference to a capability resource,
|
1729
|
-
or an array of such references. Each capability resource referenced here
|
1730
|
-
will be instantiated in the node catalog and exported to consumers of this
|
1731
|
-
resource. The title of the capability resource will be the title given in
|
1732
|
-
the reference, and all other attributes of the resource will be filled
|
1733
|
-
according to the corresponding produces statement.
|
1734
|
-
|
1735
|
-
It is an error if this metaparameter references resources whose type is not
|
1736
|
-
a capability type, or of there is no produces clause for the type of the
|
1737
|
-
current resource and the capability resource mentioned in this parameter.
|
1738
|
-
|
1739
|
-
For example:
|
1740
|
-
|
1741
|
-
define web(..) { .. }
|
1742
|
-
Web produces Http { .. }
|
1743
|
-
web { server:
|
1744
|
-
export => Http[main_server]
|
1745
|
-
}
|
1746
|
-
EOS
|
1747
|
-
end
|
1748
|
-
|
1749
|
-
# @deprecated application orchestration will be removed in puppet 7
|
1750
|
-
newmetaparam(:consume, :parent => RelationshipMetaparam, :attributes => {:direction => :in, :events => :NONE}) do
|
1751
|
-
desc <<EOS
|
1752
|
-
Consume a capability resource.
|
1753
|
-
|
1754
|
-
The value of this parameter must be a reference to a capability resource,
|
1755
|
-
or an array of such references. Each capability resource referenced here
|
1756
|
-
must have been exported by another resource in the same environment.
|
1757
|
-
|
1758
|
-
The referenced capability resources will be looked up, added to the
|
1759
|
-
current node catalog, and processed following the underlying consumes
|
1760
|
-
clause.
|
1761
|
-
|
1762
|
-
It is an error if this metaparameter references resources whose type is not
|
1763
|
-
a capability type, or of there is no consumes clause for the type of the
|
1764
|
-
current resource and the capability resource mentioned in this parameter.
|
1765
|
-
|
1766
|
-
For example:
|
1767
|
-
|
1768
|
-
define web(..) { .. }
|
1769
|
-
Web consumes Sql { .. }
|
1770
|
-
web { server:
|
1771
|
-
consume => Sql[my_db]
|
1772
|
-
}
|
1773
|
-
EOS
|
1774
|
-
end
|
1775
|
-
|
1776
1700
|
###############################
|
1777
1701
|
# All of the provider plumbing for the resource types.
|
1778
1702
|
require 'puppet/provider'
|
data/lib/puppet/util/autoload.rb
CHANGED
@@ -166,7 +166,14 @@ class Puppet::Util::Autoload
|
|
166
166
|
# Normalize a path. This converts ALT_SEPARATOR to SEPARATOR on Windows
|
167
167
|
# and eliminates unnecessary parts of a path.
|
168
168
|
def cleanpath(path)
|
169
|
-
|
169
|
+
# There are two cases here because cleanpath does not handle absolute
|
170
|
+
# paths correctly on windows (c:\ and c:/ are treated as distinct) but
|
171
|
+
# we don't want to convert relative paths to absolute
|
172
|
+
if Puppet::Util.absolute_path?(path)
|
173
|
+
File.expand_path(path)
|
174
|
+
else
|
175
|
+
Pathname.new(path).cleanpath.to_s
|
176
|
+
end
|
170
177
|
end
|
171
178
|
end
|
172
179
|
|
@@ -94,17 +94,6 @@ module Puppet::Util::Execution
|
|
94
94
|
end
|
95
95
|
private_class_method :exitstatus
|
96
96
|
|
97
|
-
# Wraps execution of {execute} with mapping of exception to given exception (and output as argument).
|
98
|
-
# @raise [exception] under same conditions as {execute}, but raises the given `exception` with the output as argument
|
99
|
-
# @return (see execute)
|
100
|
-
# @api public
|
101
|
-
# @deprecated
|
102
|
-
def self.execfail(command, exception)
|
103
|
-
execute(command)
|
104
|
-
rescue Puppet::ExecutionFailure => detail
|
105
|
-
raise exception, detail.message, detail.backtrace
|
106
|
-
end
|
107
|
-
|
108
97
|
# Default empty options for {execute}
|
109
98
|
NoOptionsSpecified = {}
|
110
99
|
|
data/lib/puppet/util/filetype.rb
CHANGED
@@ -215,7 +215,7 @@ class Puppet::Util::FileType
|
|
215
215
|
# Remove a specific @path's cron tab.
|
216
216
|
def remove
|
217
217
|
cmd = "#{cmdbase} -r"
|
218
|
-
if %w{Darwin FreeBSD DragonFly}.include?(
|
218
|
+
if %w{Darwin FreeBSD DragonFly}.include?(Facter.value("operatingsystem"))
|
219
219
|
cmd = "/bin/echo yes | #{cmd}"
|
220
220
|
end
|
221
221
|
|
@@ -244,7 +244,7 @@ class Puppet::Util::FileType
|
|
244
244
|
# Only add the -u flag when the @path is different. Fedora apparently
|
245
245
|
# does not think I should be allowed to set the @path to my own user name
|
246
246
|
def cmdbase
|
247
|
-
if @uid == Puppet::Util::SUIDManager.uid ||
|
247
|
+
if @uid == Puppet::Util::SUIDManager.uid || Facter.value(:operatingsystem) == "HP-UX"
|
248
248
|
return "crontab"
|
249
249
|
else
|
250
250
|
return "crontab -u #{@path}"
|
@@ -1,217 +1,4 @@
|
|
1
|
-
require 'uri'
|
2
|
-
require 'puppet/ssl/openssl_loader'
|
3
1
|
require 'puppet/http'
|
4
2
|
|
5
|
-
|
6
|
-
|
7
|
-
if http_proxy_host && !no_proxy?(uri)
|
8
|
-
Net::HTTP.new(uri.host, uri.port, self.http_proxy_host, self.http_proxy_port, self.http_proxy_user, self.http_proxy_password)
|
9
|
-
else
|
10
|
-
http = Net::HTTP.new(uri.host, uri.port, nil, nil, nil, nil)
|
11
|
-
# Net::HTTP defaults the proxy port even though we said not to
|
12
|
-
# use one. Set it to nil so caller is not surprised
|
13
|
-
http.proxy_port = nil
|
14
|
-
http
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
def self.http_proxy_env
|
19
|
-
# Returns a URI object if proxy is set, or nil
|
20
|
-
proxy_env = ENV["http_proxy"] || ENV["HTTP_PROXY"]
|
21
|
-
begin
|
22
|
-
return URI.parse(proxy_env) if proxy_env
|
23
|
-
rescue URI::InvalidURIError
|
24
|
-
return nil
|
25
|
-
end
|
26
|
-
return nil
|
27
|
-
end
|
28
|
-
|
29
|
-
# The documentation around the format of the no_proxy variable seems
|
30
|
-
# inconsistent. Some suggests the use of the * as a way of matching any
|
31
|
-
# hosts under a domain, e.g.:
|
32
|
-
# *.example.com
|
33
|
-
# Other documentation suggests that just a leading '.' indicates a domain
|
34
|
-
# level exclusion, e.g.:
|
35
|
-
# .example.com
|
36
|
-
# We'll accommodate both here.
|
37
|
-
def self.no_proxy?(dest)
|
38
|
-
no_proxy = self.no_proxy
|
39
|
-
unless no_proxy
|
40
|
-
return false
|
41
|
-
end
|
42
|
-
|
43
|
-
unless dest.is_a? URI
|
44
|
-
begin
|
45
|
-
dest = URI.parse(dest)
|
46
|
-
rescue URI::InvalidURIError
|
47
|
-
return false
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
no_proxy.split(/\s*,\s*/).each do |d|
|
52
|
-
host, port = d.split(':')
|
53
|
-
host = Regexp.escape(host).gsub('\*', '.*')
|
54
|
-
|
55
|
-
#If this no_proxy entry specifies a port, we want to match it against
|
56
|
-
#the destination port. Otherwise just match hosts.
|
57
|
-
if port
|
58
|
-
no_proxy_regex = %r(#{host}:#{port}$)
|
59
|
-
dest_string = "#{dest.host}:#{dest.port}"
|
60
|
-
else
|
61
|
-
no_proxy_regex = %r(#{host}$)
|
62
|
-
dest_string = "#{dest.host}"
|
63
|
-
end
|
64
|
-
|
65
|
-
if no_proxy_regex.match(dest_string)
|
66
|
-
return true
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
return false
|
71
|
-
end
|
72
|
-
|
73
|
-
def self.http_proxy_host
|
74
|
-
env = self.http_proxy_env
|
75
|
-
|
76
|
-
if env and env.host
|
77
|
-
return env.host
|
78
|
-
end
|
79
|
-
|
80
|
-
if Puppet.settings[:http_proxy_host] == 'none'
|
81
|
-
return nil
|
82
|
-
end
|
83
|
-
|
84
|
-
return Puppet.settings[:http_proxy_host]
|
85
|
-
end
|
86
|
-
|
87
|
-
def self.http_proxy_port
|
88
|
-
env = self.http_proxy_env
|
89
|
-
|
90
|
-
if env and env.port
|
91
|
-
return env.port
|
92
|
-
end
|
93
|
-
|
94
|
-
return Puppet.settings[:http_proxy_port]
|
95
|
-
end
|
96
|
-
|
97
|
-
def self.http_proxy_user
|
98
|
-
env = self.http_proxy_env
|
99
|
-
|
100
|
-
if env and env.user
|
101
|
-
return env.user
|
102
|
-
end
|
103
|
-
|
104
|
-
if Puppet.settings[:http_proxy_user] == 'none'
|
105
|
-
return nil
|
106
|
-
end
|
107
|
-
|
108
|
-
return Puppet.settings[:http_proxy_user]
|
109
|
-
end
|
110
|
-
|
111
|
-
def self.http_proxy_password
|
112
|
-
env = self.http_proxy_env
|
113
|
-
|
114
|
-
if env and env.password
|
115
|
-
return env.password
|
116
|
-
end
|
117
|
-
|
118
|
-
if Puppet.settings[:http_proxy_user] == 'none' or Puppet.settings[:http_proxy_password] == 'none'
|
119
|
-
return nil
|
120
|
-
end
|
121
|
-
|
122
|
-
return Puppet.settings[:http_proxy_password]
|
123
|
-
end
|
124
|
-
|
125
|
-
def self.no_proxy
|
126
|
-
no_proxy_env = ENV["no_proxy"] || ENV["NO_PROXY"]
|
127
|
-
|
128
|
-
if no_proxy_env
|
129
|
-
return no_proxy_env
|
130
|
-
end
|
131
|
-
|
132
|
-
if Puppet.settings[:no_proxy] == 'none'
|
133
|
-
return nil
|
134
|
-
end
|
135
|
-
|
136
|
-
return Puppet.settings[:no_proxy]
|
137
|
-
end
|
138
|
-
|
139
|
-
# Return a Net::HTTP::Proxy object.
|
140
|
-
#
|
141
|
-
# This method optionally configures SSL correctly if the URI scheme is
|
142
|
-
# 'https', including setting up the root certificate store so remote server
|
143
|
-
# SSL certificates can be validated.
|
144
|
-
#
|
145
|
-
# @param [URI] uri The URI that is to be accessed.
|
146
|
-
# @return [Net::HTTP::Proxy] object constructed tailored for the passed URI
|
147
|
-
def self.get_http_object(uri)
|
148
|
-
proxy = proxy(uri)
|
149
|
-
|
150
|
-
if uri.scheme == 'https'
|
151
|
-
cert_store = OpenSSL::X509::Store.new
|
152
|
-
cert_store.set_default_paths
|
153
|
-
|
154
|
-
proxy.use_ssl = true
|
155
|
-
proxy.verify_mode = OpenSSL::SSL::VERIFY_PEER
|
156
|
-
proxy.cert_store = cert_store
|
157
|
-
end
|
158
|
-
|
159
|
-
if Puppet[:http_debug]
|
160
|
-
proxy.set_debug_output($stderr)
|
161
|
-
end
|
162
|
-
|
163
|
-
proxy.open_timeout = Puppet[:http_connect_timeout]
|
164
|
-
proxy.read_timeout = Puppet[:http_read_timeout]
|
165
|
-
|
166
|
-
proxy
|
167
|
-
end
|
168
|
-
|
169
|
-
# Retrieve a document through HTTP(s), following redirects if necessary. The
|
170
|
-
# returned response body may be compressed, and it is the caller's
|
171
|
-
# responsibility to decompress it based on the 'content-encoding' header.
|
172
|
-
#
|
173
|
-
# Based on the the client implementation in the HTTP pool.
|
174
|
-
#
|
175
|
-
# @see Puppet::Network::HTTP::Connection#request_with_redirects
|
176
|
-
#
|
177
|
-
# @param [URI] uri The address of the resource to retrieve.
|
178
|
-
# @param [symbol] method The name of the Net::HTTP method to use, typically :get, :head, :post etc.
|
179
|
-
# @param [FixNum] redirect_limit The number of redirections that can be followed.
|
180
|
-
# @return [Net::HTTPResponse] a response object
|
181
|
-
def self.request_with_redirects(uri, method, redirect_limit = 10, &block)
|
182
|
-
current_uri = uri
|
183
|
-
response = nil
|
184
|
-
|
185
|
-
0.upto(redirect_limit) do |redirection|
|
186
|
-
proxy = get_http_object(current_uri)
|
187
|
-
|
188
|
-
headers = { 'Accept' => '*/*', 'User-Agent' => Puppet[:http_user_agent] }
|
189
|
-
if Puppet.features.zlib?
|
190
|
-
headers["Accept-Encoding"] = Puppet::HTTP::ACCEPT_ENCODING
|
191
|
-
end
|
192
|
-
|
193
|
-
response = proxy.send(:head, current_uri, headers)
|
194
|
-
Puppet.debug("HTTP HEAD request to #{current_uri} returned #{response.code} #{response.message}")
|
195
|
-
|
196
|
-
if [301, 302, 307].include?(response.code.to_i)
|
197
|
-
# handle the redirection
|
198
|
-
current_uri = URI.parse(response['location'])
|
199
|
-
next
|
200
|
-
end
|
201
|
-
|
202
|
-
if method != :head
|
203
|
-
if block_given?
|
204
|
-
response = proxy.send("request_#{method}".to_sym, current_uri, headers, &block)
|
205
|
-
else
|
206
|
-
response = proxy.send(method, current_uri, headers)
|
207
|
-
end
|
208
|
-
|
209
|
-
Puppet.debug("HTTP #{method.to_s.upcase} request to #{current_uri} returned #{response.code} #{response.message}")
|
210
|
-
end
|
211
|
-
|
212
|
-
return response
|
213
|
-
end
|
214
|
-
|
215
|
-
raise RedirectionLimitExceededException, _("Too many HTTP redirections for %{uri}") % { uri: uri }
|
216
|
-
end
|
217
|
-
end
|
3
|
+
# for backwards compatibility
|
4
|
+
Puppet::Util::HttpProxy = Puppet::HTTP::Proxy
|
data/lib/puppet/util/json.rb
CHANGED
@@ -60,9 +60,6 @@ module Puppet::Util
|
|
60
60
|
def self.dump(object, options = {})
|
61
61
|
if defined? MultiJson
|
62
62
|
MultiJson.dump(object, options)
|
63
|
-
elsif options.is_a?(JSON::State)
|
64
|
-
# we're being called recursively
|
65
|
-
object.to_json(options)
|
66
63
|
else
|
67
64
|
options.merge!(::JSON::PRETTY_STATE_PROTOTYPE.to_h) if options.delete(:pretty)
|
68
65
|
object.to_json(options)
|
data/lib/puppet/util/log.rb
CHANGED
@@ -2,6 +2,7 @@ require 'puppet/util/tagging'
|
|
2
2
|
require 'puppet/util/classgen'
|
3
3
|
require 'puppet/util/psych_support'
|
4
4
|
require 'puppet/network/format_support'
|
5
|
+
require 'facter'
|
5
6
|
|
6
7
|
# Pass feedback to the user. Log levels are modeled after syslog's, and it is
|
7
8
|
# expected that that will be the most common log destination. Supports
|
@@ -110,7 +111,7 @@ class Puppet::Util::Log
|
|
110
111
|
@loglevel = @levels.index(level)
|
111
112
|
|
112
113
|
# Enable or disable Facter debugging
|
113
|
-
|
114
|
+
Facter.debugging(level == :debug) if Facter.respond_to? :debugging
|
114
115
|
end
|
115
116
|
|
116
117
|
def Log.levels
|
data/lib/puppet/util/logging.rb
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
require 'puppet/util/log'
|
3
3
|
require 'puppet/error'
|
4
4
|
|
5
|
+
require 'facter'
|
6
|
+
|
5
7
|
module Puppet::Util
|
6
8
|
module Logging
|
7
9
|
|
@@ -252,7 +254,29 @@ module Logging
|
|
252
254
|
# Sets up Facter logging.
|
253
255
|
# This method causes Facter output to be forwarded to Puppet.
|
254
256
|
def self.setup_facter_logging!
|
255
|
-
|
257
|
+
# Only recent versions of Facter support this feature
|
258
|
+
return false unless Facter.respond_to? :on_message
|
259
|
+
|
260
|
+
# The current Facter log levels are: :trace, :debug, :info, :warn, :error, and :fatal.
|
261
|
+
# Convert to the corresponding levels in Puppet
|
262
|
+
Facter.on_message do |level, message|
|
263
|
+
case level
|
264
|
+
when :trace, :debug
|
265
|
+
level = :debug
|
266
|
+
when :info
|
267
|
+
# Same as Puppet
|
268
|
+
when :warn
|
269
|
+
level = :warning
|
270
|
+
when :error
|
271
|
+
level = :err
|
272
|
+
when :fatal
|
273
|
+
level = :crit
|
274
|
+
else
|
275
|
+
next
|
276
|
+
end
|
277
|
+
Puppet::Util::Log.create({:level => level, :source => 'Facter', :message => message})
|
278
|
+
nil
|
279
|
+
end
|
256
280
|
true
|
257
281
|
end
|
258
282
|
|
@@ -32,13 +32,6 @@ end
|
|
32
32
|
# (#19151) Reject all SSLv2 ciphers and handshakes
|
33
33
|
require 'puppet/ssl/openssl_loader'
|
34
34
|
unless Puppet::Util::Platform.jruby_fips?
|
35
|
-
unless defined?(OpenSSL::SSL::TLS1_VERSION)
|
36
|
-
module OpenSSL::SSL
|
37
|
-
# see https://github.com/ruby/ruby/commit/609103dbb5fb182eec12f052226c43e39b907682#diff-09f822c26289f5347111795ca22ed7ed1cfadd6ebd28f987991d1d414eef565aR2755-R2759
|
38
|
-
OpenSSL::SSL::TLS1_VERSION = 0x301
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
35
|
class OpenSSL::SSL::SSLContext
|
43
36
|
if DEFAULT_PARAMS[:options]
|
44
37
|
DEFAULT_PARAMS[:options] |= OpenSSL::SSL::OP_NO_SSLv2 | OpenSSL::SSL::OP_NO_SSLv3
|
@@ -109,49 +102,3 @@ unless Puppet::Util::Platform.jruby_fips?
|
|
109
102
|
end
|
110
103
|
end
|
111
104
|
end
|
112
|
-
|
113
|
-
unless Puppet::Util::Platform.jruby_fips?
|
114
|
-
unless OpenSSL::PKey::EC.instance_methods.include?(:private?)
|
115
|
-
class OpenSSL::PKey::EC
|
116
|
-
# Added in ruby 2.4.0 in https://github.com/ruby/ruby/commit/7c971e61f04
|
117
|
-
alias :private? :private_key?
|
118
|
-
end
|
119
|
-
end
|
120
|
-
|
121
|
-
unless OpenSSL::PKey::EC.singleton_methods.include?(:generate)
|
122
|
-
class OpenSSL::PKey::EC
|
123
|
-
# Added in ruby 2.4.0 in https://github.com/ruby/ruby/commit/85500b66342
|
124
|
-
def self.generate(string)
|
125
|
-
ec = OpenSSL::PKey::EC.new(string)
|
126
|
-
ec.generate_key
|
127
|
-
end
|
128
|
-
end
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
# The Enumerable#uniq method was added in Ruby 2.4.0 (https://bugs.ruby-lang.org/issues/11090)
|
133
|
-
# This is a backport to earlier Ruby versions.
|
134
|
-
#
|
135
|
-
unless Enumerable.instance_methods.include?(:uniq)
|
136
|
-
module Enumerable
|
137
|
-
def uniq
|
138
|
-
result = []
|
139
|
-
uniq_map = {}
|
140
|
-
if block_given?
|
141
|
-
each do |value|
|
142
|
-
key = yield value
|
143
|
-
next if uniq_map.has_key?(key)
|
144
|
-
uniq_map[key] = true
|
145
|
-
result << value
|
146
|
-
end
|
147
|
-
else
|
148
|
-
each do |value|
|
149
|
-
next if uniq_map.has_key?(value)
|
150
|
-
uniq_map[value] = true
|
151
|
-
result << value
|
152
|
-
end
|
153
|
-
end
|
154
|
-
result
|
155
|
-
end
|
156
|
-
end
|
157
|
-
end
|
data/lib/puppet/util/pidlock.rb
CHANGED
data/lib/puppet/util/posix.rb
CHANGED
@@ -12,18 +12,11 @@ module Puppet::Util::POSIX
|
|
12
12
|
class << self
|
13
13
|
# Returns an array of all the groups that the user's a member of.
|
14
14
|
def groups_of(user)
|
15
|
-
|
16
|
-
|
17
|
-
groups
|
18
|
-
rescue StandardError, LoadError => e
|
19
|
-
Puppet.debug("Falling back to Puppet::Etc.group: #{e.message}")
|
20
|
-
|
21
|
-
groups = []
|
22
|
-
Puppet::Etc.group do |group|
|
23
|
-
groups << group.name if group.mem.include?(user)
|
24
|
-
end
|
15
|
+
groups = []
|
16
|
+
Puppet::Etc.group do |group|
|
17
|
+
groups << group.name if group.mem.include?(user)
|
25
18
|
end
|
26
|
-
|
19
|
+
|
27
20
|
uniq_groups = groups.uniq
|
28
21
|
if uniq_groups != groups
|
29
22
|
Puppet.debug(_('Removing any duplicate group entries'))
|
@@ -31,39 +24,6 @@ module Puppet::Util::POSIX
|
|
31
24
|
|
32
25
|
uniq_groups
|
33
26
|
end
|
34
|
-
|
35
|
-
private
|
36
|
-
def get_groups_list(user)
|
37
|
-
raise LoadError, "The 'getgrouplist' method is not available" unless Puppet::FFI::POSIX::Functions.respond_to?(:getgrouplist)
|
38
|
-
|
39
|
-
user_gid = Puppet::Etc.getpwnam(user).gid
|
40
|
-
ngroups = Puppet::FFI::POSIX::Constants::MAXIMUM_NUMBER_OF_GROUPS
|
41
|
-
|
42
|
-
while true do # rubocop:disable Lint/LiteralInCondition
|
43
|
-
FFI::MemoryPointer.new(:int) do |ngroups_ptr|
|
44
|
-
FFI::MemoryPointer.new(:uint, ngroups) do |groups_ptr|
|
45
|
-
old_ngroups = ngroups
|
46
|
-
ngroups_ptr.write_int(ngroups)
|
47
|
-
|
48
|
-
if Puppet::FFI::POSIX::Functions::getgrouplist(user, user_gid, groups_ptr, ngroups_ptr) != -1
|
49
|
-
groups_gids = groups_ptr.get_array_of_uint(0, ngroups_ptr.read_int)
|
50
|
-
|
51
|
-
result = []
|
52
|
-
groups_gids.each do |group_gid|
|
53
|
-
group_info = Puppet::Etc.getgrgid(group_gid)
|
54
|
-
result |= [group_info.name] if group_info.mem.include?(user)
|
55
|
-
end
|
56
|
-
return result
|
57
|
-
end
|
58
|
-
|
59
|
-
ngroups = ngroups_ptr.read_int
|
60
|
-
if ngroups <= old_ngroups
|
61
|
-
ngroups *= 2
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
27
|
end
|
68
28
|
|
69
29
|
# Retrieve a field from a POSIX Etc object. The id can be either an integer
|
@@ -184,17 +144,8 @@ module Puppet::Util::POSIX
|
|
184
144
|
name = get_posix_field(location, :name, id)
|
185
145
|
check_value = name
|
186
146
|
end
|
187
|
-
|
188
147
|
if check_value != field
|
189
|
-
|
190
|
-
|
191
|
-
if id == check_value_id
|
192
|
-
Puppet.debug("Multiple entries found for resource: '#{location}' with #{id_field}: #{id}")
|
193
|
-
return id
|
194
|
-
else
|
195
|
-
Puppet.debug("The value retrieved: '#{check_value}' is different than the required state: '#{field}', searching in all entries")
|
196
|
-
return search_posix_field(location, id_field, field)
|
197
|
-
end
|
148
|
+
return search_posix_field(location, id_field, field)
|
198
149
|
else
|
199
150
|
return id
|
200
151
|
end
|
@@ -154,7 +154,7 @@ module RDoc::PuppetParserCore
|
|
154
154
|
# fetch comments
|
155
155
|
if line =~ /^[ \t]*# ?(.*)$/
|
156
156
|
comments += $1 + "\n"
|
157
|
-
elsif line =~ /^[ \t]*
|
157
|
+
elsif line =~ /^[ \t]*Facter.add\(['"](.*?)['"]\)/
|
158
158
|
current_fact = RDoc::Fact.new($1,{})
|
159
159
|
look_for_directives_in(container, comments) unless comments.empty?
|
160
160
|
current_fact.comment = comments
|
data/lib/puppet/util/rdoc.rb
CHANGED
@@ -26,13 +26,6 @@ module Puppet::Util::RDoc
|
|
26
26
|
|
27
27
|
options << "--force-update"
|
28
28
|
options += [ "--charset", charset] if charset
|
29
|
-
# Rdoc root default is Dir.pwd, but the win32-dir gem monkey patches Dir.pwd
|
30
|
-
# replacing Ruby's normal / with \. When RDoc generates relative paths it
|
31
|
-
# uses relative_path_from that will generate errors when the slashes don't
|
32
|
-
# properly match. This is a workaround for that issue.
|
33
|
-
if Puppet::Util::Platform.windows? && RDoc::VERSION !~ /^[0-3]\./
|
34
|
-
options += [ "--root", Dir.pwd.tr('\\', '/')]
|
35
|
-
end
|
36
29
|
options += files
|
37
30
|
|
38
31
|
# launch the documentation process
|
@@ -7,7 +7,7 @@ module Puppet::Util::RetryAction
|
|
7
7
|
# Execute the supplied block retrying with exponential backoff.
|
8
8
|
#
|
9
9
|
# @param [Hash] options the retry options
|
10
|
-
# @option options [
|
10
|
+
# @option options [Integer] :retries Maximum number of times to retry.
|
11
11
|
# @option options [Array<Exception>] :retry_exceptions ([StandardError]) Optional array of exceptions that are allowed to be retried.
|
12
12
|
# @yield The block to be executed.
|
13
13
|
def self.retry_action(options = {})
|
data/lib/puppet/util/run_mode.rb
CHANGED
@@ -74,6 +74,10 @@ module Puppet
|
|
74
74
|
which_dir("/opt/puppetlabs/puppet/cache", "~/.puppetlabs/opt/puppet/cache")
|
75
75
|
end
|
76
76
|
|
77
|
+
def public_dir
|
78
|
+
which_dir("/opt/puppetlabs/puppet/public", "~/.puppetlabs/opt/puppet/public")
|
79
|
+
end
|
80
|
+
|
77
81
|
def run_dir
|
78
82
|
which_dir("/var/run/puppetlabs", "~/.puppetlabs/var/run")
|
79
83
|
end
|
@@ -96,6 +100,10 @@ module Puppet
|
|
96
100
|
which_dir(File.join(windows_common_base("puppet/cache")), "~/.puppetlabs/opt/puppet/cache")
|
97
101
|
end
|
98
102
|
|
103
|
+
def public_dir
|
104
|
+
which_dir(File.join(windows_common_base("puppet/public")), "~/.puppetlabs/opt/puppet/public")
|
105
|
+
end
|
106
|
+
|
99
107
|
def run_dir
|
100
108
|
which_dir(File.join(windows_common_base("puppet/var/run")), "~/.puppetlabs/var/run")
|
101
109
|
end
|
@@ -107,7 +115,7 @@ module Puppet
|
|
107
115
|
private
|
108
116
|
|
109
117
|
def windows_common_base(*extra)
|
110
|
-
[
|
118
|
+
[ENV['ALLUSERSPROFILE'], "PuppetLabs"] + extra
|
111
119
|
end
|
112
120
|
end
|
113
121
|
end
|