puppet 6.19.0-x86-mingw32 → 7.3.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 +2 -16
- data/Gemfile +3 -4
- data/Gemfile.lock +33 -28
- data/README.md +1 -1
- data/conf/fileserver.conf +5 -10
- data/ext/build_defaults.yaml +1 -1
- data/ext/osx/file_mapping.yaml +0 -5
- data/ext/project_data.yaml +2 -14
- data/ext/redhat/puppet.spec.erb +0 -1
- data/ext/windows/service/daemon.rb +6 -5
- data/install.rb +21 -17
- data/lib/puppet.rb +11 -20
- data/lib/puppet/application.rb +182 -104
- data/lib/puppet/application/agent.rb +1 -0
- data/lib/puppet/application/apply.rb +3 -2
- data/lib/puppet/application/device.rb +101 -104
- data/lib/puppet/application/filebucket.rb +15 -11
- data/lib/puppet/application/script.rb +1 -0
- data/lib/puppet/application/ssl.rb +1 -1
- data/lib/puppet/application_support.rb +7 -0
- data/lib/puppet/configurer.rb +44 -36
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/defaults.rb +71 -170
- data/lib/puppet/environments.rb +44 -75
- data/lib/puppet/face/config.rb +10 -0
- data/lib/puppet/face/epp.rb +12 -2
- data/lib/puppet/face/facts.rb +80 -6
- data/lib/puppet/face/help.rb +1 -1
- data/lib/puppet/face/node/clean.rb +8 -0
- data/lib/puppet/face/plugin.rb +5 -8
- data/lib/puppet/ffi/posix.rb +10 -0
- data/lib/puppet/ffi/posix/constants.rb +14 -0
- data/lib/puppet/ffi/posix/functions.rb +24 -0
- data/lib/puppet/ffi/windows.rb +12 -0
- 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/file_serving/configuration.rb +0 -5
- data/lib/puppet/file_serving/configuration/parser.rb +6 -32
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/mount.rb +1 -2
- data/lib/puppet/forge/repository.rb +0 -1
- data/lib/puppet/functions/epp.rb +1 -0
- data/lib/puppet/functions/inline_epp.rb +1 -0
- data/lib/puppet/generate/models/type/type.rb +4 -1
- data/lib/puppet/http.rb +22 -13
- data/lib/puppet/http/client.rb +164 -114
- 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 -11
- 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 -12
- data/lib/puppet/http/resolver.rb +5 -15
- data/lib/puppet/http/resolver/server_list.rb +6 -10
- data/lib/puppet/http/resolver/settings.rb +4 -7
- data/lib/puppet/http/resolver/srv.rb +7 -11
- 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.rb +12 -26
- data/lib/puppet/http/service/ca.rb +11 -22
- data/lib/puppet/http/service/compiler.rb +22 -69
- data/lib/puppet/http/service/file_server.rb +18 -27
- data/lib/puppet/http/service/puppetserver.rb +26 -12
- data/lib/puppet/http/service/report.rb +8 -10
- data/lib/puppet/http/session.rb +11 -20
- data/lib/puppet/{network/http → http}/site.rb +1 -2
- data/lib/puppet/indirector/catalog/rest.rb +2 -4
- data/lib/puppet/indirector/fact_search.rb +60 -0
- data/lib/puppet/indirector/facts/facter.rb +24 -3
- data/lib/puppet/indirector/facts/json.rb +27 -0
- data/lib/puppet/indirector/facts/rest.rb +3 -22
- data/lib/puppet/indirector/facts/yaml.rb +3 -58
- 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 -9
- data/lib/puppet/indirector/file_server.rb +1 -8
- data/lib/puppet/indirector/generic_http.rb +0 -11
- data/lib/puppet/indirector/json.rb +5 -1
- data/lib/puppet/indirector/node/json.rb +8 -0
- data/lib/puppet/indirector/node/rest.rb +2 -4
- data/lib/puppet/indirector/report/json.rb +34 -0
- data/lib/puppet/indirector/report/rest.rb +3 -8
- data/lib/puppet/indirector/request.rb +0 -101
- data/lib/puppet/indirector/rest.rb +12 -263
- data/lib/puppet/module_tool/applications.rb +0 -1
- data/lib/puppet/module_tool/applications/installer.rb +48 -2
- data/lib/puppet/module_tool/errors/shared.rb +17 -2
- data/lib/puppet/network/authconfig.rb +2 -96
- data/lib/puppet/network/authorization.rb +13 -35
- data/lib/puppet/network/formats.rb +69 -1
- data/lib/puppet/network/http.rb +3 -3
- data/lib/puppet/network/http/api/indirected_routes.rb +2 -20
- 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_pool.rb +16 -34
- data/lib/puppet/node.rb +1 -30
- data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
- data/lib/puppet/pal/pal_impl.rb +73 -18
- data/lib/puppet/parser/ast/leaf.rb +3 -2
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
- data/lib/puppet/parser/compiler.rb +0 -198
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
- data/lib/puppet/parser/resource.rb +0 -69
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +5 -3
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +22 -8
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -3
- 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/model/ast.pp +0 -42
- data/lib/puppet/pops/model/ast.rb +0 -290
- data/lib/puppet/pops/model/ast_transformer.rb +1 -1
- data/lib/puppet/pops/model/factory.rb +0 -45
- 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 +1520 -1712
- data/lib/puppet/pops/parser/lexer2.rb +4 -4
- data/lib/puppet/pops/parser/parser_support.rb +0 -5
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
- data/lib/puppet/pops/types/type_calculator.rb +0 -7
- data/lib/puppet/pops/types/type_parser.rb +0 -4
- data/lib/puppet/pops/types/types.rb +0 -1
- 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/provider.rb +0 -13
- data/lib/puppet/provider/nameservice.rb +0 -18
- data/lib/puppet/provider/package/apt.rb +4 -0
- data/lib/puppet/provider/package/dpkg.rb +0 -10
- data/lib/puppet/provider/package/gem.rb +23 -3
- data/lib/puppet/provider/package/pip.rb +0 -1
- data/lib/puppet/provider/package/pkg.rb +0 -4
- data/lib/puppet/provider/package/portage.rb +1 -1
- data/lib/puppet/provider/package/puppet_gem.rb +1 -4
- data/lib/puppet/provider/service/smf.rb +191 -73
- data/lib/puppet/provider/user/aix.rb +2 -2
- data/lib/puppet/provider/user/directoryservice.rb +0 -10
- data/lib/puppet/reference/configuration.rb +8 -5
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/resource.rb +1 -89
- data/lib/puppet/resource/catalog.rb +1 -14
- data/lib/puppet/resource/type.rb +3 -119
- data/lib/puppet/resource/type_collection.rb +3 -48
- data/lib/puppet/runtime.rb +1 -2
- data/lib/puppet/settings.rb +88 -48
- data/lib/puppet/settings/alias_setting.rb +37 -0
- data/lib/puppet/settings/base_setting.rb +26 -2
- 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/ssl.rb +10 -6
- 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/test/test_helper.rb +1 -3
- data/lib/puppet/transaction.rb +1 -7
- data/lib/puppet/transaction/report.rb +2 -4
- data/lib/puppet/type.rb +0 -76
- data/lib/puppet/type/file.rb +5 -7
- data/lib/puppet/type/file/checksum.rb +1 -1
- data/lib/puppet/type/file/source.rb +1 -1
- data/lib/puppet/type/filebucket.rb +3 -3
- data/lib/puppet/type/package.rb +5 -13
- data/lib/puppet/type/user.rb +1 -1
- data/lib/puppet/util/autoload.rb +1 -8
- data/lib/puppet/util/execution.rb +0 -11
- data/lib/puppet/util/http_proxy.rb +2 -215
- data/lib/puppet/util/monkey_patches.rb +0 -46
- data/lib/puppet/util/posix.rb +54 -5
- data/lib/puppet/util/rdoc.rb +0 -7
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/rubygems.rb +5 -1
- data/lib/puppet/util/run_mode.rb +9 -1
- data/lib/puppet/util/windows.rb +3 -8
- 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/process.rb +4 -226
- data/lib/puppet/util/windows/service.rb +9 -460
- data/lib/puppet/util/windows/string.rb +12 -13
- data/lib/puppet/util/yaml.rb +0 -22
- data/lib/puppet/vendor/require_vendored.rb +0 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet/x509.rb +5 -1
- data/lib/puppet/x509/cert_provider.rb +29 -1
- data/locales/puppet.pot +629 -1314
- data/man/man5/puppet.conf.5 +39 -99
- data/man/man8/puppet-agent.8 +2 -2
- data/man/man8/puppet-apply.8 +2 -2
- data/man/man8/puppet-catalog.8 +1 -1
- 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 +58 -9
- data/man/man8/puppet-filebucket.8 +6 -6
- 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 +1 -58
- data/man/man8/puppet-node.8 +4 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +4 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +2 -2
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +91 -0
- 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 +4 -0
- data/spec/integration/application/agent_spec.rb +151 -14
- data/spec/integration/application/apply_spec.rb +20 -1
- data/spec/integration/application/filebucket_spec.rb +16 -16
- data/spec/integration/application/help_spec.rb +2 -0
- data/spec/integration/application/plugin_spec.rb +23 -1
- data/spec/integration/defaults_spec.rb +7 -10
- data/spec/integration/environments/setting_hooks_spec.rb +1 -1
- data/spec/integration/indirector/file_content/file_server_spec.rb +0 -2
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -2
- 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 -37
- data/spec/integration/resource/type_collection_spec.rb +2 -6
- data/spec/integration/transaction_spec.rb +4 -9
- data/spec/integration/type/file_spec.rb +5 -4
- data/spec/integration/util/windows/adsi_spec.rb +3 -1
- data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
- data/spec/integration/util/windows/registry_spec.rb +0 -10
- data/spec/integration/util/windows/security_spec.rb +1 -1
- data/spec/lib/puppet_spec/puppetserver.rb +1 -1
- data/spec/lib/puppet_spec/settings.rb +7 -1
- data/spec/spec_helper.rb +3 -4
- data/spec/unit/agent_spec.rb +8 -8
- data/spec/unit/application/agent_spec.rb +0 -1
- data/spec/unit/application/config_spec.rb +224 -4
- data/spec/unit/application/facts_spec.rb +35 -0
- data/spec/unit/application/filebucket_spec.rb +41 -41
- data/spec/unit/application/ssl_spec.rb +2 -2
- data/spec/unit/application_spec.rb +51 -9
- data/spec/unit/certificate_factory_spec.rb +1 -1
- data/spec/unit/configurer/downloader_spec.rb +6 -2
- data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
- data/spec/unit/configurer_spec.rb +12 -9
- data/spec/unit/confine/feature_spec.rb +1 -1
- data/spec/unit/confine_spec.rb +8 -2
- data/spec/unit/context/trusted_information_spec.rb +2 -6
- data/spec/unit/defaults_spec.rb +26 -32
- data/spec/unit/environments_spec.rb +96 -22
- data/spec/unit/face/config_spec.rb +27 -32
- data/spec/unit/face/facts_spec.rb +4 -0
- data/spec/unit/face/node_spec.rb +14 -13
- data/spec/unit/face/plugin_spec.rb +73 -33
- data/spec/unit/file_bucket/file_spec.rb +1 -1
- data/spec/unit/file_serving/configuration/parser_spec.rb +22 -19
- data/spec/unit/file_serving/configuration_spec.rb +6 -12
- data/spec/unit/file_serving/metadata_spec.rb +3 -3
- data/spec/unit/file_serving/terminus_helper_spec.rb +11 -4
- data/spec/unit/forge/module_release_spec.rb +2 -7
- 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/inline_epp_spec.rb +26 -1
- data/spec/unit/functions/upcase_spec.rb +1 -1
- data/spec/unit/http/client_spec.rb +7 -8
- 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 -11
- 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 +49 -62
- 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 +1 -2
- data/spec/unit/http/session_spec.rb +16 -14
- data/spec/unit/{network/http → http}/site_spec.rb +3 -3
- data/spec/unit/indirector/face_spec.rb +0 -1
- data/spec/unit/indirector/facts/facter_spec.rb +104 -1
- data/spec/unit/indirector/facts/json_spec.rb +255 -0
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
- data/spec/unit/indirector/file_bucket_file/selector_spec.rb +26 -8
- 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 +8 -12
- data/spec/unit/indirector/node/json_spec.rb +33 -0
- data/spec/{integration/indirector/report/yaml.rb → unit/indirector/report/json_spec.rb} +13 -24
- data/spec/unit/indirector/report/rest_spec.rb +2 -17
- data/spec/unit/indirector/report/yaml_spec.rb +72 -8
- data/spec/unit/indirector/request_spec.rb +0 -264
- data/spec/unit/indirector/rest_spec.rb +98 -752
- data/spec/unit/indirector_spec.rb +2 -2
- data/spec/unit/module_tool/applications/installer_spec.rb +66 -0
- data/spec/unit/network/authconfig_spec.rb +2 -132
- data/spec/unit/network/authorization_spec.rb +2 -55
- data/spec/unit/network/formats_spec.rb +45 -4
- data/spec/unit/network/http/api/indirected_routes_spec.rb +1 -101
- 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 -6
- 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 +3 -19
- data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
- data/spec/unit/parser/resource_spec.rb +14 -8
- data/spec/unit/parser/templatewrapper_spec.rb +4 -3
- data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +20 -0
- 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_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 -1
- data/spec/unit/pops/types/type_calculator_spec.rb +6 -6
- 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 +1 -0
- data/spec/unit/provider/nameservice_spec.rb +66 -122
- data/spec/unit/provider/package/apt_spec.rb +4 -8
- data/spec/unit/provider/package/base_spec.rb +6 -5
- data/spec/unit/provider/package/dpkg_spec.rb +0 -48
- data/spec/unit/provider/package/gem_spec.rb +32 -0
- data/spec/unit/provider/package/pacman_spec.rb +18 -12
- data/spec/unit/provider/package/pip_spec.rb +6 -11
- data/spec/unit/provider/package/pkgdmg_spec.rb +0 -4
- data/spec/unit/provider/package/puppet_gem_spec.rb +3 -2
- data/spec/unit/provider/service/smf_spec.rb +401 -165
- data/spec/unit/provider/service/windows_spec.rb +0 -1
- data/spec/unit/provider/user/aix_spec.rb +5 -0
- data/spec/unit/provider/user/hpux_spec.rb +1 -1
- data/spec/unit/provider/user/pw_spec.rb +2 -0
- data/spec/unit/provider/user/useradd_spec.rb +1 -0
- data/spec/unit/provider_spec.rb +6 -20
- data/spec/unit/puppet_pal_catalog_spec.rb +45 -0
- 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 +11 -66
- 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 +560 -228
- data/spec/unit/ssl/base_spec.rb +36 -4
- data/spec/unit/ssl/certificate_request_spec.rb +15 -45
- data/spec/unit/ssl/certificate_spec.rb +2 -11
- data/spec/unit/ssl/ssl_provider_spec.rb +14 -8
- data/spec/unit/ssl/state_machine_spec.rb +0 -1
- data/spec/unit/ssl/verifier_spec.rb +0 -21
- data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -7
- data/spec/unit/transaction/event_manager_spec.rb +14 -11
- 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 +57 -82
- data/spec/unit/type/file/checksum_spec.rb +6 -6
- data/spec/unit/type/file/content_spec.rb +1 -2
- 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 +0 -2
- data/spec/unit/type/file/source_spec.rb +0 -1
- data/spec/unit/type/file_spec.rb +12 -12
- data/spec/unit/type/group_spec.rb +13 -6
- 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 +1 -1
- data/spec/unit/type/tidy_spec.rb +0 -1
- data/spec/unit/type_spec.rb +22 -2
- data/spec/unit/util/at_fork_spec.rb +2 -2
- data/spec/unit/util/autoload_spec.rb +5 -1
- data/spec/unit/util/backups_spec.rb +1 -4
- data/spec/unit/util/execution_spec.rb +15 -40
- data/spec/unit/util/inifile_spec.rb +6 -14
- data/spec/unit/util/log_spec.rb +8 -7
- data/spec/unit/util/logging_spec.rb +3 -3
- data/spec/unit/util/monkey_patches_spec.rb +0 -6
- data/spec/unit/util/posix_spec.rb +363 -15
- data/spec/unit/util/rubygems_spec.rb +2 -2
- data/spec/unit/util/run_mode_spec.rb +21 -121
- data/spec/unit/util/selinux_spec.rb +76 -52
- data/spec/unit/util/storage_spec.rb +3 -1
- data/spec/unit/util/suidmanager_spec.rb +44 -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 +13 -24
- metadata +66 -226
- data/conf/auth.conf +0 -150
- 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/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.rb +0 -3
- data/lib/puppet/indirector/status/local.rb +0 -12
- data/lib/puppet/indirector/status/rest.rb +0 -27
- 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/ssl/host.rb +0 -505
- data/lib/puppet/ssl/key.rb +0 -61
- data/lib/puppet/ssl/validator.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/verifier_adapter.rb +0 -58
- data/lib/puppet/status.rb +0 -40
- data/lib/puppet/util/connection.rb +0 -88
- 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.rb +0 -122
- 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/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/integration/application/config_spec.rb +0 -74
- data/spec/integration/network/authconfig_spec.rb +0 -256
- data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
- data/spec/unit/application/man_spec.rb +0 -52
- data/spec/unit/capability_spec.rb +0 -414
- data/spec/unit/face/catalog_spec.rb +0 -6
- data/spec/unit/face/key_spec.rb +0 -9
- data/spec/unit/face/module/search_spec.rb +0 -231
- data/spec/unit/face/module_spec.rb +0 -3
- data/spec/unit/face/status_spec.rb +0 -9
- 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 -79
- 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 -422
- 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/types/enumeration_spec.rb +0 -51
- data/spec/unit/resource/capability_finder_spec.rb +0 -143
- data/spec/unit/rest/route_spec.rb +0 -132
- data/spec/unit/ssl/host_spec.rb +0 -650
- 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
@@ -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
|
@@ -102,49 +102,3 @@ unless Puppet::Util::Platform.jruby_fips?
|
|
102
102
|
end
|
103
103
|
end
|
104
104
|
end
|
105
|
-
|
106
|
-
unless Puppet::Util::Platform.jruby_fips?
|
107
|
-
unless OpenSSL::PKey::EC.instance_methods.include?(:private?)
|
108
|
-
class OpenSSL::PKey::EC
|
109
|
-
# Added in ruby 2.4.0 in https://github.com/ruby/ruby/commit/7c971e61f04
|
110
|
-
alias :private? :private_key?
|
111
|
-
end
|
112
|
-
end
|
113
|
-
|
114
|
-
unless OpenSSL::PKey::EC.singleton_methods.include?(:generate)
|
115
|
-
class OpenSSL::PKey::EC
|
116
|
-
# Added in ruby 2.4.0 in https://github.com/ruby/ruby/commit/85500b66342
|
117
|
-
def self.generate(string)
|
118
|
-
ec = OpenSSL::PKey::EC.new(string)
|
119
|
-
ec.generate_key
|
120
|
-
end
|
121
|
-
end
|
122
|
-
end
|
123
|
-
end
|
124
|
-
|
125
|
-
# The Enumerable#uniq method was added in Ruby 2.4.0 (https://bugs.ruby-lang.org/issues/11090)
|
126
|
-
# This is a backport to earlier Ruby versions.
|
127
|
-
#
|
128
|
-
unless Enumerable.instance_methods.include?(:uniq)
|
129
|
-
module Enumerable
|
130
|
-
def uniq
|
131
|
-
result = []
|
132
|
-
uniq_map = {}
|
133
|
-
if block_given?
|
134
|
-
each do |value|
|
135
|
-
key = yield value
|
136
|
-
next if uniq_map.has_key?(key)
|
137
|
-
uniq_map[key] = true
|
138
|
-
result << value
|
139
|
-
end
|
140
|
-
else
|
141
|
-
each do |value|
|
142
|
-
next if uniq_map.has_key?(value)
|
143
|
-
uniq_map[value] = true
|
144
|
-
result << value
|
145
|
-
end
|
146
|
-
end
|
147
|
-
result
|
148
|
-
end
|
149
|
-
end
|
150
|
-
end
|
data/lib/puppet/util/posix.rb
CHANGED
@@ -12,11 +12,18 @@ 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
|
15
|
+
begin
|
16
|
+
require 'puppet/ffi/posix'
|
17
|
+
groups = get_groups_list(user)
|
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
|
18
25
|
end
|
19
|
-
|
26
|
+
|
20
27
|
uniq_groups = groups.uniq
|
21
28
|
if uniq_groups != groups
|
22
29
|
Puppet.debug(_('Removing any duplicate group entries'))
|
@@ -24,6 +31,39 @@ module Puppet::Util::POSIX
|
|
24
31
|
|
25
32
|
uniq_groups
|
26
33
|
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
|
27
67
|
end
|
28
68
|
|
29
69
|
# Retrieve a field from a POSIX Etc object. The id can be either an integer
|
@@ -144,8 +184,17 @@ module Puppet::Util::POSIX
|
|
144
184
|
name = get_posix_field(location, :name, id)
|
145
185
|
check_value = name
|
146
186
|
end
|
187
|
+
|
147
188
|
if check_value != field
|
148
|
-
|
189
|
+
check_value_id = get_posix_field(location, id_field, check_value) if check_value
|
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
|
149
198
|
else
|
150
199
|
return id
|
151
200
|
end
|
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/rubygems.rb
CHANGED
@@ -41,7 +41,11 @@ module Puppet::Util::RubyGems
|
|
41
41
|
def directories
|
42
42
|
# `require 'mygem'` will consider and potentially load
|
43
43
|
# prerelease gems, so we need to match that behavior.
|
44
|
-
|
44
|
+
#
|
45
|
+
# Just load the stub which points to the gem path, and
|
46
|
+
# delay loading the full specification until if/when the
|
47
|
+
# gem is required.
|
48
|
+
Gem::Specification.stubs.collect do |spec|
|
45
49
|
File.join(spec.full_gem_path, 'lib')
|
46
50
|
end
|
47
51
|
end
|
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
|
data/lib/puppet/util/windows.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'puppet/util/platform'
|
2
|
+
|
2
3
|
module Puppet::Util::Windows
|
3
4
|
module ADSI
|
4
5
|
class ADSIObject; end
|
@@ -15,8 +16,6 @@ module Puppet::Util::Windows
|
|
15
16
|
class EventLog; end
|
16
17
|
|
17
18
|
if Puppet::Util::Platform.windows?
|
18
|
-
require 'Win32API' # case matters in this require!
|
19
|
-
|
20
19
|
# Note: Setting codepage here globally ensures all strings returned via
|
21
20
|
# WIN32OLE (Ruby's late-bound COM support) are encoded in Encoding::UTF_8
|
22
21
|
#
|
@@ -24,14 +23,9 @@ module Puppet::Util::Windows
|
|
24
23
|
# to 2048 (at least on US English Windows) and is not listed in the MS
|
25
24
|
# locales table, here: https://msdn.microsoft.com/en-us/library/ms912047(v=winembedded.10).aspx
|
26
25
|
require 'win32ole' ; WIN32OLE.codepage = WIN32OLE::CP_UTF8
|
27
|
-
# gems
|
28
|
-
require 'win32/process'
|
29
|
-
require 'puppet/util/windows/monkey_patches/dir'
|
30
|
-
require 'win32/dir'
|
31
|
-
require 'win32/service'
|
32
26
|
|
33
27
|
# these reference platform specific gems
|
34
|
-
require 'puppet/
|
28
|
+
require 'puppet/ffi/windows'
|
35
29
|
require 'puppet/util/windows/string'
|
36
30
|
require 'puppet/util/windows/error'
|
37
31
|
require 'puppet/util/windows/com'
|
@@ -49,5 +43,6 @@ module Puppet::Util::Windows
|
|
49
43
|
require 'puppet/util/windows/registry'
|
50
44
|
require 'puppet/util/windows/eventlog'
|
51
45
|
require 'puppet/util/windows/service'
|
46
|
+
require 'puppet/util/windows/monkey_patches/process'
|
52
47
|
end
|
53
48
|
end
|