puppet 8.5.0-x86-mingw32 → 8.6.0-x86-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
@@ -212,13 +212,25 @@ module Puppet::Util::Execution
|
|
212
212
|
execution_stub = Puppet::Util::ExecutionStub.current_value
|
213
213
|
if execution_stub
|
214
214
|
child_pid = execution_stub.call(*exec_args)
|
215
|
-
[stdin, stdout, stderr].each { |io|
|
215
|
+
[stdin, stdout, stderr].each { |io|
|
216
|
+
begin
|
217
|
+
io.close
|
218
|
+
rescue
|
219
|
+
nil
|
220
|
+
end
|
221
|
+
}
|
216
222
|
return child_pid
|
217
223
|
elsif Puppet.features.posix?
|
218
224
|
child_pid = nil
|
219
225
|
begin
|
220
226
|
child_pid = execute_posix(*exec_args)
|
221
|
-
[stdin, stdout, stderr].each { |io|
|
227
|
+
[stdin, stdout, stderr].each { |io|
|
228
|
+
begin
|
229
|
+
io.close
|
230
|
+
rescue
|
231
|
+
nil
|
232
|
+
end
|
233
|
+
}
|
222
234
|
if options[:squelch]
|
223
235
|
exit_status = Process.waitpid2(child_pid).last.exitstatus
|
224
236
|
else
|
@@ -276,7 +288,13 @@ module Puppet::Util::Execution
|
|
276
288
|
elsif Puppet::Util::Platform.windows?
|
277
289
|
process_info = execute_windows(*exec_args)
|
278
290
|
begin
|
279
|
-
[stdin, stderr].each { |io|
|
291
|
+
[stdin, stderr].each { |io|
|
292
|
+
begin
|
293
|
+
io.close
|
294
|
+
rescue
|
295
|
+
nil
|
296
|
+
end
|
297
|
+
}
|
280
298
|
exit_status = Puppet::Util::Windows::Process.wait_process(process_info.process_handle)
|
281
299
|
|
282
300
|
# read output in if required
|
@@ -295,8 +313,14 @@ module Puppet::Util::Execution
|
|
295
313
|
end
|
296
314
|
ensure
|
297
315
|
# Make sure all handles are closed in case an exception was thrown attempting to execute.
|
298
|
-
[stdin, stdout, stderr].each { |io|
|
299
|
-
|
316
|
+
[stdin, stdout, stderr].each { |io|
|
317
|
+
begin
|
318
|
+
io.close
|
319
|
+
rescue
|
320
|
+
nil
|
321
|
+
end
|
322
|
+
}
|
323
|
+
unless options[:squelch]
|
300
324
|
# if we opened a pipe, we need to clean it up.
|
301
325
|
reader.close if reader
|
302
326
|
stdout.close! if Puppet::Util::Platform.windows?
|
@@ -327,7 +351,7 @@ module Puppet::Util::Execution
|
|
327
351
|
# @api private
|
328
352
|
#
|
329
353
|
def self.execute_posix(command, options, stdin, stdout, stderr)
|
330
|
-
|
354
|
+
Puppet::Util.safe_posix_fork(stdin, stdout, stderr) do
|
331
355
|
# We can't just call Array(command), and rely on it returning
|
332
356
|
# things like ['foo'], when passed ['foo'], because
|
333
357
|
# Array(command) will call command.to_a internally, which when
|
@@ -345,7 +369,7 @@ module Puppet::Util::Execution
|
|
345
369
|
Puppet::Util::SUIDManager.change_privileges(options[:uid], options[:gid], true)
|
346
370
|
|
347
371
|
# if the caller has requested that we override locale environment variables,
|
348
|
-
if
|
372
|
+
if options[:override_locale] then
|
349
373
|
# loop over them and clear them
|
350
374
|
Puppet::Util::POSIX::LOCALE_ENV_VARS.each { |name| ENV.delete(name) }
|
351
375
|
# set LANG and LC_ALL to 'C' so that the command will have consistent, predictable output
|
@@ -371,7 +395,6 @@ module Puppet::Util::Execution
|
|
371
395
|
exit!(1)
|
372
396
|
end
|
373
397
|
end
|
374
|
-
child_pid
|
375
398
|
end
|
376
399
|
private_class_method :execute_posix
|
377
400
|
|
@@ -381,7 +404,7 @@ module Puppet::Util::Execution
|
|
381
404
|
#
|
382
405
|
def self.execute_windows(command, options, stdin, stdout, stderr)
|
383
406
|
command = command.map do |part|
|
384
|
-
part.include?(' ') ? %Q
|
407
|
+
part.include?(' ') ? %Q("#{part.gsub(/"/, '\"')}") : part
|
385
408
|
end.join(" ") if command.is_a?(Array)
|
386
409
|
|
387
410
|
options[:custom_environment] ||= {}
|
data/lib/puppet/util/feature.rb
CHANGED
@@ -77,7 +77,7 @@ class Puppet::Util::Feature
|
|
77
77
|
feature = method.to_s.sub(/\?$/, '')
|
78
78
|
@loader.load(feature, Puppet.lookup(:current_environment))
|
79
79
|
|
80
|
-
respond_to?(method) &&
|
80
|
+
respond_to?(method) && send(method)
|
81
81
|
end
|
82
82
|
|
83
83
|
# Actually test whether the feature is present. We only want to test when
|
@@ -42,7 +42,7 @@ module Puppet::Util::FileParsing
|
|
42
42
|
def fields=(fields)
|
43
43
|
@fields = fields.collect do |field|
|
44
44
|
r = field.intern
|
45
|
-
raise ArgumentError
|
45
|
+
raise ArgumentError, _("Cannot have fields named %{name}") % { name: r } if INVALID_FIELDS.include?(r)
|
46
46
|
|
47
47
|
r
|
48
48
|
end
|
@@ -121,9 +121,7 @@ module Puppet::Util::FileParsing
|
|
121
121
|
|
122
122
|
# Customize this so we can do a bit of validation.
|
123
123
|
def optional=(optional)
|
124
|
-
@optional = optional.collect
|
125
|
-
field.intern
|
126
|
-
end
|
124
|
+
@optional = optional.collect(&:intern)
|
127
125
|
end
|
128
126
|
|
129
127
|
# Create a hook that modifies the hash resulting from parsing.
|
@@ -230,9 +228,9 @@ module Puppet::Util::FileParsing
|
|
230
228
|
|
231
229
|
if ret
|
232
230
|
ret[:record_type] = record.name
|
233
|
-
|
231
|
+
ret
|
234
232
|
else
|
235
|
-
|
233
|
+
nil
|
236
234
|
end
|
237
235
|
end
|
238
236
|
|
@@ -246,7 +244,7 @@ module Puppet::Util::FileParsing
|
|
246
244
|
def lines(text)
|
247
245
|
# NOTE: We do not have to remove trailing separators because split will ignore
|
248
246
|
# them by default (unless you pass -1 as a second parameter)
|
249
|
-
text.split(
|
247
|
+
text.split(line_separator)
|
250
248
|
end
|
251
249
|
|
252
250
|
# Split a bunch of text into lines and then parse them individually.
|
@@ -346,7 +344,7 @@ module Puppet::Util::FileParsing
|
|
346
344
|
end
|
347
345
|
|
348
346
|
case record.type
|
349
|
-
when :text;
|
347
|
+
when :text; details[:line]
|
350
348
|
else
|
351
349
|
return record.to_line(details) if record.respond_to?(:to_line)
|
352
350
|
|
@@ -358,9 +356,9 @@ module Puppet::Util::FileParsing
|
|
358
356
|
if regex == true
|
359
357
|
regex = /\s+$/
|
360
358
|
end
|
361
|
-
|
359
|
+
line.sub(regex, '')
|
362
360
|
else
|
363
|
-
|
361
|
+
line
|
364
362
|
end
|
365
363
|
end
|
366
364
|
end
|
@@ -368,9 +366,9 @@ module Puppet::Util::FileParsing
|
|
368
366
|
# Whether to add a trailing separator to the file. Defaults to true
|
369
367
|
def trailing_separator
|
370
368
|
if defined?(@trailing_separator)
|
371
|
-
|
369
|
+
@trailing_separator
|
372
370
|
else
|
373
|
-
|
371
|
+
true
|
374
372
|
end
|
375
373
|
end
|
376
374
|
|
@@ -378,11 +376,9 @@ module Puppet::Util::FileParsing
|
|
378
376
|
type = type.intern
|
379
377
|
record = record_type(type)
|
380
378
|
if record && record.fields.include?(attr.intern)
|
381
|
-
|
382
|
-
elsif attr.intern == :ensure
|
383
|
-
return true
|
379
|
+
true
|
384
380
|
else
|
385
|
-
|
381
|
+
attr.intern == :ensure
|
386
382
|
end
|
387
383
|
end
|
388
384
|
|
data/lib/puppet/util/filetype.rb
CHANGED
@@ -37,37 +37,33 @@ class Puppet::Util::FileType
|
|
37
37
|
# Rename the read method
|
38
38
|
define_method(:real_read, instance_method(:read))
|
39
39
|
define_method(:read) do
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
return ""
|
47
|
-
end
|
48
|
-
rescue Puppet::Error
|
49
|
-
raise
|
50
|
-
rescue => detail
|
51
|
-
message = _("%{klass} could not read %{path}: %{detail}") % { klass: self.class, path: @path, detail: detail }
|
52
|
-
Puppet.log_exception(detail, message)
|
53
|
-
raise Puppet::Error, message, detail.backtrace
|
40
|
+
val = real_read
|
41
|
+
@loaded = Time.now
|
42
|
+
if val
|
43
|
+
val.gsub(/# HEADER.*\n/, '')
|
44
|
+
else
|
45
|
+
""
|
54
46
|
end
|
47
|
+
rescue Puppet::Error
|
48
|
+
raise
|
49
|
+
rescue => detail
|
50
|
+
message = _("%{klass} could not read %{path}: %{detail}") % { klass: self.class, path: @path, detail: detail }
|
51
|
+
Puppet.log_exception(detail, message)
|
52
|
+
raise Puppet::Error, message, detail.backtrace
|
55
53
|
end
|
56
54
|
|
57
55
|
# And then the write method
|
58
56
|
define_method(:real_write, instance_method(:write))
|
59
57
|
define_method(:write) do |text|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
raise Puppet::Error, message, detail.backtrace
|
70
|
-
end
|
58
|
+
val = real_write(text)
|
59
|
+
@synced = Time.now
|
60
|
+
val
|
61
|
+
rescue Puppet::Error
|
62
|
+
raise
|
63
|
+
rescue => detail
|
64
|
+
message = _("%{klass} could not write %{path}: %{detail}") % { klass: self.class, path: @path, detail: detail }
|
65
|
+
Puppet.log_exception(detail, message)
|
66
|
+
raise Puppet::Error, message, detail.backtrace
|
71
67
|
end
|
72
68
|
end
|
73
69
|
end
|
@@ -82,7 +78,7 @@ class Puppet::Util::FileType
|
|
82
78
|
end
|
83
79
|
|
84
80
|
def initialize(path, default_mode = nil)
|
85
|
-
raise ArgumentError
|
81
|
+
raise ArgumentError, _("Path is nil") if path.nil?
|
86
82
|
|
87
83
|
@path = path
|
88
84
|
@default_mode = default_mode
|
@@ -114,7 +110,7 @@ class Puppet::Util::FileType
|
|
114
110
|
# being explicitly preserved
|
115
111
|
Puppet::FileSystem.read(@path, :encoding => Encoding.default_external)
|
116
112
|
else
|
117
|
-
|
113
|
+
nil
|
118
114
|
end
|
119
115
|
end
|
120
116
|
|
@@ -206,11 +202,11 @@ class Puppet::Util::FileType
|
|
206
202
|
rescue => detail
|
207
203
|
case detail.to_s
|
208
204
|
when /no crontab for/
|
209
|
-
|
205
|
+
""
|
210
206
|
when /are not allowed to/
|
211
207
|
Puppet.debug _("The %{path} user is not authorized to use cron. Their crontab file is treated as empty in case Puppet authorizes them in the middle of the run (by, for example, modifying the cron.deny or cron.allow files).") % { path: @path }
|
212
208
|
|
213
|
-
|
209
|
+
""
|
214
210
|
else
|
215
211
|
raise FileReadError, _("Could not read crontab for %{path}: %{detail}") % { path: @path, detail: detail }, detail.backtrace
|
216
212
|
end
|
@@ -219,7 +215,7 @@ class Puppet::Util::FileType
|
|
219
215
|
# Remove a specific @path's cron tab.
|
220
216
|
def remove
|
221
217
|
cmd = "#{cmdbase} -r"
|
222
|
-
if %w
|
218
|
+
if %w[Darwin FreeBSD DragonFly].include?(Puppet.runtime[:facter].value('os.name'))
|
223
219
|
cmd = "/bin/echo yes | #{cmd}"
|
224
220
|
end
|
225
221
|
|
@@ -249,9 +245,9 @@ class Puppet::Util::FileType
|
|
249
245
|
# does not think I should be allowed to set the @path to my own user name
|
250
246
|
def cmdbase
|
251
247
|
if @uid == Puppet::Util::SUIDManager.uid || Puppet.runtime[:facter].value('os.name') == "HP-UX"
|
252
|
-
|
248
|
+
"crontab"
|
253
249
|
else
|
254
|
-
|
250
|
+
"crontab -u #{@path}"
|
255
251
|
end
|
256
252
|
end
|
257
253
|
end
|
@@ -267,15 +263,15 @@ class Puppet::Util::FileType
|
|
267
263
|
return ""
|
268
264
|
end
|
269
265
|
|
270
|
-
Puppet::Util::Execution.execute(%w
|
266
|
+
Puppet::Util::Execution.execute(%w[crontab -l], cronargs)
|
271
267
|
rescue => detail
|
272
268
|
case detail.to_s
|
273
269
|
when /can't open your crontab/
|
274
|
-
|
270
|
+
""
|
275
271
|
when /you are not authorized to use cron/
|
276
272
|
Puppet.debug _("The %{path} user is not authorized to use cron. Their crontab file is treated as empty in case Puppet authorizes them in the middle of the run (by, for example, modifying the cron.deny or cron.allow files).") % { path: @path }
|
277
273
|
|
278
|
-
|
274
|
+
""
|
279
275
|
else
|
280
276
|
raise FileReadError, _("Could not read crontab for %{path}: %{detail}") % { path: @path, detail: detail }, detail.backtrace
|
281
277
|
end
|
@@ -283,7 +279,7 @@ class Puppet::Util::FileType
|
|
283
279
|
|
284
280
|
# Remove a specific @path's cron tab.
|
285
281
|
def remove
|
286
|
-
Puppet::Util::Execution.execute(%w
|
282
|
+
Puppet::Util::Execution.execute(%w[crontab -r], cronargs)
|
287
283
|
rescue => detail
|
288
284
|
raise FileReadError, _("Could not remove crontab for %{path}: %{detail}") % { path: @path, detail: detail }, detail.backtrace
|
289
285
|
end
|
@@ -318,15 +314,15 @@ class Puppet::Util::FileType
|
|
318
314
|
return ""
|
319
315
|
end
|
320
316
|
|
321
|
-
Puppet::Util::Execution.execute(%w
|
317
|
+
Puppet::Util::Execution.execute(%w[crontab -l], cronargs)
|
322
318
|
rescue => detail
|
323
319
|
case detail.to_s
|
324
320
|
when /open.*in.*directory/
|
325
|
-
|
321
|
+
""
|
326
322
|
when /not.*authorized.*cron/
|
327
323
|
Puppet.debug _("The %{path} user is not authorized to use cron. Their crontab file is treated as empty in case Puppet authorizes them in the middle of the run (by, for example, modifying the cron.deny or cron.allow files).") % { path: @path }
|
328
324
|
|
329
|
-
|
325
|
+
""
|
330
326
|
else
|
331
327
|
raise FileReadError, _("Could not read crontab for %{path}: %{detail}") % { path: @path, detail: detail }, detail.backtrace
|
332
328
|
end
|
@@ -334,7 +330,7 @@ class Puppet::Util::FileType
|
|
334
330
|
|
335
331
|
# Remove a specific @path's cron tab.
|
336
332
|
def remove
|
337
|
-
Puppet::Util::Execution.execute(%w
|
333
|
+
Puppet::Util::Execution.execute(%w[crontab -r], cronargs)
|
338
334
|
rescue => detail
|
339
335
|
raise FileReadError, _("Could not remove crontab for %{path}: %{detail}") % { path: @path, detail: detail }, detail.backtrace
|
340
336
|
end
|
data/lib/puppet/util/inifile.rb
CHANGED
@@ -73,7 +73,7 @@ module Puppet::Util::IniConfig
|
|
73
73
|
# exists, return nil
|
74
74
|
def [](key)
|
75
75
|
entry = find_entry(key)
|
76
|
-
|
76
|
+
(entry.nil? ? nil : entry[1])
|
77
77
|
end
|
78
78
|
|
79
79
|
# Format the section as text in the way it should be
|
@@ -150,7 +150,7 @@ module Puppet::Util::IniConfig
|
|
150
150
|
)
|
151
151
|
INI_CONTINUATION = /^[ \t\r\n\f]/
|
152
152
|
INI_SECTION_NAME = /^\[([^\]]+)\]/
|
153
|
-
INI_PROPERTY = /^\s*([^\s=]+)\s
|
153
|
+
INI_PROPERTY = /^\s*([^\s=]+)\s*=\s*(.*)$/
|
154
154
|
|
155
155
|
# @api private
|
156
156
|
def parse(text)
|
@@ -184,7 +184,7 @@ module Puppet::Util::IniConfig
|
|
184
184
|
val = match[2].rstrip
|
185
185
|
|
186
186
|
if section.nil?
|
187
|
-
raise IniParseError
|
187
|
+
raise IniParseError, _("Property with key %{key} outside of a section") % { key: key.inspect }
|
188
188
|
end
|
189
189
|
|
190
190
|
section[key] = val
|
@@ -251,7 +251,7 @@ module Puppet::Util::IniConfig
|
|
251
251
|
private
|
252
252
|
|
253
253
|
def section_exists?(name)
|
254
|
-
if
|
254
|
+
if get_section(name)
|
255
255
|
true
|
256
256
|
elsif @file_collection and @file_collection.get_section(name)
|
257
257
|
true
|
@@ -275,9 +275,7 @@ module Puppet::Util::IniConfig
|
|
275
275
|
end
|
276
276
|
|
277
277
|
def store
|
278
|
-
@files.values.each
|
279
|
-
file.store
|
280
|
-
end
|
278
|
+
@files.values.each(&:store)
|
281
279
|
end
|
282
280
|
|
283
281
|
def each_section(&block)
|
@@ -318,11 +316,7 @@ module Puppet::Util::IniConfig
|
|
318
316
|
# Return a file if it's already been defined, create a new file if it hasn't
|
319
317
|
# been defined.
|
320
318
|
def get_physical_file(file)
|
321
|
-
|
322
|
-
@files[file]
|
323
|
-
else
|
324
|
-
new_physical_file(file)
|
325
|
-
end
|
319
|
+
@files[file] || new_physical_file(file)
|
326
320
|
end
|
327
321
|
|
328
322
|
# Create a new physical file and set required attributes on that file.
|
@@ -48,7 +48,7 @@ class Puppet::Util::Ldap::Connection
|
|
48
48
|
|
49
49
|
# Create a per-connection unique name.
|
50
50
|
def name
|
51
|
-
[host, port, user, password, ssl].collect
|
51
|
+
[host, port, user, password, ssl].collect(&:to_s).join("/")
|
52
52
|
end
|
53
53
|
|
54
54
|
# Should we reset the connection?
|
@@ -31,7 +31,7 @@ class Puppet::Util::Ldap::Manager
|
|
31
31
|
attributes = attributes.dup
|
32
32
|
|
33
33
|
# Add the objectclasses
|
34
|
-
attributes["objectClass"] = objectclasses.collect
|
34
|
+
attributes["objectClass"] = objectclasses.collect(&:to_s)
|
35
35
|
attributes["objectClass"] << "top" unless attributes["objectClass"].include?("top")
|
36
36
|
|
37
37
|
attributes[rdn.to_s] = [name]
|
@@ -109,21 +109,19 @@ class Puppet::Util::Ldap::Manager
|
|
109
109
|
|
110
110
|
# Create our normal search filter.
|
111
111
|
def filter
|
112
|
-
|
112
|
+
(objectclasses.length == 1 ? "objectclass=#{objectclasses[0]}" : "(&(objectclass=" + objectclasses.join(")(objectclass=") + "))")
|
113
113
|
end
|
114
114
|
|
115
115
|
# Find the associated entry for a resource. Returns a hash, minus
|
116
116
|
# 'dn', or nil if the entry cannot be found.
|
117
117
|
def find(name)
|
118
118
|
connect do |conn|
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
return entry2provider(result)
|
123
|
-
end
|
124
|
-
rescue
|
125
|
-
return nil
|
119
|
+
conn.search2(dn(name), 0, "objectclass=*") do |result|
|
120
|
+
# Convert to puppet-appropriate attributes
|
121
|
+
return entry2provider(result)
|
126
122
|
end
|
123
|
+
rescue
|
124
|
+
return nil
|
127
125
|
end
|
128
126
|
end
|
129
127
|
|
@@ -153,7 +151,7 @@ class Puppet::Util::Ldap::Manager
|
|
153
151
|
end
|
154
152
|
|
155
153
|
result = [result] unless result.is_a?(Array)
|
156
|
-
result = result.collect
|
154
|
+
result = result.collect(&:to_s)
|
157
155
|
|
158
156
|
values[generator.name] = result
|
159
157
|
end
|
@@ -215,7 +213,7 @@ class Puppet::Util::Ldap::Manager
|
|
215
213
|
result << entry2provider(entry)
|
216
214
|
end
|
217
215
|
end
|
218
|
-
|
216
|
+
(result.empty? ? nil : result)
|
219
217
|
end
|
220
218
|
|
221
219
|
# Update the ldap entry with the desired state.
|
@@ -278,7 +276,7 @@ class Puppet::Util::Ldap::Manager
|
|
278
276
|
# getting rid of :ensure and making sure everything's an array of strings.
|
279
277
|
def ldap_convert(attributes)
|
280
278
|
attributes.reject { |param, value| value == :absent or param == :ensure }.each_with_object({}) do |ary, result|
|
281
|
-
value = (ary[1].is_a?(Array) ? ary[1] : [ary[1]]).collect
|
279
|
+
value = (ary[1].is_a?(Array) ? ary[1] : [ary[1]]).collect(&:to_s)
|
282
280
|
result[ldap_name(ary[0])] = value
|
283
281
|
end
|
284
282
|
end
|
data/lib/puppet/util/lockfile.rb
CHANGED
@@ -25,14 +25,12 @@ class Puppet::Util::Lockfile
|
|
25
25
|
|
26
26
|
# @return [boolean] true if lock is successfully acquired, false otherwise.
|
27
27
|
def lock(lock_data = nil)
|
28
|
-
|
29
|
-
|
30
|
-
fd.print(lock_data)
|
31
|
-
end
|
32
|
-
true
|
33
|
-
rescue Errno::EEXIST
|
34
|
-
false
|
28
|
+
Puppet::FileSystem.exclusive_create(@file_path, nil) do |fd|
|
29
|
+
fd.print(lock_data)
|
35
30
|
end
|
31
|
+
true
|
32
|
+
rescue Errno::EEXIST
|
33
|
+
false
|
36
34
|
end
|
37
35
|
|
38
36
|
def unlock
|
@@ -53,7 +51,7 @@ class Puppet::Util::Lockfile
|
|
53
51
|
# was locked.
|
54
52
|
# @return [String] the data object.
|
55
53
|
def lock_data
|
56
|
-
|
54
|
+
File.read(@file_path) if file_locked?
|
57
55
|
end
|
58
56
|
|
59
57
|
# Private, internal utility method for encapsulating the logic about
|
@@ -19,8 +19,8 @@ Puppet::Util::Log.newdesttype :syslog do
|
|
19
19
|
str = Puppet[:syslogfacility]
|
20
20
|
begin
|
21
21
|
facility = Syslog.const_get("LOG_#{str.upcase}")
|
22
|
-
rescue NameError
|
23
|
-
raise Puppet::Error, _("Invalid syslog facility %{str}") % { str: str },
|
22
|
+
rescue NameError => e
|
23
|
+
raise Puppet::Error, _("Invalid syslog facility %{str}") % { str: str }, e.backtrace
|
24
24
|
end
|
25
25
|
|
26
26
|
@syslog = Syslog.open(name, options, facility)
|
@@ -72,7 +72,7 @@ Puppet::Util::Log.newdesttype :file do
|
|
72
72
|
# We can't just use 'Config.use' here, because they've
|
73
73
|
# specified a "special" destination.
|
74
74
|
unless Puppet::FileSystem.exist?(Puppet::FileSystem.dir(path))
|
75
|
-
FileUtils.mkdir_p(File.dirname(path), :mode =>
|
75
|
+
FileUtils.mkdir_p(File.dirname(path), :mode => 0o755)
|
76
76
|
Puppet.info _("Creating log directory %{dir}") % { dir: File.dirname(path) }
|
77
77
|
end
|
78
78
|
|
@@ -211,7 +211,7 @@ Puppet::Util::Log.newdesttype :eventlog do
|
|
211
211
|
Puppet::Util::Log::DestEventlog::EVENTLOG_ERROR_TYPE = 0x0001
|
212
212
|
Puppet::Util::Log::DestEventlog::EVENTLOG_WARNING_TYPE = 0x0002
|
213
213
|
Puppet::Util::Log::DestEventlog::EVENTLOG_INFORMATION_TYPE = 0x0004
|
214
|
-
Puppet::Util::Log::DestEventlog::EVENTLOG_CHARACTER_LIMIT =
|
214
|
+
Puppet::Util::Log::DestEventlog::EVENTLOG_CHARACTER_LIMIT = 31_838
|
215
215
|
|
216
216
|
def self.suitable?(obj)
|
217
217
|
Puppet::Util::Platform.windows?
|
data/lib/puppet/util/log.rb
CHANGED
@@ -64,7 +64,7 @@ class Puppet::Util::Log
|
|
64
64
|
close(dest)
|
65
65
|
}
|
66
66
|
# TRANSLATORS "Log.close_all" is a method name and should not be translated
|
67
|
-
raise Puppet::DevError
|
67
|
+
raise Puppet::DevError, _("Log.close_all failed to close %{destinations}") % { destinations: @destinations.keys.inspect } unless @destinations.empty?
|
68
68
|
end
|
69
69
|
|
70
70
|
# Flush any log destinations that support such operations.
|
@@ -135,7 +135,7 @@ class Puppet::Util::Log
|
|
135
135
|
klass.match?(dest)
|
136
136
|
end
|
137
137
|
|
138
|
-
if type.respond_to?(:suitable?) and
|
138
|
+
if type.respond_to?(:suitable?) and !type.suitable?(dest)
|
139
139
|
return
|
140
140
|
end
|
141
141
|
|
@@ -224,7 +224,7 @@ class Puppet::Util::Log
|
|
224
224
|
# error scenario.
|
225
225
|
# @return nil
|
226
226
|
def Log.force_flushqueue
|
227
|
-
if
|
227
|
+
if @destinations.empty? and !@queued.empty?
|
228
228
|
newdestination(:console)
|
229
229
|
end
|
230
230
|
flushqueue
|
@@ -257,8 +257,11 @@ class Puppet::Util::Log
|
|
257
257
|
|
258
258
|
def self.setup_default
|
259
259
|
Log.newdestination(
|
260
|
-
|
261
|
-
|
260
|
+
if Puppet.features.syslog?
|
261
|
+
:syslog
|
262
|
+
else
|
263
|
+
Puppet.features.eventlog? ? :eventlog : Puppet[:puppetdlog]
|
264
|
+
end
|
262
265
|
)
|
263
266
|
end
|
264
267
|
|
@@ -309,7 +312,7 @@ class Puppet::Util::Log
|
|
309
312
|
|
310
313
|
tags = args[:tags]
|
311
314
|
if tags
|
312
|
-
tags.each { |t|
|
315
|
+
tags.each { |t| tag(t) }
|
313
316
|
end
|
314
317
|
|
315
318
|
# Don't add these unless defined (preserve 3.x API as much as possible)
|
@@ -333,7 +336,7 @@ class Puppet::Util::Log
|
|
333
336
|
@time = Time.parse(@time)
|
334
337
|
end
|
335
338
|
# Don't add these unless defined (preserve 3.x API as much as possible)
|
336
|
-
%w
|
339
|
+
%w[file line pos issue_code environment node backtrace].each do |name|
|
337
340
|
value = data[name]
|
338
341
|
next unless value
|
339
342
|
|
@@ -342,7 +345,7 @@ class Puppet::Util::Log
|
|
342
345
|
end
|
343
346
|
|
344
347
|
def to_hash
|
345
|
-
|
348
|
+
to_data_hash
|
346
349
|
end
|
347
350
|
|
348
351
|
def to_data_hash
|
@@ -365,7 +368,7 @@ class Puppet::Util::Log
|
|
365
368
|
'tags' => @tags.to_a,
|
366
369
|
'time' => @time.iso8601(9),
|
367
370
|
}
|
368
|
-
%w
|
371
|
+
%w[file line pos issue_code environment node backtrace].each do |name|
|
369
372
|
attr_name = "@#{name}"
|
370
373
|
hash[name] = instance_variable_get(attr_name) if instance_variable_defined?(attr_name)
|
371
374
|
end
|
data/lib/puppet/util/logging.rb
CHANGED
@@ -160,7 +160,7 @@ module Logging
|
|
160
160
|
file = options[:file]
|
161
161
|
line = options[:line]
|
162
162
|
# TRANSLATORS the literals ":file", ":line", and ":key" should not be translated
|
163
|
-
raise Puppet::DevError, _("Need either :file and :line, or :key") if
|
163
|
+
raise Puppet::DevError, _("Need either :file and :line, or :key") if key.nil? && (file.nil? || line.nil?)
|
164
164
|
|
165
165
|
key ||= "#{file}:#{line}"
|
166
166
|
issue_deprecation_warning(message, key, file, line, false)
|
@@ -183,7 +183,7 @@ module Logging
|
|
183
183
|
|
184
184
|
$unique_warnings ||= {}
|
185
185
|
if $unique_warnings.length < 100 then
|
186
|
-
|
186
|
+
unless $unique_warnings.has_key?(key) then
|
187
187
|
$unique_warnings[key] = message
|
188
188
|
call_trace = if file == :default and line == :default
|
189
189
|
# Suppress the file and line number output
|
@@ -238,16 +238,16 @@ module Logging
|
|
238
238
|
|
239
239
|
# Deprecation messages are UTF-8 as they are produced by Ruby
|
240
240
|
Puppet::FileSystem.open(deprecations_file, nil, "a:UTF-8") do |f|
|
241
|
-
if
|
241
|
+
if $deprecation_warnings then
|
242
242
|
$deprecation_warnings.each do |offender, message|
|
243
|
-
if
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
243
|
+
next if $logged_deprecation_warnings.has_key?(offender)
|
244
|
+
|
245
|
+
$logged_deprecation_warnings[offender] = true
|
246
|
+
next unless pattern.nil? || (message =~ pattern)
|
247
|
+
|
248
|
+
f.puts(message)
|
249
|
+
f.puts(offender)
|
250
|
+
f.puts()
|
251
251
|
end
|
252
252
|
end
|
253
253
|
end
|