puppet 4.3.2-x64-mingw32 → 4.4.0-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/COMMITTERS.md +2 -2
- data/CONTRIBUTING.md +6 -6
- data/LICENSE +1 -1
- data/README.md +8 -9
- data/conf/auth.conf +2 -2
- data/ext/README.environment +1 -1
- data/ext/debian/README.source +1 -1
- data/ext/debian/control +1 -1
- data/ext/debian/copyright +4 -4
- data/ext/debian/puppetmaster.README.debian +11 -9
- data/ext/emacs/puppet-mode.el +1 -1
- data/ext/envpuppet +2 -2
- data/ext/ips/puppetagent.xml +1 -1
- data/ext/ips/puppetmaster.xml +1 -1
- data/ext/project_data.yaml +8 -0
- data/ext/puppet-test +3 -3
- data/ext/rack/example-passenger-vhost.conf +1 -1
- data/ext/redhat/puppet.spec.erb +2 -2
- data/ext/regexp_nodes/regexp_nodes.rb +1 -1
- data/ext/solaris/pkginfo +1 -1
- data/ext/solaris/smf/puppet.xml +1 -1
- data/ext/suse/puppet.spec +2 -2
- data/ext/upload_facts.rb +1 -1
- data/ext/windows/puppet_interactive.bat +6 -0
- data/ext/windows/puppet_shell.bat +9 -0
- data/ext/windows/run_puppet_interactive.bat +9 -0
- data/ext/yaml_nodes.rb +1 -1
- data/install.rb +30 -20
- data/lib/puppet/agent.rb +1 -1
- data/lib/puppet/application/agent.rb +4 -2
- data/lib/puppet/application/apply.rb +7 -4
- data/lib/puppet/application/cert.rb +1 -1
- data/lib/puppet/application/device.rb +1 -1
- data/lib/puppet/application/filebucket.rb +1 -1
- data/lib/puppet/application/inspect.rb +1 -1
- data/lib/puppet/application/lookup.rb +4 -4
- data/lib/puppet/application/master.rb +2 -2
- data/lib/puppet/application/resource.rb +1 -1
- data/lib/puppet/configurer.rb +100 -22
- data/lib/puppet/data_providers/hiera_config.rb +28 -3
- data/lib/puppet/data_providers/hiera_interpolate.rb +30 -15
- data/lib/puppet/data_providers/hiera_support.rb +1 -1
- data/lib/puppet/data_providers/json_data_provider_factory.rb +2 -2
- data/lib/puppet/data_providers/yaml_data_provider_factory.rb +2 -2
- data/lib/puppet/defaults.rb +65 -19
- data/lib/puppet/environments.rb +3 -1
- data/lib/puppet/face/config.rb +1 -1
- data/lib/puppet/face/epp.rb +1 -1
- data/lib/puppet/face/help/man.erb +1 -1
- data/lib/puppet/face/module/install.rb +6 -6
- data/lib/puppet/face/parser.rb +12 -9
- data/lib/puppet/face/status.rb +2 -1
- data/lib/puppet/feature/cfpropertylist.rb +3 -0
- data/lib/puppet/feature/telnet.rb +9 -0
- data/lib/puppet/file_serving/http_metadata.rb +46 -0
- data/lib/puppet/file_serving/metadata.rb +18 -2
- data/lib/puppet/file_serving/terminus_selector.rb +2 -0
- data/lib/puppet/file_system.rb +2 -2
- 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/uniquefile.rb +1 -1
- data/lib/puppet/forge.rb +1 -1
- data/lib/puppet/forge/repository.rb +1 -31
- data/lib/puppet/functions.rb +45 -6
- data/lib/puppet/functions/assert_type.rb +9 -9
- data/lib/puppet/functions/each.rb +5 -13
- data/lib/puppet/functions/filter.rb +5 -14
- data/lib/puppet/functions/map.rb +6 -14
- data/lib/puppet/functions/reduce.rb +5 -13
- data/lib/puppet/functions/reverse_each.rb +82 -0
- data/lib/puppet/functions/scanf.rb +15 -18
- data/lib/puppet/functions/slice.rb +22 -36
- data/lib/puppet/functions/split.rb +2 -2
- data/lib/puppet/functions/step.rb +88 -0
- data/lib/puppet/functions/type.rb +70 -0
- data/lib/puppet/graph/rb_tree_map.rb +1 -1
- data/lib/puppet/indirector/catalog/compiler.rb +188 -5
- data/lib/puppet/indirector/file_content/http.rb +15 -0
- data/lib/puppet/indirector/file_metadata/http.rb +27 -0
- data/lib/puppet/indirector/generic_http.rb +16 -0
- data/lib/puppet/indirector/node/exec.rb +1 -1
- data/lib/puppet/indirector/node/ldap.rb +1 -1
- data/lib/puppet/indirector/rest.rb +2 -1
- data/lib/puppet/info_service/class_information_service.rb +13 -12
- data/lib/puppet/loaders.rb +1 -0
- data/lib/puppet/module.rb +3 -0
- data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +9 -2
- data/lib/puppet/module_tool/skeleton/templates/generator/spec/classes/init_spec.rb.erb +1 -1
- data/lib/puppet/module_tool/skeleton/templates/generator/tests/init.pp.erb +2 -2
- data/lib/puppet/module_tool/tar/mini.rb +3 -3
- data/lib/puppet/network/http/pool.rb +9 -0
- data/lib/puppet/node.rb +1 -1
- data/lib/puppet/node/environment.rb +11 -2
- data/lib/puppet/parser/ast/pops_bridge.rb +19 -22
- data/lib/puppet/parser/compiler.rb +3 -3
- data/lib/puppet/parser/environment_compiler.rb +0 -1
- data/lib/puppet/parser/functions.rb +28 -16
- data/lib/puppet/parser/functions/fqdn_rand.rb +1 -1
- data/lib/puppet/parser/functions/inline_template.rb +1 -1
- data/lib/puppet/parser/functions/map.rb +1 -1
- data/lib/puppet/parser/functions/scanf.rb +15 -26
- data/lib/puppet/parser/functions/slice.rb +17 -24
- data/lib/puppet/parser/functions/split.rb +1 -1
- data/lib/puppet/parser/resource.rb +19 -17
- data/lib/puppet/parser/scope.rb +176 -5
- data/lib/puppet/plugins/data_providers/data_provider.rb +54 -13
- data/lib/puppet/pops.rb +0 -8
- data/lib/puppet/pops/adaptable.rb +4 -1
- data/lib/puppet/pops/adapters.rb +38 -13
- data/lib/puppet/pops/binder/binder.rb +21 -17
- data/lib/puppet/pops/binder/binder_issues.rb +8 -6
- data/lib/puppet/pops/binder/bindings_checker.rb +12 -8
- data/lib/puppet/pops/binder/bindings_composer.rb +16 -12
- data/lib/puppet/pops/binder/bindings_factory.rb +108 -104
- data/lib/puppet/pops/binder/bindings_model.rb +49 -47
- data/lib/puppet/pops/binder/config/diagnostic_producer.rb +10 -6
- data/lib/puppet/pops/binder/injector.rb +53 -48
- data/lib/puppet/pops/binder/key_factory.rb +10 -6
- data/lib/puppet/pops/binder/producers.rb +67 -62
- data/lib/puppet/pops/evaluator/access_operator.rb +95 -93
- data/lib/puppet/pops/evaluator/closure.rb +84 -68
- data/lib/puppet/pops/evaluator/collector_transformer.rb +18 -14
- data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +0 -1
- data/lib/puppet/pops/evaluator/compare_operator.rb +13 -9
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +9 -8
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +78 -76
- data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +85 -0
- data/lib/puppet/pops/evaluator/relationship_operator.rb +13 -11
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +5 -0
- data/lib/puppet/pops/evaluator/runtime3_support.rb +41 -45
- data/lib/puppet/pops/issue_reporter.rb +6 -4
- data/lib/puppet/pops/issues.rb +34 -11
- data/lib/puppet/pops/loader/base_loader.rb +1 -1
- data/lib/puppet/pops/loader/loader.rb +1 -1
- data/lib/puppet/pops/loader/loader_paths.rb +15 -0
- data/lib/puppet/pops/loader/module_loaders.rb +17 -13
- data/lib/puppet/pops/loader/puppet_function_instantiator.rb +16 -12
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +16 -3
- data/lib/puppet/pops/loader/type_definition_instantiator.rb +55 -0
- data/lib/puppet/pops/loaders.rb +51 -9
- data/lib/puppet/pops/lookup.rb +14 -12
- data/lib/puppet/pops/merge_strategy.rb +16 -19
- data/lib/puppet/pops/model/factory.rb +26 -2
- data/lib/puppet/pops/model/model.rb +8 -8
- data/lib/puppet/pops/model/model_label_provider.rb +13 -7
- data/lib/puppet/pops/model/model_meta.rb +17 -0
- data/lib/puppet/pops/model/model_tree_dumper.rb +8 -0
- data/lib/puppet/pops/parser/egrammar.ra +38 -14
- data/lib/puppet/pops/parser/eparser.rb +1353 -1276
- data/lib/puppet/pops/parser/epp_support.rb +11 -7
- data/lib/puppet/pops/parser/evaluating_parser.rb +14 -10
- data/lib/puppet/pops/parser/heredoc_support.rb +15 -11
- data/lib/puppet/pops/parser/lexer2.rb +26 -19
- data/lib/puppet/pops/parser/lexer_support.rb +85 -7
- data/lib/puppet/pops/parser/locator.rb +21 -0
- data/lib/puppet/pops/parser/parser_support.rb +19 -16
- data/lib/puppet/pops/parser/slurp_support.rb +11 -7
- data/lib/puppet/pops/types/class_loader.rb +23 -19
- data/lib/puppet/pops/types/enumeration.rb +9 -26
- data/lib/puppet/pops/types/iterable.rb +308 -0
- data/lib/puppet/pops/types/recursion_guard.rb +82 -0
- data/lib/puppet/pops/types/type_acceptor.rb +25 -0
- data/lib/puppet/pops/types/type_asserter.rb +10 -9
- data/lib/puppet/pops/types/type_calculator.rb +138 -381
- data/lib/puppet/pops/types/type_factory.rb +91 -57
- data/lib/puppet/pops/types/type_formatter.rb +334 -0
- data/lib/puppet/pops/types/type_mismatch_describer.rb +226 -59
- data/lib/puppet/pops/types/type_parser.rb +159 -112
- data/lib/puppet/pops/types/types.rb +2057 -1247
- data/lib/puppet/pops/utils.rb +11 -10
- data/lib/puppet/pops/validation.rb +11 -9
- data/lib/puppet/pops/validation/checker4_0.rb +83 -55
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +8 -4
- data/lib/puppet/provider/aixobject.rb +1 -1
- data/lib/puppet/provider/augeas/augeas.rb +1 -1
- data/lib/puppet/provider/cron/crontab.rb +1 -1
- data/lib/puppet/provider/exec/windows.rb +1 -1
- data/lib/puppet/provider/macauthorization/macauthorization.rb +10 -9
- data/lib/puppet/provider/nameservice/directoryservice.rb +35 -50
- data/lib/puppet/provider/package/appdmg.rb +3 -2
- data/lib/puppet/provider/package/dnf.rb +1 -1
- data/lib/puppet/provider/package/pip.rb +5 -8
- data/lib/puppet/provider/package/pip3.rb +1 -1
- data/lib/puppet/provider/package/pkg.rb +1 -1
- data/lib/puppet/provider/package/pkgdmg.rb +3 -2
- data/lib/puppet/provider/package/pkgng.rb +13 -4
- data/lib/puppet/provider/package/windows.rb +1 -1
- data/lib/puppet/provider/package/yum.rb +1 -1
- data/lib/puppet/provider/package/zypper.rb +19 -0
- data/lib/puppet/provider/service/debian.rb +2 -2
- data/lib/puppet/provider/service/launchd.rb +6 -18
- data/lib/puppet/provider/service/systemd.rb +9 -2
- data/lib/puppet/provider/sshkey/parsed.rb +1 -1
- data/lib/puppet/provider/user/aix.rb +1 -1
- data/lib/puppet/provider/user/directoryservice.rb +33 -58
- data/lib/puppet/provider/zfs/zfs.rb +1 -1
- data/lib/puppet/provider/zpool/zpool.rb +1 -1
- data/lib/puppet/reference/configuration.rb +1 -1
- data/lib/puppet/reference/providers.rb +1 -1
- data/lib/puppet/resource.rb +15 -12
- data/lib/puppet/resource/capability_finder.rb +20 -13
- data/lib/puppet/resource/catalog.rb +60 -3
- data/lib/puppet/resource/status.rb +11 -2
- data/lib/puppet/resource/type.rb +28 -38
- data/lib/puppet/settings.rb +1 -1
- data/lib/puppet/settings/config_file.rb +1 -1
- data/lib/puppet/settings/environment_conf.rb +13 -5
- data/lib/puppet/ssl/certificate_factory.rb +3 -3
- data/lib/puppet/ssl/certificate_request.rb +4 -4
- data/lib/puppet/ssl/certificate_signer.rb +1 -1
- data/lib/puppet/ssl/validator/default_validator.rb +1 -1
- data/lib/puppet/test/test_helper.rb +16 -4
- data/lib/puppet/transaction.rb +15 -2
- data/lib/puppet/transaction/additional_resource_generator.rb +6 -2
- data/lib/puppet/transaction/report.rb +31 -1
- data/lib/puppet/transaction/resource_harness.rb +0 -25
- data/lib/puppet/type.rb +11 -11
- data/lib/puppet/type/augeas.rb +1 -1
- data/lib/puppet/type/cron.rb +12 -12
- data/lib/puppet/type/file.rb +91 -39
- data/lib/puppet/type/file/checksum_value.rb +53 -0
- data/lib/puppet/type/file/content.rb +26 -111
- data/lib/puppet/type/file/data_sync.rb +84 -0
- data/lib/puppet/type/file/ensure.rb +17 -14
- data/lib/puppet/type/file/selcontext.rb +1 -1
- data/lib/puppet/type/file/source.rb +103 -18
- data/lib/puppet/type/filebucket.rb +1 -1
- data/lib/puppet/type/interface.rb +8 -3
- data/lib/puppet/type/macauthorization.rb +1 -1
- data/lib/puppet/type/package.rb +6 -0
- data/lib/puppet/type/schedule.rb +1 -1
- data/lib/puppet/type/stage.rb +1 -1
- data/lib/puppet/type/user.rb +19 -17
- data/lib/puppet/type/yumrepo.rb +20 -0
- data/lib/puppet/util.rb +109 -22
- data/lib/puppet/util/autoload.rb +16 -11
- data/lib/puppet/util/checksums.rb +74 -31
- data/lib/puppet/util/execution.rb +1 -1
- data/lib/puppet/util/http_proxy.rb +72 -0
- data/lib/puppet/util/log.rb +2 -0
- data/lib/puppet/util/logging.rb +43 -1
- data/lib/puppet/util/monkey_patches.rb +2 -2
- data/lib/puppet/util/multi_match.rb +51 -0
- data/lib/puppet/util/network_device/cisco/device.rb +10 -2
- data/lib/puppet/util/network_device/cisco/interface.rb +21 -8
- data/lib/puppet/util/network_device/transport/ssh.rb +7 -3
- data/lib/puppet/util/network_device/transport/telnet.rb +39 -36
- data/lib/puppet/util/plist.rb +130 -0
- data/lib/puppet/util/resource_template.rb +1 -1
- data/lib/puppet/util/run_mode.rb +2 -2
- data/lib/puppet/util/skip_tags.rb +9 -0
- data/lib/puppet/util/windows/access_control_entry.rb +1 -1
- data/lib/puppet/util/windows/access_control_list.rb +3 -3
- data/lib/puppet/util/windows/adsi.rb +4 -4
- data/lib/puppet/util/windows/api_types.rb +24 -18
- data/lib/puppet/util/windows/com.rb +3 -3
- data/lib/puppet/util/windows/error.rb +1 -1
- data/lib/puppet/util/windows/file.rb +8 -8
- data/lib/puppet/util/windows/principal.rb +23 -14
- data/lib/puppet/util/windows/process.rb +78 -11
- data/lib/puppet/util/windows/registry.rb +1 -1
- data/lib/puppet/util/windows/root_certs.rb +5 -5
- data/lib/puppet/util/windows/security.rb +33 -35
- data/lib/puppet/util/windows/security_descriptor.rb +1 -1
- data/lib/puppet/util/windows/sid.rb +42 -4
- data/lib/puppet/util/windows/taskscheduler.rb +15 -15
- data/lib/puppet/util/windows/user.rb +10 -10
- data/lib/puppet/vendor/deep_merge/deep_merge.gemspec +1 -1
- data/lib/puppet/vendor/pathspec/LICENSE +2 -2
- data/lib/puppet/vendor/pathspec/README.md +1 -1
- data/lib/puppet/vendor/rgen/README.rdoc +1 -1
- data/lib/puppet/vendor/semantic/lib/semantic/dependency/module_release.rb +14 -0
- data/lib/puppet/version.rb +1 -1
- data/lib/semver.rb +17 -1
- data/man/man5/puppet.conf.5 +12 -12
- data/man/man8/extlookup2hiera.8 +1 -1
- data/man/man8/puppet-agent.8 +2 -2
- data/man/man8/puppet-apply.8 +2 -2
- data/man/man8/puppet-ca.8 +2 -2
- data/man/man8/puppet-catalog.8 +2 -2
- data/man/man8/puppet-cert.8 +2 -2
- data/man/man8/puppet-certificate.8 +2 -2
- data/man/man8/puppet-certificate_request.8 +2 -2
- data/man/man8/puppet-certificate_revocation_list.8 +2 -2
- data/man/man8/puppet-config.8 +3 -3
- 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 +2 -2
- data/man/man8/puppet-facts.8 +2 -2
- data/man/man8/puppet-file.8 +2 -2
- data/man/man8/puppet-filebucket.8 +2 -2
- data/man/man8/puppet-help.8 +2 -2
- data/man/man8/puppet-inspect.8 +2 -2
- data/man/man8/puppet-key.8 +2 -2
- data/man/man8/puppet-man.8 +2 -2
- data/man/man8/puppet-master.8 +2 -2
- data/man/man8/puppet-module.8 +9 -9
- data/man/man8/puppet-node.8 +2 -2
- data/man/man8/puppet-parser.8 +2 -2
- data/man/man8/puppet-plugin.8 +2 -2
- data/man/man8/puppet-report.8 +2 -2
- data/man/man8/puppet-resource.8 +2 -2
- data/man/man8/puppet-resource_type.8 +2 -2
- data/man/man8/puppet-status.8 +3 -3
- data/man/man8/puppet.8 +1 -1
- data/spec/fixtures/module.tar.gz +0 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/bad_data/lib/puppet/functions/bad_data/data.rb +1 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/bad_data/manifests/init.pp +0 -1
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_json/data/empty.json +0 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_json/hiera.yaml +5 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_json/manifests/init.pp +2 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_json/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_yaml/data/empty.yaml +1 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_yaml/hiera.yaml +5 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_yaml/manifests/init.pp +2 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_yaml/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/hieraprovider/data/first.json +2 -1
- data/spec/fixtures/unit/module/trailing-comma.json +1 -1
- data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/manifests/init.pp +3 -1
- data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/types/zero.pp +1 -0
- data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseeone.pp +1 -0
- data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseezero.pp +1 -0
- data/spec/fixtures/unit/provider/package/yum/yum-check-update-broken-notices.txt +187 -0
- data/spec/fixtures/unit/provider/sshkey/parsed/sample_with_blank_lines +8 -0
- data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_fetch_if_not_on_the_local_disk.yml +205 -0
- data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_not_update_if_content_on_disk_is_up-to-date.yml +213 -0
- data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_update_if_content_differs_on_disk.yml +213 -0
- data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_mtime_is_older_on_disk.yml +205 -0
- data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_no_header_specified.yml +197 -0
- data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_not_on_the_local_disk.yml +205 -0
- data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_not_update_if_mtime_is_newer_on_disk.yml +205 -0
- data/spec/integration/defaults_spec.rb +14 -2
- data/spec/integration/file_system/uniquefile_spec.rb +29 -0
- data/spec/integration/module_tool/tar/mini_spec.rb +28 -0
- data/spec/integration/node/environment_spec.rb +13 -0
- data/spec/integration/parser/dynamic_scoping_spec.rb +67 -0
- data/spec/integration/parser/parameter_defaults_spec.rb +336 -0
- data/spec/integration/parser/undef_param_spec.rb +8 -0
- data/spec/integration/provider/yumrepo_spec.rb +1 -1
- data/spec/integration/test/test_helper_spec.rb +28 -0
- data/spec/integration/transaction/report_spec.rb +16 -0
- data/spec/integration/transaction_spec.rb +11 -0
- data/spec/integration/type/file_spec.rb +194 -4
- data/spec/integration/type/package_spec.rb +5 -1
- data/spec/integration/type/tidy_spec.rb +21 -9
- data/spec/integration/util/execution_spec.rb +22 -0
- data/spec/integration/util/windows/principal_spec.rb +90 -4
- data/spec/integration/util/windows/process_spec.rb +31 -0
- data/spec/integration/util/windows/security_spec.rb +6 -6
- data/spec/integration/util/windows/user_spec.rb +1 -1
- data/spec/integration/util_spec.rb +49 -27
- data/spec/lib/puppet_spec/compiler.rb +17 -0
- data/spec/lib/puppet_spec/files.rb +2 -2
- data/spec/lib/puppet_spec/pops.rb +13 -0
- data/spec/shared_behaviours/iterative_functions.rb +1 -1
- data/spec/shared_contexts/types_setup.rb +96 -0
- data/spec/unit/agent_spec.rb +1 -0
- data/spec/unit/application/agent_spec.rb +10 -0
- data/spec/unit/application/apply_spec.rb +9 -0
- data/spec/unit/configurer/downloader_spec.rb +5 -5
- data/spec/unit/configurer_spec.rb +271 -39
- data/spec/unit/data_providers/hiera_interpolation_spec.rb +57 -0
- data/spec/unit/defaults_spec.rb +15 -0
- data/spec/unit/environments_spec.rb +24 -4
- data/spec/unit/face/parser_spec.rb +43 -2
- data/spec/unit/file_serving/http_metadata_spec.rb +85 -0
- data/spec/unit/file_serving/metadata_spec.rb +50 -0
- data/spec/unit/file_serving/terminus_selector_spec.rb +12 -2
- data/spec/unit/file_system_spec.rb +26 -0
- data/spec/unit/functions/assert_type_spec.rb +36 -2
- data/spec/unit/functions/defined_spec.rb +2 -2
- data/spec/unit/functions/epp_spec.rb +11 -3
- data/spec/unit/functions/lookup_spec.rb +58 -13
- data/spec/unit/functions/regsubst_spec.rb +1 -1
- data/spec/unit/functions/reverse_each_spec.rb +108 -0
- data/spec/unit/functions/step_spec.rb +113 -0
- data/spec/unit/functions/type_spec.rb +35 -0
- data/spec/unit/functions4_spec.rb +61 -5
- data/spec/unit/indirector/catalog/compiler_spec.rb +705 -4
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +1 -1
- data/spec/unit/indirector/indirection_spec.rb +1 -1
- data/spec/unit/info_service_spec.rb +94 -32
- data/spec/unit/module_spec.rb +14 -0
- data/spec/unit/module_tool/applications/builder_spec.rb +4 -4
- data/spec/unit/network/authstore_spec.rb +1 -1
- data/spec/unit/network/http/connection_spec.rb +1 -0
- data/spec/unit/network/http/pool_spec.rb +30 -0
- data/spec/unit/node_spec.rb +1 -1
- data/spec/unit/parser/compiler_spec.rb +16 -0
- data/spec/unit/parser/scope_spec.rb +28 -11
- data/spec/unit/pops/evaluator/access_ops_spec.rb +3 -3
- data/spec/unit/pops/evaluator/comparison_ops_spec.rb +3 -0
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +7 -1
- data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +4 -4
- data/spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb +63 -0
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +6 -0
- data/spec/unit/pops/loaders/dependency_loader_spec.rb +53 -0
- data/spec/unit/pops/loaders/loaders_spec.rb +44 -1
- data/spec/unit/pops/parser/lexer2_spec.rb +112 -3
- data/spec/unit/pops/parser/parse_calls_spec.rb +8 -0
- data/spec/unit/pops/parser/parser_spec.rb +10 -0
- data/spec/unit/pops/parser/source_pos_adapter_spec.rb +26 -0
- data/spec/unit/pops/types/iterable_spec.rb +262 -0
- data/spec/unit/pops/types/recursion_guard_spec.rb +91 -0
- data/spec/unit/pops/types/type_acceptor_spec.rb +105 -0
- data/spec/unit/pops/types/type_asserter_spec.rb +43 -0
- data/spec/unit/pops/types/type_calculator_spec.rb +275 -373
- data/spec/unit/pops/types/type_formatter_spec.rb +280 -0
- data/spec/unit/pops/types/type_mismatch_describer_spec.rb +152 -0
- data/spec/unit/pops/types/type_parser_spec.rb +58 -13
- data/spec/unit/pops/types/types_spec.rb +241 -0
- data/spec/unit/pops/validator/validator_spec.rb +100 -43
- data/spec/unit/provider/cron/parsed_spec.rb +1 -0
- data/spec/unit/provider/macauthorization_spec.rb +5 -2
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +14 -19
- data/spec/unit/provider/package/appdmg_spec.rb +3 -3
- data/spec/unit/provider/package/dnf_spec.rb +16 -0
- data/spec/unit/provider/package/pip3_spec.rb +60 -42
- data/spec/unit/provider/package/pip_spec.rb +47 -34
- data/spec/unit/provider/package/pkgdmg_spec.rb +18 -9
- data/spec/unit/provider/package/pkgng_spec.rb +4 -2
- data/spec/unit/provider/package/yum_spec.rb +11 -0
- data/spec/unit/provider/package/zypper_spec.rb +14 -0
- data/spec/unit/provider/service/launchd_spec.rb +17 -35
- data/spec/unit/provider/service/systemd_spec.rb +7 -0
- data/spec/unit/provider/sshkey/parsed_spec.rb +20 -19
- data/spec/unit/provider/user/directoryservice_spec.rb +40 -59
- data/spec/unit/resource/capability_finder_spec.rb +28 -15
- data/spec/unit/resource/catalog_spec.rb +33 -1
- data/spec/unit/resource/type_spec.rb +149 -7
- data/spec/unit/resource_spec.rb +96 -57
- data/spec/unit/settings/environment_conf_spec.rb +18 -1
- data/spec/unit/ssl/certificate_revocation_list_spec.rb +3 -3
- data/spec/unit/transaction/report_spec.rb +27 -0
- data/spec/unit/transaction/resource_harness_spec.rb +0 -47
- data/spec/unit/transaction_spec.rb +5 -0
- data/spec/unit/type/file/checksum_spec.rb +6 -0
- data/spec/unit/type/file/checksum_value_spec.rb +286 -0
- data/spec/unit/type/file/content_spec.rb +12 -193
- data/spec/unit/type/file/source_spec.rb +211 -119
- data/spec/unit/type/file_spec.rb +133 -34
- data/spec/unit/type/interface_spec.rb +32 -0
- data/spec/unit/type/macauthorization_spec.rb +4 -1
- data/spec/unit/type/yumrepo_spec.rb +2 -2
- data/spec/unit/util/filetype_spec.rb +1 -1
- data/spec/unit/util/http_proxy_spec.rb +2 -2
- data/spec/unit/util/log/destinations_spec.rb +0 -2
- data/spec/unit/util/logging_spec.rb +69 -0
- data/spec/unit/util/multi_match_spec.rb +39 -0
- data/spec/unit/util/network_device/cisco/device_spec.rb +253 -216
- data/spec/unit/util/network_device/transport/telnet_spec.rb +60 -58
- data/spec/unit/util/plist_spec.rb +110 -0
- data/spec/unit/util/resource_template_spec.rb +2 -2
- data/spec/unit/util/run_mode_spec.rb +27 -3
- data/spec/unit/util/windows/adsi_spec.rb +4 -4
- data/spec/unit/util/windows/api_types_spec.rb +42 -0
- data/spec/unit/util/windows/security_descriptor_spec.rb +3 -3
- data/spec/unit/util/windows/sid_spec.rb +1 -1
- data/spec/unit/util_spec.rb +123 -13
- data/tasks/cfpropertylist.rake +15 -0
- metadata +114 -26
- data/lib/puppet/vendor/load_plist.rb +0 -1
- data/lib/puppet/vendor/plist/CHANGELOG +0 -82
- data/lib/puppet/vendor/plist/MIT-LICENSE +0 -21
- data/lib/puppet/vendor/plist/PUPPET_README.md +0 -6
- data/lib/puppet/vendor/plist/README +0 -36
- data/lib/puppet/vendor/plist/Rakefile +0 -144
- data/lib/puppet/vendor/plist/docs/USAGE +0 -104
- data/lib/puppet/vendor/plist/docs/jamis-template.rb +0 -591
- data/lib/puppet/vendor/plist/lib/plist.rb +0 -22
- data/lib/puppet/vendor/plist/lib/plist/generator.rb +0 -224
- data/lib/puppet/vendor/plist/lib/plist/parser.rb +0 -225
- data/lib/puppet/vendor/plist/test/assets/AlbumData.xml +0 -203
- data/lib/puppet/vendor/plist/test/assets/Cookies.plist +0 -104
- data/lib/puppet/vendor/plist/test/assets/commented.plist +0 -9
- data/lib/puppet/vendor/plist/test/assets/example_data.bin +0 -0
- data/lib/puppet/vendor/plist/test/assets/example_data.jpg +0 -0
- data/lib/puppet/vendor/plist/test/assets/example_data.plist +0 -259
- data/lib/puppet/vendor/plist/test/assets/test_data_elements.plist +0 -24
- data/lib/puppet/vendor/plist/test/assets/test_empty_key.plist +0 -13
- data/lib/puppet/vendor/plist/test/test_data_elements.rb +0 -115
- data/lib/puppet/vendor/plist/test/test_generator.rb +0 -59
- data/lib/puppet/vendor/plist/test/test_generator_basic_types.rb +0 -58
- data/lib/puppet/vendor/plist/test/test_generator_collections.rb +0 -82
- data/lib/puppet/vendor/plist/test/test_parser.rb +0 -90
@@ -5,7 +5,7 @@
|
|
5
5
|
# flags, DACL, and SACL. The SACL is not currently supported, though it has the
|
6
6
|
# same layout as a DACL.
|
7
7
|
#
|
8
|
-
# @see
|
8
|
+
# @see https://msdn.microsoft.com/en-us/library/windows/desktop/aa379563(v=vs.85).aspx
|
9
9
|
# @api private
|
10
10
|
class Puppet::Util::Windows::SecurityDescriptor
|
11
11
|
require 'puppet/util/windows/security'
|
@@ -9,6 +9,44 @@ module Puppet::Util::Windows
|
|
9
9
|
ERROR_NONE_MAPPED = 1332
|
10
10
|
ERROR_INVALID_SID_STRUCTURE = 1337
|
11
11
|
|
12
|
+
# Well Known SIDs
|
13
|
+
Null = 'S-1-0'
|
14
|
+
Nobody = 'S-1-0-0'
|
15
|
+
World = 'S-1-1'
|
16
|
+
Everyone = 'S-1-1-0'
|
17
|
+
Local = 'S-1-2'
|
18
|
+
Creator = 'S-1-3'
|
19
|
+
CreatorOwner = 'S-1-3-0'
|
20
|
+
CreatorGroup = 'S-1-3-1'
|
21
|
+
CreatorOwnerServer = 'S-1-3-2'
|
22
|
+
CreatorGroupServer = 'S-1-3-3'
|
23
|
+
NonUnique = 'S-1-4'
|
24
|
+
Nt = 'S-1-5'
|
25
|
+
Dialup = 'S-1-5-1'
|
26
|
+
Network = 'S-1-5-2'
|
27
|
+
Batch = 'S-1-5-3'
|
28
|
+
Interactive = 'S-1-5-4'
|
29
|
+
Service = 'S-1-5-6'
|
30
|
+
Anonymous = 'S-1-5-7'
|
31
|
+
Proxy = 'S-1-5-8'
|
32
|
+
EnterpriseDomainControllers = 'S-1-5-9'
|
33
|
+
PrincipalSelf = 'S-1-5-10'
|
34
|
+
AuthenticatedUsers = 'S-1-5-11'
|
35
|
+
RestrictedCode = 'S-1-5-12'
|
36
|
+
TerminalServerUsers = 'S-1-5-13'
|
37
|
+
LocalSystem = 'S-1-5-18'
|
38
|
+
NtLocal = 'S-1-5-19'
|
39
|
+
NtNetwork = 'S-1-5-20'
|
40
|
+
BuiltinAdministrators = 'S-1-5-32-544'
|
41
|
+
BuiltinUsers = 'S-1-5-32-545'
|
42
|
+
Guests = 'S-1-5-32-546'
|
43
|
+
PowerUsers = 'S-1-5-32-547'
|
44
|
+
AccountOperators = 'S-1-5-32-548'
|
45
|
+
ServerOperators = 'S-1-5-32-549'
|
46
|
+
PrintOperators = 'S-1-5-32-550'
|
47
|
+
BackupOperators = 'S-1-5-32-551'
|
48
|
+
Replicators = 'S-1-5-32-552'
|
49
|
+
|
12
50
|
# Convert an account name, e.g. 'Administrators' into a SID string,
|
13
51
|
# e.g. 'S-1-5-32-544'. The name can be specified as 'Administrators',
|
14
52
|
# 'BUILTIN\Administrators', or 'S-1-5-32-544', and will return the
|
@@ -80,7 +118,7 @@ module Puppet::Util::Windows
|
|
80
118
|
end
|
81
119
|
module_function :sid_to_name
|
82
120
|
|
83
|
-
#
|
121
|
+
# https://stackoverflow.com/a/1792930 - 68 bytes, 184 characters in a string
|
84
122
|
MAXIMUM_SID_STRING_LENGTH = 184
|
85
123
|
|
86
124
|
# Convert a SID pointer to a SID string, e.g. "S-1-5-32-544".
|
@@ -157,7 +195,7 @@ module Puppet::Util::Windows
|
|
157
195
|
|
158
196
|
ffi_convention :stdcall
|
159
197
|
|
160
|
-
#
|
198
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa379151(v=vs.85).aspx
|
161
199
|
# BOOL WINAPI IsValidSid(
|
162
200
|
# _In_ PSID pSid
|
163
201
|
# );
|
@@ -165,7 +203,7 @@ module Puppet::Util::Windows
|
|
165
203
|
attach_function_private :IsValidSid,
|
166
204
|
[:pointer], :win32_bool
|
167
205
|
|
168
|
-
#
|
206
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa376399(v=vs.85).aspx
|
169
207
|
# BOOL ConvertSidToStringSid(
|
170
208
|
# _In_ PSID Sid,
|
171
209
|
# _Out_ LPTSTR *StringSid
|
@@ -174,7 +212,7 @@ module Puppet::Util::Windows
|
|
174
212
|
attach_function_private :ConvertSidToStringSidW,
|
175
213
|
[:pointer, :pointer], :win32_bool
|
176
214
|
|
177
|
-
#
|
215
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa376402(v=vs.85).aspx
|
178
216
|
# BOOL WINAPI ConvertStringSidToSid(
|
179
217
|
# _In_ LPCTSTR StringSid,
|
180
218
|
# _Out_ PSID *Sid
|
@@ -84,7 +84,7 @@ module Win32
|
|
84
84
|
SCHED_S_TASK_HAS_NOT_RUN = 0x00041303
|
85
85
|
SCHED_S_TASK_NOT_SCHEDULED = 0x00041305
|
86
86
|
# HRESULT error codes
|
87
|
-
#
|
87
|
+
# https://blogs.msdn.com/b/eldar/archive/2007/04/03/a-lot-of-hresult-codes.aspx
|
88
88
|
# in Ruby, an 0x8XXXXXXX style HRESULT can be resolved to 2s complement
|
89
89
|
# by using "0x8XXXXXXX".to_i(16) - - 0x100000000
|
90
90
|
SCHED_E_ACCOUNT_INFORMATION_NOT_SET = -2147216625 # 0x8004130F
|
@@ -1002,7 +1002,7 @@ module Win32
|
|
1002
1002
|
|
1003
1003
|
public
|
1004
1004
|
|
1005
|
-
#
|
1005
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa381811(v=vs.85).aspx
|
1006
1006
|
ITaskScheduler = com::Interface[com::IUnknown,
|
1007
1007
|
FFI::WIN32::GUID['148BD527-A2AB-11CE-B11F-00AA00530503'],
|
1008
1008
|
|
@@ -1025,7 +1025,7 @@ module Win32
|
|
1025
1025
|
TaskScheduler = com::Factory[ITaskScheduler,
|
1026
1026
|
FFI::WIN32::GUID['148BD52A-A2AB-11CE-B11F-00AA00530503']]
|
1027
1027
|
|
1028
|
-
#
|
1028
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa380706(v=vs.85).aspx
|
1029
1029
|
IEnumWorkItems = com::Interface[com::IUnknown,
|
1030
1030
|
FFI::WIN32::GUID['148BD528-A2AB-11CE-B11F-00AA00530503'],
|
1031
1031
|
|
@@ -1039,7 +1039,7 @@ module Win32
|
|
1039
1039
|
|
1040
1040
|
EnumWorkItems = com::Instance[IEnumWorkItems]
|
1041
1041
|
|
1042
|
-
#
|
1042
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa381216(v=vs.85).aspx
|
1043
1043
|
IScheduledWorkItem = com::Interface[com::IUnknown,
|
1044
1044
|
FFI::WIN32::GUID['a6b952f0-a4b1-11d0-997d-00aa006887ec'],
|
1045
1045
|
|
@@ -1091,7 +1091,7 @@ module Win32
|
|
1091
1091
|
GetAccountInformation: [[:pointer], :hresult]
|
1092
1092
|
]
|
1093
1093
|
|
1094
|
-
#
|
1094
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa381311(v=vs.85).aspx
|
1095
1095
|
ITask = com::Interface[IScheduledWorkItem,
|
1096
1096
|
FFI::WIN32::GUID['148BD524-A2AB-11CE-B11F-00AA00530503'],
|
1097
1097
|
|
@@ -1117,14 +1117,14 @@ module Win32
|
|
1117
1117
|
|
1118
1118
|
Task = com::Instance[ITask]
|
1119
1119
|
|
1120
|
-
#
|
1120
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/ms688695(v=vs.85).aspx
|
1121
1121
|
IPersist = com::Interface[com::IUnknown,
|
1122
1122
|
FFI::WIN32::GUID['0000010c-0000-0000-c000-000000000046'],
|
1123
1123
|
# CLSID *
|
1124
1124
|
GetClassID: [[:pointer], :hresult]
|
1125
1125
|
]
|
1126
1126
|
|
1127
|
-
#
|
1127
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/ms687223(v=vs.85).aspx
|
1128
1128
|
IPersistFile = com::Interface[IPersist,
|
1129
1129
|
FFI::WIN32::GUID['0000010b-0000-0000-C000-000000000046'],
|
1130
1130
|
|
@@ -1138,7 +1138,7 @@ module Win32
|
|
1138
1138
|
|
1139
1139
|
PersistFile = com::Instance[IPersistFile]
|
1140
1140
|
|
1141
|
-
#
|
1141
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa381864(v=vs.85).aspx
|
1142
1142
|
ITaskTrigger = com::Interface[com::IUnknown,
|
1143
1143
|
FFI::WIN32::GUID['148BD52B-A2AB-11CE-B11F-00AA00530503'],
|
1144
1144
|
|
@@ -1149,7 +1149,7 @@ module Win32
|
|
1149
1149
|
|
1150
1150
|
TaskTrigger = com::Instance[ITaskTrigger]
|
1151
1151
|
|
1152
|
-
#
|
1152
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa383620(v=vs.85).aspx
|
1153
1153
|
# The TASK_TRIGGER_TYPE field of the TASK_TRIGGER structure determines
|
1154
1154
|
# which member of the TRIGGER_TYPE_UNION field to use.
|
1155
1155
|
TASK_TRIGGER_TYPE = enum(
|
@@ -1163,31 +1163,31 @@ module Win32
|
|
1163
1163
|
:TASK_EVENT_TRIGGER_AT_LOGON, 7 # Ignore the Type field
|
1164
1164
|
)
|
1165
1165
|
|
1166
|
-
#
|
1166
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa446857(v=vs.85).aspx
|
1167
1167
|
class DAILY < FFI::Struct
|
1168
1168
|
layout :DaysInterval, :word
|
1169
1169
|
end
|
1170
1170
|
|
1171
|
-
#
|
1171
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa384014(v=vs.85).aspx
|
1172
1172
|
class WEEKLY < FFI::Struct
|
1173
1173
|
layout :WeeksInterval, :word,
|
1174
1174
|
:rgfDaysOfTheWeek, :word
|
1175
1175
|
end
|
1176
1176
|
|
1177
|
-
#
|
1177
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa381918(v=vs.85).aspx
|
1178
1178
|
class MONTHLYDATE < FFI::Struct
|
1179
1179
|
layout :rgfDays, :dword,
|
1180
1180
|
:rgfMonths, :word
|
1181
1181
|
end
|
1182
1182
|
|
1183
|
-
#
|
1183
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa381918(v=vs.85).aspx
|
1184
1184
|
class MONTHLYDOW < FFI::Struct
|
1185
1185
|
layout :wWhichWeek, :word,
|
1186
1186
|
:rgfDaysOfTheWeek, :word,
|
1187
1187
|
:rgfMonths, :word
|
1188
1188
|
end
|
1189
1189
|
|
1190
|
-
#
|
1190
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa384002(v=vs.85).aspx
|
1191
1191
|
class TRIGGER_TYPE_UNION < FFI::Union
|
1192
1192
|
layout :Daily, DAILY,
|
1193
1193
|
:Weekly, WEEKLY,
|
@@ -1195,7 +1195,7 @@ module Win32
|
|
1195
1195
|
:MonthlyDOW, MONTHLYDOW
|
1196
1196
|
end
|
1197
1197
|
|
1198
|
-
#
|
1198
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa383618(v=vs.85).aspx
|
1199
1199
|
class TASK_TRIGGER < FFI::Struct
|
1200
1200
|
layout :cbTriggerSize, :word, # Structure size.
|
1201
1201
|
:Reserved1, :word, # Reserved. Must be zero.
|
@@ -19,7 +19,7 @@ module Puppet::Util::Windows::User
|
|
19
19
|
module_function :admin?
|
20
20
|
|
21
21
|
|
22
|
-
#
|
22
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/ee207397(v=vs.85).aspx
|
23
23
|
SECURITY_MAX_SID_SIZE = 68
|
24
24
|
|
25
25
|
def check_token_membership
|
@@ -43,7 +43,7 @@ module Puppet::Util::Windows::User
|
|
43
43
|
end
|
44
44
|
|
45
45
|
# Is administrators SID enabled in calling thread's access token?
|
46
|
-
is_admin = ismember_pointer.read_win32_bool
|
46
|
+
is_admin = ismember_pointer.read_win32_bool
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
@@ -106,7 +106,7 @@ module Puppet::Util::Windows::User
|
|
106
106
|
|
107
107
|
ffi_convention :stdcall
|
108
108
|
|
109
|
-
#
|
109
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa378184(v=vs.85).aspx
|
110
110
|
# BOOL LogonUser(
|
111
111
|
# _In_ LPTSTR lpszUsername,
|
112
112
|
# _In_opt_ LPTSTR lpszDomain,
|
@@ -119,7 +119,7 @@ module Puppet::Util::Windows::User
|
|
119
119
|
attach_function_private :LogonUserW,
|
120
120
|
[:lpwstr, :lpwstr, :lpwstr, :dword, :dword, :phandle], :win32_bool
|
121
121
|
|
122
|
-
#
|
122
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/bb773378(v=vs.85).aspx
|
123
123
|
# typedef struct _PROFILEINFO {
|
124
124
|
# DWORD dwSize;
|
125
125
|
# DWORD dwFlags;
|
@@ -143,7 +143,7 @@ module Puppet::Util::Windows::User
|
|
143
143
|
:hProfile, :handle
|
144
144
|
end
|
145
145
|
|
146
|
-
#
|
146
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/bb762281(v=vs.85).aspx
|
147
147
|
# BOOL WINAPI LoadUserProfile(
|
148
148
|
# _In_ HANDLE hToken,
|
149
149
|
# _Inout_ LPPROFILEINFO lpProfileInfo
|
@@ -152,7 +152,7 @@ module Puppet::Util::Windows::User
|
|
152
152
|
attach_function_private :LoadUserProfileW,
|
153
153
|
[:handle, :pointer], :win32_bool
|
154
154
|
|
155
|
-
#
|
155
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/bb762282(v=vs.85).aspx
|
156
156
|
# BOOL WINAPI UnloadUserProfile(
|
157
157
|
# _In_ HANDLE hToken,
|
158
158
|
# _In_ HANDLE hProfile
|
@@ -161,7 +161,7 @@ module Puppet::Util::Windows::User
|
|
161
161
|
attach_function_private :UnloadUserProfile,
|
162
162
|
[:handle, :handle], :win32_bool
|
163
163
|
|
164
|
-
#
|
164
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa376389(v=vs.85).aspx
|
165
165
|
# BOOL WINAPI CheckTokenMembership(
|
166
166
|
# _In_opt_ HANDLE TokenHandle,
|
167
167
|
# _In_ PSID SidToCheck,
|
@@ -171,7 +171,7 @@ module Puppet::Util::Windows::User
|
|
171
171
|
attach_function_private :CheckTokenMembership,
|
172
172
|
[:handle, :pointer, :pbool], :win32_bool
|
173
173
|
|
174
|
-
#
|
174
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa379650(v=vs.85).aspx
|
175
175
|
WELL_KNOWN_SID_TYPE = enum(
|
176
176
|
:WinNullSid , 0,
|
177
177
|
:WinWorldSid , 1,
|
@@ -270,7 +270,7 @@ module Puppet::Util::Windows::User
|
|
270
270
|
:WinCapabilityRemovableStorageSid , 94
|
271
271
|
)
|
272
272
|
|
273
|
-
#
|
273
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa446585(v=vs.85).aspx
|
274
274
|
# BOOL WINAPI CreateWellKnownSid(
|
275
275
|
# _In_ WELL_KNOWN_SID_TYPE WellKnownSidType,
|
276
276
|
# _In_opt_ PSID DomainSid,
|
@@ -281,7 +281,7 @@ module Puppet::Util::Windows::User
|
|
281
281
|
attach_function_private :CreateWellKnownSid,
|
282
282
|
[WELL_KNOWN_SID_TYPE, :pointer, :pointer, :lpdword], :win32_bool
|
283
283
|
|
284
|
-
#
|
284
|
+
# https://msdn.microsoft.com/en-us/library/windows/desktop/aa379151(v=vs.85).aspx
|
285
285
|
# BOOL WINAPI IsValidSid(
|
286
286
|
# _In_ PSID pSid
|
287
287
|
# );
|
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
|
|
22
22
|
"lib/deep_merge/rails_compat.rb",
|
23
23
|
"test/test_deep_merge.rb"
|
24
24
|
]
|
25
|
-
s.homepage = %q{
|
25
|
+
s.homepage = %q{https://github.com/danielsdeleo/deep_merge}
|
26
26
|
s.require_paths = ["lib"]
|
27
27
|
s.summary = %q{Merge Deeply Nested Hashes}
|
28
28
|
s.test_files = [
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Apache License
|
2
2
|
Version 2.0, January 2004
|
3
|
-
|
3
|
+
https://www.apache.org/licenses/
|
4
4
|
|
5
5
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
6
6
|
|
@@ -192,7 +192,7 @@ Apache License
|
|
192
192
|
you may not use this file except in compliance with the License.
|
193
193
|
You may obtain a copy of the License at
|
194
194
|
|
195
|
-
|
195
|
+
https://www.apache.org/licenses/LICENSE-2.0
|
196
196
|
|
197
197
|
Unless required by applicable law or agreed to in writing, software
|
198
198
|
distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -3,7 +3,7 @@ pathspec-ruby
|
|
3
3
|
|
4
4
|
Match Path Specifications, such as .gitignore, in Ruby!
|
5
5
|
|
6
|
-
Follows .gitignore syntax defined on [gitscm](
|
6
|
+
Follows .gitignore syntax defined on [gitscm](https://git-scm.com/docs/gitignore)
|
7
7
|
|
8
8
|
.gitignore functionality ported from [Python pathspec](https://pypi.python.org/pypi/pathspec/0.2.2) by [@cpburnz](https://github.com/cpburnz/python-path-specification)
|
9
9
|
|
@@ -43,7 +43,7 @@ Change to the 'test' folder and run the test suite:
|
|
43
43
|
|
44
44
|
== Documentation
|
45
45
|
|
46
|
-
RDoc documentation is available at Github:
|
46
|
+
RDoc documentation is available at Github: https://mthiede.github.com/rgen/
|
47
47
|
|
48
48
|
Find the main documentation parts for:
|
49
49
|
* RGen::MetamodelBuilder
|
@@ -32,6 +32,20 @@ module Semantic
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def <=>(oth)
|
35
|
+
# Note that prior to ruby 2.3.0, if a <=> method threw an exception, ruby
|
36
|
+
# would silently rescue the exception and return nil from <=> (which causes
|
37
|
+
# the derived == comparison to return false). Starting in ruby 2.3.0, this
|
38
|
+
# behavior changed and the exception is actually thrown. Some comments at:
|
39
|
+
# https://bugs.ruby-lang.org/issues/7688
|
40
|
+
#
|
41
|
+
# So simply return nil here if any of the needed fields are not available,
|
42
|
+
# since attempting to access a missing field is one way to force an exception.
|
43
|
+
# This doesn't help if the <=> use below throws an exception, but it
|
44
|
+
# handles the most typical cause.
|
45
|
+
return nil if !oth.respond_to?(:priority) ||
|
46
|
+
!oth.respond_to?(:name) ||
|
47
|
+
!oth.respond_to?(:version)
|
48
|
+
|
35
49
|
our_key = [ priority, name, version ]
|
36
50
|
their_key = [ oth.priority, oth.name, oth.version ]
|
37
51
|
|
data/lib/puppet/version.rb
CHANGED
data/lib/semver.rb
CHANGED
@@ -78,7 +78,23 @@ class SemVer < Numeric
|
|
78
78
|
end
|
79
79
|
|
80
80
|
def <=>(other)
|
81
|
-
|
81
|
+
# Note that prior to ruby 2.3.0, if a <=> method threw an exception, ruby
|
82
|
+
# would silently rescue the exception and return nil from <=> (which causes
|
83
|
+
# the derived == comparison to return false). Starting in ruby 2.3.0, this
|
84
|
+
# behavior changed and the exception is actually thrown. Some comments at:
|
85
|
+
# https://bugs.ruby-lang.org/issues/7688
|
86
|
+
#
|
87
|
+
# SemVer#initialize above throws an ArgumentError given an invalid
|
88
|
+
# version string. So, to preserve the ability to use the == operator
|
89
|
+
# between a SemVer object and an invalid version string, we take care here
|
90
|
+
# to do the valid? check before constructing the SemVer object (i.e.
|
91
|
+
# so that a == comparison doesn't throw an exception, but just returns
|
92
|
+
# false.)
|
93
|
+
unless other.is_a? SemVer
|
94
|
+
return nil unless SemVer.valid?(other)
|
95
|
+
other = SemVer.new("#{other}")
|
96
|
+
end
|
97
|
+
|
82
98
|
return self.major <=> other.major unless self.major == other.major
|
83
99
|
return self.minor <=> other.minor unless self.minor == other.minor
|
84
100
|
return self.tiny <=> other.tiny unless self.tiny == other.tiny
|
data/man/man5/puppet.conf.5
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
|
-
.\"
|
2
|
+
.\" https://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
4
|
.TH "PUPPETCONF" "5" "May 2015" "Puppet Labs, LLC" "Puppet manual"
|
5
5
|
\fBThis page is autogenerated; any changes will get overwritten\fR \fI(last generated on 2015\-05\-18 10:15:47 \-0700)\fR
|
@@ -30,7 +30,7 @@ The Puppet executables will ignore any setting that isn\'t relevant to their fun
|
|
30
30
|
.IP "" 0
|
31
31
|
.
|
32
32
|
.P
|
33
|
-
See the configuration guide \
|
33
|
+
See the configuration guide \fIhttps://docs\.puppetlabs\.com/guides/configuring\.html\fR for more details\.
|
34
34
|
.
|
35
35
|
.SS "agent_catalog_run_lockfile"
|
36
36
|
A lock file to indicate that a puppet agent catalog run is currently in progress\. The file contains the pid of the process that holds the lock on the catalog run\.
|
@@ -107,7 +107,7 @@ If a custom policy executable is configured, the CA puppet master will run it ev
|
|
107
107
|
If a certificate request is not autosigned, it will persist for review\. An admin user can use the \fBpuppet cert sign\fR command to manually sign it, or can delete the request\.
|
108
108
|
.
|
109
109
|
.P
|
110
|
-
For info on autosign configuration files, see the guide to Puppet\'s config files \
|
110
|
+
For info on autosign configuration files, see the guide to Puppet\'s config files \fIhttps://docs\.puppetlabs\.com/guides/configuring\.html\fR\.
|
111
111
|
.
|
112
112
|
.IP "\(bu" 4
|
113
113
|
\fIDefault\fR: $confdir/autosign\.conf
|
@@ -118,7 +118,7 @@ For info on autosign configuration files, see the guide to Puppet\'s config file
|
|
118
118
|
The search path for \fBglobal\fR modules\. Should be specified as a list of directories separated by the system path separator character\. (The POSIX path separator is \':\', and the Windows path separator is \';\'\.)
|
119
119
|
.
|
120
120
|
.P
|
121
|
-
These are the modules that will be used by \fIall\fR environments\. Note that the \fBmodules\fR directory of the active environment will have priority over any global directories\. For more info, see
|
121
|
+
These are the modules that will be used by \fIall\fR environments\. Note that the \fBmodules\fR directory of the active environment will have priority over any global directories\. For more info, see https://docs\.puppetlabs\.com/puppet/latest/reference/environments\.html
|
122
122
|
.
|
123
123
|
.IP "\(bu" 4
|
124
124
|
\fIDefault\fR: $codedir/modules:/opt/puppetlabs/puppet/modules
|
@@ -287,10 +287,10 @@ Whether certificate revocation should be supported by downloading a Certificate
|
|
287
287
|
The name to use when handling certificates\. When a node requests a certificate from the CA puppet master, it uses the value of the \fBcertname\fR setting as its requested Subject CN\.
|
288
288
|
.
|
289
289
|
.P
|
290
|
-
This is the name used when managing a node\'s permissions in auth\.conf \
|
290
|
+
This is the name used when managing a node\'s permissions in auth\.conf \fIhttps://docs\.puppetlabs\.com/puppet/latest/reference/config_file_auth\.html\fR\. In most cases, it is also used as the node\'s name when matching node definitions \fIhttps://docs\.puppetlabs\.com/puppet/latest/reference/lang_node_definitions\.html\fR and requesting data from an ENC\. (This can be changed with the \fBnode_name_value\fR and \fBnode_name_fact\fR settings, although you should only do so if you have a compelling reason\.)
|
291
291
|
.
|
292
292
|
.P
|
293
|
-
A node\'s certname is available in Puppet manifests as \fB$trusted[\'certname\']\fR\. (See Facts and Built\-In Variables \
|
293
|
+
A node\'s certname is available in Puppet manifests as \fB$trusted[\'certname\']\fR\. (See Facts and Built\-In Variables \fIhttps://docs\.puppetlabs\.com/puppet/latest/reference/lang_facts_and_builtin_vars\.html\fR for more details\.)
|
294
294
|
.
|
295
295
|
.IP "\(bu" 4
|
296
296
|
For best compatibility, you should limit the value of \fBcertname\fR to only use letters, numbers, periods, underscores, and dashes\. (That is, it should match \fB/A[a\-z0\-9\._\-]+Z/\fR\.)
|
@@ -394,7 +394,7 @@ The name of the puppet config file\.
|
|
394
394
|
How to determine the configuration version\. By default, it will be the time that the configuration is parsed, but you can provide a shell script to override how the version is determined\. The output of this script will be added to every log message in the reports, allowing you to correlate changes on your hosts to the source version on the server\.
|
395
395
|
.
|
396
396
|
.P
|
397
|
-
Setting a global value for config_version in puppet\.conf is not allowed (but it can be overridden from the commandline)\. Please set a per\-environment value in environment\.conf instead\. For more info, see
|
397
|
+
Setting a global value for config_version in puppet\.conf is not allowed (but it can be overridden from the commandline)\. Please set a per\-environment value in environment\.conf instead\. For more info, see https://docs\.puppetlabs\.com/puppet/latest/reference/environments\.html
|
398
398
|
.
|
399
399
|
.SS "configprint"
|
400
400
|
Print the value of a specific configuration setting\. If the name of a setting is provided for this, then the value is printed and puppet exits\. Comma\-separate multiple values\. For a list of all values, specify \'all\'\.
|
@@ -614,7 +614,7 @@ We don\'t recommend using any value other than \fB0\fR or \fBunlimited\fR, since
|
|
614
614
|
A search path for directory environments, as a list of directories separated by the system path separator character\. (The POSIX path separator is \':\', and the Windows path separator is \';\'\.)
|
615
615
|
.
|
616
616
|
.P
|
617
|
-
This setting must have a value set to enable \fBdirectory environments\.\fR The recommended value is \fB$codedir/environments\fR\. For more details, see
|
617
|
+
This setting must have a value set to enable \fBdirectory environments\.\fR The recommended value is \fB$codedir/environments\fR\. For more details, see https://docs\.puppetlabs\.com/puppet/latest/reference/environments\.html
|
618
618
|
.
|
619
619
|
.IP "\(bu" 4
|
620
620
|
\fIDefault\fR: $codedir/environments
|
@@ -1046,7 +1046,7 @@ Whether Puppet should manage the owner, group, and mode of files it uses interna
|
|
1046
1046
|
The entry\-point manifest for puppet master\. This can be one file or a directory of manifests to be evaluated in alphabetical order\. Puppet manages this path as a directory if one exists or if the path ends with a / or \.
|
1047
1047
|
.
|
1048
1048
|
.P
|
1049
|
-
Setting a global value for \fBmanifest\fR in puppet\.conf is not allowed (but it can be overridden from them commandline)\. Please use directory environments instead\. If you need to use something other than the environment\'s \fBmanifests\fR directory as the main manifest, you can set \fBmanifest\fR in environment\.conf\. For more info, see
|
1049
|
+
Setting a global value for \fBmanifest\fR in puppet\.conf is not allowed (but it can be overridden from them commandline)\. Please use directory environments instead\. If you need to use something other than the environment\'s \fBmanifests\fR directory as the main manifest, you can set \fBmanifest\fR in environment\.conf\. For more info, see https://docs\.puppetlabs\.com/puppet/latest/reference/environments\.html
|
1050
1050
|
.
|
1051
1051
|
.TP
|
1052
1052
|
\fIDefault\fR:
|
@@ -1143,7 +1143,7 @@ The directory into which module tool data is stored
|
|
1143
1143
|
The search path for modules, as a list of directories separated by the system path separator character\. (The POSIX path separator is \':\', and the Windows path separator is \';\'\.)
|
1144
1144
|
.
|
1145
1145
|
.P
|
1146
|
-
Setting a global value for \fBmodulepath\fR in puppet\.conf is not allowed (but it can be overridden from the commandline)\. Please use directory environments instead\. If you need to use something other than the default modulepath of \fB<ACTIVE ENVIRONMENT\'S MODULES DIR>:$basemodulepath\fR, you can set \fBmodulepath\fR in environment\.conf\. For more info, see
|
1146
|
+
Setting a global value for \fBmodulepath\fR in puppet\.conf is not allowed (but it can be overridden from the commandline)\. Please use directory environments instead\. If you need to use something other than the default modulepath of \fB<ACTIVE ENVIRONMENT\'S MODULES DIR>:$basemodulepath\fR, you can set \fBmodulepath\fR in environment\.conf\. For more info, see https://docs\.puppetlabs\.com/puppet/latest/reference/environments\.html
|
1147
1147
|
.
|
1148
1148
|
.SS "name"
|
1149
1149
|
The name of the application, if we are running as one\. The default is essentially $0 without the path or \fB\.rb\fR\.
|
@@ -1193,7 +1193,7 @@ Whether to apply catalogs in noop mode, which allows Puppet to partially simulat
|
|
1193
1193
|
When running in noop mode, Puppet will check whether each resource is in sync, like it does when running normally\. However, if a resource attribute is not in the desired state (as declared in the catalog), Puppet will take no action, and will instead report the changes it \fIwould\fR have made\. These simulated changes will appear in the report sent to the puppet master, or be shown on the console if running puppet agent or puppet apply in the foreground\. The simulated changes will not send refresh events to any subscribing or notified resources, although Puppet will log that a refresh event \fIwould\fR have been sent\.
|
1194
1194
|
.
|
1195
1195
|
.P
|
1196
|
-
\fBImportant note:\fR The \fBnoop\fR metaparameter \
|
1196
|
+
\fBImportant note:\fR The \fBnoop\fR metaparameter \fIhttps://docs\.puppetlabs\.com/references/latest/metaparameter\.html#noop\fR allows you to apply individual resources in noop mode, and will override the global value of the \fBnoop\fR setting\. This means a resource with \fBnoop => false\fR \fIwill\fR be changed if necessary, even when running puppet agent with \fBnoop = true\fR or \fB\-\-noop\fR\. (Conversely, a resource with \fBnoop => true\fR will only be simulated, even when noop mode is globally disabled\.)
|
1197
1197
|
.
|
1198
1198
|
.IP "\(bu" 4
|
1199
1199
|
\fIDefault\fR: false
|
@@ -1373,7 +1373,7 @@ The fallback log file\. This is only used when the \fB\-\-logdest\fR option is n
|
|
1373
1373
|
Despite the name, both puppet agent and puppet master will use this file as the fallback logging destination\.
|
1374
1374
|
.
|
1375
1375
|
.P
|
1376
|
-
For control over logging destinations, see the \fB\-\-logdest\fR command line option in the manual pages for puppet master, puppet agent, and puppet apply\. You can see man pages by running \fBpuppet <SUBCOMMAND> \-\-help\fR, or read them online at
|
1376
|
+
For control over logging destinations, see the \fB\-\-logdest\fR command line option in the manual pages for puppet master, puppet agent, and puppet apply\. You can see man pages by running \fBpuppet <SUBCOMMAND> \-\-help\fR, or read them online at https://docs\.puppetlabs\.com/references/latest/man/\.
|
1377
1377
|
.
|
1378
1378
|
.IP "\(bu" 4
|
1379
1379
|
\fIDefault\fR: $logdir/puppetd\.log
|