puppet 4.10.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CONTRIBUTING.md +17 -0
- data/Gemfile +6 -10
- data/MAINTAINERS +0 -5
- data/Rakefile +2 -1
- data/conf/auth.conf +21 -0
- data/conf/fileserver.conf +7 -12
- data/conf/hiera.yaml +11 -0
- data/ext/debian/puppet-common.install +0 -1
- data/ext/debian/puppet-common.manpages +0 -2
- data/ext/hiera/hiera.yaml +15 -0
- data/ext/logcheck/puppet +1 -1
- data/ext/project_data.yaml +3 -6
- data/ext/puppet-test +0 -24
- data/ext/rack/config.ru +2 -2
- data/ext/redhat/puppet.spec.erb +0 -3
- data/ext/windows/service/daemon.rb +8 -14
- data/install.rb +1 -1
- data/lib/hiera/puppet_function.rb +1 -1
- data/lib/puppet/agent/disabler.rb +3 -3
- data/lib/puppet/agent/locker.rb +3 -3
- data/lib/puppet/agent.rb +27 -16
- data/lib/puppet/application/agent.rb +16 -9
- data/lib/puppet/application/apply.rb +19 -17
- data/lib/puppet/application/cert.rb +2 -2
- data/lib/puppet/application/describe.rb +2 -2
- data/lib/puppet/application/device.rb +71 -46
- data/lib/puppet/application/doc.rb +9 -9
- data/lib/puppet/application/face_base.rb +8 -13
- data/lib/puppet/application/filebucket.rb +8 -8
- data/lib/puppet/application/lookup.rb +101 -88
- data/lib/puppet/application/master.rb +15 -23
- data/lib/puppet/application/resource.rb +20 -17
- data/lib/puppet/application.rb +11 -11
- data/lib/puppet/configurer/downloader.rb +2 -2
- data/lib/puppet/configurer/fact_handler.rb +13 -4
- data/lib/puppet/configurer.rb +29 -28
- data/lib/puppet/context/trusted_information.rb +1 -1
- data/lib/puppet/context.rb +5 -5
- data/lib/puppet/defaults.rb +58 -104
- data/lib/puppet/error.rb +1 -1
- data/lib/puppet/etc.rb +75 -39
- data/lib/puppet/external/pson/common.rb +4 -0
- data/lib/puppet/face/ca.rb +50 -43
- data/lib/puppet/face/catalog/select.rb +4 -4
- data/lib/puppet/face/catalog.rb +2 -2
- data/lib/puppet/face/certificate.rb +21 -21
- data/lib/puppet/face/certificate_request.rb +1 -1
- data/lib/puppet/face/certificate_revocation_list.rb +1 -1
- data/lib/puppet/face/config.rb +10 -10
- data/lib/puppet/face/epp.rb +38 -38
- data/lib/puppet/face/facts.rb +5 -5
- data/lib/puppet/face/generate.rb +8 -8
- data/lib/puppet/face/help.rb +8 -8
- data/lib/puppet/face/key.rb +3 -3
- data/lib/puppet/face/man.rb +7 -7
- data/lib/puppet/face/module/build.rb +7 -7
- data/lib/puppet/face/module/changes.rb +6 -6
- data/lib/puppet/face/module/generate.rb +24 -24
- data/lib/puppet/face/module/install.rb +13 -9
- data/lib/puppet/face/module/list.rb +16 -12
- data/lib/puppet/face/module/search.rb +4 -4
- data/lib/puppet/face/module/uninstall.rb +13 -10
- data/lib/puppet/face/module/upgrade.rb +11 -7
- data/lib/puppet/face/module.rb +3 -3
- data/lib/puppet/face/node/clean.rb +8 -8
- data/lib/puppet/face/node.rb +6 -6
- data/lib/puppet/face/parser.rb +17 -17
- data/lib/puppet/face/plugin.rb +7 -7
- data/lib/puppet/face/report.rb +10 -10
- data/lib/puppet/face/resource.rb +13 -13
- data/lib/puppet/face/status.rb +5 -5
- data/lib/puppet/feature/base.rb +4 -3
- data/lib/puppet/feature/eventlog.rb +1 -1
- data/lib/puppet/file_bucket/dipper.rb +9 -9
- data/lib/puppet/file_bucket/file.rb +4 -17
- data/lib/puppet/file_serving/base.rb +3 -3
- data/lib/puppet/file_serving/configuration/parser.rb +12 -12
- data/lib/puppet/file_serving/configuration.rb +3 -3
- data/lib/puppet/file_serving/content.rb +1 -1
- data/lib/puppet/file_serving/fileset.rb +7 -5
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/metadata.rb +9 -9
- data/lib/puppet/file_serving/mount/file.rb +6 -6
- data/lib/puppet/file_serving/mount/modules.rb +1 -1
- data/lib/puppet/file_serving/mount.rb +1 -1
- data/lib/puppet/file_serving/terminus_selector.rb +1 -1
- data/lib/puppet/file_system/file_impl.rb +2 -2
- data/lib/puppet/file_system/memory_impl.rb +1 -1
- data/lib/puppet/file_system/path_pattern.rb +6 -6
- data/lib/puppet/file_system/uniquefile.rb +2 -2
- data/lib/puppet/file_system/windows.rb +3 -3
- data/lib/puppet/forge/cache.rb +1 -0
- data/lib/puppet/forge/errors.rb +12 -12
- data/lib/puppet/forge/repository.rb +2 -1
- data/lib/puppet/forge.rb +10 -8
- data/lib/puppet/functions/annotate.rb +108 -0
- data/lib/puppet/functions/binary_file.rb +1 -1
- data/lib/puppet/functions/call.rb +42 -0
- data/lib/puppet/functions/defined.rb +4 -4
- data/lib/puppet/functions/dig.rb +1 -1
- data/lib/puppet/functions/eyaml_lookup_key.rb +16 -12
- data/lib/puppet/functions/hiera.rb +9 -2
- data/lib/puppet/functions/hiera_array.rb +9 -2
- data/lib/puppet/functions/hiera_hash.rb +10 -2
- data/lib/puppet/functions/hiera_include.rb +18 -4
- data/lib/puppet/functions/hocon_data.rb +8 -2
- data/lib/puppet/functions/json_data.rb +5 -1
- data/lib/puppet/functions/match.rb +2 -2
- data/lib/puppet/functions/reduce.rb +14 -2
- data/lib/puppet/functions/require.rb +1 -1
- data/lib/puppet/functions/slice.rb +3 -3
- data/lib/puppet/functions/strftime.rb +10 -2
- data/lib/puppet/functions/unique.rb +132 -0
- data/lib/puppet/functions/yaml_data.rb +4 -0
- data/lib/puppet/functions.rb +17 -45
- data/lib/puppet/generate/models/type/type.rb +6 -5
- data/lib/puppet/generate/templates/type/pcore.erb +1 -1
- data/lib/puppet/generate/type.rb +12 -12
- data/lib/puppet/graph/relationship_graph.rb +4 -1
- data/lib/puppet/graph/simple_graph.rb +45 -66
- data/lib/puppet/indirector/catalog/compiler.rb +61 -44
- data/lib/puppet/indirector/catalog/json.rb +18 -0
- data/lib/puppet/indirector/certificate/disabled_ca.rb +1 -1
- data/lib/puppet/indirector/certificate_request/ca.rb +3 -3
- data/lib/puppet/indirector/certificate_request/disabled_ca.rb +1 -1
- data/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +1 -1
- data/lib/puppet/indirector/certificate_status/file.rb +6 -6
- data/lib/puppet/indirector/exec.rb +2 -2
- data/lib/puppet/indirector/face.rb +18 -18
- data/lib/puppet/indirector/file_bucket_file/file.rb +9 -8
- data/lib/puppet/indirector/file_metadata/http.rb +1 -1
- data/lib/puppet/indirector/file_server.rb +10 -2
- data/lib/puppet/indirector/hiera.rb +5 -3
- data/lib/puppet/indirector/indirection.rb +13 -15
- data/lib/puppet/indirector/json.rb +11 -12
- data/lib/puppet/indirector/key/disabled_ca.rb +1 -1
- data/lib/puppet/indirector/key/file.rb +2 -2
- data/lib/puppet/indirector/ldap.rb +6 -5
- data/lib/puppet/indirector/memory.rb +1 -1
- data/lib/puppet/indirector/msgpack.rb +8 -7
- data/lib/puppet/indirector/node/exec.rb +8 -6
- data/lib/puppet/indirector/node/ldap.rb +9 -7
- data/lib/puppet/indirector/node/plain.rb +2 -1
- data/lib/puppet/indirector/node/write_only_yaml.rb +6 -1
- data/lib/puppet/indirector/node/yaml.rb +0 -9
- data/lib/puppet/indirector/report/processor.rb +2 -2
- data/lib/puppet/indirector/report/rest.rb +13 -0
- data/lib/puppet/indirector/request.rb +9 -16
- data/lib/puppet/indirector/resource/ral.rb +1 -1
- data/lib/puppet/indirector/resource/validator.rb +1 -1
- data/lib/puppet/indirector/rest.rb +28 -10
- data/lib/puppet/indirector/ssl_file.rb +9 -9
- data/lib/puppet/indirector/terminus.rb +3 -3
- data/lib/puppet/indirector/yaml.rb +5 -5
- data/lib/puppet/indirector.rb +2 -2
- data/lib/puppet/info_service/class_information_service.rb +4 -5
- data/lib/puppet/interface/face_collection.rb +6 -1
- data/lib/puppet/interface.rb +2 -6
- data/lib/puppet/module.rb +12 -7
- data/lib/puppet/module_tool/applications/application.rb +8 -9
- data/lib/puppet/module_tool/applications/builder.rb +5 -6
- data/lib/puppet/module_tool/applications/checksummer.rb +2 -2
- data/lib/puppet/module_tool/applications/installer.rb +11 -10
- data/lib/puppet/module_tool/applications/searcher.rb +1 -1
- data/lib/puppet/module_tool/applications/uninstaller.rb +2 -1
- data/lib/puppet/module_tool/applications/unpacker.rb +3 -3
- data/lib/puppet/module_tool/applications/upgrader.rb +10 -9
- data/lib/puppet/module_tool/contents_description.rb +1 -1
- data/lib/puppet/module_tool/dependency.rb +0 -1
- data/lib/puppet/module_tool/errors/installer.rb +22 -22
- data/lib/puppet/module_tool/errors/shared.rb +44 -42
- data/lib/puppet/module_tool/errors/uninstaller.rb +13 -9
- data/lib/puppet/module_tool/errors/upgrader.rb +11 -11
- data/lib/puppet/module_tool/install_directory.rb +1 -1
- data/lib/puppet/module_tool/installed_modules.rb +3 -3
- data/lib/puppet/module_tool/local_tarball.rb +4 -4
- data/lib/puppet/module_tool/metadata.rb +16 -13
- data/lib/puppet/module_tool/shared_behaviors.rb +6 -6
- data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +1 -1
- data/lib/puppet/module_tool/skeleton/templates/generator/README.md.erb +10 -4
- data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +2 -2
- data/lib/puppet/module_tool/skeleton/templates/generator/examples/init.pp.erb +1 -1
- data/lib/puppet/module_tool/tar.rb +5 -4
- data/lib/puppet/module_tool.rb +7 -3
- data/lib/puppet/network/auth_config_parser.rb +12 -11
- data/lib/puppet/network/authconfig.rb +2 -2
- data/lib/puppet/network/authstore.rb +2 -2
- data/lib/puppet/network/format.rb +7 -7
- data/lib/puppet/network/format_handler.rb +12 -9
- data/lib/puppet/network/format_support.rb +11 -5
- data/lib/puppet/network/formats.rb +38 -27
- data/lib/puppet/network/http/api/indirected_routes.rb +72 -33
- data/lib/puppet/network/http/api/master/v3/environment.rb +33 -14
- data/lib/puppet/network/http/compression.rb +10 -7
- data/lib/puppet/network/http/connection.rb +19 -15
- data/lib/puppet/network/http/error.rb +14 -10
- data/lib/puppet/network/http/handler.rb +8 -4
- data/lib/puppet/network/http/issues.rb +1 -0
- data/lib/puppet/network/http/pool.rb +1 -1
- data/lib/puppet/network/http/rack/rest.rb +3 -2
- data/lib/puppet/network/http/rack.rb +2 -2
- data/lib/puppet/network/http/request.rb +34 -20
- data/lib/puppet/network/http/response.rb +13 -1
- data/lib/puppet/network/http/webrick/rest.rb +2 -2
- data/lib/puppet/network/http/webrick.rb +5 -5
- data/lib/puppet/network/rights.rb +6 -6
- data/lib/puppet/network/server.rb +2 -2
- data/lib/puppet/node/environment.rb +21 -4
- data/lib/puppet/node/facts.rb +0 -5
- data/lib/puppet/node.rb +25 -13
- data/lib/puppet/parameter/package_options.rb +1 -1
- data/lib/puppet/parameter/path.rb +3 -3
- data/lib/puppet/parameter/value_collection.rb +4 -4
- data/lib/puppet/parameter.rb +3 -28
- data/lib/puppet/parser/ast/node.rb +1 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +3 -3
- data/lib/puppet/parser/ast/resource.rb +1 -1
- data/lib/puppet/parser/ast/resource_instance.rb +1 -1
- data/lib/puppet/parser/ast/resourceparam.rb +1 -1
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +2 -2
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +6 -9
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +1 -1
- data/lib/puppet/parser/compiler.rb +44 -113
- data/lib/puppet/parser/e4_parser_adapter.rb +1 -2
- data/lib/puppet/parser/environment_compiler.rb +13 -15
- data/lib/puppet/parser/functions/contain.rb +1 -1
- data/lib/puppet/parser/functions/create_resources.rb +11 -3
- data/lib/puppet/parser/functions/file.rb +1 -1
- data/lib/puppet/parser/functions/generate.rb +5 -4
- data/lib/puppet/parser/functions/hiera_include.rb +1 -1
- data/lib/puppet/parser/functions/include.rb +2 -1
- data/lib/puppet/parser/functions/inline_template.rb +1 -1
- data/lib/puppet/parser/functions/new.rb +14 -1
- data/lib/puppet/parser/functions/require.rb +1 -1
- data/lib/puppet/parser/functions.rb +6 -6
- data/lib/puppet/parser/parser_factory.rb +0 -30
- data/lib/puppet/parser/relationship.rb +49 -20
- data/lib/puppet/parser/resource/param.rb +0 -3
- data/lib/puppet/parser/resource.rb +31 -30
- data/lib/puppet/parser/scope.rb +124 -170
- data/lib/puppet/parser/templatewrapper.rb +2 -2
- data/lib/puppet/parser/type_loader.rb +1 -1
- data/lib/puppet/plugins/configuration.rb +15 -67
- data/lib/puppet/plugins/syntax_checkers.rb +6 -11
- data/lib/puppet/pops/adaptable.rb +8 -3
- data/lib/puppet/pops/adapters.rb +33 -87
- data/lib/puppet/pops/evaluator/access_operator.rb +10 -39
- data/lib/puppet/pops/evaluator/collector_transformer.rb +9 -14
- data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +2 -2
- data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +3 -3
- data/lib/puppet/pops/evaluator/compare_operator.rb +7 -7
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +1 -1
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +45 -37
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +2 -9
- data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +0 -2
- data/lib/puppet/pops/evaluator/puppet_proc.rb +1 -1
- data/lib/puppet/pops/evaluator/relationship_operator.rb +26 -9
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +17 -1
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +0 -2
- data/lib/puppet/pops/evaluator/runtime3_support.rb +44 -30
- data/lib/puppet/pops/functions/dispatch.rb +1 -6
- data/lib/puppet/pops/issues.rb +189 -161
- data/lib/puppet/pops/loader/base_loader.rb +2 -2
- data/lib/puppet/pops/loader/gem_support.rb +2 -2
- data/lib/puppet/pops/loader/loader.rb +4 -0
- data/lib/puppet/pops/loader/module_loaders.rb +59 -10
- data/lib/puppet/pops/loader/predefined_loader.rb +1 -6
- data/lib/puppet/pops/loader/puppet_function_instantiator.rb +8 -8
- data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +9 -10
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +3 -3
- data/lib/puppet/pops/loader/static_loader.rb +32 -63
- data/lib/puppet/pops/loader/type_definition_instantiator.rb +8 -8
- data/lib/puppet/pops/loader/typed_name.rb +6 -0
- data/lib/puppet/pops/loaders.rb +22 -20
- data/lib/puppet/pops/lookup/context.rb +1 -1
- data/lib/puppet/pops/lookup/data_provider.rb +3 -18
- data/lib/puppet/pops/lookup/environment_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/global_data_provider.rb +7 -10
- data/lib/puppet/pops/lookup/hiera_config.rb +13 -34
- data/lib/puppet/pops/lookup/interpolation.rb +9 -8
- data/lib/puppet/pops/lookup/invocation.rb +13 -3
- data/lib/puppet/pops/lookup/lookup_adapter.rb +30 -69
- data/lib/puppet/pops/lookup/lookup_key.rb +2 -2
- data/lib/puppet/pops/lookup/module_data_provider.rb +11 -3
- data/lib/puppet/pops/lookup/sub_lookup.rb +12 -10
- data/lib/puppet/pops/lookup.rb +7 -5
- data/lib/puppet/pops/merge_strategy.rb +16 -1
- data/lib/puppet/pops/model/ast.pp +692 -0
- data/lib/puppet/pops/model/ast.rb +4833 -0
- data/lib/puppet/pops/model/ast_transformer.rb +9 -10
- data/lib/puppet/pops/model/factory.rb +454 -527
- data/lib/puppet/pops/model/model_label_provider.rb +3 -2
- data/lib/puppet/pops/model/model_tree_dumper.rb +8 -7
- data/lib/puppet/pops/parser/egrammar.ra +66 -60
- data/lib/puppet/pops/parser/eparser.rb +1483 -1578
- data/lib/puppet/pops/parser/evaluating_parser.rb +5 -5
- data/lib/puppet/pops/parser/interpolation_support.rb +4 -4
- data/lib/puppet/pops/parser/lexer2.rb +27 -36
- data/lib/puppet/pops/parser/locator.rb +39 -16
- data/lib/puppet/pops/parser/parser_support.rb +25 -29
- data/lib/puppet/pops/pcore.rb +28 -21
- data/lib/puppet/pops/resource/param.rb +1 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +3 -3
- data/lib/puppet/pops/semantic_error.rb +12 -0
- data/lib/puppet/pops/serialization/abstract_writer.rb +9 -1
- data/lib/puppet/pops/serialization/deserializer.rb +8 -5
- data/lib/puppet/pops/serialization/from_data_converter.rb +181 -0
- data/lib/puppet/pops/serialization/json.rb +4 -4
- data/lib/puppet/pops/serialization/json_path.rb +126 -0
- data/lib/puppet/pops/serialization/object.rb +6 -6
- data/lib/puppet/pops/serialization/serializer.rb +32 -11
- data/lib/puppet/pops/serialization/to_data_converter.rb +292 -0
- data/lib/puppet/pops/serialization.rb +25 -1
- data/lib/puppet/pops/time/timespan.rb +11 -11
- data/lib/puppet/pops/time/timestamp.rb +8 -8
- data/lib/puppet/pops/types/annotatable.rb +7 -7
- data/lib/puppet/pops/types/annotation.rb +71 -0
- data/lib/puppet/pops/types/class_loader.rb +4 -6
- data/lib/puppet/pops/types/enumeration.rb +2 -2
- data/lib/puppet/pops/types/iterable.rb +2 -2
- data/lib/puppet/pops/types/p_binary_type.rb +7 -1
- data/lib/puppet/pops/types/p_meta_type.rb +16 -12
- data/lib/puppet/pops/types/p_object_type.rb +135 -96
- data/lib/puppet/pops/types/p_runtime_type.rb +1 -1
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +6 -2
- data/lib/puppet/pops/types/p_timespan_type.rb +55 -4
- data/lib/puppet/pops/types/p_type_set_type.rb +44 -36
- data/lib/puppet/pops/types/puppet_object.rb +13 -3
- data/lib/puppet/pops/types/ruby_generator.rb +291 -127
- data/lib/puppet/pops/types/ruby_method.rb +31 -0
- data/lib/puppet/pops/types/string_converter.rb +125 -59
- data/lib/puppet/pops/types/type_calculator.rb +55 -93
- data/lib/puppet/pops/types/type_factory.rb +34 -6
- data/lib/puppet/pops/types/type_formatter.rb +63 -15
- data/lib/puppet/pops/types/type_mismatch_describer.rb +8 -7
- data/lib/puppet/pops/types/type_parser.rb +28 -13
- data/lib/puppet/pops/types/type_set_reference.rb +7 -7
- data/lib/puppet/pops/types/types.rb +186 -186
- data/lib/puppet/pops/utils.rb +0 -24
- data/lib/puppet/pops/validation/checker4_0.rb +89 -75
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
- data/lib/puppet/pops/validation.rb +3 -9
- data/lib/puppet/pops/visitor.rb +21 -0
- data/lib/puppet/pops.rb +7 -37
- data/lib/puppet/property/ensure.rb +3 -3
- data/lib/puppet/property/list.rb +1 -10
- data/lib/puppet/property.rb +17 -14
- data/lib/puppet/provider/aixobject.rb +7 -7
- data/lib/puppet/provider/augeas/augeas.rb +37 -37
- data/lib/puppet/provider/command.rb +1 -1
- data/lib/puppet/provider/cron/crontab.rb +2 -2
- data/lib/puppet/provider/exec/posix.rb +4 -4
- data/lib/puppet/provider/exec/windows.rb +3 -3
- data/lib/puppet/provider/exec.rb +4 -4
- data/lib/puppet/provider/file/posix.rb +5 -5
- data/lib/puppet/provider/file/windows.rb +4 -4
- data/lib/puppet/provider/group/aix.rb +2 -2
- data/lib/puppet/provider/group/groupadd.rb +2 -2
- data/lib/puppet/provider/group/pw.rb +1 -1
- data/lib/puppet/provider/host/parsed.rb +1 -1
- data/lib/puppet/provider/macauthorization/macauthorization.rb +9 -9
- data/lib/puppet/provider/maillist/mailman.rb +2 -2
- data/lib/puppet/provider/mcx/mcxcontent.rb +3 -3
- data/lib/puppet/provider/mount/parsed.rb +10 -8
- data/lib/puppet/provider/mount.rb +2 -1
- data/lib/puppet/provider/naginator.rb +1 -1
- data/lib/puppet/provider/nameservice/directoryservice.rb +11 -11
- data/lib/puppet/provider/nameservice.rb +18 -10
- data/lib/puppet/provider/network_device.rb +2 -1
- data/lib/puppet/provider/package/aix.rb +5 -5
- 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 +4 -4
- data/lib/puppet/provider/package/aptitude.rb +1 -1
- data/lib/puppet/provider/package/aptrpm.rb +2 -2
- data/lib/puppet/provider/package/blastwave.rb +4 -4
- data/lib/puppet/provider/package/dpkg.rb +3 -3
- data/lib/puppet/provider/package/fink.rb +3 -3
- data/lib/puppet/provider/package/freebsd.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +6 -6
- data/lib/puppet/provider/package/hpux.rb +1 -1
- data/lib/puppet/provider/package/nim.rb +15 -12
- data/lib/puppet/provider/package/openbsd.rb +4 -4
- data/lib/puppet/provider/package/opkg.rb +1 -1
- data/lib/puppet/provider/package/pacman.rb +9 -9
- data/lib/puppet/provider/package/pkg.rb +9 -9
- data/lib/puppet/provider/package/pkgdmg.rb +4 -4
- data/lib/puppet/provider/package/pkgin.rb +3 -3
- data/lib/puppet/provider/package/pkgng.rb +1 -1
- data/lib/puppet/provider/package/pkgutil.rb +6 -6
- data/lib/puppet/provider/package/portage.rb +167 -59
- data/lib/puppet/provider/package/ports.rb +3 -3
- data/lib/puppet/provider/package/portupgrade.rb +4 -4
- data/lib/puppet/provider/package/rpm.rb +7 -4
- data/lib/puppet/provider/package/rug.rb +1 -1
- data/lib/puppet/provider/package/sun.rb +3 -2
- data/lib/puppet/provider/package/up2date.rb +1 -1
- data/lib/puppet/provider/package/urpmi.rb +1 -1
- data/lib/puppet/provider/package/windows/package.rb +3 -3
- data/lib/puppet/provider/package/windows.rb +4 -4
- data/lib/puppet/provider/package/yum.rb +13 -13
- data/lib/puppet/provider/package/zypper.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +1 -1
- data/lib/puppet/provider/service/upstart.rb +0 -2
- data/lib/puppet/provider/user/aix.rb +1 -1
- data/lib/puppet/provider/user/ldap.rb +1 -1
- data/lib/puppet/provider/user/useradd.rb +1 -1
- data/lib/puppet/provider/yumrepo/inifile.rb +3 -3
- data/lib/puppet/provider.rb +2 -0
- data/lib/puppet/reference/configuration.rb +1 -1
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/reference/metaparameter.rb +1 -1
- data/lib/puppet/reference/providers.rb +6 -6
- data/lib/puppet/reference/type.rb +2 -2
- data/lib/puppet/relationship.rb +7 -9
- data/lib/puppet/reports/http.rb +6 -2
- data/lib/puppet/resource/capability_finder.rb +2 -2
- data/lib/puppet/resource/catalog.rb +26 -41
- data/lib/puppet/resource/status.rb +13 -24
- data/lib/puppet/resource/type.rb +13 -61
- data/lib/puppet/resource/type_collection.rb +30 -23
- data/lib/puppet/resource.rb +85 -108
- data/lib/puppet/settings/array_setting.rb +1 -1
- data/lib/puppet/settings/autosign_setting.rb +1 -1
- data/lib/puppet/settings/boolean_setting.rb +1 -1
- data/lib/puppet/settings/config_file.rb +2 -2
- data/lib/puppet/settings/duration_setting.rb +1 -1
- data/lib/puppet/settings/enum_setting.rb +1 -1
- data/lib/puppet/settings/environment_conf.rb +2 -2
- data/lib/puppet/settings/file_setting.rb +2 -2
- data/lib/puppet/settings/priority_setting.rb +1 -1
- data/lib/puppet/settings/server_list_setting.rb +1 -1
- data/lib/puppet/settings/symbolic_enum_setting.rb +1 -1
- data/lib/puppet/settings/terminus_setting.rb +1 -1
- data/lib/puppet/settings/ttl_setting.rb +2 -2
- data/lib/puppet/settings.rb +1 -1
- data/lib/puppet/ssl/base.rb +2 -2
- data/lib/puppet/ssl/certificate_authority/interface.rb +13 -13
- data/lib/puppet/ssl/certificate_authority.rb +21 -21
- data/lib/puppet/ssl/certificate_factory.rb +2 -2
- data/lib/puppet/ssl/certificate_request.rb +14 -14
- data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
- data/lib/puppet/ssl/certificate_revocation_list.rb +3 -3
- data/lib/puppet/ssl/host.rb +29 -29
- data/lib/puppet/ssl/inventory.rb +1 -1
- data/lib/puppet/ssl/key.rb +1 -1
- data/lib/puppet/ssl/oids.rb +5 -5
- data/lib/puppet/ssl/validator/default_validator.rb +3 -4
- data/lib/puppet/syntax_checkers/base64.rb +7 -7
- data/lib/puppet/syntax_checkers/json.rb +5 -5
- data/lib/puppet/test/test_helper.rb +0 -4
- data/lib/puppet/transaction/additional_resource_generator.rb +4 -3
- data/lib/puppet/transaction/event.rb +19 -8
- data/lib/puppet/transaction/event_manager.rb +6 -6
- data/lib/puppet/transaction/persistence.rb +6 -6
- data/lib/puppet/transaction/report.rb +35 -41
- data/lib/puppet/transaction/resource_harness.rb +14 -12
- data/lib/puppet/transaction.rb +38 -20
- data/lib/puppet/type/augeas.rb +2 -2
- data/lib/puppet/type/cron.rb +14 -31
- data/lib/puppet/type/exec.rb +48 -42
- data/lib/puppet/type/file/content.rb +1 -1
- data/lib/puppet/type/file/group.rb +3 -3
- data/lib/puppet/type/file/mode.rb +10 -6
- data/lib/puppet/type/file/owner.rb +3 -3
- data/lib/puppet/type/file/selcontext.rb +18 -1
- data/lib/puppet/type/file/source.rb +14 -4
- data/lib/puppet/type/file.rb +21 -22
- data/lib/puppet/type/filebucket.rb +3 -8
- data/lib/puppet/type/group.rb +2 -2
- data/lib/puppet/type/host.rb +6 -6
- data/lib/puppet/type/interface.rb +1 -1
- data/lib/puppet/type/k5login.rb +1 -1
- data/lib/puppet/type/macauthorization.rb +1 -1
- data/lib/puppet/type/mailalias.rb +2 -18
- data/lib/puppet/type/maillist.rb +1 -1
- data/lib/puppet/type/mount.rb +8 -8
- data/lib/puppet/type/notify.rb +2 -0
- data/lib/puppet/type/package.rb +5 -5
- data/lib/puppet/type/resources.rb +6 -6
- data/lib/puppet/type/schedule.rb +9 -9
- data/lib/puppet/type/scheduled_task.rb +4 -4
- data/lib/puppet/type/service.rb +1 -1
- data/lib/puppet/type/ssh_authorized_key.rb +3 -19
- data/lib/puppet/type/sshkey.rb +4 -4
- data/lib/puppet/type/tidy.rb +15 -11
- data/lib/puppet/type/user.rb +29 -27
- data/lib/puppet/type/yumrepo.rb +8 -8
- data/lib/puppet/type/zone.rb +7 -7
- data/lib/puppet/type/zpool.rb +3 -3
- data/lib/puppet/type.rb +0 -6
- data/lib/puppet/util/at_fork/noop.rb +18 -0
- data/lib/puppet/util/at_fork/solaris.rb +158 -0
- data/lib/puppet/util/at_fork.rb +35 -0
- data/lib/puppet/util/autoload.rb +2 -2
- data/lib/puppet/util/backups.rb +6 -6
- data/lib/puppet/util/character_encoding.rb +77 -74
- data/lib/puppet/util/classgen.rb +4 -4
- data/lib/puppet/util/command_line/puppet_option_parser.rb +3 -3
- data/lib/puppet/util/command_line/trollop.rb +31 -31
- data/lib/puppet/util/command_line.rb +4 -4
- data/lib/puppet/util/diff.rb +1 -1
- data/lib/puppet/util/errors.rb +4 -4
- data/lib/puppet/util/execution.rb +8 -8
- data/lib/puppet/util/feature.rb +5 -5
- data/lib/puppet/util/fileparsing.rb +8 -8
- data/lib/puppet/util/filetype.rb +15 -15
- data/lib/puppet/util/http_proxy.rb +1 -1
- data/lib/puppet/util/inifile.rb +4 -4
- data/lib/puppet/util/instance_loader.rb +1 -1
- data/lib/puppet/util/json_lockfile.rb +4 -4
- data/lib/puppet/util/ldap/connection.rb +2 -2
- data/lib/puppet/util/ldap/manager.rb +2 -2
- data/lib/puppet/util/limits.rb +1 -1
- data/lib/puppet/util/log/destinations.rb +10 -16
- data/lib/puppet/util/log.rb +23 -16
- data/lib/puppet/util/logging.rb +11 -8
- data/lib/puppet/util/metric.rb +9 -6
- data/lib/puppet/util/monkey_patches.rb +30 -67
- data/lib/puppet/util/network_device/cisco/device.rb +7 -7
- data/lib/puppet/util/network_device/cisco/interface.rb +1 -1
- data/lib/puppet/util/network_device/config.rb +6 -6
- data/lib/puppet/util/network_device/transport/ssh.rb +6 -6
- data/lib/puppet/util/network_device.rb +1 -1
- data/lib/puppet/util/plist.rb +4 -2
- data/lib/puppet/util/posix.rb +5 -5
- data/lib/puppet/util/profiler/wall_clock.rb +1 -1
- data/lib/puppet/util/provider_features.rb +1 -1
- data/lib/puppet/util/psych_support.rb +3 -11
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +1 -1
- data/lib/puppet/util/rdoc.rb +4 -4
- data/lib/puppet/util/reference.rb +5 -5
- data/lib/puppet/util/resource_template.rb +1 -1
- data/lib/puppet/util/retry_action.rb +2 -2
- data/lib/puppet/util/selinux.rb +54 -12
- data/lib/puppet/util/splayer.rb +1 -1
- data/lib/puppet/util/storage.rb +5 -5
- data/lib/puppet/util/suidmanager.rb +4 -4
- data/lib/puppet/util/symbolic_file_mode.rb +9 -9
- data/lib/puppet/util/tag_set.rb +1 -4
- data/lib/puppet/util/tagging.rb +2 -2
- data/lib/puppet/util/windows/adsi.rb +14 -14
- data/lib/puppet/util/windows/api_types.rb +5 -2
- data/lib/puppet/util/windows/com.rb +4 -4
- data/lib/puppet/util/windows/error.rb +2 -2
- data/lib/puppet/util/windows/eventlog.rb +192 -0
- data/lib/puppet/util/windows/file.rb +4 -4
- data/lib/puppet/util/windows/principal.rb +6 -5
- data/lib/puppet/util/windows/process.rb +5 -5
- data/lib/puppet/util/windows/registry.rb +11 -11
- data/lib/puppet/util/windows/root_certs.rb +1 -1
- data/lib/puppet/util/windows/security.rb +14 -14
- data/lib/puppet/util/windows/sid.rb +6 -6
- data/lib/puppet/util/windows/taskscheduler.rb +62 -62
- data/lib/puppet/util/windows/user.rb +6 -6
- data/lib/puppet/util/windows.rb +2 -0
- data/lib/puppet/util.rb +138 -14
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/gem_version.rb +1 -1
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version.rb +122 -114
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version_range.rb +678 -342
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +2 -10
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet.rb +47 -33
- data/locales/config.yaml +1 -1
- data/locales/puppet.pot +7931 -29
- data/man/man5/puppet.conf.5 +0 -22
- data/spec/fixtures/unit/data_providers/environments/production/modules/abc/metadata.json +9 -0
- data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/metadata.json +9 -0
- data/spec/integration/application/apply_spec.rb +29 -22
- data/spec/integration/configurer_spec.rb +1 -1
- data/spec/integration/defaults_spec.rb +2 -2
- data/spec/integration/faces/documentation_spec.rb +2 -2
- data/spec/integration/indirector/file_content/file_server_spec.rb +1 -0
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +1 -0
- data/spec/integration/parser/catalog_spec.rb +1 -1
- data/spec/integration/parser/class_spec.rb +6 -6
- data/spec/integration/parser/compiler_spec.rb +184 -142
- data/spec/integration/parser/dynamic_scoping_spec.rb +0 -1
- data/spec/integration/parser/pcore_resource_spec.rb +15 -0
- data/spec/integration/parser/scope_spec.rb +53 -4
- data/spec/integration/resource/catalog_spec.rb +0 -4
- data/spec/integration/resource/type_collection_spec.rb +6 -0
- data/spec/integration/transaction/report_spec.rb +2 -2
- data/spec/integration/transaction_spec.rb +2 -2
- data/spec/integration/type/file_spec.rb +29 -0
- data/spec/integration/type/package_spec.rb +7 -1
- data/spec/lib/matchers/json.rb +3 -3
- data/spec/lib/puppet/face/1.0.0/huzzah.rb +1 -1
- data/spec/lib/puppet/face/basetest.rb +1 -1
- data/spec/lib/puppet/face/huzzah.rb +1 -1
- data/spec/lib/puppet/face/version_matching.rb +1 -1
- data/spec/lib/puppet/indirector_testing.rb +4 -0
- data/spec/lib/puppet_spec/character_encoding.rb +12 -0
- data/spec/lib/puppet_spec/compiler.rb +8 -1
- data/spec/lib/puppet_spec/modules.rb +2 -2
- data/spec/lib/puppet_spec/network.rb +10 -6
- data/spec/shared_contexts/types_setup.rb +52 -15
- data/spec/shared_examples/rhel_package_provider.rb +10 -11
- data/spec/spec_helper.rb +0 -11
- data/spec/unit/agent_spec.rb +12 -1
- data/spec/unit/application/agent_spec.rb +7 -0
- data/spec/unit/application/apply_spec.rb +28 -13
- data/spec/unit/application/describe_spec.rb +19 -0
- data/spec/unit/application/device_spec.rb +41 -2
- data/spec/unit/application/face_base_spec.rb +6 -6
- data/spec/unit/application/master_spec.rb +22 -6
- data/spec/unit/application/resource_spec.rb +39 -1
- data/spec/unit/application_spec.rb +0 -6
- data/spec/unit/capability_spec.rb +2 -6
- data/spec/unit/configurer/fact_handler_spec.rb +76 -20
- data/spec/unit/configurer/plugin_handler_spec.rb +13 -19
- data/spec/unit/configurer_spec.rb +36 -19
- data/spec/unit/defaults_spec.rb +0 -30
- data/spec/unit/etc_spec.rb +361 -153
- data/spec/unit/face/module/list_spec.rb +60 -0
- data/spec/unit/file_bucket/file_spec.rb +3 -3
- data/spec/unit/file_serving/http_metadata_spec.rb +1 -1
- data/spec/unit/file_serving/metadata_spec.rb +35 -9
- data/spec/unit/forge/forge_spec.rb +112 -0
- data/spec/unit/forge/repository_spec.rb +4 -4
- data/spec/unit/functions/annotate_spec.rb +175 -0
- data/spec/unit/functions/break_spec.rb +29 -1
- data/spec/unit/functions/call_spec.rb +77 -0
- data/spec/unit/functions/contain_spec.rb +1 -1
- data/spec/unit/functions/lookup_fixture_spec.rb +1 -6
- data/spec/unit/functions/lookup_spec.rb +208 -3
- data/spec/unit/functions/new_spec.rb +1 -1
- data/spec/unit/functions/unique_spec.rb +111 -0
- data/spec/unit/functions4_spec.rb +2 -43
- data/spec/unit/graph/simple_graph_spec.rb +58 -55
- data/spec/unit/indirector/catalog/compiler_spec.rb +213 -153
- data/spec/unit/indirector/catalog/json_spec.rb +50 -1
- data/spec/unit/indirector/facts/facter_spec.rb +1 -2
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +1 -1
- data/spec/unit/indirector/file_server_spec.rb +17 -2
- data/spec/unit/indirector/indirection_spec.rb +1 -36
- data/spec/unit/indirector/json_spec.rb +27 -6
- data/spec/unit/indirector/node/exec_spec.rb +12 -12
- data/spec/unit/indirector/node/ldap_spec.rb +29 -8
- data/spec/unit/indirector/node/plain_spec.rb +16 -6
- data/spec/unit/indirector/node/write_only_yaml_spec.rb +12 -0
- data/spec/unit/indirector/report/processor_spec.rb +2 -2
- data/spec/unit/indirector/report/rest_spec.rb +29 -3
- data/spec/unit/indirector/request_spec.rb +15 -4
- data/spec/unit/indirector/rest_spec.rb +57 -15
- data/spec/unit/interface/face_collection_spec.rb +7 -7
- data/spec/unit/module_spec.rb +10 -2
- data/spec/unit/module_tool/applications/installer_spec.rb +0 -1
- data/spec/unit/module_tool/applications/upgrader_spec.rb +0 -1
- data/spec/unit/module_tool/tar_spec.rb +16 -10
- data/spec/unit/network/format_handler_spec.rb +11 -11
- data/spec/unit/network/format_spec.rb +9 -0
- data/spec/unit/network/formats_spec.rb +322 -138
- data/spec/unit/network/http/api/indirected_routes_spec.rb +65 -55
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +128 -2
- data/spec/unit/network/http/api/master/v3_spec.rb +1 -1
- data/spec/unit/network/http/api_spec.rb +1 -1
- data/spec/unit/network/http/compression_spec.rb +105 -88
- data/spec/unit/network/http/error_spec.rb +1 -2
- data/spec/unit/network/http/handler_spec.rb +8 -12
- data/spec/unit/network/http/rack/rest_spec.rb +3 -3
- data/spec/unit/network/http/request_spec.rb +110 -0
- data/spec/unit/network/http/response_spec.rb +108 -0
- data/spec/unit/node/facts_spec.rb +13 -13
- data/spec/unit/node_spec.rb +33 -10
- data/spec/unit/parameter_spec.rb +73 -5
- data/spec/unit/parser/compiler_spec.rb +1 -1
- data/spec/unit/parser/environment_compiler_spec.rb +0 -2
- data/spec/unit/parser/functions/create_resources_spec.rb +47 -6
- data/spec/unit/parser/resource_spec.rb +86 -24
- data/spec/unit/parser/scope_spec.rb +10 -79
- data/spec/unit/pops/benchmark_spec.rb +8 -26
- data/spec/unit/pops/containment_spec.rb +0 -26
- data/spec/unit/pops/evaluator/access_ops_spec.rb +103 -103
- data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +59 -6
- data/spec/unit/pops/evaluator/basic_expressions_spec.rb +5 -5
- data/spec/unit/pops/evaluator/comparison_ops_spec.rb +26 -26
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +59 -7
- data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +7 -7
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +36 -1
- data/spec/unit/pops/evaluator/string_interpolation_spec.rb +10 -10
- data/spec/unit/pops/evaluator/variables_spec.rb +1 -1
- data/spec/unit/pops/factory_rspec_helper.rb +0 -4
- data/spec/unit/pops/factory_spec.rb +83 -83
- data/spec/unit/pops/loaders/loaders_spec.rb +209 -79
- data/spec/unit/pops/loaders/static_loader_spec.rb +2 -6
- data/spec/unit/pops/lookup/interpolation_spec.rb +50 -10
- data/spec/unit/pops/lookup/lookup_spec.rb +32 -0
- data/spec/unit/pops/model/model_spec.rb +10 -10
- data/spec/unit/pops/parser/epp_parser_spec.rb +1 -1
- data/spec/unit/pops/parser/lexer2_spec.rb +32 -29
- data/spec/unit/pops/parser/{source_pos_adapter_spec.rb → locator_spec.rb} +9 -11
- data/spec/unit/pops/parser/parse_application_spec.rb +0 -3
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +4 -4
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -3
- data/spec/unit/pops/parser/parse_containers_spec.rb +17 -19
- data/spec/unit/pops/parser/parse_site_spec.rb +0 -3
- data/spec/unit/pops/parser/parser_spec.rb +8 -10
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -3
- data/spec/unit/pops/serialization/serialization_spec.rb +117 -5
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +494 -0
- data/spec/unit/pops/time/timestamp_spec.rb +13 -0
- data/spec/unit/pops/types/iterable_spec.rb +1 -1
- data/spec/unit/pops/types/p_object_type_spec.rb +100 -14
- data/spec/unit/pops/types/p_sem_ver_type_spec.rb +12 -17
- data/spec/unit/pops/types/p_timestamp_type_spec.rb +8 -8
- data/spec/unit/pops/types/p_type_set_type_spec.rb +4 -12
- data/spec/unit/pops/types/ruby_generator_spec.rb +57 -20
- data/spec/unit/pops/types/string_converter_spec.rb +119 -16
- data/spec/unit/pops/types/type_acceptor_spec.rb +2 -2
- data/spec/unit/pops/types/type_calculator_spec.rb +211 -87
- data/spec/unit/pops/types/type_factory_spec.rb +9 -9
- data/spec/unit/pops/types/type_formatter_spec.rb +32 -19
- data/spec/unit/pops/types/type_parser_spec.rb +6 -6
- data/spec/unit/pops/types/types_spec.rb +53 -2
- data/spec/unit/pops/validator/validator_spec.rb +53 -61
- data/spec/unit/pops/visitor_spec.rb +1 -1
- data/spec/unit/property/list_spec.rb +2 -2
- data/spec/unit/provider/augeas/augeas_spec.rb +1 -1
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +2 -0
- data/spec/unit/provider/nameservice_spec.rb +113 -3
- data/spec/unit/provider/package/portage_spec.rb +103 -17
- data/spec/unit/provider/package/rpm_spec.rb +14 -1
- data/spec/unit/provider/user/directoryservice_spec.rb +7 -7
- data/spec/unit/provider/user/useradd_spec.rb +13 -0
- data/spec/unit/puppet_spec.rb +2 -3
- data/spec/unit/relationship_spec.rb +15 -36
- data/spec/unit/reports/http_spec.rb +11 -8
- data/spec/unit/resource/catalog_spec.rb +81 -53
- data/spec/unit/resource/status_spec.rb +114 -103
- data/spec/unit/resource/type_collection_spec.rb +5 -5
- data/spec/unit/resource/type_spec.rb +4 -71
- data/spec/unit/resource_spec.rb +30 -34
- data/spec/unit/settings_spec.rb +4 -2
- data/spec/unit/ssl/host_spec.rb +34 -34
- data/spec/unit/status_spec.rb +7 -7
- data/spec/unit/transaction/event_spec.rb +18 -15
- data/spec/unit/transaction/report_spec.rb +100 -62
- data/spec/unit/transaction/resource_harness_spec.rb +3 -3
- data/spec/unit/transaction_spec.rb +53 -8
- data/spec/unit/type/file/group_spec.rb +2 -2
- data/spec/unit/type/file/mode_spec.rb +9 -9
- data/spec/unit/type/file/owner_spec.rb +2 -2
- data/spec/unit/type/file/selinux_spec.rb +2 -0
- data/spec/unit/type/file/source_spec.rb +13 -0
- data/spec/unit/type/file_spec.rb +46 -0
- data/spec/unit/type/ssh_authorized_key_spec.rb +2 -2
- data/spec/unit/type/user_spec.rb +2 -4
- data/spec/unit/util/at_fork_spec.rb +150 -0
- data/spec/unit/util/character_encoding_spec.rb +193 -52
- data/spec/unit/util/execution_spec.rb +31 -2
- data/spec/unit/util/log/destinations_spec.rb +5 -6
- data/spec/unit/util/log_spec.rb +62 -17
- data/spec/unit/util/metric_spec.rb +9 -2
- data/spec/unit/util/monkey_patches_spec.rb +6 -188
- data/spec/unit/util/run_mode_spec.rb +17 -10
- data/spec/unit/util/tag_set_spec.rb +2 -2
- data/spec/unit/util/tagging_spec.rb +55 -0
- data/spec/unit/util/windows/eventlog_spec.rb +123 -0
- data/spec/unit/util_spec.rb +237 -2
- data/tasks/benchmark.rake +3 -3
- data/tasks/cfpropertylist.rake +1 -1
- data/tasks/generate_ast_model.rake +78 -0
- metadata +3386 -3635
- checksums.yaml +0 -7
- data/bin/extlookup2hiera +0 -56
- data/ext/emacs/puppet-mode-init.el +0 -6
- data/ext/emacs/puppet-mode.el +0 -433
- data/ext/vim/README +0 -3
- data/ext/vim/ftdetect/puppet.vim +0 -2
- data/ext/vim/ftplugin/puppet.vim +0 -94
- data/ext/vim/indent/puppet.vim +0 -76
- data/ext/vim/syntax/puppet.vim +0 -115
- data/lib/puppet/application/file.rb +0 -4
- data/lib/puppet/application/inspect.rb +0 -182
- data/lib/puppet/application/resource_type.rb +0 -7
- data/lib/puppet/data_providers/data_adapter.rb +0 -37
- data/lib/puppet/data_providers/data_function_support.rb +0 -32
- data/lib/puppet/data_providers/function_env_data_provider.rb +0 -26
- data/lib/puppet/data_providers/function_module_data_provider.rb +0 -24
- data/lib/puppet/data_providers/hiera_config.rb +0 -151
- data/lib/puppet/data_providers/hiera_env_data_provider.rb +0 -25
- data/lib/puppet/data_providers/hiera_interpolate.rb +0 -21
- data/lib/puppet/data_providers/hiera_module_data_provider.rb +0 -30
- data/lib/puppet/data_providers/hiera_support.rb +0 -42
- data/lib/puppet/data_providers/json_data_provider_factory.rb +0 -38
- data/lib/puppet/data_providers/yaml_data_provider_factory.rb +0 -40
- data/lib/puppet/data_providers.rb +0 -34
- data/lib/puppet/face/file/download.rb +0 -56
- data/lib/puppet/face/file/store.rb +0 -21
- data/lib/puppet/face/file.rb +0 -50
- data/lib/puppet/face/resource_type.rb +0 -84
- data/lib/puppet/feature/cfacter.rb +0 -15
- data/lib/puppet/feature/external_facts.rb +0 -5
- data/lib/puppet/indirector/catalog/static_compiler.rb +0 -232
- data/lib/puppet/indirector/resource_type/parser.rb +0 -108
- data/lib/puppet/indirector/resource_type/rest.rb +0 -7
- data/lib/puppet/indirector/resource_type.rb +0 -5
- data/lib/puppet/parser/yaml_trimmer.rb +0 -7
- data/lib/puppet/plugins/binding_schemes.rb +0 -140
- data/lib/puppet/plugins/data_providers/data_provider.rb +0 -406
- data/lib/puppet/plugins/data_providers/registry.rb +0 -51
- data/lib/puppet/plugins/data_providers.rb +0 -45
- data/lib/puppet/pops/binder/binder.rb +0 -398
- data/lib/puppet/pops/binder/binder_issues.rb +0 -124
- data/lib/puppet/pops/binder/bindings_checker.rb +0 -201
- data/lib/puppet/pops/binder/bindings_composer.rb +0 -181
- data/lib/puppet/pops/binder/bindings_factory.rb +0 -813
- data/lib/puppet/pops/binder/bindings_label_provider.rb +0 -45
- data/lib/puppet/pops/binder/bindings_loader.rb +0 -87
- data/lib/puppet/pops/binder/bindings_model.rb +0 -70
- data/lib/puppet/pops/binder/bindings_model_dumper.rb +0 -215
- data/lib/puppet/pops/binder/bindings_model_meta.rb +0 -215
- data/lib/puppet/pops/binder/bindings_validator_factory.rb +0 -28
- data/lib/puppet/pops/binder/config/binder_config.rb +0 -107
- data/lib/puppet/pops/binder/config/binder_config_checker.rb +0 -142
- data/lib/puppet/pops/binder/config/diagnostic_producer.rb +0 -36
- data/lib/puppet/pops/binder/config/issues.rb +0 -90
- data/lib/puppet/pops/binder/injector.rb +0 -771
- data/lib/puppet/pops/binder/injector_entry.rb +0 -57
- data/lib/puppet/pops/binder/key_factory.rb +0 -65
- data/lib/puppet/pops/binder/producers.rb +0 -831
- data/lib/puppet/pops/binder/scheme_handler/confdir_scheme.rb +0 -34
- data/lib/puppet/pops/binder/scheme_handler/module_scheme.rb +0 -143
- data/lib/puppet/pops/binder/scheme_handler/symbolic_scheme.rb +0 -53
- data/lib/puppet/pops/binder/system_bindings.rb +0 -60
- data/lib/puppet/pops/containment.rb +0 -104
- data/lib/puppet/pops/model/model.rb +0 -131
- data/lib/puppet/pops/model/model_meta.rb +0 -629
- data/lib/puppet/pops/serialization/rgen.rb +0 -152
- data/lib/puppet/vendor/load_rgen.rb +0 -2
- data/lib/puppet/vendor/rgen/CHANGELOG +0 -197
- data/lib/puppet/vendor/rgen/MIT-LICENSE +0 -20
- data/lib/puppet/vendor/rgen/PUPPET_README.md +0 -6
- data/lib/puppet/vendor/rgen/README.rdoc +0 -78
- data/lib/puppet/vendor/rgen/Rakefile +0 -41
- data/lib/puppet/vendor/rgen/TODO +0 -41
- data/lib/puppet/vendor/rgen/anounce.txt +0 -61
- data/lib/puppet/vendor/rgen/design_rationale.txt +0 -71
- data/lib/puppet/vendor/rgen/lib/ea_support/ea_support.rb +0 -54
- data/lib/puppet/vendor/rgen/lib/ea_support/id_store.rb +0 -32
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel.rb +0 -562
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel_ext.rb +0 -45
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel_generator.rb +0 -43
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_to_uml13.rb +0 -103
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_to_uml13_ea.rb +0 -89
- data/lib/puppet/vendor/rgen/lib/metamodels/uml13_metamodel.rb +0 -559
- data/lib/puppet/vendor/rgen/lib/metamodels/uml13_metamodel_ext.rb +0 -26
- data/lib/puppet/vendor/rgen/lib/mmgen/metamodel_generator.rb +0 -20
- data/lib/puppet/vendor/rgen/lib/mmgen/mm_ext/ecore_mmgen_ext.rb +0 -91
- data/lib/puppet/vendor/rgen/lib/mmgen/mmgen.rb +0 -28
- data/lib/puppet/vendor/rgen/lib/mmgen/templates/annotations.tpl +0 -37
- data/lib/puppet/vendor/rgen/lib/mmgen/templates/metamodel_generator.tpl +0 -172
- data/lib/puppet/vendor/rgen/lib/rgen/array_extensions.rb +0 -45
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore.rb +0 -218
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_builder_methods.rb +0 -81
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_ext.rb +0 -69
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_interface.rb +0 -47
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_to_ruby.rb +0 -167
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ruby_to_ecore.rb +0 -91
- data/lib/puppet/vendor/rgen/lib/rgen/environment.rb +0 -129
- data/lib/puppet/vendor/rgen/lib/rgen/fragment/dump_file_cache.rb +0 -63
- data/lib/puppet/vendor/rgen/lib/rgen/fragment/fragmented_model.rb +0 -140
- data/lib/puppet/vendor/rgen/lib/rgen/fragment/model_fragment.rb +0 -289
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/abstract_instantiator.rb +0 -66
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/abstract_xml_instantiator.rb +0 -66
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/default_xml_instantiator.rb +0 -117
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/ecore_xml_instantiator.rb +0 -169
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_instantiator.rb +0 -126
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_parser.rb +0 -331
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_parser.y +0 -94
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/nodebased_xml_instantiator.rb +0 -137
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/qualified_name_resolver.rb +0 -97
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/reference_resolver.rb +0 -128
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/resolution_helper.rb +0 -47
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/xmi11_instantiator.rb +0 -168
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/builder_extensions.rb +0 -556
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/builder_runtime.rb +0 -174
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/constant_order_helper.rb +0 -89
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/data_types.rb +0 -77
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/intermediate/annotation.rb +0 -30
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/intermediate/feature.rb +0 -168
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/mm_multiple.rb +0 -23
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/module_extension.rb +0 -42
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder.rb +0 -224
- data/lib/puppet/vendor/rgen/lib/rgen/model_builder/builder_context.rb +0 -334
- data/lib/puppet/vendor/rgen/lib/rgen/model_builder/model_serializer.rb +0 -225
- data/lib/puppet/vendor/rgen/lib/rgen/model_builder/reference_resolver.rb +0 -156
- data/lib/puppet/vendor/rgen/lib/rgen/model_builder.rb +0 -32
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/json_serializer.rb +0 -121
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/opposite_reference_filter.rb +0 -18
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/qualified_name_provider.rb +0 -47
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/xmi11_serializer.rb +0 -116
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/xmi20_serializer.rb +0 -71
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/xml_serializer.rb +0 -98
- data/lib/puppet/vendor/rgen/lib/rgen/template_language/directory_template_container.rb +0 -83
- data/lib/puppet/vendor/rgen/lib/rgen/template_language/output_handler.rb +0 -87
- data/lib/puppet/vendor/rgen/lib/rgen/template_language/template_container.rb +0 -234
- data/lib/puppet/vendor/rgen/lib/rgen/template_language/template_helper.rb +0 -26
- data/lib/puppet/vendor/rgen/lib/rgen/template_language.rb +0 -297
- data/lib/puppet/vendor/rgen/lib/rgen/transformer.rb +0 -475
- data/lib/puppet/vendor/rgen/lib/rgen/util/auto_class_creator.rb +0 -61
- data/lib/puppet/vendor/rgen/lib/rgen/util/cached_glob.rb +0 -67
- data/lib/puppet/vendor/rgen/lib/rgen/util/file_cache_map.rb +0 -124
- data/lib/puppet/vendor/rgen/lib/rgen/util/file_change_detector.rb +0 -84
- data/lib/puppet/vendor/rgen/lib/rgen/util/method_delegation.rb +0 -114
- data/lib/puppet/vendor/rgen/lib/rgen/util/model_comparator.rb +0 -68
- data/lib/puppet/vendor/rgen/lib/rgen/util/model_comparator_base.rb +0 -142
- data/lib/puppet/vendor/rgen/lib/rgen/util/model_dumper.rb +0 -29
- data/lib/puppet/vendor/rgen/lib/rgen/util/name_helper.rb +0 -42
- data/lib/puppet/vendor/rgen/lib/rgen/util/pattern_matcher.rb +0 -329
- data/lib/puppet/vendor/rgen/lib/transformers/ecore_to_uml13.rb +0 -79
- data/lib/puppet/vendor/rgen/lib/transformers/uml13_to_ecore.rb +0 -127
- data/lib/puppet/vendor/rgen/test/array_extensions_test.rb +0 -64
- data/lib/puppet/vendor/rgen/test/ea_instantiator_test.rb +0 -35
- data/lib/puppet/vendor/rgen/test/ea_serializer_test.rb +0 -23
- data/lib/puppet/vendor/rgen/test/ecore_self_test.rb +0 -54
- data/lib/puppet/vendor/rgen/test/environment_test.rb +0 -90
- data/lib/puppet/vendor/rgen/test/json_test.rb +0 -171
- data/lib/puppet/vendor/rgen/test/metamodel_builder_test.rb +0 -1482
- data/lib/puppet/vendor/rgen/test/metamodel_from_ecore_test.rb +0 -57
- data/lib/puppet/vendor/rgen/test/metamodel_order_test.rb +0 -131
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/TestModel.rb +0 -70
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/houseMetamodel.ecore +0 -42
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/houseMetamodel_from_ecore.rb +0 -44
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/using_builtin_types.ecore +0 -9
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test.rb +0 -98
- data/lib/puppet/vendor/rgen/test/method_delegation_test.rb +0 -178
- data/lib/puppet/vendor/rgen/test/model_builder/builder_context_test.rb +0 -59
- data/lib/puppet/vendor/rgen/test/model_builder/builder_test.rb +0 -242
- data/lib/puppet/vendor/rgen/test/model_builder/ecore_original.rb +0 -163
- data/lib/puppet/vendor/rgen/test/model_builder/ecore_original_regenerated.rb +0 -163
- data/lib/puppet/vendor/rgen/test/model_builder/reference_resolver_test.rb +0 -156
- data/lib/puppet/vendor/rgen/test/model_builder/serializer_test.rb +0 -94
- data/lib/puppet/vendor/rgen/test/model_builder/statemachine_metamodel.rb +0 -42
- data/lib/puppet/vendor/rgen/test/model_builder/test_model/statemachine1.rb +0 -23
- data/lib/puppet/vendor/rgen/test/model_builder_test.rb +0 -6
- data/lib/puppet/vendor/rgen/test/model_fragment_test.rb +0 -30
- data/lib/puppet/vendor/rgen/test/output_handler_test.rb +0 -58
- data/lib/puppet/vendor/rgen/test/qualified_name_provider_test.rb +0 -48
- data/lib/puppet/vendor/rgen/test/qualified_name_resolver_test.rb +0 -102
- data/lib/puppet/vendor/rgen/test/reference_resolver_test.rb +0 -117
- data/lib/puppet/vendor/rgen/test/rgen_test.rb +0 -26
- data/lib/puppet/vendor/rgen/test/template_language_test/expected_result1.txt +0 -29
- data/lib/puppet/vendor/rgen/test/template_language_test/expected_result2.txt +0 -9
- data/lib/puppet/vendor/rgen/test/template_language_test/expected_result3.txt +0 -4
- data/lib/puppet/vendor/rgen/test/template_language_test/indentStringTestDefaultIndent.out +0 -1
- data/lib/puppet/vendor/rgen/test/template_language_test/indentStringTestTabIndent.out +0 -1
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/callback_indent_test/a.tpl +0 -12
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/callback_indent_test/b.tpl +0 -5
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/code/array.tpl +0 -11
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/content/author.tpl +0 -7
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/content/chapter.tpl +0 -5
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/define_local_test/local.tpl +0 -8
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/define_local_test/test.tpl +0 -8
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/evaluate_test/test.tpl +0 -7
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/indent_string_test.tpl +0 -12
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/index/c/cmod.tpl +0 -1
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/index/chapter.tpl +0 -3
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_backslash_r_test.tpl +0 -5
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/no_indent.tpl +0 -3
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/sub1/no_indent.tpl +0 -3
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test.tpl +0 -24
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test2.tpl +0 -13
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test3.tpl +0 -10
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/null_context_test.tpl +0 -17
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/root.tpl +0 -31
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/sub1/sub1.tpl +0 -3
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/sub1.tpl +0 -9
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/test.tpl +0 -4
- data/lib/puppet/vendor/rgen/test/template_language_test/testout.txt +0 -29
- data/lib/puppet/vendor/rgen/test/template_language_test.rb +0 -163
- data/lib/puppet/vendor/rgen/test/testmodel/class_model_checker.rb +0 -119
- data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel.eap +0 -0
- data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel.xml +0 -1029
- data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel_partial.xml +0 -317
- data/lib/puppet/vendor/rgen/test/testmodel/ecore_model_checker.rb +0 -101
- data/lib/puppet/vendor/rgen/test/testmodel/manual_testmodel.xml +0 -22
- data/lib/puppet/vendor/rgen/test/testmodel/object_model_checker.rb +0 -67
- data/lib/puppet/vendor/rgen/test/transformer_test.rb +0 -254
- data/lib/puppet/vendor/rgen/test/util/file_cache_map_test.rb +0 -99
- data/lib/puppet/vendor/rgen/test/util/pattern_matcher_test.rb +0 -97
- data/lib/puppet/vendor/rgen/test/util_test.rb +0 -5
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_ecore_model_checker.rb +0 -94
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_ecore_instantiator.rb +0 -53
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_metamodel.rb +0 -49
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_to_ecore.rb +0 -75
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test.rb +0 -160
- data/lib/puppet/vendor/rgen_patch.rb +0 -132
- data/lib/semver.rb +0 -146
- data/man/man8/extlookup2hiera.8 +0 -10
- data/man/man8/puppet-file.8 +0 -189
- data/man/man8/puppet-resource_type.8 +0 -188
- data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +0 -9
- data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/lib/puppet/bindings/xyz/default.rb +0 -9
- data/spec/fixtures/unit/data_providers/environments/sample/environment.conf +0 -2
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/hiera.yaml +0 -5
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/lib/puppet/bindings/backend/default.rb +0 -9
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/lib/puppet_x/backend/special_data_provider_factory.rb +0 -23
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/manifests/init.pp +0 -5
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/metadata.json +0 -9
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet/bindings/dataprovider/default.rb +0 -54
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_env_data.rb +0 -33
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_module_data.rb +0 -33
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/manifests/init.pp +0 -5
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +0 -9
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/lib/puppet/bindings/bad_data/default.rb +0 -9
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/lib/puppet/bindings/bca/default.rb +0 -9
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/lib/puppet/bindings/metawcp/default.rb +0 -10
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/lib/puppet_x/thallgren/sample_module_data.rb +0 -23
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/manifests/init.pp +0 -3
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/metadata.json +0 -9
- data/spec/unit/application/inspect_spec.rb +0 -305
- data/spec/unit/data_providers/custom_data_provider_spec.rb +0 -50
- data/spec/unit/face/file_spec.rb +0 -14
- data/spec/unit/indirector/catalog/static_compiler_spec.rb +0 -255
- data/spec/unit/indirector/resource_type/parser_spec.rb +0 -259
- data/spec/unit/indirector/resource_type/rest_spec.rb +0 -14
- data/spec/unit/pops/binder/binder_spec.rb +0 -43
- data/spec/unit/pops/binder/bindings_checker_spec.rb +0 -155
- data/spec/unit/pops/binder/bindings_composer_spec.rb +0 -64
- data/spec/unit/pops/binder/bindings_validator_factory_spec.rb +0 -18
- data/spec/unit/pops/binder/config/binder_config_spec.rb +0 -42
- data/spec/unit/pops/binder/injector_spec.rb +0 -768
- data/spec/unit/pops/parser/rgen_sanitycheck_spec.rb +0 -23
- data/spec/unit/pops/serialization/rgen_spec.rb +0 -88
- data/spec/unit/semver_spec.rb +0 -546
- /data/lib/puppet/vendor/semantic_puppet/{lib/semantic_puppet/locales → locales}/config.yaml +0 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
require 'ffi'
|
|
2
|
+
|
|
3
|
+
# Puppet::Util::Windows::EventLog needs to be requirable without having loaded
|
|
4
|
+
# any other parts of Puppet so it can be leveraged independently by the code
|
|
5
|
+
# that runs Puppet as a service on Windows.
|
|
6
|
+
#
|
|
7
|
+
# For this reason we:
|
|
8
|
+
# - Define Puppet::Util::Windows
|
|
9
|
+
# - Replicate logic that exists elsewhere in puppet/util/windows
|
|
10
|
+
# - Raise generic RuntimeError instead of Puppet::Util::Windows::Error if its not defined
|
|
11
|
+
module Puppet; module Util; module Windows ; end ; end ; end
|
|
12
|
+
|
|
13
|
+
class Puppet::Util::Windows::EventLog
|
|
14
|
+
extend FFI::Library
|
|
15
|
+
|
|
16
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa363679(v=vs.85).aspx
|
|
17
|
+
EVENTLOG_ERROR_TYPE = 0x0001
|
|
18
|
+
EVENTLOG_WARNING_TYPE = 0x0002
|
|
19
|
+
EVENTLOG_INFORMATION_TYPE = 0x0004
|
|
20
|
+
|
|
21
|
+
# These are duplicate definitions from Puppet::Util::Windows::ApiTypes,
|
|
22
|
+
# established here so this class can be standalone from Puppet, and public so
|
|
23
|
+
# we can reference them in tests.
|
|
24
|
+
NULL_HANDLE = 0
|
|
25
|
+
WIN32_FALSE = 0
|
|
26
|
+
|
|
27
|
+
# Register an event log handle for the application
|
|
28
|
+
# @param source_name [String] the name of the event source to retrieve a handle for
|
|
29
|
+
# @return [void]
|
|
30
|
+
# @api public
|
|
31
|
+
def initialize(source_name = 'Puppet')
|
|
32
|
+
@eventlog_handle = RegisterEventSourceW(FFI::Pointer::NULL, wide_string(source_name))
|
|
33
|
+
if @eventlog_handle == NULL_HANDLE
|
|
34
|
+
raise EventLogError.new("RegisterEventSourceW failed to open Windows eventlog", FFI.errno)
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Close this instance's event log handle
|
|
39
|
+
# @return [void]
|
|
40
|
+
# @api public
|
|
41
|
+
def close
|
|
42
|
+
DeregisterEventSource(@eventlog_handle)
|
|
43
|
+
ensure
|
|
44
|
+
@eventlog_handle = nil
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Report an event to this instance's event log handle. Accepts a string to
|
|
48
|
+
# report (:data => <string>) and event type (:event_type => FixNum) and id
|
|
49
|
+
# (:event_id => FixNum) as returned by #to_native. The additional arguments to
|
|
50
|
+
# ReportEventW seen in this method aren't exposed - though ReportEventW
|
|
51
|
+
# technically can accept multiple strings as well as raw binary data to log,
|
|
52
|
+
# we accept a single string from Puppet::Util::Log
|
|
53
|
+
#
|
|
54
|
+
# @param args [Hash{Symbol=>Object}] options to the associated log event
|
|
55
|
+
# @return [void]
|
|
56
|
+
# @api public
|
|
57
|
+
def report_event(args = {})
|
|
58
|
+
raise ArgumentError, "data must be a string, not #{args[:data].class}" unless args[:data].is_a?(String)
|
|
59
|
+
from_string_to_wide_string(args[:data]) do |message_ptr|
|
|
60
|
+
FFI::MemoryPointer.new(:pointer) do |message_array_ptr|
|
|
61
|
+
message_array_ptr.write_pointer(message_ptr)
|
|
62
|
+
user_sid = FFI::Pointer::NULL
|
|
63
|
+
raw_data = FFI::Pointer::NULL
|
|
64
|
+
raw_data_size = 0
|
|
65
|
+
num_strings = 1
|
|
66
|
+
eventlog_category = 0
|
|
67
|
+
report_result = ReportEventW(@eventlog_handle, args[:event_type],
|
|
68
|
+
eventlog_category, args[:event_id], user_sid,
|
|
69
|
+
num_strings, raw_data_size, message_array_ptr, raw_data)
|
|
70
|
+
|
|
71
|
+
if report_result == WIN32_FALSE
|
|
72
|
+
raise EventLogError.new("ReportEventW failed to report event to Windows eventlog", FFI.errno)
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
class << self
|
|
79
|
+
# Feels more natural to do Puppet::Util::Window::EventLog.open("MyApplication")
|
|
80
|
+
alias :open :new
|
|
81
|
+
|
|
82
|
+
# Query event identifier info for a given log level
|
|
83
|
+
# @param level [Symbol] an event log level
|
|
84
|
+
# @return [Array] Win API Event ID, Puppet Event ID
|
|
85
|
+
# @api public
|
|
86
|
+
def to_native(level)
|
|
87
|
+
case level
|
|
88
|
+
when :debug,:info,:notice
|
|
89
|
+
[EVENTLOG_INFORMATION_TYPE, 0x01]
|
|
90
|
+
when :warning
|
|
91
|
+
[EVENTLOG_WARNING_TYPE, 0x02]
|
|
92
|
+
when :err,:alert,:emerg,:crit
|
|
93
|
+
[EVENTLOG_ERROR_TYPE, 0x03]
|
|
94
|
+
else
|
|
95
|
+
raise ArgumentError, "Invalid log level #{level}"
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
private
|
|
101
|
+
# For the purposes of allowing this class to be standalone, the following are
|
|
102
|
+
# duplicate definitions from elsewhere in Puppet:
|
|
103
|
+
|
|
104
|
+
# If we're loaded via Puppet we should keep the previous behavior of raising
|
|
105
|
+
# Puppet::Util::Windows::Error on errors. If we aren't, at least concatenate
|
|
106
|
+
# the error code to the exception message to pass this information on to the
|
|
107
|
+
# user
|
|
108
|
+
if defined?(Puppet::Util::Windows::Error)
|
|
109
|
+
EventLogError = Puppet::Util::Windows::Error
|
|
110
|
+
else
|
|
111
|
+
class EventLogError < RuntimeError
|
|
112
|
+
def initialize(msg, code)
|
|
113
|
+
super(msg + " (Win32 error: #{code})")
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
# Private duplicate of Puppet::Util::Windows::String::wide_string
|
|
119
|
+
# Not for use outside of EventLog! - use Puppet::Util::Windows instead
|
|
120
|
+
# @api private
|
|
121
|
+
def wide_string(str)
|
|
122
|
+
# if given a nil string, assume caller wants to pass a nil pointer to win32
|
|
123
|
+
return nil if str.nil?
|
|
124
|
+
# ruby (< 2.1) does not respect multibyte terminators, so it is possible
|
|
125
|
+
# for a string to contain a single trailing null byte, followed by garbage
|
|
126
|
+
# causing buffer overruns.
|
|
127
|
+
#
|
|
128
|
+
# See http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?revision=41920&view=revision
|
|
129
|
+
newstr = str + "\0".encode(str.encoding)
|
|
130
|
+
newstr.encode!('UTF-16LE')
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
# Private duplicate of Puppet::Util::Windows::ApiTypes::from_string_to_wide_string
|
|
134
|
+
# Not for use outside of EventLog! - Use Puppet::Util::Windows instead
|
|
135
|
+
# @api private
|
|
136
|
+
def from_string_to_wide_string(str, &block)
|
|
137
|
+
str = wide_string(str)
|
|
138
|
+
FFI::MemoryPointer.new(:uchar, str.bytesize) do |ptr|
|
|
139
|
+
# uchar here is synonymous with byte
|
|
140
|
+
ptr.put_array_of_uchar(0, str.bytes.to_a)
|
|
141
|
+
|
|
142
|
+
yield ptr
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
# ptr has already had free called, so nothing to return
|
|
146
|
+
nil
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
ffi_convention :stdcall
|
|
150
|
+
|
|
151
|
+
# The following are typedefs in Puppet::Util::Winodws::ApiTypes, but here we
|
|
152
|
+
# use their original FFI counterparts:
|
|
153
|
+
# :uintptr_t for :handle
|
|
154
|
+
# :int32 for :win32_bool
|
|
155
|
+
# :uint16 for :word
|
|
156
|
+
# :uint32 for :dword
|
|
157
|
+
# :pointer for :lpvoid
|
|
158
|
+
# :uchar for :byte
|
|
159
|
+
|
|
160
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa363678(v=vs.85).aspx
|
|
161
|
+
# HANDLE RegisterEventSource(
|
|
162
|
+
# _In_ LPCTSTR lpUNCServerName,
|
|
163
|
+
# _In_ LPCTSTR lpSourceName
|
|
164
|
+
# );
|
|
165
|
+
ffi_lib :advapi32
|
|
166
|
+
attach_function :RegisterEventSourceW, [:buffer_in, :buffer_in], :uintptr_t
|
|
167
|
+
private :RegisterEventSourceW
|
|
168
|
+
|
|
169
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa363642(v=vs.85).aspx
|
|
170
|
+
# BOOL DeregisterEventSource(
|
|
171
|
+
# _Inout_ HANDLE hEventLog
|
|
172
|
+
# );
|
|
173
|
+
ffi_lib :advapi32
|
|
174
|
+
attach_function :DeregisterEventSource, [:uintptr_t], :int32
|
|
175
|
+
private :DeregisterEventSource
|
|
176
|
+
|
|
177
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa363679(v=vs.85).aspx
|
|
178
|
+
# BOOL ReportEvent(
|
|
179
|
+
# _In_ HANDLE hEventLog,
|
|
180
|
+
# _In_ WORD wType,
|
|
181
|
+
# _In_ WORD wCategory,
|
|
182
|
+
# _In_ DWORD dwEventID,
|
|
183
|
+
# _In_ PSID lpUserSid,
|
|
184
|
+
# _In_ WORD wNumStrings,
|
|
185
|
+
# _In_ DWORD dwDataSize,
|
|
186
|
+
# _In_ LPCTSTR *lpStrings,
|
|
187
|
+
# _In_ LPVOID lpRawData
|
|
188
|
+
# );
|
|
189
|
+
ffi_lib :advapi32
|
|
190
|
+
attach_function :ReportEventW, [:uintptr_t, :uint16, :uint16, :uint32, :pointer, :uint16, :uint32, :pointer, :pointer], :int32
|
|
191
|
+
private :ReportEventW
|
|
192
|
+
end
|
|
@@ -155,7 +155,7 @@ module Puppet::Util::Windows::File
|
|
|
155
155
|
|
|
156
156
|
def set_attributes(path, flags)
|
|
157
157
|
success = SetFileAttributesW(wide_string(path), flags) != FFI::WIN32_FALSE
|
|
158
|
-
raise Puppet::Util::Windows::Error.new("Failed to set file attributes") if !success
|
|
158
|
+
raise Puppet::Util::Windows::Error.new(_("Failed to set file attributes")) if !success
|
|
159
159
|
|
|
160
160
|
success
|
|
161
161
|
end
|
|
@@ -190,7 +190,7 @@ module Puppet::Util::Windows::File
|
|
|
190
190
|
|
|
191
191
|
def self.device_io_control(handle, io_control_code, in_buffer = nil, out_buffer = nil)
|
|
192
192
|
if out_buffer.nil?
|
|
193
|
-
raise Puppet::Util::Windows::Error.new("out_buffer is required")
|
|
193
|
+
raise Puppet::Util::Windows::Error.new(_("out_buffer is required"))
|
|
194
194
|
end
|
|
195
195
|
|
|
196
196
|
FFI::MemoryPointer.new(:dword, 1) do |bytes_returned_ptr|
|
|
@@ -271,7 +271,7 @@ module Puppet::Util::Windows::File
|
|
|
271
271
|
buffer_size = GetLongPathNameW(path_ptr, FFI::Pointer::NULL, 0)
|
|
272
272
|
FFI::MemoryPointer.new(:wchar, buffer_size) do |converted_ptr|
|
|
273
273
|
if GetLongPathNameW(path_ptr, converted_ptr, buffer_size) == FFI::WIN32_FALSE
|
|
274
|
-
raise Puppet::Util::Windows::Error.new("Failed to call GetLongPathName")
|
|
274
|
+
raise Puppet::Util::Windows::Error.new(_("Failed to call GetLongPathName"))
|
|
275
275
|
end
|
|
276
276
|
|
|
277
277
|
converted = converted_ptr.read_wide_string(buffer_size - 1)
|
|
@@ -397,7 +397,7 @@ module Puppet::Util::Windows::File
|
|
|
397
397
|
begin
|
|
398
398
|
ffi_lib :kernel32
|
|
399
399
|
attach_function_private :CreateSymbolicLinkW,
|
|
400
|
-
[:lpwstr, :lpwstr, :dword], :
|
|
400
|
+
[:lpwstr, :lpwstr, :dword], :boolean
|
|
401
401
|
rescue LoadError
|
|
402
402
|
end
|
|
403
403
|
|
|
@@ -64,14 +64,14 @@ module Puppet::Util::Windows::SID
|
|
|
64
64
|
last_error = FFI.errno
|
|
65
65
|
|
|
66
66
|
if (success == FFI::WIN32_FALSE && last_error != ERROR_INSUFFICIENT_BUFFER)
|
|
67
|
-
raise Puppet::Util::Windows::Error.new('Failed to call LookupAccountNameW', last_error)
|
|
67
|
+
raise Puppet::Util::Windows::Error.new(_('Failed to call LookupAccountNameW'), last_error)
|
|
68
68
|
end
|
|
69
69
|
|
|
70
70
|
FFI::MemoryPointer.new(:lpwstr, domain_length_ptr.read_dword) do |domain_ptr|
|
|
71
71
|
if LookupAccountNameW(system_name_ptr, account_name_ptr,
|
|
72
72
|
sid_ptr, sid_length_ptr,
|
|
73
73
|
domain_ptr, domain_length_ptr, name_use_enum_ptr) == FFI::WIN32_FALSE
|
|
74
|
-
raise Puppet::Util::Windows::Error.new('Failed to call LookupAccountNameW')
|
|
74
|
+
raise Puppet::Util::Windows::Error.new(_('Failed to call LookupAccountNameW'))
|
|
75
75
|
end
|
|
76
76
|
|
|
77
77
|
# with a SID returned, loop back through lookup_account_sid to retrieve official name
|
|
@@ -93,7 +93,8 @@ module Puppet::Util::Windows::SID
|
|
|
93
93
|
def self.lookup_account_sid(system_name = nil, sid_bytes)
|
|
94
94
|
system_name_ptr = FFI::Pointer::NULL
|
|
95
95
|
if (sid_bytes.nil? || (!sid_bytes.is_a? Array) || (sid_bytes.length == 0))
|
|
96
|
-
|
|
96
|
+
#TRANSLATORS `lookup_account_sid` is a variable name and should not be translated
|
|
97
|
+
raise Puppet::Util::Windows::Error.new(_('Byte array for lookup_account_sid must not be nil and must be at least 1 byte long'))
|
|
97
98
|
end
|
|
98
99
|
|
|
99
100
|
begin
|
|
@@ -115,14 +116,14 @@ module Puppet::Util::Windows::SID
|
|
|
115
116
|
last_error = FFI.errno
|
|
116
117
|
|
|
117
118
|
if (success == FFI::WIN32_FALSE && last_error != ERROR_INSUFFICIENT_BUFFER)
|
|
118
|
-
raise Puppet::Util::Windows::Error.new('Failed to call LookupAccountSidW', last_error)
|
|
119
|
+
raise Puppet::Util::Windows::Error.new(_('Failed to call LookupAccountSidW'), last_error)
|
|
119
120
|
end
|
|
120
121
|
|
|
121
122
|
FFI::MemoryPointer.new(:lpwstr, name_length_ptr.read_dword) do |name_ptr|
|
|
122
123
|
FFI::MemoryPointer.new(:lpwstr, domain_length_ptr.read_dword) do |domain_ptr|
|
|
123
124
|
if LookupAccountSidW(system_name_ptr, sid_ptr, name_ptr, name_length_ptr,
|
|
124
125
|
domain_ptr, domain_length_ptr, name_use_enum_ptr) == FFI::WIN32_FALSE
|
|
125
|
-
raise Puppet::Util::Windows::Error.new('Failed to call LookupAccountSidW')
|
|
126
|
+
raise Puppet::Util::Windows::Error.new(_('Failed to call LookupAccountSidW'))
|
|
126
127
|
end
|
|
127
128
|
|
|
128
129
|
return new(
|
|
@@ -21,7 +21,7 @@ module Puppet::Util::Windows::Process
|
|
|
21
21
|
exit_status = -1
|
|
22
22
|
FFI::MemoryPointer.new(:dword, 1) do |exit_status_ptr|
|
|
23
23
|
if GetExitCodeProcess(handle, exit_status_ptr) == FFI::WIN32_FALSE
|
|
24
|
-
raise Puppet::Util::Windows::Error.new("Failed to get child process exit code")
|
|
24
|
+
raise Puppet::Util::Windows::Error.new(_("Failed to get child process exit code"))
|
|
25
25
|
end
|
|
26
26
|
exit_status = exit_status_ptr.read_dword
|
|
27
27
|
|
|
@@ -214,7 +214,7 @@ module Puppet::Util::Windows::Process
|
|
|
214
214
|
result = GetVersionExW(os_version_ptr)
|
|
215
215
|
|
|
216
216
|
if result == FFI::WIN32_FALSE
|
|
217
|
-
raise Puppet::Util::Windows::Error.new("GetVersionEx failed")
|
|
217
|
+
raise Puppet::Util::Windows::Error.new(_("GetVersionEx failed"))
|
|
218
218
|
end
|
|
219
219
|
|
|
220
220
|
ver = os_version[:dwMajorVersion]
|
|
@@ -251,17 +251,17 @@ module Puppet::Util::Windows::Process
|
|
|
251
251
|
module_function :get_environment_strings
|
|
252
252
|
|
|
253
253
|
def set_environment_variable(name, val)
|
|
254
|
-
raise Puppet::Util::Windows::Error('environment variable name must not be nil or empty') if ! name || name.empty?
|
|
254
|
+
raise Puppet::Util::Windows::Error(_('environment variable name must not be nil or empty')) if ! name || name.empty?
|
|
255
255
|
|
|
256
256
|
FFI::MemoryPointer.from_string_to_wide_string(name) do |name_ptr|
|
|
257
257
|
if (val.nil?)
|
|
258
258
|
if SetEnvironmentVariableW(name_ptr, FFI::MemoryPointer::NULL) == FFI::WIN32_FALSE
|
|
259
|
-
raise Puppet::Util::Windows::Error.new("Failed to remove environment variable:
|
|
259
|
+
raise Puppet::Util::Windows::Error.new(_("Failed to remove environment variable: %{name}") % { name: name })
|
|
260
260
|
end
|
|
261
261
|
else
|
|
262
262
|
FFI::MemoryPointer.from_string_to_wide_string(val) do |val_ptr|
|
|
263
263
|
if SetEnvironmentVariableW(name_ptr, val_ptr) == FFI::WIN32_FALSE
|
|
264
|
-
raise Puppet::Util::Windows::Error.new("Failed to set environment variable:
|
|
264
|
+
raise Puppet::Util::Windows::Error.new(_("Failed to set environment variable: %{name}") % { name: name })
|
|
265
265
|
end
|
|
266
266
|
end
|
|
267
267
|
end
|
|
@@ -18,7 +18,7 @@ module Puppet::Util::Windows
|
|
|
18
18
|
def root(name)
|
|
19
19
|
Win32::Registry.const_get(name)
|
|
20
20
|
rescue NameError
|
|
21
|
-
raise Puppet::Error, "Invalid registry key '
|
|
21
|
+
raise Puppet::Error, _("Invalid registry key '%{name}'") % { name: name }, $!.backtrace
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
def open(name, path, mode = KEY_READ | KEY64, &block)
|
|
@@ -28,7 +28,7 @@ module Puppet::Util::Windows
|
|
|
28
28
|
return yield subkey
|
|
29
29
|
end
|
|
30
30
|
rescue Win32::Registry::Error => error
|
|
31
|
-
raise Puppet::Util::Windows::Error.new("Failed to open registry key '
|
|
31
|
+
raise Puppet::Util::Windows::Error.new(_("Failed to open registry key '%{key}\\%{path}'") % { key: hkey.keyname, path: path }, error.code, error)
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
|
|
@@ -103,7 +103,7 @@ module Puppet::Util::Windows
|
|
|
103
103
|
break if result == ERROR_NO_MORE_ITEMS
|
|
104
104
|
|
|
105
105
|
if result != FFI::ERROR_SUCCESS
|
|
106
|
-
msg = "Failed to enumerate
|
|
106
|
+
msg = _("Failed to enumerate %{key} registry keys at index %{index}") % { key: key.keyname, index: index }
|
|
107
107
|
raise Puppet::Util::Windows::Error.new(msg)
|
|
108
108
|
end
|
|
109
109
|
|
|
@@ -134,7 +134,7 @@ module Puppet::Util::Windows
|
|
|
134
134
|
break if result == ERROR_NO_MORE_ITEMS
|
|
135
135
|
|
|
136
136
|
if result != FFI::ERROR_SUCCESS
|
|
137
|
-
msg = "Failed to enumerate
|
|
137
|
+
msg = _("Failed to enumerate %{key} registry values at index %{index}") % { key: key.keyname, index: index }
|
|
138
138
|
raise Puppet::Util::Windows::Error.new(msg)
|
|
139
139
|
end
|
|
140
140
|
|
|
@@ -164,7 +164,7 @@ module Puppet::Util::Windows
|
|
|
164
164
|
)
|
|
165
165
|
|
|
166
166
|
if status != FFI::ERROR_SUCCESS
|
|
167
|
-
msg = "Failed to query registry
|
|
167
|
+
msg = _("Failed to query registry %{key} for sizes") % { key: key.keyname }
|
|
168
168
|
raise Puppet::Util::Windows::Error.new(msg)
|
|
169
169
|
end
|
|
170
170
|
|
|
@@ -200,7 +200,7 @@ module Puppet::Util::Windows
|
|
|
200
200
|
|
|
201
201
|
query_value_ex(key, name_ptr) do |type, data_ptr, byte_length|
|
|
202
202
|
unless rtype.empty? or rtype.include?(type)
|
|
203
|
-
raise TypeError, "Type mismatch (expect
|
|
203
|
+
raise TypeError, _("Type mismatch (expect %{rtype} but %{type} present)") % { rtype: rtype.inspect, type: type }
|
|
204
204
|
end
|
|
205
205
|
|
|
206
206
|
string_length = 0
|
|
@@ -222,12 +222,12 @@ module Puppet::Util::Windows
|
|
|
222
222
|
when Win32::Registry::REG_QWORD
|
|
223
223
|
result = [ type, data_ptr.read_qword ]
|
|
224
224
|
else
|
|
225
|
-
raise TypeError, "Type
|
|
225
|
+
raise TypeError, _("Type %{type} is not supported.") % { type: type }
|
|
226
226
|
end
|
|
227
227
|
rescue IndexError => ex
|
|
228
228
|
raise if (ex.message !~ /^Memory access .* is out of bounds$/i)
|
|
229
229
|
parent_key_name = key.parent ? "#{key.parent.keyname}\\" : ""
|
|
230
|
-
Puppet.warning "A value in the registry key
|
|
230
|
+
Puppet.warning _("A value in the registry key %{parent_key_name}%{key} is corrupt or invalid") % { parent_key_name: parent_key_name, key: key.keyname }
|
|
231
231
|
end
|
|
232
232
|
end
|
|
233
233
|
|
|
@@ -247,7 +247,7 @@ module Puppet::Util::Windows
|
|
|
247
247
|
buffer_ptr, length_ptr)
|
|
248
248
|
|
|
249
249
|
if result != FFI::ERROR_SUCCESS
|
|
250
|
-
msg = "Failed to read registry value
|
|
250
|
+
msg = _("Failed to read registry value %{value} at %{key}") % { value: name_ptr.read_wide_string, key: key.keyname }
|
|
251
251
|
raise Puppet::Util::Windows::Error.new(msg)
|
|
252
252
|
end
|
|
253
253
|
|
|
@@ -265,7 +265,7 @@ module Puppet::Util::Windows
|
|
|
265
265
|
result = RegDeleteValueW(key.hkey, name_ptr)
|
|
266
266
|
|
|
267
267
|
if result != FFI::ERROR_SUCCESS
|
|
268
|
-
msg = "Failed to delete registry value
|
|
268
|
+
msg = _("Failed to delete registry value %{name} at %{key}") % { name: name, key: key.keyname }
|
|
269
269
|
raise Puppet::Util::Windows::Error.new(msg, result)
|
|
270
270
|
end
|
|
271
271
|
end
|
|
@@ -280,7 +280,7 @@ module Puppet::Util::Windows
|
|
|
280
280
|
result = RegDeleteKeyExW(key.hkey, name_ptr, regsam, 0)
|
|
281
281
|
|
|
282
282
|
if result != FFI::ERROR_SUCCESS
|
|
283
|
-
msg = "Failed to delete registry key
|
|
283
|
+
msg = _("Failed to delete registry key %{name} at %{key}") % { name: name, key: key.keyname }
|
|
284
284
|
raise Puppet::Util::Windows::Error.new(msg, result)
|
|
285
285
|
end
|
|
286
286
|
end
|
|
@@ -44,7 +44,7 @@ class Puppet::Util::Windows::RootCerts
|
|
|
44
44
|
begin
|
|
45
45
|
certs << OpenSSL::X509::Certificate.new(cert_buf)
|
|
46
46
|
rescue => detail
|
|
47
|
-
Puppet.warning("Failed to import root certificate:
|
|
47
|
+
Puppet.warning(_("Failed to import root certificate: %{detail}") % { detail: detail.inspect })
|
|
48
48
|
end
|
|
49
49
|
end
|
|
50
50
|
ensure
|
|
@@ -170,7 +170,7 @@ module Puppet::Util::Windows::Security
|
|
|
170
170
|
if GetVolumeInformationW(wide_string(root), FFI::Pointer::NULL, 0,
|
|
171
171
|
FFI::Pointer::NULL, FFI::Pointer::NULL,
|
|
172
172
|
flags_ptr, FFI::Pointer::NULL, 0) == FFI::WIN32_FALSE
|
|
173
|
-
raise Puppet::Util::Windows::Error.new("Failed to get volume information")
|
|
173
|
+
raise Puppet::Util::Windows::Error.new(_("Failed to get volume information"))
|
|
174
174
|
end
|
|
175
175
|
supported = flags_ptr.read_dword & FILE_PERSISTENT_ACLS == FILE_PERSISTENT_ACLS
|
|
176
176
|
end
|
|
@@ -380,11 +380,11 @@ module Puppet::Util::Windows::Security
|
|
|
380
380
|
|
|
381
381
|
Puppet::Util::Windows::SID.string_to_sid_ptr(sid) do |sid_ptr|
|
|
382
382
|
if Puppet::Util::Windows::SID.IsValidSid(sid_ptr) == FFI::WIN32_FALSE
|
|
383
|
-
raise Puppet::Util::Windows::Error.new("Invalid SID")
|
|
383
|
+
raise Puppet::Util::Windows::Error.new(_("Invalid SID"))
|
|
384
384
|
end
|
|
385
385
|
|
|
386
386
|
if AddAccessAllowedAceEx(acl, ACL_REVISION, inherit, mask, sid_ptr) == FFI::WIN32_FALSE
|
|
387
|
-
raise Puppet::Util::Windows::Error.new("Failed to add access control entry")
|
|
387
|
+
raise Puppet::Util::Windows::Error.new(_("Failed to add access control entry"))
|
|
388
388
|
end
|
|
389
389
|
end
|
|
390
390
|
|
|
@@ -397,11 +397,11 @@ module Puppet::Util::Windows::Security
|
|
|
397
397
|
|
|
398
398
|
Puppet::Util::Windows::SID.string_to_sid_ptr(sid) do |sid_ptr|
|
|
399
399
|
if Puppet::Util::Windows::SID.IsValidSid(sid_ptr) == FFI::WIN32_FALSE
|
|
400
|
-
raise Puppet::Util::Windows::Error.new("Invalid SID")
|
|
400
|
+
raise Puppet::Util::Windows::Error.new(_("Invalid SID"))
|
|
401
401
|
end
|
|
402
402
|
|
|
403
403
|
if AddAccessDeniedAceEx(acl, ACL_REVISION, inherit, mask, sid_ptr) == FFI::WIN32_FALSE
|
|
404
|
-
raise Puppet::Util::Windows::Error.new("Failed to add access control entry")
|
|
404
|
+
raise Puppet::Util::Windows::Error.new(_("Failed to add access control entry"))
|
|
405
405
|
end
|
|
406
406
|
end
|
|
407
407
|
|
|
@@ -412,7 +412,7 @@ module Puppet::Util::Windows::Security
|
|
|
412
412
|
def parse_dacl(dacl_ptr)
|
|
413
413
|
# REMIND: need to handle NULL DACL
|
|
414
414
|
if IsValidAcl(dacl_ptr) == FFI::WIN32_FALSE
|
|
415
|
-
raise Puppet::Util::Windows::Error.new("Invalid DACL")
|
|
415
|
+
raise Puppet::Util::Windows::Error.new(_("Invalid DACL"))
|
|
416
416
|
end
|
|
417
417
|
|
|
418
418
|
dacl_struct = ACL.new(dacl_ptr)
|
|
@@ -435,7 +435,7 @@ module Puppet::Util::Windows::Security
|
|
|
435
435
|
ace_type = ace[:Header][:AceType]
|
|
436
436
|
if ace_type != Puppet::Util::Windows::AccessControlEntry::ACCESS_ALLOWED_ACE_TYPE &&
|
|
437
437
|
ace_type != Puppet::Util::Windows::AccessControlEntry::ACCESS_DENIED_ACE_TYPE
|
|
438
|
-
Puppet.warning "Unsupported access control entry type: 0x
|
|
438
|
+
Puppet.warning _("Unsupported access control entry type: 0x%{type}") % { type: ace_type.to_s(16) }
|
|
439
439
|
next
|
|
440
440
|
end
|
|
441
441
|
|
|
@@ -469,7 +469,7 @@ module Puppet::Util::Windows::Security
|
|
|
469
469
|
FFI::Pointer::NULL_HANDLE) # template
|
|
470
470
|
|
|
471
471
|
if handle == Puppet::Util::Windows::File::INVALID_HANDLE_VALUE
|
|
472
|
-
raise Puppet::Util::Windows::Error.new("Failed to open '
|
|
472
|
+
raise Puppet::Util::Windows::Error.new(_("Failed to open '%{path}'") % { path: path })
|
|
473
473
|
end
|
|
474
474
|
|
|
475
475
|
begin
|
|
@@ -516,7 +516,7 @@ module Puppet::Util::Windows::Security
|
|
|
516
516
|
if AdjustTokenPrivileges(token, FFI::WIN32_FALSE,
|
|
517
517
|
token_privileges, token_privileges.size,
|
|
518
518
|
FFI::MemoryPointer::NULL, FFI::MemoryPointer::NULL) == FFI::WIN32_FALSE
|
|
519
|
-
raise Puppet::Util::Windows::Error.new("Failed to adjust process privileges")
|
|
519
|
+
raise Puppet::Util::Windows::Error.new(_("Failed to adjust process privileges"))
|
|
520
520
|
end
|
|
521
521
|
end
|
|
522
522
|
end
|
|
@@ -546,7 +546,7 @@ module Puppet::Util::Windows::Security
|
|
|
546
546
|
dacl_ptr_ptr,
|
|
547
547
|
FFI::Pointer::NULL, #sacl
|
|
548
548
|
sd_ptr_ptr) #sec desc
|
|
549
|
-
raise Puppet::Util::Windows::Error.new("Failed to get security information") if rv != FFI::ERROR_SUCCESS
|
|
549
|
+
raise Puppet::Util::Windows::Error.new(_("Failed to get security information")) if rv != FFI::ERROR_SUCCESS
|
|
550
550
|
|
|
551
551
|
# these 2 convenience params are not freed since they point inside sd_ptr
|
|
552
552
|
owner = Puppet::Util::Windows::SID.sid_ptr_to_string(owner_sid_ptr_ptr.get_pointer(0))
|
|
@@ -557,7 +557,7 @@ module Puppet::Util::Windows::Security
|
|
|
557
557
|
sd_ptr_ptr.read_win32_local_pointer do |sd_ptr|
|
|
558
558
|
|
|
559
559
|
if GetSecurityDescriptorControl(sd_ptr, control, revision) == FFI::WIN32_FALSE
|
|
560
|
-
raise Puppet::Util::Windows::Error.new("Failed to get security descriptor control")
|
|
560
|
+
raise Puppet::Util::Windows::Error.new(_("Failed to get security descriptor control"))
|
|
561
561
|
end
|
|
562
562
|
|
|
563
563
|
protect = (control.read_word & SE_DACL_PROTECTED) == SE_DACL_PROTECTED
|
|
@@ -590,11 +590,11 @@ module Puppet::Util::Windows::Security
|
|
|
590
590
|
def set_security_descriptor(path, sd)
|
|
591
591
|
FFI::MemoryPointer.new(:byte, get_max_generic_acl_size(sd.dacl.count)) do |acl_ptr|
|
|
592
592
|
if InitializeAcl(acl_ptr, acl_ptr.size, ACL_REVISION) == FFI::WIN32_FALSE
|
|
593
|
-
raise Puppet::Util::Windows::Error.new("Failed to initialize ACL")
|
|
593
|
+
raise Puppet::Util::Windows::Error.new(_("Failed to initialize ACL"))
|
|
594
594
|
end
|
|
595
595
|
|
|
596
596
|
if IsValidAcl(acl_ptr) == FFI::WIN32_FALSE
|
|
597
|
-
raise Puppet::Util::Windows::Error.new("Invalid DACL")
|
|
597
|
+
raise Puppet::Util::Windows::Error.new(_("Invalid DACL"))
|
|
598
598
|
end
|
|
599
599
|
|
|
600
600
|
with_privilege(SE_BACKUP_NAME) do
|
|
@@ -629,7 +629,7 @@ module Puppet::Util::Windows::Security
|
|
|
629
629
|
FFI::MemoryPointer::NULL)
|
|
630
630
|
|
|
631
631
|
if rv != FFI::ERROR_SUCCESS
|
|
632
|
-
raise Puppet::Util::Windows::Error.new("Failed to set security information")
|
|
632
|
+
raise Puppet::Util::Windows::Error.new(_("Failed to set security information"))
|
|
633
633
|
end
|
|
634
634
|
end
|
|
635
635
|
end
|
|
@@ -90,7 +90,7 @@ module Puppet::Util::Windows
|
|
|
90
90
|
# This method returns a SID::Principal with the account, domain, SID, etc
|
|
91
91
|
def octet_string_to_sid_object(bytes)
|
|
92
92
|
if !bytes || !bytes.respond_to?('pack') || bytes.empty?
|
|
93
|
-
raise Puppet::Util::Windows::Error.new("Octet string must be an array of bytes")
|
|
93
|
+
raise Puppet::Util::Windows::Error.new(_("Octet string must be an array of bytes"))
|
|
94
94
|
end
|
|
95
95
|
|
|
96
96
|
Principal.lookup_account_sid(bytes)
|
|
@@ -124,18 +124,18 @@ module Puppet::Util::Windows
|
|
|
124
124
|
# Convert a SID pointer to a SID string, e.g. "S-1-5-32-544".
|
|
125
125
|
def sid_ptr_to_string(psid)
|
|
126
126
|
if ! psid.kind_of?(FFI::Pointer) || IsValidSid(psid) == FFI::WIN32_FALSE
|
|
127
|
-
raise Puppet::Util::Windows::Error.new("Invalid SID")
|
|
127
|
+
raise Puppet::Util::Windows::Error.new(_("Invalid SID"))
|
|
128
128
|
end
|
|
129
129
|
|
|
130
130
|
sid_string = nil
|
|
131
131
|
FFI::MemoryPointer.new(:pointer, 1) do |buffer_ptr|
|
|
132
132
|
if ConvertSidToStringSidW(psid, buffer_ptr) == FFI::WIN32_FALSE
|
|
133
|
-
raise Puppet::Util::Windows::Error.new("Failed to convert binary SID")
|
|
133
|
+
raise Puppet::Util::Windows::Error.new(_("Failed to convert binary SID"))
|
|
134
134
|
end
|
|
135
135
|
|
|
136
136
|
buffer_ptr.read_win32_local_pointer do |wide_string_ptr|
|
|
137
137
|
if wide_string_ptr.null?
|
|
138
|
-
raise Puppet::Error.new("ConvertSidToStringSidW failed to allocate buffer for sid")
|
|
138
|
+
raise Puppet::Error.new(_("ConvertSidToStringSidW failed to allocate buffer for sid"))
|
|
139
139
|
end
|
|
140
140
|
|
|
141
141
|
sid_string = wide_string_ptr.read_arbitrary_wide_string_up_to(MAXIMUM_SID_STRING_LENGTH)
|
|
@@ -155,7 +155,7 @@ module Puppet::Util::Windows
|
|
|
155
155
|
FFI::MemoryPointer.new(:pointer, 1) do |sid_ptr_ptr|
|
|
156
156
|
|
|
157
157
|
if ConvertStringSidToSidW(lpcwstr, sid_ptr_ptr) == FFI::WIN32_FALSE
|
|
158
|
-
raise Puppet::Util::Windows::Error.new("Failed to convert string SID:
|
|
158
|
+
raise Puppet::Util::Windows::Error.new(_("Failed to convert string SID: %{string_sid}") % { string_sid: string_sid })
|
|
159
159
|
end
|
|
160
160
|
|
|
161
161
|
sid_ptr_ptr.read_win32_local_pointer do |sid_ptr|
|
|
@@ -186,7 +186,7 @@ module Puppet::Util::Windows
|
|
|
186
186
|
def get_length_sid(sid_ptr)
|
|
187
187
|
# MSDN states IsValidSid should be called on pointer first
|
|
188
188
|
if ! sid_ptr.kind_of?(FFI::Pointer) || IsValidSid(sid_ptr) == FFI::WIN32_FALSE
|
|
189
|
-
raise Puppet::Util::Windows::Error.new("Invalid SID")
|
|
189
|
+
raise Puppet::Util::Windows::Error.new(_("Invalid SID"))
|
|
190
190
|
end
|
|
191
191
|
|
|
192
192
|
GetLengthSid(sid_ptr)
|