puppet 8.5.0-x64-mingw32 → 8.6.0-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +29 -26
- data/ext/windows/service/daemon.rb +49 -55
- data/lib/hiera/scope.rb +3 -3
- data/lib/hiera_puppet.rb +1 -1
- data/lib/puppet/agent/disabler.rb +1 -1
- data/lib/puppet/application/agent.rb +2 -2
- data/lib/puppet/application/apply.rb +2 -2
- data/lib/puppet/application/describe.rb +6 -6
- data/lib/puppet/application/device.rb +99 -100
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/face_base.rb +7 -7
- data/lib/puppet/application/filebucket.rb +1 -1
- data/lib/puppet/application/lookup.rb +5 -5
- data/lib/puppet/application/resource.rb +10 -3
- data/lib/puppet/application/ssl.rb +3 -3
- data/lib/puppet/application.rb +16 -18
- data/lib/puppet/coercion.rb +1 -1
- data/lib/puppet/configurer/downloader.rb +9 -4
- data/lib/puppet/configurer/fact_handler.rb +12 -13
- data/lib/puppet/configurer.rb +16 -18
- data/lib/puppet/confine/feature.rb +1 -1
- data/lib/puppet/confine/variable.rb +1 -1
- data/lib/puppet/confine.rb +2 -2
- data/lib/puppet/confine_collection.rb +1 -1
- data/lib/puppet/confiner.rb +2 -2
- data/lib/puppet/daemon.rb +3 -3
- data/lib/puppet/datatypes.rb +5 -6
- data/lib/puppet/defaults.rb +14 -8
- data/lib/puppet/environments.rb +3 -7
- data/lib/puppet/error.rb +3 -3
- data/lib/puppet/external/dot.rb +42 -34
- data/lib/puppet/face/catalog/select.rb +1 -1
- data/lib/puppet/face/epp.rb +7 -9
- data/lib/puppet/face/help.rb +12 -12
- data/lib/puppet/face/module/changes.rb +1 -3
- data/lib/puppet/face/module/list.rb +37 -37
- data/lib/puppet/face/node/clean.rb +1 -1
- data/lib/puppet/face/parser.rb +6 -8
- data/lib/puppet/face/report.rb +5 -7
- data/lib/puppet/facter_impl.rb +1 -1
- data/lib/puppet/feature/base.rb +9 -11
- data/lib/puppet/feature/pe_license.rb +1 -1
- data/lib/puppet/feature/ssh.rb +1 -1
- data/lib/puppet/feature/telnet.rb +3 -5
- data/lib/puppet/feature/zlib.rb +1 -1
- data/lib/puppet/ffi/windows/constants.rb +1 -1
- data/lib/puppet/ffi/windows/functions.rb +2 -2
- data/lib/puppet/ffi/windows/structs.rb +3 -3
- data/lib/puppet/file_bucket/dipper.rb +4 -4
- data/lib/puppet/file_bucket/file.rb +4 -4
- data/lib/puppet/file_serving/base.rb +5 -5
- data/lib/puppet/file_serving/configuration/parser.rb +9 -9
- data/lib/puppet/file_serving/configuration.rb +3 -3
- data/lib/puppet/file_serving/fileset.rb +13 -13
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/metadata.rb +13 -9
- data/lib/puppet/file_serving/mount/file.rb +6 -6
- data/lib/puppet/file_serving/mount/locales.rb +2 -4
- data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
- data/lib/puppet/file_serving/mount/plugins.rb +2 -4
- data/lib/puppet/file_serving/mount.rb +1 -1
- data/lib/puppet/file_system/file_impl.rb +3 -3
- data/lib/puppet/file_system/memory_impl.rb +1 -1
- data/lib/puppet/file_system/path_pattern.rb +1 -1
- data/lib/puppet/file_system/uniquefile.rb +17 -16
- data/lib/puppet/file_system/windows.rb +26 -18
- data/lib/puppet/forge/cache.rb +2 -2
- data/lib/puppet/forge/errors.rb +1 -1
- data/lib/puppet/forge/repository.rb +2 -2
- data/lib/puppet/forge.rb +13 -19
- data/lib/puppet/functions/abs.rb +2 -2
- data/lib/puppet/functions/camelcase.rb +1 -1
- data/lib/puppet/functions/compare.rb +2 -2
- data/lib/puppet/functions/contain.rb +1 -1
- data/lib/puppet/functions/defined.rb +2 -2
- data/lib/puppet/functions/dig.rb +1 -1
- data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
- data/lib/puppet/functions/get.rb +1 -1
- data/lib/puppet/functions/hocon_data.rb +3 -5
- data/lib/puppet/functions/import.rb +1 -1
- data/lib/puppet/functions/json_data.rb +4 -6
- data/lib/puppet/functions/max.rb +2 -2
- data/lib/puppet/functions/min.rb +2 -2
- data/lib/puppet/functions/new.rb +1 -1
- data/lib/puppet/functions/reduce.rb +6 -10
- data/lib/puppet/functions/regsubst.rb +2 -2
- data/lib/puppet/functions/require.rb +1 -1
- data/lib/puppet/functions/yaml_data.rb +11 -13
- data/lib/puppet/functions.rb +32 -37
- data/lib/puppet/generate/type.rb +2 -2
- data/lib/puppet/gettext/config.rb +9 -9
- data/lib/puppet/graph/rb_tree_map.rb +31 -23
- data/lib/puppet/graph/relationship_graph.rb +12 -12
- data/lib/puppet/graph/simple_graph.rb +8 -10
- data/lib/puppet/http/client.rb +1 -1
- data/lib/puppet/http/dns.rb +4 -4
- data/lib/puppet/http/external_client.rb +1 -1
- data/lib/puppet/http/factory.rb +1 -1
- data/lib/puppet/http/proxy.rb +15 -15
- data/lib/puppet/http/redirector.rb +6 -2
- data/lib/puppet/http/resolver.rb +2 -2
- data/lib/puppet/http/retry_after_handler.rb +2 -2
- data/lib/puppet/http/service/ca.rb +1 -1
- data/lib/puppet/http/service/compiler.rb +4 -4
- data/lib/puppet/http/service/file_server.rb +1 -1
- data/lib/puppet/http/service/report.rb +2 -2
- data/lib/puppet/http/service.rb +9 -13
- data/lib/puppet/http/session.rb +1 -1
- data/lib/puppet/http/site.rb +1 -1
- data/lib/puppet/indirector/catalog/compiler.rb +44 -45
- data/lib/puppet/indirector/catalog/rest.rb +7 -5
- data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
- data/lib/puppet/indirector/exec.rb +2 -2
- data/lib/puppet/indirector/face.rb +7 -9
- data/lib/puppet/indirector/fact_search.rb +1 -1
- data/lib/puppet/indirector/facts/facter.rb +6 -6
- data/lib/puppet/indirector/facts/json.rb +1 -1
- data/lib/puppet/indirector/facts/store_configs.rb +1 -1
- data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
- data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
- data/lib/puppet/indirector/file_content/rest.rb +1 -1
- data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
- data/lib/puppet/indirector/hiera.rb +1 -1
- data/lib/puppet/indirector/indirection.rb +27 -29
- data/lib/puppet/indirector/json.rb +4 -4
- data/lib/puppet/indirector/memory.rb +2 -2
- data/lib/puppet/indirector/msgpack.rb +5 -5
- data/lib/puppet/indirector/node/store_configs.rb +1 -1
- data/lib/puppet/indirector/none.rb +1 -1
- data/lib/puppet/indirector/report/json.rb +1 -1
- data/lib/puppet/indirector/report/yaml.rb +1 -1
- data/lib/puppet/indirector/request.rb +4 -4
- data/lib/puppet/indirector/resource/ral.rb +2 -4
- data/lib/puppet/indirector/resource/store_configs.rb +1 -1
- data/lib/puppet/indirector/terminus.rb +4 -4
- data/lib/puppet/indirector/yaml.rb +3 -3
- data/lib/puppet/info_service/class_information_service.rb +5 -8
- data/lib/puppet/info_service/task_information_service.rb +6 -7
- data/lib/puppet/interface/action.rb +5 -5
- data/lib/puppet/interface/action_manager.rb +5 -5
- data/lib/puppet/interface/documentation.rb +5 -5
- data/lib/puppet/interface/face_collection.rb +7 -7
- data/lib/puppet/interface/option.rb +2 -2
- data/lib/puppet/interface/option_manager.rb +6 -6
- data/lib/puppet/interface.rb +4 -4
- data/lib/puppet/metatype/manager.rb +2 -2
- data/lib/puppet/module/plan.rb +10 -10
- data/lib/puppet/module/task.rb +8 -8
- data/lib/puppet/module.rb +39 -41
- data/lib/puppet/module_tool/applications/application.rb +10 -8
- data/lib/puppet/module_tool/applications/installer.rb +53 -50
- data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
- data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
- data/lib/puppet/module_tool/checksums.rb +2 -2
- data/lib/puppet/module_tool/dependency.rb +1 -1
- data/lib/puppet/module_tool/errors/base.rb +1 -1
- data/lib/puppet/module_tool/install_directory.rb +1 -1
- data/lib/puppet/module_tool/local_tarball.rb +3 -5
- data/lib/puppet/module_tool/metadata.rb +12 -8
- data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
- data/lib/puppet/module_tool/tar/mini.rb +3 -3
- data/lib/puppet/module_tool.rb +4 -4
- data/lib/puppet/network/client_request.rb +5 -3
- data/lib/puppet/network/format.rb +2 -2
- data/lib/puppet/network/format_support.rb +1 -1
- data/lib/puppet/network/formats.rb +1 -1
- data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
- data/lib/puppet/network/http/api/server/v3.rb +1 -1
- data/lib/puppet/network/http/connection.rb +1 -1
- data/lib/puppet/network/http/handler.rb +8 -12
- data/lib/puppet/network/http/request.rb +1 -1
- data/lib/puppet/network/http/route.rb +9 -9
- data/lib/puppet/node/environment.rb +21 -23
- data/lib/puppet/node/facts.rb +1 -1
- data/lib/puppet/node.rb +5 -5
- data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
- data/lib/puppet/pal/pal_impl.rb +48 -50
- data/lib/puppet/pal/plan_signature.rb +1 -1
- data/lib/puppet/pal/task_signature.rb +1 -1
- data/lib/puppet/parameter/package_options.rb +1 -1
- data/lib/puppet/parameter/value.rb +2 -2
- data/lib/puppet/parameter/value_collection.rb +7 -7
- data/lib/puppet/parameter.rb +8 -9
- data/lib/puppet/parser/ast/block_expression.rb +2 -2
- data/lib/puppet/parser/ast/hostclass.rb +1 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
- data/lib/puppet/parser/ast/resource.rb +4 -4
- data/lib/puppet/parser/ast/resourceparam.rb +4 -4
- data/lib/puppet/parser/ast.rb +14 -15
- data/lib/puppet/parser/compiler.rb +26 -28
- data/lib/puppet/parser/functions/create_resources.rb +3 -3
- data/lib/puppet/parser/functions/fail.rb +1 -1
- data/lib/puppet/parser/functions/generate.rb +2 -2
- data/lib/puppet/parser/functions/tag.rb +1 -1
- data/lib/puppet/parser/functions.rb +2 -2
- data/lib/puppet/parser/relationship.rb +3 -1
- data/lib/puppet/parser/resource/param.rb +2 -2
- data/lib/puppet/parser/resource.rb +23 -23
- data/lib/puppet/parser/scope.rb +10 -10
- data/lib/puppet/parser/script_compiler.rb +1 -1
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- data/lib/puppet/parser/type_loader.rb +10 -12
- data/lib/puppet/parser.rb +1 -1
- data/lib/puppet/pops/adaptable.rb +1 -1
- data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
- data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
- data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
- data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
- data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
- data/lib/puppet/pops/evaluator/literal_evaluator.rb +4 -0
- data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
- data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
- data/lib/puppet/pops/functions/dispatcher.rb +3 -3
- data/lib/puppet/pops/functions/function.rb +14 -16
- data/lib/puppet/pops/issue_reporter.rb +2 -2
- data/lib/puppet/pops/label_provider.rb +2 -2
- data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
- data/lib/puppet/pops/loader/loader.rb +4 -4
- data/lib/puppet/pops/loader/loader_paths.rb +3 -3
- data/lib/puppet/pops/loader/module_loaders.rb +11 -11
- data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
- data/lib/puppet/pops/loader/static_loader.rb +3 -3
- data/lib/puppet/pops/loaders.rb +3 -3
- data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
- data/lib/puppet/pops/lookup/explainer.rb +2 -2
- data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
- data/lib/puppet/pops/lookup/interpolation.rb +3 -3
- data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
- data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
- data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
- data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
- data/lib/puppet/pops/merge_strategy.rb +6 -6
- data/lib/puppet/pops/migration/migration_checker.rb +1 -1
- data/lib/puppet/pops/model/ast_transformer.rb +9 -11
- data/lib/puppet/pops/model/factory.rb +4 -5
- data/lib/puppet/pops/parser/epp_parser.rb +2 -2
- data/lib/puppet/pops/parser/epp_support.rb +1 -1
- data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
- data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
- data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
- data/lib/puppet/pops/parser/lexer2.rb +20 -12
- data/lib/puppet/pops/parser/lexer_support.rb +1 -1
- data/lib/puppet/pops/parser/locator.rb +4 -4
- data/lib/puppet/pops/parser/parser_support.rb +12 -14
- data/lib/puppet/pops/parser/pn_parser.rb +3 -3
- data/lib/puppet/pops/parser/slurp_support.rb +8 -8
- data/lib/puppet/pops/patterns.rb +12 -12
- data/lib/puppet/pops/pcore.rb +1 -1
- data/lib/puppet/pops/pn.rb +2 -2
- data/lib/puppet/pops/puppet_stack.rb +1 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
- data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
- data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
- data/lib/puppet/pops/time/timestamp.rb +1 -1
- data/lib/puppet/pops/types/class_loader.rb +4 -6
- data/lib/puppet/pops/types/iterable.rb +1 -1
- data/lib/puppet/pops/types/p_binary_type.rb +1 -1
- data/lib/puppet/pops/types/p_init_type.rb +1 -1
- data/lib/puppet/pops/types/p_object_type.rb +5 -5
- data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
- data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
- data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
- data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
- data/lib/puppet/pops/types/p_uri_type.rb +4 -4
- data/lib/puppet/pops/types/recursion_guard.rb +4 -4
- data/lib/puppet/pops/types/ruby_generator.rb +2 -2
- data/lib/puppet/pops/types/string_converter.rb +12 -8
- data/lib/puppet/pops/types/tree_iterators.rb +4 -6
- data/lib/puppet/pops/types/type_calculator.rb +10 -10
- data/lib/puppet/pops/types/type_factory.rb +7 -3
- data/lib/puppet/pops/types/type_formatter.rb +22 -24
- data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
- data/lib/puppet/pops/types/types.rb +28 -24
- data/lib/puppet/pops/utils.rb +38 -42
- data/lib/puppet/pops/validation/checker4_0.rb +10 -10
- data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +2 -0
- data/lib/puppet/pops/validation.rb +4 -4
- data/lib/puppet/pops/visitor.rb +2 -2
- data/lib/puppet/property/ensure.rb +12 -14
- data/lib/puppet/property/keyvalue.rb +4 -4
- data/lib/puppet/property/list.rb +4 -4
- data/lib/puppet/property/ordered_list.rb +1 -1
- data/lib/puppet/property.rb +31 -33
- data/lib/puppet/provider/exec.rb +2 -2
- data/lib/puppet/provider/file/posix.rb +19 -17
- data/lib/puppet/provider/file/windows.rb +13 -19
- data/lib/puppet/provider/group/directoryservice.rb +3 -2
- data/lib/puppet/provider/group/groupadd.rb +4 -4
- data/lib/puppet/provider/group/windows_adsi.rb +2 -2
- data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
- data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
- data/lib/puppet/provider/nameservice/pw.rb +1 -2
- data/lib/puppet/provider/nameservice.rb +8 -8
- data/lib/puppet/provider/package/aix.rb +19 -19
- data/lib/puppet/provider/package/appdmg.rb +2 -2
- data/lib/puppet/provider/package/apple.rb +1 -1
- data/lib/puppet/provider/package/apt.rb +18 -18
- data/lib/puppet/provider/package/aptitude.rb +1 -3
- data/lib/puppet/provider/package/aptrpm.rb +9 -9
- data/lib/puppet/provider/package/blastwave.rb +10 -14
- data/lib/puppet/provider/package/dnfmodule.rb +3 -3
- data/lib/puppet/provider/package/dpkg.rb +11 -13
- data/lib/puppet/provider/package/fink.rb +14 -14
- data/lib/puppet/provider/package/freebsd.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +12 -14
- data/lib/puppet/provider/package/macports.rb +2 -2
- data/lib/puppet/provider/package/nim.rb +10 -10
- data/lib/puppet/provider/package/openbsd.rb +22 -22
- data/lib/puppet/provider/package/opkg.rb +6 -6
- data/lib/puppet/provider/package/pacman.rb +35 -29
- data/lib/puppet/provider/package/pip.rb +25 -24
- data/lib/puppet/provider/package/pkg.rb +15 -15
- data/lib/puppet/provider/package/pkgdmg.rb +10 -10
- data/lib/puppet/provider/package/pkgin.rb +2 -2
- data/lib/puppet/provider/package/pkgng.rb +5 -5
- data/lib/puppet/provider/package/pkgutil.rb +17 -21
- data/lib/puppet/provider/package/portage.rb +59 -61
- data/lib/puppet/provider/package/ports.rb +12 -11
- data/lib/puppet/provider/package/portupgrade.rb +35 -35
- data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
- data/lib/puppet/provider/package/rpm.rb +26 -26
- data/lib/puppet/provider/package/rug.rb +7 -9
- data/lib/puppet/provider/package/sun.rb +4 -4
- data/lib/puppet/provider/package/up2date.rb +5 -7
- data/lib/puppet/provider/package/urpmi.rb +6 -6
- data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
- data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
- data/lib/puppet/provider/package/windows/package.rb +2 -2
- data/lib/puppet/provider/package/windows.rb +3 -5
- data/lib/puppet/provider/package/yum.rb +33 -37
- data/lib/puppet/provider/package/zypper.rb +12 -14
- data/lib/puppet/provider/package.rb +1 -1
- data/lib/puppet/provider/package_targetable.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +9 -9
- data/lib/puppet/provider/service/base.rb +16 -21
- data/lib/puppet/provider/service/bsd.rb +4 -4
- data/lib/puppet/provider/service/daemontools.rb +31 -31
- data/lib/puppet/provider/service/debian.rb +6 -6
- data/lib/puppet/provider/service/freebsd.rb +36 -36
- data/lib/puppet/provider/service/gentoo.rb +6 -6
- data/lib/puppet/provider/service/init.rb +19 -19
- data/lib/puppet/provider/service/launchd.rb +22 -22
- data/lib/puppet/provider/service/openbsd.rb +10 -10
- data/lib/puppet/provider/service/openrc.rb +1 -1
- data/lib/puppet/provider/service/openwrt.rb +3 -3
- data/lib/puppet/provider/service/rcng.rb +3 -3
- data/lib/puppet/provider/service/redhat.rb +4 -4
- data/lib/puppet/provider/service/runit.rb +6 -6
- data/lib/puppet/provider/service/service.rb +5 -7
- data/lib/puppet/provider/service/smf.rb +28 -27
- data/lib/puppet/provider/service/src.rb +7 -7
- data/lib/puppet/provider/service/systemd.rb +31 -37
- data/lib/puppet/provider/service/upstart.rb +17 -17
- data/lib/puppet/provider/service/windows.rb +7 -7
- data/lib/puppet/provider/user/aix.rb +4 -2
- data/lib/puppet/provider/user/directoryservice.rb +34 -36
- data/lib/puppet/provider/user/hpux.rb +10 -14
- data/lib/puppet/provider/user/pw.rb +1 -1
- data/lib/puppet/provider/user/user_role_add.rb +16 -18
- data/lib/puppet/provider/user/useradd.rb +7 -7
- data/lib/puppet/provider/user/windows_adsi.rb +1 -1
- data/lib/puppet/provider.rb +8 -8
- data/lib/puppet/reference/indirection.rb +3 -0
- data/lib/puppet/reference/metaparameter.rb +1 -1
- data/lib/puppet/reference/providers.rb +3 -3
- data/lib/puppet/reference/type.rb +1 -1
- data/lib/puppet/relationship.rb +4 -5
- data/lib/puppet/reports/http.rb +1 -1
- data/lib/puppet/reports/log.rb +2 -2
- data/lib/puppet/reports/store.rb +4 -4
- data/lib/puppet/reports.rb +2 -2
- data/lib/puppet/resource/catalog.rb +16 -16
- data/lib/puppet/resource/status.rb +3 -3
- data/lib/puppet/resource/type.rb +8 -8
- data/lib/puppet/resource/type_collection.rb +1 -1
- data/lib/puppet/resource.rb +41 -41
- data/lib/puppet/scheduler/scheduler.rb +1 -1
- data/lib/puppet/settings/alias_setting.rb +3 -5
- data/lib/puppet/settings/base_setting.rb +11 -11
- data/lib/puppet/settings/boolean_setting.rb +2 -2
- data/lib/puppet/settings/config_file.rb +5 -4
- data/lib/puppet/settings/duration_setting.rb +2 -2
- data/lib/puppet/settings/environment_conf.rb +3 -3
- data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
- data/lib/puppet/settings/file_setting.rb +11 -11
- data/lib/puppet/settings/ini_file.rb +3 -3
- data/lib/puppet/settings/port_setting.rb +1 -1
- data/lib/puppet/settings/priority_setting.rb +2 -2
- data/lib/puppet/settings/ttl_setting.rb +2 -2
- data/lib/puppet/settings/value_translator.rb +8 -8
- data/lib/puppet/settings.rb +65 -70
- data/lib/puppet/ssl/base.rb +2 -4
- data/lib/puppet/ssl/certificate_request.rb +18 -22
- data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
- data/lib/puppet/ssl/oids.rb +2 -2
- data/lib/puppet/ssl/openssl_loader.rb +4 -4
- data/lib/puppet/syntax_checkers/base64.rb +3 -3
- data/lib/puppet/syntax_checkers/epp.rb +3 -3
- data/lib/puppet/syntax_checkers/json.rb +3 -3
- data/lib/puppet/syntax_checkers/pp.rb +3 -3
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/event.rb +2 -2
- data/lib/puppet/transaction/event_manager.rb +5 -5
- data/lib/puppet/transaction/persistence.rb +12 -14
- data/lib/puppet/transaction/report.rb +4 -4
- data/lib/puppet/transaction/resource_harness.rb +2 -2
- data/lib/puppet/transaction.rb +14 -18
- data/lib/puppet/type/component.rb +3 -3
- data/lib/puppet/type/exec.rb +43 -45
- data/lib/puppet/type/file/checksum_value.rb +1 -1
- data/lib/puppet/type/file/content.rb +6 -6
- data/lib/puppet/type/file/ctime.rb +2 -2
- data/lib/puppet/type/file/data_sync.rb +3 -3
- data/lib/puppet/type/file/ensure.rb +16 -15
- data/lib/puppet/type/file/mode.rb +9 -9
- data/lib/puppet/type/file/mtime.rb +2 -2
- data/lib/puppet/type/file/selcontext.rb +14 -14
- data/lib/puppet/type/file/source.rb +19 -21
- data/lib/puppet/type/file/target.rb +11 -11
- data/lib/puppet/type/file.rb +21 -21
- data/lib/puppet/type/filebucket.rb +3 -3
- data/lib/puppet/type/group.rb +3 -3
- data/lib/puppet/type/notify.rb +2 -2
- data/lib/puppet/type/package.rb +4 -4
- data/lib/puppet/type/resources.rb +6 -6
- data/lib/puppet/type/schedule.rb +9 -9
- data/lib/puppet/type/service.rb +6 -8
- data/lib/puppet/type/tidy.rb +22 -24
- data/lib/puppet/type/user.rb +13 -13
- data/lib/puppet/type.rb +76 -88
- data/lib/puppet/util/at_fork/solaris.rb +33 -37
- data/lib/puppet/util/autoload.rb +2 -2
- data/lib/puppet/util/backups.rb +9 -9
- data/lib/puppet/util/character_encoding.rb +7 -6
- data/lib/puppet/util/checksums.rb +2 -2
- data/lib/puppet/util/classgen.rb +8 -8
- data/lib/puppet/util/colors.rb +1 -1
- data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
- data/lib/puppet/util/command_line/trollop.rb +42 -46
- data/lib/puppet/util/command_line.rb +2 -2
- data/lib/puppet/util/constant_inflector.rb +2 -2
- data/lib/puppet/util/diff.rb +19 -21
- data/lib/puppet/util/docs.rb +2 -2
- data/lib/puppet/util/errors.rb +9 -9
- data/lib/puppet/util/execution.rb +32 -9
- data/lib/puppet/util/feature.rb +1 -1
- data/lib/puppet/util/fileparsing.rb +12 -16
- data/lib/puppet/util/filetype.rb +36 -40
- data/lib/puppet/util/inifile.rb +6 -12
- data/lib/puppet/util/ldap/connection.rb +1 -1
- data/lib/puppet/util/ldap/manager.rb +10 -12
- data/lib/puppet/util/lockfile.rb +6 -8
- data/lib/puppet/util/log/destination.rb +2 -2
- data/lib/puppet/util/log/destinations.rb +4 -4
- data/lib/puppet/util/log.rb +12 -9
- data/lib/puppet/util/logging.rb +11 -11
- data/lib/puppet/util/metric.rb +3 -3
- data/lib/puppet/util/monkey_patches.rb +5 -7
- data/lib/puppet/util/network_device/config.rb +3 -3
- data/lib/puppet/util/package/version/debian.rb +27 -28
- data/lib/puppet/util/package/version/pip.rb +5 -5
- data/lib/puppet/util/package/version/range/eq.rb +1 -1
- data/lib/puppet/util/package/version/rpm.rb +1 -1
- data/lib/puppet/util/package.rb +2 -2
- data/lib/puppet/util/pidlock.rb +2 -2
- data/lib/puppet/util/platform.rb +1 -1
- data/lib/puppet/util/plist.rb +8 -10
- data/lib/puppet/util/posix.rb +17 -17
- data/lib/puppet/util/profiler/aggregate.rb +1 -1
- data/lib/puppet/util/provider_features.rb +3 -3
- data/lib/puppet/util/rdoc/code_objects.rb +3 -3
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
- data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
- data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
- data/lib/puppet/util/rdoc/parser.rb +1 -1
- data/lib/puppet/util/reference.rb +13 -9
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/rpm_compare.rb +17 -18
- data/lib/puppet/util/rubygems.rb +1 -1
- data/lib/puppet/util/selinux.rb +7 -7
- data/lib/puppet/util/storage.rb +10 -12
- data/lib/puppet/util/suidmanager.rb +18 -19
- data/lib/puppet/util/symbolic_file_mode.rb +71 -75
- data/lib/puppet/util/tag_set.rb +2 -2
- data/lib/puppet/util/tagging.rb +8 -10
- data/lib/puppet/util/terminal.rb +4 -4
- data/lib/puppet/util/user_attr.rb +7 -7
- data/lib/puppet/util/watcher.rb +3 -5
- data/lib/puppet/util/windows/access_control_list.rb +1 -1
- data/lib/puppet/util/windows/adsi.rb +42 -42
- data/lib/puppet/util/windows/daemon.rb +64 -68
- data/lib/puppet/util/windows/error.rb +2 -2
- data/lib/puppet/util/windows/file.rb +18 -25
- data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
- data/lib/puppet/util/windows/principal.rb +8 -8
- data/lib/puppet/util/windows/process.rb +16 -28
- data/lib/puppet/util/windows/registry.rb +16 -15
- data/lib/puppet/util/windows/root_certs.rb +2 -2
- data/lib/puppet/util/windows/security.rb +31 -31
- data/lib/puppet/util/windows/service.rb +11 -11
- data/lib/puppet/util/windows/sid.rb +8 -8
- data/lib/puppet/util/windows/user.rb +18 -20
- data/lib/puppet/util/yaml.rb +1 -1
- data/lib/puppet/util.rb +55 -46
- data/lib/puppet/version.rb +2 -2
- data/lib/puppet/x509/pem_store.rb +1 -1
- data/lib/puppet.rb +3 -3
- data/man/man5/puppet.conf.5 +10 -2
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- 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 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +1 -1
- data/man/man8/puppet-filebucket.8 +1 -1
- 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 -1
- data/man/man8/puppet-node.8 +1 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +5 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- metadata +2 -2
@@ -117,28 +117,28 @@ Puppet::Face.define(:module, '1.0.0') do
|
|
117
117
|
end
|
118
118
|
|
119
119
|
# Prepare the unmet dependencies for display on the console.
|
120
|
-
environment.modules.sort_by
|
120
|
+
environment.modules.sort_by(&:name).each do |mod|
|
121
121
|
unmet_grouped = Hash.new { |h, k| h[k] = [] }
|
122
122
|
unmet_grouped = mod.unmet_dependencies.each_with_object(unmet_grouped) do |dep, acc|
|
123
123
|
acc[dep[:reason]] << dep
|
124
124
|
end
|
125
125
|
unmet_grouped.each do |type, deps|
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
126
|
+
next if deps.empty?
|
127
|
+
|
128
|
+
unmet_grouped[type].sort_by { |dep| dep[:name] }.each do |dep|
|
129
|
+
dep_name = dep[:name].tr('/', '-')
|
130
|
+
installed_version = dep[:mod_details][:installed_version]
|
131
|
+
version_constraint = dep[:version_constraint]
|
132
|
+
parent_name = dep[:parent][:name].tr('/', '-')
|
133
|
+
parent_version = dep[:parent][:version]
|
134
|
+
|
135
|
+
msg = _("'%{parent_name}' (%{parent_version}) requires '%{dependency_name}' (%{dependency_version})") % { parent_name: parent_name, parent_version: parent_version, dependency_name: dep_name, dependency_version: version_constraint }
|
136
|
+
unmet_deps[type][dep[:name]][:errors] << msg
|
137
|
+
unmet_deps[type][dep[:name]][:parent] = {
|
138
|
+
:name => dep[:parent][:name],
|
139
|
+
:version => parent_version
|
140
|
+
}
|
141
|
+
unmet_deps[type][dep[:name]][:version] = installed_version
|
142
142
|
end
|
143
143
|
end
|
144
144
|
end
|
@@ -151,24 +151,24 @@ Puppet::Face.define(:module, '1.0.0') do
|
|
151
151
|
# Display unmet dependencies by category.
|
152
152
|
error_display_order = [:non_semantic_version, :version_mismatch, :missing]
|
153
153
|
error_display_order.each do |type|
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
154
|
+
next if @unmet_deps[type].empty?
|
155
|
+
|
156
|
+
@unmet_deps[type].keys.sort.each do |dep|
|
157
|
+
name = dep.tr('/', '-')
|
158
|
+
errors = @unmet_deps[type][dep][:errors]
|
159
|
+
version = @unmet_deps[type][dep][:version]
|
160
|
+
|
161
|
+
msg = case type
|
162
|
+
when :version_mismatch
|
163
|
+
_("Module '%{name}' (v%{version}) fails to meet some dependencies:\n") % { name: name, version: version }
|
164
|
+
when :non_semantic_version
|
165
|
+
_("Non semantic version dependency %{name} (v%{version}):\n") % { name: name, version: version }
|
166
|
+
else
|
167
|
+
_("Missing dependency '%{name}':\n") % { name: name }
|
168
|
+
end
|
169
|
+
|
170
|
+
errors.each { |error_string| msg << " #{error_string}\n" }
|
171
|
+
Puppet.warning msg.chomp
|
172
172
|
end
|
173
173
|
end
|
174
174
|
end
|
@@ -259,8 +259,8 @@ Puppet::Face.define(:module, '1.0.0') do
|
|
259
259
|
str << ' ' + colorize(:red, _('invalid'))
|
260
260
|
elsif parent.respond_to?(:forge_name)
|
261
261
|
unmet_parent = @unmet_deps[:version_mismatch][mod.forge_name][:parent]
|
262
|
-
if
|
263
|
-
|
262
|
+
if unmet_parent[:name] == parent.forge_name &&
|
263
|
+
unmet_parent[:version] == "v#{parent.version}"
|
264
264
|
str << ' ' + colorize(:red, _('invalid'))
|
265
265
|
end
|
266
266
|
end
|
data/lib/puppet/face/parser.rb
CHANGED
@@ -42,7 +42,7 @@ Puppet::Face.define(:parser, '0.0.1') do
|
|
42
42
|
parse_errors = {}
|
43
43
|
|
44
44
|
if files.empty?
|
45
|
-
if
|
45
|
+
if !STDIN.tty?
|
46
46
|
Puppet[:code] = STDIN.read
|
47
47
|
error = validate_manifest(nil)
|
48
48
|
parse_errors['STDIN'] = error if error
|
@@ -214,13 +214,11 @@ Puppet::Face.define(:parser, '0.0.1') do
|
|
214
214
|
loaders = Puppet::Pops::Loaders.new(env)
|
215
215
|
|
216
216
|
Puppet.override({ :loaders => loaders }, _('For puppet parser validate')) do
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
return parse_error
|
223
|
-
end
|
217
|
+
validation_environment = manifest ? env.override_with(:manifest => manifest) : env
|
218
|
+
validation_environment.check_for_reparse
|
219
|
+
validation_environment.known_resource_types.clear
|
220
|
+
rescue Puppet::ParseError => parse_error
|
221
|
+
return parse_error
|
224
222
|
end
|
225
223
|
|
226
224
|
nil
|
data/lib/puppet/face/report.rb
CHANGED
@@ -41,13 +41,11 @@ Puppet::Indirector::Face.define(:report, '0.0.1') do
|
|
41
41
|
return report
|
42
42
|
EOT
|
43
43
|
when_invoked do |report, _options|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
Puppet.log_exception(detail, _("Could not send report: %{detail}") % { detail: detail })
|
50
|
-
end
|
44
|
+
Puppet::Transaction::Report.indirection.terminus_class = :rest
|
45
|
+
Puppet::Face[:report, "0.0.1"].save(report)
|
46
|
+
Puppet.notice _("Uploaded report for %{name}") % { name: report.name }
|
47
|
+
rescue => detail
|
48
|
+
Puppet.log_exception(detail, _("Could not send report: %{detail}") % { detail: detail })
|
51
49
|
end
|
52
50
|
end
|
53
51
|
deactivate_action(:find)
|
data/lib/puppet/facter_impl.rb
CHANGED
data/lib/puppet/feature/base.rb
CHANGED
@@ -24,7 +24,7 @@ raise Puppet::Error, _("Cannot determine basic system flavour") unless Puppet.fe
|
|
24
24
|
Puppet.features.add(:ldap, :libs => ["ldap"])
|
25
25
|
|
26
26
|
# We have the Rdoc::Usage library.
|
27
|
-
Puppet.features.add(:usage, :libs => %w
|
27
|
+
Puppet.features.add(:usage, :libs => %w[rdoc/ri/ri_paths rdoc/usage])
|
28
28
|
|
29
29
|
# We have libshadow, useful for managing passwords.
|
30
30
|
Puppet.features.add(:libshadow, :libs => ["shadow"])
|
@@ -36,7 +36,7 @@ Puppet.features.add(:root) do
|
|
36
36
|
end
|
37
37
|
|
38
38
|
# We have lcs diff
|
39
|
-
Puppet.features.add :diff, :libs => %w
|
39
|
+
Puppet.features.add :diff, :libs => %w[diff/lcs diff/lcs/hunk]
|
40
40
|
|
41
41
|
# We have OpenSSL
|
42
42
|
Puppet.features.add(:openssl, :libs => ["openssl"])
|
@@ -59,15 +59,13 @@ Puppet.features.add(:manages_symlinks) do
|
|
59
59
|
extend FFI::Library
|
60
60
|
|
61
61
|
def self.is_implemented # rubocop:disable Naming/PredicateName
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
false
|
70
|
-
end
|
62
|
+
ffi_lib :kernel32
|
63
|
+
attach_function :CreateSymbolicLinkW, [:lpwstr, :lpwstr, :dword], :boolean
|
64
|
+
|
65
|
+
true
|
66
|
+
rescue LoadError
|
67
|
+
Puppet.debug { "CreateSymbolicLink is not available" }
|
68
|
+
false
|
71
69
|
end
|
72
70
|
end
|
73
71
|
|
data/lib/puppet/feature/ssh.rb
CHANGED
data/lib/puppet/feature/zlib.rb
CHANGED
@@ -109,7 +109,7 @@ module Puppet::FFI::Windows
|
|
109
109
|
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa364571(v=vs.85).aspx
|
110
110
|
FSCTL_GET_REPARSE_POINT = 0x900a8
|
111
111
|
|
112
|
-
MAXIMUM_REPARSE_DATA_BUFFER_SIZE =
|
112
|
+
MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16_384
|
113
113
|
|
114
114
|
# Priority constants
|
115
115
|
# https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-setpriorityclass
|
@@ -287,7 +287,7 @@ module Puppet::FFI::Windows
|
|
287
287
|
# LPDWORD pcbBytesNeeded
|
288
288
|
# );
|
289
289
|
SC_STATUS_TYPE = enum(
|
290
|
-
:SC_STATUS_PROCESS_INFO, 0
|
290
|
+
:SC_STATUS_PROCESS_INFO, 0
|
291
291
|
)
|
292
292
|
ffi_lib :advapi32
|
293
293
|
attach_function_private :QueryServiceStatusEx,
|
@@ -425,7 +425,7 @@ module Puppet::FFI::Windows
|
|
425
425
|
# LPCWSTR pszGroupName
|
426
426
|
# );
|
427
427
|
SC_ENUM_TYPE = enum(
|
428
|
-
:SC_ENUM_PROCESS_INFO, 0
|
428
|
+
:SC_ENUM_PROCESS_INFO, 0
|
429
429
|
)
|
430
430
|
ffi_lib :advapi32
|
431
431
|
attach_function_private :EnumServicesStatusExW,
|
@@ -198,7 +198,7 @@ module Puppet::FFI::Windows
|
|
198
198
|
:dwWin32ExitCode, :dword,
|
199
199
|
:dwServiceSpecificExitCode, :dword,
|
200
200
|
:dwCheckPoint, :dword,
|
201
|
-
:dwWaitHint, :dword
|
201
|
+
:dwWaitHint, :dword
|
202
202
|
)
|
203
203
|
end
|
204
204
|
|
@@ -223,7 +223,7 @@ module Puppet::FFI::Windows
|
|
223
223
|
:dwTagId, :dword,
|
224
224
|
:lpDependencies, :pointer,
|
225
225
|
:lpServiceStartName, :pointer,
|
226
|
-
:lpDisplayName, :pointer
|
226
|
+
:lpDisplayName, :pointer
|
227
227
|
)
|
228
228
|
end
|
229
229
|
|
@@ -258,7 +258,7 @@ module Puppet::FFI::Windows
|
|
258
258
|
)
|
259
259
|
end
|
260
260
|
|
261
|
-
MAXIMUM_REPARSE_DATA_BUFFER_SIZE =
|
261
|
+
MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16_384
|
262
262
|
|
263
263
|
# SYMLINK_REPARSE_DATA_BUFFER
|
264
264
|
# https://msdn.microsoft.com/en-us/library/cc232006.aspx
|
@@ -52,7 +52,7 @@ class Puppet::FileBucket::Dipper
|
|
52
52
|
Puppet::FileBucket::File.indirection.save(file_bucket_file, dest_path)
|
53
53
|
end
|
54
54
|
|
55
|
-
|
55
|
+
file_bucket_file.checksum_data
|
56
56
|
rescue => detail
|
57
57
|
message = _("Could not back up %{file}: %{detail}") % { file: file, detail: detail }
|
58
58
|
Puppet.log_exception(detail, message)
|
@@ -139,7 +139,7 @@ class Puppet::FileBucket::Dipper
|
|
139
139
|
changed = nil
|
140
140
|
if Puppet::FileSystem.exist?(file_handle) and !Puppet::FileSystem.writable?(file_handle)
|
141
141
|
changed = Puppet::FileSystem.stat(file_handle).mode
|
142
|
-
::File.chmod(changed |
|
142
|
+
::File.chmod(changed | 0o200, file)
|
143
143
|
end
|
144
144
|
::File.open(file, ::File::WRONLY | ::File::TRUNC | ::File::CREAT) { |of|
|
145
145
|
of.binmode
|
@@ -152,9 +152,9 @@ class Puppet::FileBucket::Dipper
|
|
152
152
|
Puppet.err _("Could not find file with checksum %{sum}") % { sum: sum }
|
153
153
|
return nil
|
154
154
|
end
|
155
|
-
|
155
|
+
newsum
|
156
156
|
else
|
157
|
-
|
157
|
+
nil
|
158
158
|
end
|
159
159
|
end
|
160
160
|
|
@@ -26,12 +26,12 @@ class Puppet::FileBucket::File
|
|
26
26
|
when Pathname
|
27
27
|
@contents = FileContents.new(contents)
|
28
28
|
else
|
29
|
-
raise ArgumentError
|
29
|
+
raise ArgumentError, _("contents must be a String or Pathname, got a %{contents_class}") % { contents_class: contents.class }
|
30
30
|
end
|
31
31
|
|
32
32
|
@bucket_path = options.delete(:bucket_path)
|
33
33
|
@checksum_type = Puppet[:digest_algorithm].to_sym
|
34
|
-
raise ArgumentError
|
34
|
+
raise ArgumentError, _("Unknown option(s): %{opts}") % { opts: options.keys.join(', ') } unless options.empty?
|
35
35
|
end
|
36
36
|
|
37
37
|
# @return [Num] The size of the contents
|
@@ -73,7 +73,7 @@ class Puppet::FileBucket::File
|
|
73
73
|
end
|
74
74
|
|
75
75
|
def self.from_binary(contents)
|
76
|
-
|
76
|
+
new(contents)
|
77
77
|
end
|
78
78
|
|
79
79
|
class StringContents
|
@@ -102,7 +102,7 @@ class Puppet::FileBucket::File
|
|
102
102
|
def to_binary
|
103
103
|
# This is not so horrible as for FileContent, but still possible to mutate the content that the
|
104
104
|
# checksum is based on... so semi horrible...
|
105
|
-
|
105
|
+
@contents;
|
106
106
|
end
|
107
107
|
end
|
108
108
|
|
@@ -13,9 +13,9 @@ class Puppet::FileServing::Base
|
|
13
13
|
# Does our file exist?
|
14
14
|
def exist?
|
15
15
|
stat
|
16
|
-
|
16
|
+
true
|
17
17
|
rescue
|
18
|
-
|
18
|
+
false
|
19
19
|
end
|
20
20
|
|
21
21
|
# Return the full path to our file. Fails if there's no path set.
|
@@ -59,7 +59,7 @@ class Puppet::FileServing::Base
|
|
59
59
|
attr_reader :path
|
60
60
|
|
61
61
|
def path=(path)
|
62
|
-
raise ArgumentError
|
62
|
+
raise ArgumentError, _("Paths must be fully qualified") unless Puppet::FileServing::Base.absolute?(path)
|
63
63
|
|
64
64
|
@path = path
|
65
65
|
end
|
@@ -69,14 +69,14 @@ class Puppet::FileServing::Base
|
|
69
69
|
attr_reader :relative_path
|
70
70
|
|
71
71
|
def relative_path=(path)
|
72
|
-
raise ArgumentError
|
72
|
+
raise ArgumentError, _("Relative paths must not be fully qualified") if Puppet::FileServing::Base.absolute?(path)
|
73
73
|
|
74
74
|
@relative_path = path
|
75
75
|
end
|
76
76
|
|
77
77
|
# Stat our file, using the appropriate link-sensitive method.
|
78
78
|
def stat
|
79
|
-
@stat_method ||=
|
79
|
+
@stat_method ||= links == :manage ? :lstat : :stat
|
80
80
|
Puppet::FileSystem.send(@stat_method, full_path)
|
81
81
|
end
|
82
82
|
|
@@ -25,10 +25,10 @@ class Puppet::FileServing::Configuration::Parser
|
|
25
25
|
when /^\s*#/; next # skip comments
|
26
26
|
when /^\s*$/; next # skip blank lines
|
27
27
|
when /\[([-\w]+)\]/
|
28
|
-
mount = newmount(
|
28
|
+
mount = newmount(::Regexp.last_match(1))
|
29
29
|
when /^\s*(\w+)\s+(.+?)(\s*#.*)?$/
|
30
|
-
var =
|
31
|
-
value =
|
30
|
+
var = ::Regexp.last_match(1)
|
31
|
+
value = ::Regexp.last_match(2)
|
32
32
|
value.strip!
|
33
33
|
raise(ArgumentError, _("Fileserver configuration file does not use '=' as a separator")) if value =~ /^=/
|
34
34
|
|
@@ -43,13 +43,13 @@ class Puppet::FileServing::Configuration::Parser
|
|
43
43
|
end
|
44
44
|
else
|
45
45
|
error_location_str = Puppet::Util::Errors.error_location(@file.filename, @count)
|
46
|
-
raise ArgumentError
|
47
|
-
|
46
|
+
raise ArgumentError, _("Invalid argument '%{var}' at %{error_location}") %
|
47
|
+
{ var: var, error_location: error_location_str }
|
48
48
|
end
|
49
49
|
else
|
50
50
|
error_location_str = Puppet::Util::Errors.error_location(@file.filename, @count)
|
51
|
-
raise ArgumentError
|
52
|
-
|
51
|
+
raise ArgumentError, _("Invalid entry at %{error_location}: '%{file_text}'") %
|
52
|
+
{ file_text: line.chomp, error_location: error_location_str }
|
53
53
|
end
|
54
54
|
end
|
55
55
|
end
|
@@ -73,8 +73,8 @@ class Puppet::FileServing::Configuration::Parser
|
|
73
73
|
def newmount(name)
|
74
74
|
if @mounts.include?(name)
|
75
75
|
error_location_str = Puppet::Util::Errors.error_location(@file, @count)
|
76
|
-
raise ArgumentError
|
77
|
-
|
76
|
+
raise ArgumentError, _("%{mount} is already mounted at %{name} at %{error_location}") %
|
77
|
+
{ mount: @mounts[name], name: name, error_location: error_location_str }
|
78
78
|
end
|
79
79
|
case name
|
80
80
|
when "modules"
|
@@ -56,7 +56,7 @@ class Puppet::FileServing::Configuration
|
|
56
56
|
|
57
57
|
mount_name, path = request.key.split(File::Separator, 2)
|
58
58
|
|
59
|
-
raise(ArgumentError, _("Cannot find file: Invalid mount '%{mount_name}'") % { mount_name: mount_name }) unless mount_name =~
|
59
|
+
raise(ArgumentError, _("Cannot find file: Invalid mount '%{mount_name}'") % { mount_name: mount_name }) unless mount_name =~ /^[-\w]+$/
|
60
60
|
raise(ArgumentError, _("Cannot find file: Invalid relative path '%{path}'") % { path: path }) if path and path.split('/').include?('..')
|
61
61
|
|
62
62
|
mount = find_mount(mount_name, request.environment)
|
@@ -71,10 +71,10 @@ class Puppet::FileServing::Configuration
|
|
71
71
|
path = nil
|
72
72
|
elsif path
|
73
73
|
# Remove any double slashes that might have occurred
|
74
|
-
path = path.gsub(
|
74
|
+
path = path.gsub(%r{/+}, "/")
|
75
75
|
end
|
76
76
|
|
77
|
-
|
77
|
+
[mount, path]
|
78
78
|
end
|
79
79
|
|
80
80
|
def umount(name)
|
@@ -29,11 +29,11 @@ class Puppet::FileServing::Fileset
|
|
29
29
|
def initialize(path, options = {})
|
30
30
|
if Puppet::Util::Platform.windows?
|
31
31
|
# REMIND: UNC path
|
32
|
-
path = path.chomp(File::SEPARATOR) unless path =~
|
32
|
+
path = path.chomp(File::SEPARATOR) unless path =~ %r{^[A-Za-z]:/$}
|
33
33
|
else
|
34
34
|
path = path.chomp(File::SEPARATOR) unless path == File::SEPARATOR
|
35
35
|
end
|
36
|
-
raise ArgumentError
|
36
|
+
raise ArgumentError, _("Fileset paths must be fully qualified: %{path}") % { path: path } unless Puppet::Util.absolute_path?(path)
|
37
37
|
|
38
38
|
@path = path
|
39
39
|
|
@@ -50,9 +50,9 @@ class Puppet::FileServing::Fileset
|
|
50
50
|
initialize_from_hash(options)
|
51
51
|
end
|
52
52
|
|
53
|
-
raise ArgumentError
|
53
|
+
raise ArgumentError, _("Fileset paths must exist") unless valid?(path)
|
54
54
|
# TRANSLATORS "recurse" and "recurselimit" are parameter names and should not be translated
|
55
|
-
raise ArgumentError
|
55
|
+
raise ArgumentError, _("Fileset recurse parameter must not be a number anymore, please use recurselimit") if @recurse.is_a?(Integer)
|
56
56
|
end
|
57
57
|
|
58
58
|
# Return a list of all files in our fileset. This is different from the
|
@@ -68,7 +68,7 @@ class Puppet::FileServing::Fileset
|
|
68
68
|
munged_max_files = max_files == '-1' ? -1 : max_files
|
69
69
|
|
70
70
|
if munged_max_files > 0 && files.size > munged_max_files
|
71
|
-
raise Puppet::Error
|
71
|
+
raise Puppet::Error, _("The directory '%{path}' contains %{entries} entries, which exceeds the limit of %{munged_max_files} specified by the max_files parameter for this resource. The limit may be increased, but be aware that large number of file resources can result in excessive resource consumption and degraded performance. Consider using an alternate method to manage large directory trees") % { path: path, entries: files.size, munged_max_files: munged_max_files }
|
72
72
|
elsif munged_max_files == 0 && files.size > soft_max_files
|
73
73
|
Puppet.warning _("The directory '%{path}' contains %{entries} entries, which exceeds the default soft limit %{soft_max_files} and may cause excessive resource consumption and degraded performance. To remove this warning set a value for `max_files` parameter or consider using an alternate method to manage large directory trees") % { path: path, entries: files.size, soft_max_files: soft_max_files }
|
74
74
|
end
|
@@ -104,8 +104,8 @@ class Puppet::FileServing::Fileset
|
|
104
104
|
method = option.to_s + "="
|
105
105
|
begin
|
106
106
|
send(method, value)
|
107
|
-
rescue NoMethodError
|
108
|
-
raise ArgumentError, _("Invalid option '%{option}'") % { option: option },
|
107
|
+
rescue NoMethodError => e
|
108
|
+
raise ArgumentError, _("Invalid option '%{option}'") % { option: option }, e.backtrace
|
109
109
|
end
|
110
110
|
end
|
111
111
|
end
|
@@ -165,11 +165,11 @@ class Puppet::FileServing::Fileset
|
|
165
165
|
result = []
|
166
166
|
|
167
167
|
while entry = current_dirs.shift # rubocop:disable Lint/AssignmentInCondition
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
168
|
+
next unless continue_recursion_at?(entry.depth + 1)
|
169
|
+
|
170
|
+
entry.children.each do |child|
|
171
|
+
result << child.path
|
172
|
+
current_dirs << child
|
173
173
|
end
|
174
174
|
end
|
175
175
|
|
@@ -185,6 +185,6 @@ class Puppet::FileServing::Fileset
|
|
185
185
|
|
186
186
|
def continue_recursion_at?(depth)
|
187
187
|
# recurse if told to, and infinite recursion or current depth not at the limit
|
188
|
-
|
188
|
+
recurse && (recurselimit == :infinite || depth <= recurselimit)
|
189
189
|
end
|
190
190
|
end
|
@@ -20,7 +20,7 @@ class Puppet::FileServing::HttpMetadata < Puppet::FileServing::Metadata
|
|
20
20
|
checksum = http_response['content-md5']
|
21
21
|
if checksum
|
22
22
|
# convert base64 digest to hex
|
23
|
-
checksum = checksum.
|
23
|
+
checksum = checksum.unpack1("m").unpack1("H*")
|
24
24
|
@checksums[:md5] = "{md5}#{checksum}"
|
25
25
|
end
|
26
26
|
|
@@ -47,7 +47,7 @@ class Puppet::FileServing::Metadata < Puppet::FileServing::Base
|
|
47
47
|
|
48
48
|
def initialize(stat, source_permissions)
|
49
49
|
@stat = stat
|
50
|
-
@source_permissions_ignore =
|
50
|
+
@source_permissions_ignore = !source_permissions || source_permissions == :ignore
|
51
51
|
end
|
52
52
|
|
53
53
|
def owner
|
@@ -59,7 +59,7 @@ class Puppet::FileServing::Metadata < Puppet::FileServing::Base
|
|
59
59
|
end
|
60
60
|
|
61
61
|
def mode
|
62
|
-
@source_permissions_ignore ?
|
62
|
+
@source_permissions_ignore ? 0o644 : @stat.mode
|
63
63
|
end
|
64
64
|
|
65
65
|
def_delegators :@stat, :ftype
|
@@ -78,9 +78,9 @@ class Puppet::FileServing::Metadata < Puppet::FileServing::Base
|
|
78
78
|
|
79
79
|
{ :owner => 'S-1-5-32-544',
|
80
80
|
:group => 'S-1-0-0',
|
81
|
-
:mode =>
|
81
|
+
:mode => 0o644 }.each do |method, default_value|
|
82
82
|
define_method method do
|
83
|
-
|
83
|
+
default_value
|
84
84
|
end
|
85
85
|
end
|
86
86
|
end
|
@@ -107,20 +107,24 @@ class Puppet::FileServing::Metadata < Puppet::FileServing::Base
|
|
107
107
|
@ftype = stat.ftype
|
108
108
|
|
109
109
|
# We have to mask the mode, yay.
|
110
|
-
@mode = stat.mode &
|
110
|
+
@mode = stat.mode & 0o07777
|
111
111
|
|
112
112
|
case stat.ftype
|
113
113
|
when "file"
|
114
|
-
@checksum =
|
114
|
+
@checksum = "{#{@checksum_type}}" + send("#{@checksum_type}_file", real_path).to_s
|
115
115
|
when "directory" # Always just timestamp the directory.
|
116
116
|
@checksum_type = "ctime"
|
117
|
-
@checksum =
|
117
|
+
@checksum = "{#{@checksum_type}}" + send("#{@checksum_type}_file", path).to_s
|
118
118
|
when "link"
|
119
119
|
@destination = Puppet::FileSystem.readlink(real_path)
|
120
|
-
@checksum =
|
120
|
+
@checksum = begin
|
121
|
+
"{#{@checksum_type}}" + send("#{@checksum_type}_file", real_path).to_s
|
122
|
+
rescue
|
123
|
+
nil
|
124
|
+
end
|
121
125
|
when "fifo", "socket"
|
122
126
|
@checksum_type = "none"
|
123
|
-
@checksum =
|
127
|
+
@checksum = "{#{@checksum_type}}" + send("#{@checksum_type}_file", real_path).to_s
|
124
128
|
else
|
125
129
|
raise ArgumentError, _("Cannot manage files of type %{file_type}") % { file_type: stat.ftype }
|
126
130
|
end
|