chef 12.8.1-universal-mingw32 → 12.9.38-universal-mingw32
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.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +208 -208
- data/Gemfile +54 -49
- data/LICENSE +201 -201
- data/README.md +139 -139
- data/Rakefile +87 -86
- data/VERSION +1 -1
- data/acceptance/.gitignore +2 -2
- data/acceptance/.shared/kitchen_acceptance/.kitchen.digitalocean.yml +33 -33
- data/acceptance/.shared/kitchen_acceptance/.kitchen.ec2.yml +292 -290
- data/acceptance/.shared/kitchen_acceptance/.kitchen.vagrant.yml +59 -59
- data/acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb +51 -51
- data/acceptance/.shared/kitchen_acceptance/metadata.rb +1 -1
- data/acceptance/Gemfile +13 -14
- data/acceptance/README.md +132 -132
- data/acceptance/basics/.acceptance/acceptance-cookbook/.gitignore +2 -2
- data/acceptance/basics/.acceptance/acceptance-cookbook/metadata.rb +3 -3
- data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -1
- data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -1
- data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -1
- data/acceptance/basics/.kitchen.yml +4 -4
- data/acceptance/basics/test/integration/chef-current-install/serverspec/chef_client_spec.rb +19 -19
- data/acceptance/basics/test/integration/chef-current-install/serverspec/spec_helper.rb +6 -6
- data/acceptance/fips/.acceptance/acceptance-cookbook/.gitignore +2 -2
- data/acceptance/fips/.acceptance/acceptance-cookbook/metadata.rb +2 -2
- data/acceptance/fips/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -1
- data/acceptance/fips/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -1
- data/acceptance/fips/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -1
- data/acceptance/fips/.kitchen.yml +4 -4
- data/acceptance/fips/test/integration/fips/serverspec/Gemfile +3 -3
- data/acceptance/fips/test/integration/fips/serverspec/fips_spec.rb +39 -39
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/.gitignore +2 -0
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/metadata.rb +1 -0
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -0
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -0
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/verify.rb +61 -0
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/.gitignore +2 -2
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/cookbook_kitchen.rb +43 -43
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/top_cookbooks.rb +45 -23
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/metadata.rb +3 -3
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -1
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -1
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -1
- data/acceptance/top-cookbooks/.gitignore +1 -1
- data/acceptance/top-cookbooks/.kitchen.chocolatey.yml +6 -0
- data/acceptance/top-cookbooks/.kitchen.docker.yml +12 -12
- data/acceptance/top-cookbooks/.kitchen.git.yml +11 -11
- data/acceptance/top-cookbooks/.kitchen.iis.yml +4 -0
- data/acceptance/top-cookbooks/.kitchen.learn-the-basics-rhel.yml +7 -7
- data/acceptance/top-cookbooks/.kitchen.learn-the-basics-ubuntu.yml +7 -7
- data/acceptance/top-cookbooks/.kitchen.learn-the-basics-windows.yml +7 -7
- data/acceptance/top-cookbooks/.kitchen.powershell.yml +4 -0
- data/acceptance/top-cookbooks/.kitchen.sql_server.yml +5 -0
- data/acceptance/top-cookbooks/.kitchen.winbox.yml +8 -0
- data/acceptance/top-cookbooks/.kitchen.windows.yml +38 -0
- data/acceptance/trivial/.acceptance/acceptance-cookbook/.gitignore +2 -2
- data/acceptance/trivial/.acceptance/acceptance-cookbook/metadata.rb +2 -2
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -1
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -1
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -1
- data/acceptance/trivial/.kitchen.yml +7 -7
- data/acceptance/trivial/test/integration/chef-current-install/inspec/chef_client_spec.rb +5 -5
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/.gitignore +2 -2
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/metadata.rb +2 -2
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -1
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -1
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -1
- data/acceptance/windows-service/.kitchen.yml +7 -7
- data/acceptance/windows-service/test/integration/chef-windows-service/inspec/chef_windows_service_spec.rb +58 -58
- data/bin/chef-apply +25 -25
- data/bin/chef-client +26 -26
- data/bin/chef-service-manager +38 -38
- data/bin/chef-shell +34 -34
- data/bin/chef-solo +25 -25
- data/bin/chef-windows-service +35 -35
- data/bin/knife +25 -25
- data/chef-windows.gemspec +24 -24
- data/chef.gemspec +64 -63
- data/distro/common/html/_sources/ctl_chef_client.txt +35 -35
- data/distro/common/html/_sources/ctl_chef_server.txt +341 -341
- data/distro/common/html/_sources/ctl_chef_shell.txt +15 -15
- data/distro/common/html/_sources/ctl_chef_solo.txt +25 -25
- data/distro/common/html/_sources/index.txt +135 -135
- data/distro/common/html/_sources/knife.txt +74 -74
- data/distro/common/html/_sources/knife_bootstrap.txt +56 -56
- data/distro/common/html/_sources/knife_client.txt +150 -150
- data/distro/common/html/_sources/knife_common_options.txt +6 -6
- data/distro/common/html/_sources/knife_configure.txt +29 -29
- data/distro/common/html/_sources/knife_cookbook.txt +236 -236
- data/distro/common/html/_sources/knife_cookbook_site.txt +157 -157
- data/distro/common/html/_sources/knife_data_bag.txt +159 -159
- data/distro/common/html/_sources/knife_delete.txt +26 -26
- data/distro/common/html/_sources/knife_deps.txt +61 -61
- data/distro/common/html/_sources/knife_diff.txt +34 -34
- data/distro/common/html/_sources/knife_download.txt +44 -44
- data/distro/common/html/_sources/knife_edit.txt +26 -26
- data/distro/common/html/_sources/knife_environment.txt +158 -158
- data/distro/common/html/_sources/knife_exec.txt +47 -47
- data/distro/common/html/_sources/knife_index_rebuild.txt +20 -20
- data/distro/common/html/_sources/knife_list.txt +33 -33
- data/distro/common/html/_sources/knife_node.txt +250 -250
- data/distro/common/html/_sources/knife_raw.txt +35 -35
- data/distro/common/html/_sources/knife_recipe_list.txt +23 -23
- data/distro/common/html/_sources/knife_role.txt +157 -157
- data/distro/common/html/_sources/knife_search.txt +53 -53
- data/distro/common/html/_sources/knife_serve.txt +18 -18
- data/distro/common/html/_sources/knife_show.txt +26 -26
- data/distro/common/html/_sources/knife_ssh.txt +43 -43
- data/distro/common/html/_sources/knife_ssl_check.txt +41 -41
- data/distro/common/html/_sources/knife_ssl_fetch.txt +41 -41
- data/distro/common/html/_sources/knife_status.txt +37 -37
- data/distro/common/html/_sources/knife_tag.txt +69 -69
- data/distro/common/html/_sources/knife_upload.txt +49 -49
- data/distro/common/html/_sources/knife_user.txt +127 -127
- data/distro/common/html/_sources/knife_using.txt +43 -43
- data/distro/common/html/_sources/knife_xargs.txt +30 -30
- data/distro/common/html/_static/basic.css +536 -536
- data/distro/common/html/_static/doctools.js +238 -238
- data/distro/common/html/_static/guide.css +504 -504
- data/distro/common/html/_static/pygments.css +61 -61
- data/distro/common/html/_static/searchtools.js +621 -621
- data/distro/common/html/_static/underscore.js +31 -31
- data/distro/common/html/_static/websupport.js +808 -808
- data/distro/common/html/ctl_chef_client.html +269 -269
- data/distro/common/html/ctl_chef_server.html +727 -727
- data/distro/common/html/ctl_chef_shell.html +162 -162
- data/distro/common/html/ctl_chef_solo.html +193 -193
- data/distro/common/html/index.html +201 -201
- data/distro/common/html/knife.html +169 -169
- data/distro/common/html/knife_bootstrap.html +284 -284
- data/distro/common/html/knife_client.html +284 -284
- data/distro/common/html/knife_common_options.html +95 -95
- data/distro/common/html/knife_configure.html +104 -104
- data/distro/common/html/knife_cookbook.html +486 -486
- data/distro/common/html/knife_cookbook_site.html +375 -375
- data/distro/common/html/knife_data_bag.html +373 -373
- data/distro/common/html/knife_delete.html +92 -92
- data/distro/common/html/knife_deps.html +142 -142
- data/distro/common/html/knife_diff.html +122 -122
- data/distro/common/html/knife_download.html +144 -144
- data/distro/common/html/knife_edit.html +88 -88
- data/distro/common/html/knife_environment.html +325 -325
- data/distro/common/html/knife_exec.html +219 -219
- data/distro/common/html/knife_index_rebuild.html +82 -82
- data/distro/common/html/knife_list.html +113 -113
- data/distro/common/html/knife_node.html +457 -457
- data/distro/common/html/knife_raw.html +109 -109
- data/distro/common/html/knife_recipe_list.html +90 -90
- data/distro/common/html/knife_role.html +294 -294
- data/distro/common/html/knife_search.html +202 -202
- data/distro/common/html/knife_serve.html +78 -78
- data/distro/common/html/knife_show.html +103 -103
- data/distro/common/html/knife_ssh.html +176 -176
- data/distro/common/html/knife_ssl_check.html +150 -150
- data/distro/common/html/knife_ssl_fetch.html +150 -150
- data/distro/common/html/knife_status.html +143 -143
- data/distro/common/html/knife_tag.html +137 -137
- data/distro/common/html/knife_upload.html +152 -152
- data/distro/common/html/knife_user.html +241 -241
- data/distro/common/html/knife_using.html +209 -209
- data/distro/common/html/knife_xargs.html +121 -121
- data/distro/common/html/search.html +81 -81
- data/distro/common/man/man1/README.md +58 -58
- data/distro/common/man/man1/chef-shell.1 +194 -194
- data/distro/common/man/man1/knife-bootstrap.1 +215 -215
- data/distro/common/man/man1/knife-client.1 +443 -443
- data/distro/common/man/man1/knife-configure.1 +161 -161
- data/distro/common/man/man1/knife-cookbook-site.1 +552 -552
- data/distro/common/man/man1/knife-cookbook.1 +770 -770
- data/distro/common/man/man1/knife-data-bag.1 +617 -617
- data/distro/common/man/man1/knife-delete.1 +127 -127
- data/distro/common/man/man1/knife-deps.1 +246 -246
- data/distro/common/man/man1/knife-diff.1 +226 -226
- data/distro/common/man/man1/knife-download.1 +258 -258
- data/distro/common/man/man1/knife-edit.1 +121 -121
- data/distro/common/man/man1/knife-environment.1 +508 -508
- data/distro/common/man/man1/knife-exec.1 +362 -362
- data/distro/common/man/man1/knife-index-rebuild.1 +63 -63
- data/distro/common/man/man1/knife-list.1 +174 -174
- data/distro/common/man/man1/knife-node.1 +716 -716
- data/distro/common/man/man1/knife-raw.1 +172 -172
- data/distro/common/man/man1/knife-recipe-list.1 +85 -85
- data/distro/common/man/man1/knife-role.1 +426 -426
- data/distro/common/man/man1/knife-search.1 +359 -359
- data/distro/common/man/man1/knife-serve.1 +109 -109
- data/distro/common/man/man1/knife-show.1 +160 -160
- data/distro/common/man/man1/knife-ssh.1 +284 -284
- data/distro/common/man/man1/knife-ssl-check.1 +207 -207
- data/distro/common/man/man1/knife-ssl-fetch.1 +207 -207
- data/distro/common/man/man1/knife-status.1 +234 -234
- data/distro/common/man/man1/knife-tag.1 +189 -189
- data/distro/common/man/man1/knife-upload.1 +280 -280
- data/distro/common/man/man1/knife-user.1 +356 -356
- data/distro/common/man/man1/knife-xargs.1 +189 -189
- data/distro/common/man/man1/knife.1 +332 -332
- data/distro/common/man/man8/chef-apply.8 +86 -86
- data/distro/common/man/man8/chef-client.8 +398 -398
- data/distro/common/man/man8/chef-solo.8 +260 -260
- data/distro/common/markdown/README +3 -3
- data/distro/common/markdown/man1/chef-shell.mkd +195 -195
- data/distro/common/markdown/man1/knife-bootstrap.mkd +141 -141
- data/distro/common/markdown/man1/knife-client.mkd +103 -103
- data/distro/common/markdown/man1/knife-configure.mkd +70 -70
- data/distro/common/markdown/man1/knife-cookbook-site.mkd +123 -123
- data/distro/common/markdown/man1/knife-cookbook.mkd +263 -263
- data/distro/common/markdown/man1/knife-data-bag.mkd +121 -121
- data/distro/common/markdown/man1/knife-environment.mkd +151 -151
- data/distro/common/markdown/man1/knife-exec.mkd +42 -42
- data/distro/common/markdown/man1/knife-index.mkd +30 -30
- data/distro/common/markdown/man1/knife-node.mkd +130 -130
- data/distro/common/markdown/man1/knife-role.mkd +85 -85
- data/distro/common/markdown/man1/knife-search.mkd +180 -180
- data/distro/common/markdown/man1/knife-ssh.mkd +69 -69
- data/distro/common/markdown/man1/knife-status.mkd +36 -36
- data/distro/common/markdown/man1/knife-tag.mkd +39 -39
- data/distro/common/markdown/man1/knife.mkd +213 -213
- data/distro/common/markdown/man8/chef-client.mkd +75 -75
- data/distro/common/markdown/man8/chef-expander.mkd +81 -81
- data/distro/common/markdown/man8/chef-expanderctl.mkd +57 -57
- data/distro/common/markdown/man8/chef-server-webui.mkd +121 -121
- data/distro/common/markdown/man8/chef-server.mkd +120 -120
- data/distro/common/markdown/man8/chef-solo.mkd +107 -107
- data/distro/common/markdown/man8/chef-solr.mkd +89 -89
- data/distro/powershell/chef/chef.psm1 +327 -327
- data/ext/win32-eventlog/Rakefile +53 -53
- data/ext/win32-eventlog/chef-log.man +56 -56
- data/lib-backcompat/chef/chef_fs/file_system/acl_entry.rb +5 -5
- data/lib-backcompat/chef/chef_fs/file_system/chef_repository_file_system_root_dir.rb +5 -5
- data/lib-backcompat/chef/chef_fs/file_system/chef_server_root_dir.rb +5 -5
- data/lib/chef.rb +35 -35
- data/lib/chef/api_client.rb +233 -233
- data/lib/chef/api_client/registration.rb +192 -192
- data/lib/chef/api_client_v1.rb +325 -325
- data/lib/chef/application.rb +357 -342
- data/lib/chef/application/apply.rb +221 -221
- data/lib/chef/application/client.rb +520 -513
- data/lib/chef/application/knife.rb +208 -208
- data/lib/chef/application/solo.rb +334 -334
- data/lib/chef/application/windows_service.rb +338 -338
- data/lib/chef/application/windows_service_manager.rb +202 -202
- data/lib/chef/applications.rb +4 -4
- data/lib/chef/audit/audit_event_proxy.rb +93 -93
- data/lib/chef/audit/audit_reporter.rb +172 -172
- data/lib/chef/audit/control_group_data.rb +139 -139
- data/lib/chef/audit/logger.rb +36 -36
- data/lib/chef/audit/rspec_formatter.rb +37 -37
- data/lib/chef/audit/runner.rb +196 -196
- data/lib/chef/chef_class.rb +228 -228
- data/lib/chef/chef_fs.rb +59 -59
- data/lib/chef/chef_fs/chef_fs_data_store.rb +871 -871
- data/lib/chef/chef_fs/command_line.rb +285 -285
- data/lib/chef/chef_fs/config.rb +284 -283
- data/lib/chef/chef_fs/data_handler/acl_data_handler.rb +26 -26
- data/lib/chef/chef_fs/data_handler/client_data_handler.rb +39 -39
- data/lib/chef/chef_fs/data_handler/client_key_data_handler.rb +11 -11
- data/lib/chef/chef_fs/data_handler/container_data_handler.rb +35 -35
- data/lib/chef/chef_fs/data_handler/cookbook_data_handler.rb +38 -38
- data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +62 -62
- data/lib/chef/chef_fs/data_handler/data_handler_base.rb +204 -204
- data/lib/chef/chef_fs/data_handler/environment_data_handler.rb +40 -40
- data/lib/chef/chef_fs/data_handler/group_data_handler.rb +55 -55
- data/lib/chef/chef_fs/data_handler/node_data_handler.rb +36 -36
- data/lib/chef/chef_fs/data_handler/organization_data_handler.rb +36 -36
- data/lib/chef/chef_fs/data_handler/organization_invites_data_handler.rb +17 -17
- data/lib/chef/chef_fs/data_handler/organization_members_data_handler.rb +17 -17
- data/lib/chef/chef_fs/data_handler/policy_data_handler.rb +48 -48
- data/lib/chef/chef_fs/data_handler/policy_group_data_handler.rb +33 -33
- data/lib/chef/chef_fs/data_handler/role_data_handler.rb +40 -40
- data/lib/chef/chef_fs/data_handler/user_data_handler.rb +29 -29
- data/lib/chef/chef_fs/file_pattern.rb +301 -301
- data/lib/chef/chef_fs/file_system.rb +429 -429
- data/lib/chef/chef_fs/file_system/already_exists_error.rb +28 -28
- data/lib/chef/chef_fs/file_system/base_fs_dir.rb +47 -47
- data/lib/chef/chef_fs/file_system/base_fs_object.rb +183 -183
- data/lib/chef/chef_fs/file_system/chef_server/acl_dir.rb +65 -65
- data/lib/chef/chef_fs/file_system/chef_server/acl_entry.rb +60 -60
- data/lib/chef/chef_fs/file_system/chef_server/acls_dir.rb +75 -75
- data/lib/chef/chef_fs/file_system/chef_server/chef_server_root_dir.rb +196 -196
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_artifact_dir.rb +38 -38
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_artifacts_dir.rb +102 -102
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_dir.rb +222 -222
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +84 -84
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_subdir.rb +61 -61
- data/lib/chef/chef_fs/file_system/chef_server/cookbooks_acl_dir.rb +42 -42
- data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +102 -102
- data/lib/chef/chef_fs/file_system/chef_server/data_bag_dir.rb +71 -71
- data/lib/chef/chef_fs/file_system/chef_server/data_bags_dir.rb +69 -69
- data/lib/chef/chef_fs/file_system/chef_server/environments_dir.rb +57 -57
- data/lib/chef/chef_fs/file_system/chef_server/nodes_dir.rb +53 -53
- data/lib/chef/chef_fs/file_system/chef_server/org_entry.rb +31 -31
- data/lib/chef/chef_fs/file_system/chef_server/organization_invites_entry.rb +61 -61
- data/lib/chef/chef_fs/file_system/chef_server/organization_members_entry.rb +60 -60
- data/lib/chef/chef_fs/file_system/chef_server/policies_acl_dir.rb +41 -41
- data/lib/chef/chef_fs/file_system/chef_server/policies_dir.rb +160 -160
- data/lib/chef/chef_fs/file_system/chef_server/policy_group_entry.rb +137 -137
- data/lib/chef/chef_fs/file_system/chef_server/policy_groups_dir.rb +43 -43
- data/lib/chef/chef_fs/file_system/chef_server/policy_revision_entry.rb +34 -34
- data/lib/chef/chef_fs/file_system/chef_server/rest_list_dir.rb +178 -178
- data/lib/chef/chef_fs/file_system/chef_server/rest_list_entry.rb +187 -187
- data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbook_dir.rb +45 -45
- data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbooks_dir.rb +107 -107
- data/lib/chef/chef_fs/file_system/cookbook_frozen_error.rb +28 -28
- data/lib/chef/chef_fs/file_system/default_environment_cannot_be_modified_error.rb +32 -32
- data/lib/chef/chef_fs/file_system/file_system_error.rb +44 -44
- data/lib/chef/chef_fs/file_system/memory/memory_dir.rb +53 -53
- data/lib/chef/chef_fs/file_system/memory/memory_file.rb +20 -20
- data/lib/chef/chef_fs/file_system/memory/memory_root.rb +23 -23
- data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +64 -64
- data/lib/chef/chef_fs/file_system/must_delete_recursively_error.rb +28 -28
- data/lib/chef/chef_fs/file_system/nonexistent_fs_object.rb +36 -36
- data/lib/chef/chef_fs/file_system/not_found_error.rb +28 -28
- data/lib/chef/chef_fs/file_system/operation_failed_error.rb +42 -42
- data/lib/chef/chef_fs/file_system/operation_not_allowed_error.rb +46 -46
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_acls_dir.rb +39 -39
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_client_keys_dir.rb +38 -38
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_artifact_dir.rb +41 -41
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +146 -146
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +176 -176
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_entry.rb +83 -83
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_policies_dir.rb +38 -38
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +214 -214
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_versioned_cookbook_dir.rb +42 -42
- data/lib/chef/chef_fs/file_system/repository/cookbook_artifacts_dir.rb +36 -36
- data/lib/chef/chef_fs/file_system/repository/cookbooks_dir.rb +52 -52
- data/lib/chef/chef_fs/file_system/repository/data_bag.rb +39 -39
- data/lib/chef/chef_fs/file_system/repository/data_bag_item.rb +114 -114
- data/lib/chef/chef_fs/file_system/repository/data_bags_dir.rb +39 -39
- data/lib/chef/chef_fs/file_system/repository/directory.rb +139 -139
- data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +117 -117
- data/lib/chef/chef_fs/file_system/repository/file_system_root_dir.rb +33 -33
- data/lib/chef/chef_fs/file_system/repository/versioned_cookbooks_dir.rb +34 -34
- data/lib/chef/chef_fs/knife.rb +161 -161
- data/lib/chef/chef_fs/parallelizer.rb +105 -105
- data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +35 -35
- data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +281 -281
- data/lib/chef/chef_fs/path_utils.rb +127 -127
- data/lib/chef/client.rb +966 -967
- data/lib/chef/config.rb +85 -85
- data/lib/chef/config_fetcher.rb +72 -72
- data/lib/chef/constants.rb +28 -28
- data/lib/chef/cookbook/chefignore.rb +74 -74
- data/lib/chef/cookbook/cookbook_collection.rb +63 -63
- data/lib/chef/cookbook/cookbook_version_loader.rb +352 -352
- data/lib/chef/cookbook/file_system_file_vendor.rb +59 -59
- data/lib/chef/cookbook/file_vendor.rb +71 -71
- data/lib/chef/cookbook/gem_installer.rb +83 -118
- data/lib/chef/cookbook/metadata.rb +904 -904
- data/lib/chef/cookbook/remote_file_vendor.rb +87 -87
- data/lib/chef/cookbook/synchronizer.rb +298 -298
- data/lib/chef/cookbook/syntax_check.rb +260 -260
- data/lib/chef/cookbook_loader.rb +200 -200
- data/lib/chef/cookbook_manifest.rb +290 -290
- data/lib/chef/cookbook_site_streaming_uploader.rb +243 -244
- data/lib/chef/cookbook_uploader.rb +157 -157
- data/lib/chef/cookbook_version.rb +637 -631
- data/lib/chef/daemon.rb +131 -131
- data/lib/chef/data_bag.rb +176 -176
- data/lib/chef/data_bag_item.rb +218 -218
- data/lib/chef/delayed_evaluator.rb +21 -21
- data/lib/chef/deprecation/mixin/template.rb +48 -48
- data/lib/chef/deprecation/provider/cookbook_file.rb +54 -54
- data/lib/chef/deprecation/provider/file.rb +198 -198
- data/lib/chef/deprecation/provider/remote_directory.rb +52 -52
- data/lib/chef/deprecation/provider/remote_file.rb +85 -85
- data/lib/chef/deprecation/provider/template.rb +63 -63
- data/lib/chef/deprecation/warnings.rb +37 -38
- data/lib/chef/digester.rb +74 -74
- data/lib/chef/dsl.rb +6 -6
- data/lib/chef/dsl/audit.rb +51 -51
- data/lib/chef/dsl/chef_provisioning.rb +57 -57
- data/lib/chef/dsl/cheffish.rb +64 -64
- data/lib/chef/dsl/core.rb +42 -0
- data/lib/chef/dsl/data_query.rb +89 -89
- data/lib/chef/dsl/declare_resource.rb +106 -108
- data/lib/chef/dsl/definitions.rb +43 -43
- data/lib/chef/dsl/include_attribute.rb +61 -61
- data/lib/chef/dsl/include_recipe.rb +44 -44
- data/lib/chef/dsl/method_missing.rb +75 -0
- data/lib/chef/dsl/platform_introspection.rb +254 -254
- data/lib/chef/dsl/powershell.rb +29 -29
- data/lib/chef/dsl/reboot_pending.rb +64 -64
- data/lib/chef/dsl/recipe.rb +89 -134
- data/lib/chef/dsl/registry_helper.rb +63 -63
- data/lib/chef/dsl/resources.rb +58 -58
- data/lib/chef/encrypted_data_bag_item.rb +155 -155
- data/lib/chef/encrypted_data_bag_item/assertions.rb +54 -54
- data/lib/chef/encrypted_data_bag_item/check_encrypted.rb +56 -56
- data/lib/chef/encrypted_data_bag_item/decryption_failure.rb +22 -22
- data/lib/chef/encrypted_data_bag_item/decryptor.rb +227 -227
- data/lib/chef/encrypted_data_bag_item/encrypted_data_bag_item_assertions.rb +37 -37
- data/lib/chef/encrypted_data_bag_item/encryption_failure.rb +22 -22
- data/lib/chef/encrypted_data_bag_item/encryptor.rb +225 -225
- data/lib/chef/encrypted_data_bag_item/unacceptable_encrypted_data_bag_item_format.rb +22 -22
- data/lib/chef/encrypted_data_bag_item/unsupported_cipher.rb +22 -22
- data/lib/chef/encrypted_data_bag_item/unsupported_encrypted_data_bag_item_format.rb +22 -22
- data/lib/chef/environment.rb +326 -326
- data/lib/chef/event_dispatch/base.rb +426 -420
- data/lib/chef/event_dispatch/dispatcher.rb +62 -62
- data/lib/chef/event_dispatch/dsl.rb +65 -65
- data/lib/chef/event_dispatch/events_output_stream.rb +37 -37
- data/lib/chef/event_loggers/base.rb +62 -62
- data/lib/chef/event_loggers/windows_eventlog.rb +101 -101
- data/lib/chef/exceptions.rb +504 -504
- data/lib/chef/file_access_control.rb +75 -75
- data/lib/chef/file_access_control/unix.rb +290 -290
- data/lib/chef/file_access_control/windows.rb +335 -335
- data/lib/chef/file_cache.rb +221 -221
- data/lib/chef/file_content_management/content_base.rb +56 -56
- data/lib/chef/file_content_management/deploy.rb +37 -37
- data/lib/chef/file_content_management/deploy/cp.rb +48 -48
- data/lib/chef/file_content_management/deploy/mv_unix.rb +76 -76
- data/lib/chef/file_content_management/deploy/mv_windows.rb +103 -103
- data/lib/chef/file_content_management/tempfile.rb +97 -97
- data/lib/chef/formatters/base.rb +237 -237
- data/lib/chef/formatters/doc.rb +438 -422
- data/lib/chef/formatters/{error_descriptor.rb → error_description.rb} +69 -67
- data/lib/chef/formatters/error_inspectors.rb +19 -19
- data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +184 -184
- data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +154 -154
- data/lib/chef/formatters/error_inspectors/cookbook_resolve_error_inspector.rb +168 -168
- data/lib/chef/formatters/error_inspectors/cookbook_sync_error_inspector.rb +82 -82
- data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +128 -128
- data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +147 -147
- data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +124 -124
- data/lib/chef/formatters/error_inspectors/run_list_expansion_error_inspector.rb +121 -121
- data/lib/chef/formatters/error_mapper.rb +85 -85
- data/lib/chef/formatters/indentable_output_stream.rb +170 -170
- data/lib/chef/formatters/minimal.rb +233 -233
- data/lib/chef/guard_interpreter.rb +32 -32
- data/lib/chef/guard_interpreter/default_guard_interpreter.rb +43 -43
- data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +138 -138
- data/lib/chef/handler.rb +235 -235
- data/lib/chef/handler/error_report.rb +33 -33
- data/lib/chef/handler/json_file.rb +63 -63
- data/lib/chef/http.rb +460 -430
- data/lib/chef/http/auth_credentials.rb +57 -57
- data/lib/chef/http/authenticator.rb +106 -106
- data/lib/chef/http/basic_client.rb +149 -169
- data/lib/chef/http/cookie_jar.rb +31 -31
- data/lib/chef/http/cookie_manager.rb +59 -59
- data/lib/chef/http/decompressor.rb +142 -142
- data/lib/chef/http/http_request.rb +186 -186
- data/lib/chef/http/json_input.rb +73 -73
- data/lib/chef/http/json_output.rb +78 -78
- data/lib/chef/http/json_to_model_output.rb +34 -34
- data/lib/chef/http/remote_request_id.rb +46 -46
- data/lib/chef/http/simple.rb +40 -40
- data/lib/chef/http/simple_json.rb +43 -43
- data/lib/chef/http/socketless_chef_zero_client.rb +208 -207
- data/lib/chef/http/ssl_policies.rb +130 -130
- data/lib/chef/http/validate_content_length.rb +114 -115
- data/lib/chef/json_compat.rb +164 -164
- data/lib/chef/key.rb +273 -273
- data/lib/chef/knife.rb +587 -587
- data/lib/chef/knife/bootstrap.rb +480 -480
- data/lib/chef/knife/bootstrap/chef_vault_handler.rb +159 -159
- data/lib/chef/knife/bootstrap/client_builder.rb +208 -208
- data/lib/chef/knife/bootstrap/templates/README.md +11 -11
- data/lib/chef/knife/bootstrap/templates/chef-full.erb +236 -236
- data/lib/chef/knife/client_bulk_delete.rb +104 -104
- data/lib/chef/knife/client_create.rb +111 -111
- data/lib/chef/knife/client_delete.rb +60 -60
- data/lib/chef/knife/client_edit.rb +53 -53
- data/lib/chef/knife/client_key_create.rb +67 -67
- data/lib/chef/knife/client_key_delete.rb +76 -76
- data/lib/chef/knife/client_key_edit.rb +79 -79
- data/lib/chef/knife/client_key_list.rb +69 -69
- data/lib/chef/knife/client_key_show.rb +76 -76
- data/lib/chef/knife/client_list.rb +42 -42
- data/lib/chef/knife/client_reregister.rb +59 -59
- data/lib/chef/knife/client_show.rb +49 -49
- data/lib/chef/knife/configure.rb +171 -171
- data/lib/chef/knife/configure_client.rb +50 -50
- data/lib/chef/knife/cookbook_bulk_delete.rb +71 -71
- data/lib/chef/knife/cookbook_create.rb +458 -448
- data/lib/chef/knife/cookbook_delete.rb +151 -151
- data/lib/chef/knife/cookbook_download.rb +143 -143
- data/lib/chef/knife/cookbook_list.rb +47 -47
- data/lib/chef/knife/cookbook_metadata.rb +107 -108
- data/lib/chef/knife/cookbook_metadata_from_file.rb +44 -44
- data/lib/chef/knife/cookbook_show.rb +98 -98
- data/lib/chef/knife/cookbook_site_download.rb +109 -109
- data/lib/chef/knife/cookbook_site_install.rb +192 -192
- data/lib/chef/knife/cookbook_site_list.rb +58 -58
- data/lib/chef/knife/cookbook_site_search.rb +46 -46
- data/lib/chef/knife/cookbook_site_share.rb +169 -169
- data/lib/chef/knife/cookbook_site_show.rb +55 -55
- data/lib/chef/knife/cookbook_site_unshare.rb +56 -56
- data/lib/chef/knife/cookbook_site_vendor.rb +46 -46
- data/lib/chef/knife/cookbook_test.rb +95 -95
- data/lib/chef/knife/cookbook_upload.rb +308 -308
- data/lib/chef/knife/core/bootstrap_context.rb +233 -233
- data/lib/chef/knife/core/cookbook_scm_repo.rb +159 -159
- data/lib/chef/knife/core/custom_manifest_loader.rb +69 -69
- data/lib/chef/knife/core/gem_glob_loader.rb +138 -138
- data/lib/chef/knife/core/generic_presenter.rb +222 -222
- data/lib/chef/knife/core/hashed_command_loader.rb +99 -99
- data/lib/chef/knife/core/node_editor.rb +130 -130
- data/lib/chef/knife/core/node_presenter.rb +159 -159
- data/lib/chef/knife/core/object_loader.rb +115 -115
- data/lib/chef/knife/core/status_presenter.rb +157 -157
- data/lib/chef/knife/core/subcommand_loader.rb +212 -212
- data/lib/chef/knife/core/text_formatter.rb +85 -85
- data/lib/chef/knife/core/ui.rb +284 -284
- data/lib/chef/knife/data_bag_create.rb +78 -78
- data/lib/chef/knife/data_bag_delete.rb +49 -49
- data/lib/chef/knife/data_bag_edit.rb +74 -74
- data/lib/chef/knife/data_bag_from_file.rb +114 -114
- data/lib/chef/knife/data_bag_list.rb +42 -42
- data/lib/chef/knife/data_bag_secret_options.rb +142 -142
- data/lib/chef/knife/data_bag_show.rb +69 -69
- data/lib/chef/knife/delete.rb +107 -107
- data/lib/chef/knife/deps.rb +140 -140
- data/lib/chef/knife/diff.rb +68 -68
- data/lib/chef/knife/download.rb +68 -68
- data/lib/chef/knife/edit.rb +72 -72
- data/lib/chef/knife/environment_compare.rb +127 -127
- data/lib/chef/knife/environment_create.rb +53 -53
- data/lib/chef/knife/environment_delete.rb +45 -45
- data/lib/chef/knife/environment_edit.rb +45 -45
- data/lib/chef/knife/environment_from_file.rb +82 -82
- data/lib/chef/knife/environment_list.rb +42 -42
- data/lib/chef/knife/environment_show.rb +48 -48
- data/lib/chef/knife/exec.rb +87 -87
- data/lib/chef/knife/help.rb +101 -101
- data/lib/chef/knife/help_topics.rb +4 -4
- data/lib/chef/knife/index_rebuild.rb +133 -133
- data/lib/chef/knife/key_create.rb +112 -112
- data/lib/chef/knife/key_create_base.rb +50 -50
- data/lib/chef/knife/key_delete.rb +55 -55
- data/lib/chef/knife/key_edit.rb +118 -118
- data/lib/chef/knife/key_edit_base.rb +55 -55
- data/lib/chef/knife/key_list.rb +88 -88
- data/lib/chef/knife/key_list_base.rb +45 -45
- data/lib/chef/knife/key_show.rb +53 -53
- data/lib/chef/knife/list.rb +157 -157
- data/lib/chef/knife/node_bulk_delete.rb +74 -74
- data/lib/chef/knife/node_create.rb +47 -47
- data/lib/chef/knife/node_delete.rb +46 -46
- data/lib/chef/knife/node_edit.rb +70 -70
- data/lib/chef/knife/node_environment_set.rb +54 -54
- data/lib/chef/knife/node_from_file.rb +51 -51
- data/lib/chef/knife/node_list.rb +44 -44
- data/lib/chef/knife/node_run_list_add.rb +104 -104
- data/lib/chef/knife/node_run_list_remove.rb +67 -67
- data/lib/chef/knife/node_run_list_set.rb +66 -66
- data/lib/chef/knife/node_show.rb +66 -66
- data/lib/chef/knife/null.rb +10 -10
- data/lib/chef/knife/osc_user_create.rb +97 -97
- data/lib/chef/knife/osc_user_delete.rb +51 -51
- data/lib/chef/knife/osc_user_edit.rb +58 -58
- data/lib/chef/knife/osc_user_list.rb +47 -47
- data/lib/chef/knife/osc_user_reregister.rb +64 -64
- data/lib/chef/knife/osc_user_show.rb +54 -54
- data/lib/chef/knife/raw.rb +103 -103
- data/lib/chef/knife/recipe_list.rb +32 -32
- data/lib/chef/knife/rehash.rb +65 -65
- data/lib/chef/knife/role_bulk_delete.rb +65 -65
- data/lib/chef/knife/role_create.rb +53 -53
- data/lib/chef/knife/role_delete.rb +46 -46
- data/lib/chef/knife/role_edit.rb +45 -45
- data/lib/chef/knife/role_env_run_list_add.rb +86 -86
- data/lib/chef/knife/role_env_run_list_clear.rb +55 -55
- data/lib/chef/knife/role_env_run_list_remove.rb +57 -57
- data/lib/chef/knife/role_env_run_list_replace.rb +59 -59
- data/lib/chef/knife/role_env_run_list_set.rb +70 -70
- data/lib/chef/knife/role_from_file.rb +51 -51
- data/lib/chef/knife/role_list.rb +42 -42
- data/lib/chef/knife/role_run_list_add.rb +86 -86
- data/lib/chef/knife/role_run_list_clear.rb +55 -55
- data/lib/chef/knife/role_run_list_remove.rb +57 -57
- data/lib/chef/knife/role_run_list_replace.rb +59 -59
- data/lib/chef/knife/role_run_list_set.rb +70 -70
- data/lib/chef/knife/role_show.rb +49 -49
- data/lib/chef/knife/search.rb +201 -201
- data/lib/chef/knife/serve.rb +48 -48
- data/lib/chef/knife/show.rb +56 -56
- data/lib/chef/knife/ssh.rb +582 -572
- data/lib/chef/knife/ssl_check.rb +282 -281
- data/lib/chef/knife/ssl_fetch.rb +157 -157
- data/lib/chef/knife/status.rb +110 -110
- data/lib/chef/knife/tag_create.rb +52 -52
- data/lib/chef/knife/tag_delete.rb +60 -60
- data/lib/chef/knife/tag_list.rb +47 -47
- data/lib/chef/knife/upload.rb +70 -70
- data/lib/chef/knife/user_create.rb +150 -150
- data/lib/chef/knife/user_delete.rb +95 -95
- data/lib/chef/knife/user_edit.rb +81 -81
- data/lib/chef/knife/user_key_create.rb +69 -69
- data/lib/chef/knife/user_key_delete.rb +76 -76
- data/lib/chef/knife/user_key_edit.rb +79 -79
- data/lib/chef/knife/user_key_list.rb +69 -69
- data/lib/chef/knife/user_key_show.rb +76 -76
- data/lib/chef/knife/user_list.rb +45 -45
- data/lib/chef/knife/user_reregister.rb +89 -89
- data/lib/chef/knife/user_show.rb +78 -78
- data/lib/chef/knife/xargs.rb +266 -266
- data/lib/chef/local_mode.rb +128 -128
- data/lib/chef/log.rb +68 -68
- data/lib/chef/log/syslog.rb +45 -45
- data/lib/chef/log/winevt.rb +99 -99
- data/lib/chef/mash.rb +226 -226
- data/lib/chef/mixin/api_version_request_handling.rb +66 -66
- data/lib/chef/mixin/checksum.rb +32 -32
- data/lib/chef/mixin/command.rb +193 -193
- data/lib/chef/mixin/command/unix.rb +220 -220
- data/lib/chef/mixin/command/windows.rb +71 -71
- data/lib/chef/mixin/convert_to_class_name.rb +126 -126
- data/lib/chef/mixin/create_path.rb +73 -73
- data/lib/chef/mixin/deep_merge.rb +140 -140
- data/lib/chef/mixin/deprecation.rb +123 -123
- data/lib/chef/mixin/descendants_tracker.rb +81 -81
- data/lib/chef/mixin/enforce_ownership_and_permissions.rb +39 -39
- data/lib/chef/mixin/file_class.rb +35 -35
- data/lib/chef/mixin/from_file.rb +50 -50
- data/lib/chef/mixin/get_source_from_package.rb +47 -47
- data/lib/chef/mixin/homebrew_user.rb +68 -68
- data/lib/chef/mixin/language.rb +48 -48
- data/lib/chef/mixin/language_include_attribute.rb +34 -34
- data/lib/chef/mixin/language_include_recipe.rb +31 -31
- data/lib/chef/mixin/lazy_module_include.rb +77 -0
- data/lib/chef/mixin/params_validate.rb +489 -489
- data/lib/chef/mixin/path_sanity.rb +68 -68
- data/lib/chef/mixin/powershell_out.rb +98 -98
- data/lib/chef/mixin/powershell_type_coercions.rb +84 -84
- data/lib/chef/mixin/properties.rb +303 -303
- data/lib/chef/mixin/provides.rb +28 -28
- data/lib/chef/mixin/proxified_socket.rb +42 -38
- data/lib/chef/mixin/recipe_definition_dsl_core.rb +35 -35
- data/lib/chef/mixin/securable.rb +196 -196
- data/lib/chef/mixin/shell_out.rb +117 -117
- data/lib/chef/mixin/subclass_directive.rb +37 -37
- data/lib/chef/mixin/template.rb +262 -262
- data/lib/chef/mixin/unformatter.rb +32 -32
- data/lib/chef/mixin/uris.rb +43 -43
- data/lib/chef/mixin/which.rb +37 -37
- data/lib/chef/mixin/why_run.rb +331 -331
- data/lib/chef/mixin/wide_string.rb +72 -72
- data/lib/chef/mixin/windows_architecture_helper.rb +114 -114
- data/lib/chef/mixin/windows_env_helper.rb +67 -67
- data/lib/chef/mixin/xml_escape.rb +140 -140
- data/lib/chef/mixins.rb +13 -13
- data/lib/chef/monkey_patches/net-ssh-multi.rb +141 -140
- data/lib/chef/monkey_patches/net_http.rb +60 -60
- data/lib/chef/monkey_patches/webrick-utils.rb +51 -51
- data/lib/chef/monkey_patches/win32/registry.rb +75 -72
- data/lib/chef/monologger.rb +88 -88
- data/lib/chef/nil_argument.rb +3 -3
- data/lib/chef/node.rb +700 -700
- data/lib/chef/node/attribute.rb +586 -586
- data/lib/chef/node/attribute_collections.rb +323 -323
- data/lib/chef/node/immutable_collections.rb +219 -219
- data/lib/chef/node_map.rb +222 -222
- data/lib/chef/null_logger.rb +72 -72
- data/lib/chef/org.rb +149 -149
- data/lib/chef/platform.rb +30 -30
- data/lib/chef/platform/handler_map.rb +40 -40
- data/lib/chef/platform/priority_map.rb +41 -41
- data/lib/chef/platform/provider_handler_map.rb +29 -29
- data/lib/chef/platform/provider_mapping.rb +214 -214
- data/lib/chef/platform/provider_priority_map.rb +11 -11
- data/lib/chef/platform/query_helpers.rb +112 -112
- data/lib/chef/platform/rebooter.rb +54 -54
- data/lib/chef/platform/resource_handler_map.rb +29 -29
- data/lib/chef/platform/resource_priority_map.rb +11 -11
- data/lib/chef/platform/service_helpers.rb +122 -122
- data/lib/chef/policy_builder.rb +42 -42
- data/lib/chef/policy_builder/dynamic.rb +185 -185
- data/lib/chef/policy_builder/expand_node_object.rb +278 -278
- data/lib/chef/policy_builder/policyfile.rb +523 -527
- data/lib/chef/property.rb +674 -673
- data/lib/chef/provider.rb +458 -461
- data/lib/chef/provider/apt_repository.rb +255 -0
- data/lib/chef/provider/apt_update.rb +80 -79
- data/lib/chef/provider/batch.rb +45 -45
- data/lib/chef/provider/breakpoint.rb +38 -38
- data/lib/chef/provider/cookbook_file.rb +53 -53
- data/lib/chef/provider/cookbook_file/content.rb +49 -49
- data/lib/chef/provider/cron.rb +263 -263
- data/lib/chef/provider/cron/aix.rb +50 -50
- data/lib/chef/provider/cron/solaris.rb +22 -22
- data/lib/chef/provider/cron/unix.rb +83 -83
- data/lib/chef/provider/deploy.rb +476 -476
- data/lib/chef/provider/deploy/revision.rb +109 -109
- data/lib/chef/provider/deploy/timestamped.rb +34 -34
- data/lib/chef/provider/directory.rb +152 -152
- data/lib/chef/provider/dsc_resource.rb +197 -197
- data/lib/chef/provider/dsc_script.rb +185 -185
- data/lib/chef/provider/env.rb +169 -169
- data/lib/chef/provider/env/windows.rb +72 -72
- data/lib/chef/provider/erl_call.rb +108 -108
- data/lib/chef/provider/execute.rb +125 -125
- data/lib/chef/provider/file.rb +495 -495
- data/lib/chef/provider/file/content.rb +39 -39
- data/lib/chef/provider/git.rb +332 -332
- data/lib/chef/provider/group.rb +183 -183
- data/lib/chef/provider/group/aix.rb +86 -86
- data/lib/chef/provider/group/dscl.rb +170 -170
- data/lib/chef/provider/group/gpasswd.rb +58 -58
- data/lib/chef/provider/group/groupadd.rb +137 -137
- data/lib/chef/provider/group/groupmod.rb +128 -128
- data/lib/chef/provider/group/pw.rb +140 -140
- data/lib/chef/provider/group/suse.rb +64 -62
- data/lib/chef/provider/group/usermod.rb +91 -91
- data/lib/chef/provider/group/windows.rb +98 -98
- data/lib/chef/provider/http_request.rb +122 -122
- data/lib/chef/provider/ifconfig.rb +226 -226
- data/lib/chef/provider/ifconfig/aix.rb +99 -99
- data/lib/chef/provider/ifconfig/debian.rb +84 -84
- data/lib/chef/provider/ifconfig/redhat.rb +48 -48
- data/lib/chef/provider/launchd.rb +208 -208
- data/lib/chef/provider/link.rb +159 -159
- data/lib/chef/provider/log.rb +57 -57
- data/lib/chef/provider/lwrp_base.rb +99 -99
- data/lib/chef/provider/mdadm.rb +92 -92
- data/lib/chef/provider/mount.rb +169 -173
- data/lib/chef/provider/mount/aix.rb +180 -180
- data/lib/chef/provider/mount/mount.rb +270 -270
- data/lib/chef/provider/mount/solaris.rb +271 -271
- data/lib/chef/provider/mount/windows.rb +92 -86
- data/lib/chef/provider/noop.rb +37 -0
- data/lib/chef/provider/ohai.rb +49 -49
- data/lib/chef/provider/osx_profile.rb +256 -256
- data/lib/chef/provider/package.rb +565 -565
- data/lib/chef/provider/package/aix.rb +136 -136
- data/lib/chef/provider/package/apt.rb +185 -185
- data/lib/chef/provider/package/chocolatey.rb +275 -275
- data/lib/chef/provider/package/dpkg.rb +226 -226
- data/lib/chef/provider/package/easy_install.rb +133 -133
- data/lib/chef/provider/package/freebsd/base.rb +89 -89
- data/lib/chef/provider/package/freebsd/pkg.rb +114 -114
- data/lib/chef/provider/package/freebsd/pkgng.rb +78 -78
- data/lib/chef/provider/package/freebsd/port.rb +60 -60
- data/lib/chef/provider/package/homebrew.rb +137 -137
- data/lib/chef/provider/package/ips.rb +91 -91
- data/lib/chef/provider/package/macports.rb +101 -101
- data/lib/chef/provider/package/openbsd.rb +136 -136
- data/lib/chef/provider/package/pacman.rb +104 -104
- data/lib/chef/provider/package/paludis.rb +86 -86
- data/lib/chef/provider/package/portage.rb +140 -140
- data/lib/chef/provider/package/rpm.rb +123 -123
- data/lib/chef/provider/package/rubygems.rb +586 -586
- data/lib/chef/provider/package/smartos.rb +92 -92
- data/lib/chef/provider/package/solaris.rb +138 -138
- data/lib/chef/provider/package/windows.rb +269 -269
- data/lib/chef/provider/package/windows/exe.rb +117 -117
- data/lib/chef/provider/package/windows/msi.rb +93 -93
- data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +89 -89
- data/lib/chef/provider/package/yum-dump.py +307 -307
- data/lib/chef/provider/package/yum.rb +1421 -1421
- data/lib/chef/provider/package/zypper.rb +143 -143
- data/lib/chef/provider/powershell_script.rb +215 -215
- data/lib/chef/provider/reboot.rb +70 -70
- data/lib/chef/provider/registry_key.rb +155 -155
- data/lib/chef/provider/remote_directory.rb +281 -281
- data/lib/chef/provider/remote_file.rb +53 -53
- data/lib/chef/provider/remote_file/cache_control_data.rb +195 -195
- data/lib/chef/provider/remote_file/content.rb +81 -81
- data/lib/chef/provider/remote_file/fetcher.rb +57 -55
- data/lib/chef/provider/remote_file/ftp.rb +172 -183
- data/lib/chef/provider/remote_file/http.rb +135 -117
- data/lib/chef/provider/remote_file/local_file.rb +60 -60
- data/lib/chef/provider/remote_file/network_file.rb +48 -48
- data/lib/chef/provider/remote_file/sftp.rb +105 -0
- data/lib/chef/provider/resource_update.rb +52 -52
- data/lib/chef/provider/route.rb +229 -229
- data/lib/chef/provider/ruby_block.rb +44 -44
- data/lib/chef/provider/script.rb +85 -85
- data/lib/chef/provider/service.rb +259 -250
- data/lib/chef/provider/service/aix.rb +129 -129
- data/lib/chef/provider/service/aixinit.rb +117 -117
- data/lib/chef/provider/service/arch.rb +118 -118
- data/lib/chef/provider/service/debian.rb +182 -182
- data/lib/chef/provider/service/freebsd.rb +195 -195
- data/lib/chef/provider/service/gentoo.rb +71 -71
- data/lib/chef/provider/service/init.rb +94 -94
- data/lib/chef/provider/service/insserv.rb +59 -59
- data/lib/chef/provider/service/invokercd.rb +41 -41
- data/lib/chef/provider/service/macosx.rb +250 -250
- data/lib/chef/provider/service/openbsd.rb +217 -217
- data/lib/chef/provider/service/redhat.rb +126 -120
- data/lib/chef/provider/service/simple.rb +175 -175
- data/lib/chef/provider/service/solaris.rb +122 -117
- data/lib/chef/provider/service/systemd.rb +188 -155
- data/lib/chef/provider/service/upstart.rb +242 -242
- data/lib/chef/provider/service/windows.rb +313 -313
- data/lib/chef/provider/subversion.rb +233 -221
- data/lib/chef/provider/template.rb +65 -65
- data/lib/chef/provider/template/content.rb +70 -70
- data/lib/chef/provider/template_finder.rb +62 -62
- data/lib/chef/provider/user.rb +211 -211
- data/lib/chef/provider/user/aix.rb +97 -97
- data/lib/chef/provider/user/dscl.rb +710 -710
- data/lib/chef/provider/user/pw.rb +114 -114
- data/lib/chef/provider/user/solaris.rb +121 -121
- data/lib/chef/provider/user/useradd.rb +163 -163
- data/lib/chef/provider/user/windows.rb +128 -128
- data/lib/chef/provider/whyrun_safe_ruby_block.rb +32 -32
- data/lib/chef/provider/windows_script.rb +72 -72
- data/lib/chef/provider_resolver.rb +170 -170
- data/lib/chef/providers.rb +145 -142
- data/lib/chef/recipe.rb +118 -119
- data/lib/chef/request_id.rb +37 -37
- data/lib/chef/reserved_names.rb +9 -9
- data/lib/chef/resource.rb +1581 -1581
- data/lib/chef/resource/action_class.rb +90 -87
- data/lib/chef/resource/apt_package.rb +32 -32
- data/lib/chef/resource/apt_repository.rb +47 -0
- data/lib/chef/resource/apt_update.rb +33 -33
- data/lib/chef/resource/bash.rb +33 -33
- data/lib/chef/resource/batch.rb +33 -33
- data/lib/chef/resource/bff_package.rb +27 -27
- data/lib/chef/resource/breakpoint.rb +32 -32
- data/lib/chef/resource/chef_gem.rb +51 -51
- data/lib/chef/resource/chocolatey_package.rb +39 -39
- data/lib/chef/resource/conditional.rb +127 -127
- data/lib/chef/resource/conditional_action_not_nothing.rb +48 -48
- data/lib/chef/resource/cookbook_file.rb +49 -49
- data/lib/chef/resource/cron.rb +216 -216
- data/lib/chef/resource/csh.rb +33 -33
- data/lib/chef/resource/deploy.rb +443 -443
- data/lib/chef/resource/deploy_revision.rb +31 -31
- data/lib/chef/resource/directory.rb +62 -62
- data/lib/chef/resource/dpkg_package.rb +30 -30
- data/lib/chef/resource/dsc_resource.rb +121 -121
- data/lib/chef/resource/dsc_script.rb +140 -140
- data/lib/chef/resource/easy_install_package.rb +32 -32
- data/lib/chef/resource/env.rb +65 -65
- data/lib/chef/resource/erl_call.rb +85 -85
- data/lib/chef/resource/execute.rb +172 -172
- data/lib/chef/resource/file.rb +83 -83
- data/lib/chef/resource/file/verification.rb +128 -128
- data/lib/chef/resource/freebsd_package.rb +62 -62
- data/lib/chef/resource/gem_package.rb +41 -41
- data/lib/chef/resource/git.rb +44 -44
- data/lib/chef/resource/group.rb +102 -102
- data/lib/chef/resource/homebrew_package.rb +34 -34
- data/lib/chef/resource/http_request.rb +66 -66
- data/lib/chef/resource/ifconfig.rb +147 -147
- data/lib/chef/resource/ips_package.rb +34 -34
- data/lib/chef/resource/ksh.rb +32 -32
- data/lib/chef/resource/launchd.rb +104 -104
- data/lib/chef/resource/link.rb +107 -107
- data/lib/chef/resource/log.rb +76 -76
- data/lib/chef/resource/lwrp_base.rb +124 -124
- data/lib/chef/resource/macosx_service.rb +58 -58
- data/lib/chef/resource/macports_package.rb +27 -27
- data/lib/chef/resource/mdadm.rb +103 -103
- data/lib/chef/resource/mount.rb +187 -187
- data/lib/chef/resource/ohai.rb +53 -53
- data/lib/chef/resource/openbsd_package.rb +35 -35
- data/lib/chef/resource/osx_profile.rb +74 -74
- data/lib/chef/resource/package.rb +47 -47
- data/lib/chef/resource/pacman_package.rb +28 -28
- data/lib/chef/resource/paludis_package.rb +33 -33
- data/lib/chef/resource/perl.rb +32 -32
- data/lib/chef/resource/portage_package.rb +32 -32
- data/lib/chef/resource/powershell_script.rb +50 -50
- data/lib/chef/resource/python.rb +31 -31
- data/lib/chef/resource/reboot.rb +48 -48
- data/lib/chef/resource/registry_key.rb +144 -144
- data/lib/chef/resource/remote_directory.rb +122 -122
- data/lib/chef/resource/remote_file.rb +158 -149
- data/lib/chef/resource/resource_notification.rb +122 -122
- data/lib/chef/resource/route.rb +137 -137
- data/lib/chef/resource/rpm_package.rb +32 -32
- data/lib/chef/resource/ruby.rb +31 -31
- data/lib/chef/resource/ruby_block.rb +53 -53
- data/lib/chef/resource/scm.rb +185 -185
- data/lib/chef/resource/script.rb +74 -74
- data/lib/chef/resource/service.rb +217 -208
- data/lib/chef/resource/smartos_package.rb +29 -29
- data/lib/chef/resource/solaris_package.rb +31 -31
- data/lib/chef/resource/subversion.rb +44 -44
- data/lib/chef/resource/template.rb +215 -215
- data/lib/chef/resource/timestamped_deploy.rb +26 -26
- data/lib/chef/resource/user.rb +160 -160
- data/lib/chef/resource/whyrun_safe_ruby_block.rb +24 -24
- data/lib/chef/resource/windows_package.rb +55 -55
- data/lib/chef/resource/windows_script.rb +65 -65
- data/lib/chef/resource/windows_service.rb +71 -71
- data/lib/chef/resource/yum_package.rb +47 -47
- data/lib/chef/resource/zypper_package.rb +28 -28
- data/lib/chef/resource_builder.rb +151 -151
- data/lib/chef/resource_collection.rb +131 -89
- data/lib/chef/resource_collection/resource_collection_serialization.rb +59 -59
- data/lib/chef/resource_collection/resource_list.rb +90 -90
- data/lib/chef/resource_collection/resource_set.rb +170 -170
- data/lib/chef/resource_collection/stepable_iterator.rb +124 -124
- data/lib/chef/resource_definition.rb +68 -68
- data/lib/chef/resource_definition_list.rb +38 -38
- data/lib/chef/resource_reporter.rb +327 -327
- data/lib/chef/resource_resolver.rb +185 -185
- data/lib/chef/resources.rb +89 -88
- data/lib/chef/rest.rb +209 -209
- data/lib/chef/role.rb +280 -280
- data/lib/chef/run_context.rb +694 -670
- data/lib/chef/run_context/cookbook_compiler.rb +290 -289
- data/lib/chef/run_list.rb +168 -168
- data/lib/chef/run_list/run_list_expansion.rb +234 -234
- data/lib/chef/run_list/run_list_item.rb +98 -98
- data/lib/chef/run_list/versioned_recipe_list.rb +102 -102
- data/lib/chef/run_lock.rb +197 -197
- data/lib/chef/run_status.rb +125 -125
- data/lib/chef/runner.rb +143 -141
- data/lib/chef/sandbox.rb +20 -20
- data/lib/chef/scan_access_control.rb +138 -138
- data/lib/chef/search/query.rb +180 -180
- data/lib/chef/server_api.rb +78 -78
- data/lib/chef/shell.rb +327 -327
- data/lib/chef/shell/ext.rb +593 -593
- data/lib/chef/shell/model_wrapper.rb +120 -120
- data/lib/chef/shell/shell_session.rb +299 -299
- data/lib/chef/shell_out.rb +13 -13
- data/lib/chef/tasks/chef_repo.rake +200 -200
- data/lib/chef/user.rb +199 -199
- data/lib/chef/user_v1.rb +330 -330
- data/lib/chef/util/backup.rb +94 -94
- data/lib/chef/util/diff.rb +184 -184
- data/lib/chef/util/dsc/configuration_generator.rb +139 -139
- data/lib/chef/util/dsc/lcm_output_parser.rb +137 -137
- data/lib/chef/util/dsc/local_configuration_manager.rb +141 -141
- data/lib/chef/util/dsc/resource_info.rb +26 -26
- data/lib/chef/util/dsc/resource_store.rb +109 -109
- data/lib/chef/util/editor.rb +91 -91
- data/lib/chef/util/file_edit.rb +100 -100
- data/lib/chef/util/path_helper.rb +25 -25
- data/lib/chef/util/powershell/cmdlet.rb +170 -170
- data/lib/chef/util/powershell/cmdlet_result.rb +61 -61
- data/lib/chef/util/powershell/ps_credential.rb +41 -41
- data/lib/chef/util/selinux.rb +92 -92
- data/lib/chef/util/threaded_job_queue.rb +61 -61
- data/lib/chef/util/windows.rb +24 -24
- data/lib/chef/util/windows/net_group.rb +84 -84
- data/lib/chef/util/windows/net_use.rb +85 -85
- data/lib/chef/util/windows/net_user.rb +170 -170
- data/lib/chef/util/windows/volume.rb +59 -59
- data/lib/chef/version.rb +34 -34
- data/lib/chef/version/platform.rb +44 -44
- data/lib/chef/version_class.rb +70 -70
- data/lib/chef/version_constraint.rb +118 -118
- data/lib/chef/version_constraint/platform.rb +26 -26
- data/lib/chef/whitelist.rb +86 -86
- data/lib/chef/win32/api.rb +374 -374
- data/lib/chef/win32/api/crypto.rb +63 -63
- data/lib/chef/win32/api/error.rb +953 -953
- data/lib/chef/win32/api/file.rb +625 -625
- data/lib/chef/win32/api/installer.rb +165 -165
- data/lib/chef/win32/api/memory.rb +105 -105
- data/lib/chef/win32/api/net.rb +312 -312
- data/lib/chef/win32/api/process.rb +42 -42
- data/lib/chef/win32/api/psapi.rb +51 -51
- data/lib/chef/win32/api/registry.rb +51 -51
- data/lib/chef/win32/api/security.rb +460 -460
- data/lib/chef/win32/api/synchronization.rb +89 -89
- data/lib/chef/win32/api/system.rb +238 -238
- data/lib/chef/win32/api/unicode.rb +135 -135
- data/lib/chef/win32/crypto.rb +50 -50
- data/lib/chef/win32/error.rb +86 -86
- data/lib/chef/win32/eventlog.rb +31 -31
- data/lib/chef/win32/file.rb +218 -218
- data/lib/chef/win32/file/info.rb +99 -99
- data/lib/chef/win32/file/version_info.rb +93 -93
- data/lib/chef/win32/handle.rb +55 -55
- data/lib/chef/win32/memory.rb +101 -101
- data/lib/chef/win32/mutex.rb +116 -116
- data/lib/chef/win32/net.rb +311 -311
- data/lib/chef/win32/process.rb +97 -97
- data/lib/chef/win32/registry.rb +374 -372
- data/lib/chef/win32/security.rb +665 -665
- data/lib/chef/win32/security/ace.rb +123 -123
- data/lib/chef/win32/security/acl.rb +103 -103
- data/lib/chef/win32/security/securable_object.rb +109 -109
- data/lib/chef/win32/security/security_descriptor.rb +93 -93
- data/lib/chef/win32/security/sid.rb +304 -304
- data/lib/chef/win32/security/token.rb +72 -72
- data/lib/chef/win32/system.rb +62 -62
- data/lib/chef/win32/unicode.rb +60 -60
- data/lib/chef/win32/version.rb +158 -158
- data/lib/chef/workstation_config_loader.rb +23 -23
- data/spec/data/apt/chef-integration-test-1.0/debian/changelog +5 -5
- data/spec/data/apt/chef-integration-test-1.0/debian/compat +1 -1
- data/spec/data/apt/chef-integration-test-1.0/debian/control +13 -13
- data/spec/data/apt/chef-integration-test-1.0/debian/copyright +34 -34
- data/spec/data/apt/chef-integration-test-1.0/debian/files +1 -1
- data/spec/data/apt/chef-integration-test-1.0/debian/rules +13 -13
- data/spec/data/apt/chef-integration-test-1.0/debian/source/format +1 -1
- data/spec/data/apt/chef-integration-test-1.1/debian/changelog +11 -11
- data/spec/data/apt/chef-integration-test-1.1/debian/compat +1 -1
- data/spec/data/apt/chef-integration-test-1.1/debian/control +13 -13
- data/spec/data/apt/chef-integration-test-1.1/debian/copyright +34 -34
- data/spec/data/apt/chef-integration-test-1.1/debian/files +1 -1
- data/spec/data/apt/chef-integration-test-1.1/debian/rules +13 -13
- data/spec/data/apt/chef-integration-test-1.1/debian/source/format +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/changelog +5 -5
- data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2.debhelper.log +45 -45
- data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2.substvars +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/conffiles +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/control +10 -10
- data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/md5sums +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/compat +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/conffiles +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/control +13 -13
- data/spec/data/apt/chef-integration-test2-1.0/debian/copyright +34 -34
- data/spec/data/apt/chef-integration-test2-1.0/debian/files +1 -1
- data/spec/data/apt/chef-integration-test2-1.0/debian/rules +13 -13
- data/spec/data/apt/chef-integration-test2-1.0/debian/source/format +1 -1
- data/spec/data/apt/chef-integration-test2_1.0-1.dsc +18 -18
- data/spec/data/apt/chef-integration-test2_1.0-1_amd64.build +91 -91
- data/spec/data/apt/chef-integration-test2_1.0-1_amd64.changes +31 -31
- data/spec/data/apt/chef-integration-test_1.0-1_amd64.changes +22 -22
- data/spec/data/apt/chef-integration-test_1.1-1_amd64.changes +22 -22
- data/spec/data/apt/var/www/apt/conf/distributions +7 -7
- data/spec/data/apt/var/www/apt/conf/incoming +4 -4
- data/spec/data/apt/var/www/apt/conf/pulls +3 -3
- data/spec/data/apt/var/www/apt/db/version +4 -4
- data/spec/data/apt/var/www/apt/dists/sid/Release +19 -19
- data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages +16 -16
- data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Release +5 -5
- data/spec/data/bootstrap/encrypted_data_bag_secret +1 -1
- data/spec/data/bootstrap/no_proxy.erb +2 -2
- data/spec/data/bootstrap/secret.erb +9 -9
- data/spec/data/bootstrap/test-hints.erb +12 -12
- data/spec/data/bootstrap/test.erb +1 -1
- data/spec/data/cb_version_cookbooks/tatft/README.rdoc +2 -2
- data/spec/data/cb_version_cookbooks/tatft/attributes/default.rb +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-600hhz-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ahd2gq-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-api8ux-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-b0r1m1-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-bfygsi-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-el14l6-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ivrl3y-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-kkbs85-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ory1ux-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-pgsq76-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ra8uim-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t7k1g-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t8g0sv-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ufy6g3-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-x2d6j9-0 +1 -1
- data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-xi0l6h-0 +1 -1
- data/spec/data/client.d_00/00-foo.rb +2 -2
- data/spec/data/client.d_00/01-bar.rb +1 -1
- data/spec/data/client.d_00/bar +1 -1
- data/spec/data/client.d_01/foo/bar.rb +1 -1
- data/spec/data/client.d_02/foo.rb/foo.txt +1 -1
- data/spec/data/config.rb +6 -6
- data/spec/data/cookbooks/angrybash/metadata.rb +2 -2
- data/spec/data/cookbooks/angrybash/recipes/default.rb +8 -8
- data/spec/data/cookbooks/apache2/files/default/apache2_module_conf_generate.pl +2 -2
- data/spec/data/cookbooks/apache2/metadata.rb +2 -2
- data/spec/data/cookbooks/apache2/recipes/default.rb +2 -2
- data/spec/data/cookbooks/borken/metadata.rb +2 -2
- data/spec/data/cookbooks/borken/recipes/default.rb +1 -1
- data/spec/data/cookbooks/borken/templates/default/borken.erb +1 -1
- data/spec/data/cookbooks/chefignore +8 -8
- data/spec/data/cookbooks/ignorken/files/default/not_me.rb +2 -2
- data/spec/data/cookbooks/ignorken/metadata.rb +2 -2
- data/spec/data/cookbooks/ignorken/recipes/ignoreme.rb +1 -1
- data/spec/data/cookbooks/ignorken/templates/ubuntu-12.10/not_me.rb +2 -2
- data/spec/data/cookbooks/java/files/default/java.response +1 -1
- data/spec/data/cookbooks/java/metadata.rb +2 -2
- data/spec/data/cookbooks/name-mismatch-versionnumber/README.md +4 -4
- data/spec/data/cookbooks/name-mismatch-versionnumber/metadata.rb +8 -8
- data/spec/data/cookbooks/name-mismatch-versionnumber/recipes/default.rb +8 -8
- data/spec/data/cookbooks/openldap/attributes/default.rb +16 -16
- data/spec/data/cookbooks/openldap/attributes/smokey.rb +1 -1
- data/spec/data/cookbooks/openldap/definitions/client.rb +5 -5
- data/spec/data/cookbooks/openldap/definitions/server.rb +5 -5
- data/spec/data/cookbooks/openldap/files/default/.dotfile +1 -1
- data/spec/data/cookbooks/openldap/files/default/remotedir/.a_dotdir/.a_dotfile_in_a_dotdir +1 -1
- data/spec/data/cookbooks/openldap/files/default/remotedir/not_a_template.erb +2 -2
- data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file1.txt +2 -2
- data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file2.txt +2 -2
- data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/.a_dotfile +1 -1
- data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file1.txt +2 -2
- data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file2.txt +2 -2
- data/spec/data/cookbooks/openldap/files/default/remotedir/subdir_with_no_file_just_a_subsubdir/the_subsubdir/some_file.txt +3 -3
- data/spec/data/cookbooks/openldap/libraries/openldap.rb +4 -4
- data/spec/data/cookbooks/openldap/libraries/openldap/version.rb +3 -3
- data/spec/data/cookbooks/openldap/metadata.rb +8 -8
- data/spec/data/cookbooks/openldap/recipes/default.rb +4 -4
- data/spec/data/cookbooks/openldap/recipes/gigantor.rb +3 -3
- data/spec/data/cookbooks/openldap/recipes/one.rb +15 -15
- data/spec/data/cookbooks/openldap/recipes/return.rb +2 -2
- data/spec/data/cookbooks/openldap/templates/default/helper_test.erb +1 -1
- data/spec/data/cookbooks/openldap/templates/default/helpers.erb +14 -14
- data/spec/data/cookbooks/openldap/templates/default/helpers_via_partial_test.erb +1 -1
- data/spec/data/cookbooks/openldap/templates/default/nested_openldap_partials.erb +1 -1
- data/spec/data/cookbooks/openldap/templates/default/nested_partial.erb +1 -1
- data/spec/data/cookbooks/openldap/templates/default/no_windows_line_endings.erb +4 -4
- data/spec/data/cookbooks/openldap/templates/default/openldap_variable_stuff.conf.erb +1 -1
- data/spec/data/cookbooks/openldap/templates/default/test.erb +1 -1
- data/spec/data/cookbooks/preseed/files/default/preseed-file.seed +1 -1
- data/spec/data/cookbooks/preseed/files/default/preseed-template.seed +4 -4
- data/spec/data/cookbooks/preseed/metadata.rb +2 -2
- data/spec/data/cookbooks/preseed/templates/default/preseed-template-variables.seed +1 -1
- data/spec/data/cookbooks/preseed/templates/default/preseed-template.seed +1 -1
- data/spec/data/cookbooks/supports-platform-constraints/metadata.rb +5 -5
- data/spec/data/definitions/test.rb +4 -4
- data/spec/data/environment-config.rb +4 -4
- data/spec/data/file-providers-method-snapshot-chef-11-4.json +127 -127
- data/spec/data/fileedit/hosts +4 -4
- data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/README.md +4 -4
- data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/metadata.rb +13 -13
- data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/recipes/default.rb +8 -8
- data/spec/data/invalid-metadata-chef-repo/invalid-metadata/README.md +4 -4
- data/spec/data/invalid-metadata-chef-repo/invalid-metadata/metadata.rb +9 -9
- data/spec/data/invalid-metadata-chef-repo/invalid-metadata/recipes/default.rb +8 -8
- data/spec/data/kitchen/chefignore +6 -6
- data/spec/data/kitchen/openldap/attributes/default.rb +3 -3
- data/spec/data/kitchen/openldap/attributes/robinson.rb +2 -2
- data/spec/data/kitchen/openldap/definitions/client.rb +3 -3
- data/spec/data/kitchen/openldap/definitions/drewbarrymore.rb +2 -2
- data/spec/data/kitchen/openldap/recipes/gigantor.rb +2 -2
- data/spec/data/kitchen/openldap/recipes/ignoreme.rb +2 -2
- data/spec/data/kitchen/openldap/recipes/woot.rb +3 -3
- data/spec/data/knife_subcommand/test_explicit_category.rb +6 -6
- data/spec/data/knife_subcommand/test_name_mapping.rb +4 -4
- data/spec/data/knife_subcommand/test_yourself.rb +21 -21
- data/spec/data/lwrp/providers/buck_passer.rb +28 -28
- data/spec/data/lwrp/providers/buck_passer_2.rb +26 -26
- data/spec/data/lwrp/providers/embedded_resource_accesses_providers_scope.rb +28 -28
- data/spec/data/lwrp/providers/inline_compiler.rb +26 -26
- data/spec/data/lwrp/providers/monkey_name_printer.rb +5 -5
- data/spec/data/lwrp/providers/paint_drying_watcher.rb +7 -7
- data/spec/data/lwrp/providers/thumb_twiddler.rb +7 -7
- data/spec/data/lwrp/resources/bar.rb +2 -2
- data/spec/data/lwrp/resources/foo.rb +4 -4
- data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +1 -1
- data/spec/data/lwrp_override/providers/buck_passer.rb +5 -5
- data/spec/data/lwrp_override/resources/foo.rb +10 -10
- data/spec/data/mac_users/10.7-8.plist.xml +559 -559
- data/spec/data/mac_users/10.7-8.shadow.xml +11 -11
- data/spec/data/mac_users/10.7.plist.xml +559 -559
- data/spec/data/mac_users/10.7.shadow.xml +11 -11
- data/spec/data/mac_users/10.8.plist.xml +559 -559
- data/spec/data/mac_users/10.8.shadow.xml +21 -21
- data/spec/data/mac_users/10.9.plist.xml +560 -560
- data/spec/data/mac_users/10.9.shadow.xml +21 -21
- data/spec/data/metadata/quick_start/metadata.rb +19 -19
- data/spec/data/nested.json +2 -2
- data/spec/data/nodes/default.rb +15 -15
- data/spec/data/nodes/test.example.com.rb +17 -17
- data/spec/data/nodes/test.rb +15 -15
- data/spec/data/null_config.rb +1 -1
- data/spec/data/object_loader/environments/test.json +7 -7
- data/spec/data/object_loader/environments/test.rb +2 -2
- data/spec/data/object_loader/environments/test_json_class.json +8 -8
- data/spec/data/object_loader/nodes/test.json +7 -7
- data/spec/data/object_loader/nodes/test.rb +2 -2
- data/spec/data/object_loader/nodes/test_json_class.json +8 -8
- data/spec/data/object_loader/roles/test.json +7 -7
- data/spec/data/object_loader/roles/test.rb +2 -2
- data/spec/data/object_loader/roles/test_json_class.json +8 -8
- data/spec/data/partial_one.erb +1 -1
- data/spec/data/recipes/test.rb +7 -7
- data/spec/data/run_context/cookbooks/circular-dep1/attributes/default.rb +4 -4
- data/spec/data/run_context/cookbooks/circular-dep1/definitions/circular_dep1_res.rb +1 -1
- data/spec/data/run_context/cookbooks/circular-dep1/libraries/lib.rb +2 -2
- data/spec/data/run_context/cookbooks/circular-dep1/metadata.rb +2 -2
- data/spec/data/run_context/cookbooks/circular-dep1/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -1
- data/spec/data/run_context/cookbooks/circular-dep2/attributes/default.rb +3 -3
- data/spec/data/run_context/cookbooks/circular-dep2/definitions/circular_dep2_res.rb +1 -1
- data/spec/data/run_context/cookbooks/circular-dep2/libraries/lib.rb +2 -2
- data/spec/data/run_context/cookbooks/circular-dep2/metadata.rb +2 -2
- data/spec/data/run_context/cookbooks/circular-dep2/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -1
- data/spec/data/run_context/cookbooks/dependency1/attributes/aa_first.rb +2 -2
- data/spec/data/run_context/cookbooks/dependency1/attributes/default.rb +2 -2
- data/spec/data/run_context/cookbooks/dependency1/attributes/zz_last.rb +3 -3
- data/spec/data/run_context/cookbooks/dependency1/definitions/dependency1_res.rb +1 -1
- data/spec/data/run_context/cookbooks/dependency1/libraries/lib.rb +2 -2
- data/spec/data/run_context/cookbooks/dependency1/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -1
- data/spec/data/run_context/cookbooks/dependency2/attributes/default.rb +3 -3
- data/spec/data/run_context/cookbooks/dependency2/definitions/dependency2_res.rb +1 -1
- data/spec/data/run_context/cookbooks/dependency2/libraries/lib.rb +2 -2
- data/spec/data/run_context/cookbooks/dependency2/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -1
- data/spec/data/run_context/cookbooks/include/recipes/default.rb +24 -24
- data/spec/data/run_context/cookbooks/include/recipes/includee.rb +3 -3
- data/spec/data/run_context/cookbooks/no-default-attr/attributes/server.rb +3 -3
- data/spec/data/run_context/cookbooks/no-default-attr/definitions/no_default-attr_res.rb +1 -1
- data/spec/data/run_context/cookbooks/no-default-attr/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -1
- data/spec/data/run_context/cookbooks/test-with-circular-deps/attributes/default.rb +3 -3
- data/spec/data/run_context/cookbooks/test-with-circular-deps/definitions/test_with-circular-deps_res.rb +1 -1
- data/spec/data/run_context/cookbooks/test-with-circular-deps/libraries/lib.rb +2 -2
- data/spec/data/run_context/cookbooks/test-with-circular-deps/metadata.rb +2 -2
- data/spec/data/run_context/cookbooks/test-with-circular-deps/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +1 -1
- data/spec/data/run_context/cookbooks/test-with-deps/attributes/default.rb +3 -3
- data/spec/data/run_context/cookbooks/test-with-deps/definitions/test_with-deps_res.rb +1 -1
- data/spec/data/run_context/cookbooks/test-with-deps/libraries/lib.rb +1 -1
- data/spec/data/run_context/cookbooks/test-with-deps/metadata.rb +3 -3
- data/spec/data/run_context/cookbooks/test-with-deps/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -1
- data/spec/data/run_context/cookbooks/test/attributes/george.rb +1 -1
- data/spec/data/run_context/cookbooks/test/definitions/new_animals.rb +9 -9
- data/spec/data/run_context/cookbooks/test/definitions/new_cat.rb +5 -5
- data/spec/data/run_context/cookbooks/test/definitions/test_res.rb +1 -1
- data/spec/data/run_context/cookbooks/test/providers/provider.rb +1 -1
- data/spec/data/run_context/cookbooks/test/recipes/default.rb +5 -5
- data/spec/data/run_context/cookbooks/test/recipes/one.rb +7 -7
- data/spec/data/run_context/cookbooks/test/recipes/two.rb +7 -7
- data/spec/data/run_context/cookbooks/test/resources/resource.rb +1 -1
- data/spec/data/run_context/nodes/run_context.rb +5 -5
- data/spec/data/search_queries_to_transform.txt +98 -98
- data/spec/data/shef-config.rb +10 -10
- data/spec/data/ssl/5e707473.0 +18 -18
- data/spec/data/ssl/chef-rspec.cert +27 -27
- data/spec/data/ssl/chef-rspec.key +27 -27
- data/spec/data/ssl/key.pem +15 -15
- data/spec/data/ssl/private_key.pem +27 -27
- data/spec/data/ssl/private_key_with_whitespace.pem +32 -32
- data/spec/data/standalone_cookbook/chefignore +9 -9
- data/spec/data/standalone_cookbook/recipes/default.rb +2 -2
- data/spec/data/trusted_certs/example.crt +22 -22
- data/spec/data/trusted_certs/intermediate.pem +27 -27
- data/spec/data/trusted_certs/opscode.pem +57 -57
- data/spec/data/trusted_certs/root.pem +22 -22
- data/spec/functional/application_spec.rb +58 -58
- data/spec/functional/assets/chefinittest +34 -34
- data/spec/functional/assets/testchefsubsys +10 -10
- data/spec/functional/audit/rspec_formatter_spec.rb +54 -54
- data/spec/functional/audit/runner_spec.rb +121 -121
- data/spec/functional/dsl/reboot_pending_spec.rb +106 -106
- data/spec/functional/dsl/registry_helper_spec.rb +61 -61
- data/spec/functional/event_loggers/windows_eventlog_spec.rb +101 -101
- data/spec/functional/file_content_management/deploy_strategies_spec.rb +229 -229
- data/spec/functional/http/simple_spec.rb +140 -140
- data/spec/functional/knife/configure_spec.rb +33 -33
- data/spec/functional/knife/cookbook_delete_spec.rb +167 -167
- data/spec/functional/knife/exec_spec.rb +55 -55
- data/spec/functional/knife/rehash_spec.rb +39 -39
- data/spec/functional/knife/smoke_test.rb +42 -42
- data/spec/functional/knife/ssh_spec.rb +284 -284
- data/spec/functional/mixin/powershell_out_spec.rb +43 -43
- data/spec/functional/mixin/shell_out_spec.rb +48 -48
- data/spec/functional/notifications_spec.rb +238 -238
- data/spec/functional/provider/remote_file/cache_control_data_spec.rb +100 -100
- data/spec/functional/provider/whyrun_safe_ruby_block_spec.rb +51 -51
- data/spec/functional/rebooter_spec.rb +105 -105
- data/spec/functional/resource/aix_service_spec.rb +138 -138
- data/spec/functional/resource/aixinit_service_spec.rb +211 -211
- data/spec/functional/resource/base.rb +28 -28
- data/spec/functional/resource/bash_spec.rb +88 -88
- data/spec/functional/resource/batch_spec.rb +30 -30
- data/spec/functional/resource/bff_spec.rb +120 -120
- data/spec/functional/resource/chocolatey_package_spec.rb +130 -130
- data/spec/functional/resource/cookbook_file_spec.rb +81 -81
- data/spec/functional/resource/cron_spec.rb +172 -172
- data/spec/functional/resource/deploy_revision_spec.rb +881 -881
- data/spec/functional/resource/directory_spec.rb +43 -43
- data/spec/functional/resource/dpkg_package_spec.rb +339 -339
- data/spec/functional/resource/dsc_resource_spec.rb +90 -90
- data/spec/functional/resource/dsc_script_spec.rb +479 -479
- data/spec/functional/resource/env_spec.rb +192 -192
- data/spec/functional/resource/execute_spec.rb +154 -154
- data/spec/functional/resource/file_spec.rb +167 -167
- data/spec/functional/resource/git_spec.rb +259 -259
- data/spec/functional/resource/group_spec.rb +461 -461
- data/spec/functional/resource/ifconfig_spec.rb +165 -165
- data/spec/functional/resource/link_spec.rb +613 -613
- data/spec/functional/resource/mount_spec.rb +203 -203
- data/spec/functional/resource/ohai_spec.rb +62 -62
- data/spec/functional/resource/package_spec.rb +386 -386
- data/spec/functional/resource/powershell_script_spec.rb +601 -601
- data/spec/functional/resource/reboot_spec.rb +103 -103
- data/spec/functional/resource/registry_spec.rb +560 -560
- data/spec/functional/resource/remote_directory_spec.rb +220 -220
- data/spec/functional/resource/remote_file_spec.rb +240 -240
- data/spec/functional/resource/rpm_spec.rb +123 -123
- data/spec/functional/resource/template_spec.rb +212 -212
- data/spec/functional/resource/user/dscl_spec.rb +198 -198
- data/spec/functional/resource/user/useradd_spec.rb +692 -692
- data/spec/functional/resource/user/windows_spec.rb +133 -133
- data/spec/functional/resource/windows_package_spec.rb +168 -168
- data/spec/functional/resource/windows_service_spec.rb +102 -102
- data/spec/functional/rest_spec.rb +95 -95
- data/spec/functional/run_lock_spec.rb +466 -466
- data/spec/functional/shell_spec.rb +148 -148
- data/spec/functional/tiny_server_spec.rb +78 -78
- data/spec/functional/util/path_helper_spec.rb +37 -37
- data/spec/functional/util/powershell/cmdlet_spec.rb +111 -111
- data/spec/functional/version_spec.rb +35 -35
- data/spec/functional/win32/crypto_spec.rb +54 -54
- data/spec/functional/win32/registry_spec.rb +623 -623
- data/spec/functional/win32/security_spec.rb +100 -100
- data/spec/functional/win32/service_manager_spec.rb +220 -220
- data/spec/functional/win32/sid_spec.rb +55 -55
- data/spec/functional/win32/version_info_spec.rb +50 -50
- data/spec/functional/win32/versions_spec.rb +117 -117
- data/spec/integration/client/client_spec.rb +500 -500
- data/spec/integration/client/ipv6_spec.rb +134 -134
- data/spec/integration/knife/chef_fs_data_store_spec.rb +556 -556
- data/spec/integration/knife/chef_repo_path_spec.rb +890 -890
- data/spec/integration/knife/chef_repository_file_system_spec.rb +296 -292
- data/spec/integration/knife/chefignore_spec.rb +300 -300
- data/spec/integration/knife/common_options_spec.rb +155 -155
- data/spec/integration/knife/cookbook_api_ipv6_spec.rb +112 -112
- data/spec/integration/knife/delete_spec.rb +1017 -1017
- data/spec/integration/knife/deps_spec.rb +706 -706
- data/spec/integration/knife/diff_spec.rb +602 -602
- data/spec/integration/knife/download_spec.rb +1314 -1314
- data/spec/integration/knife/list_spec.rb +1067 -1067
- data/spec/integration/knife/raw_spec.rb +242 -242
- data/spec/integration/knife/redirection_spec.rb +52 -52
- data/spec/integration/knife/serve_spec.rb +57 -57
- data/spec/integration/knife/show_spec.rb +167 -167
- data/spec/integration/knife/upload_spec.rb +1529 -1529
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +175 -148
- data/spec/integration/recipes/lwrp_spec.rb +53 -53
- data/spec/integration/recipes/noop_resource_spec.rb +24 -0
- data/spec/integration/recipes/notifies_spec.rb +334 -0
- data/spec/integration/recipes/provider_choice.rb +37 -37
- data/spec/integration/recipes/recipe_dsl_spec.rb +1519 -1519
- data/spec/integration/recipes/remote_directory.rb +74 -74
- data/spec/integration/recipes/resource_action_spec.rb +569 -569
- data/spec/integration/recipes/resource_converge_if_changed_spec.rb +496 -496
- data/spec/integration/recipes/resource_load_spec.rb +208 -208
- data/spec/integration/solo/solo_spec.rb +176 -176
- data/spec/rcov.opts +2 -2
- data/spec/scripts/ssl-serve.rb +47 -47
- data/spec/spec_helper.rb +248 -248
- data/spec/stress/win32/file_spec.rb +37 -37
- data/spec/stress/win32/memory_spec.rb +22 -22
- data/spec/stress/win32/security_spec.rb +69 -69
- data/spec/support/chef_helpers.rb +95 -95
- data/spec/support/key_helpers.rb +104 -104
- data/spec/support/lib/chef/provider/easy.rb +35 -35
- data/spec/support/lib/chef/provider/openldap_includer.rb +29 -29
- data/spec/support/lib/chef/provider/snakeoil.rb +41 -41
- data/spec/support/lib/chef/resource/cat.rb +38 -38
- data/spec/support/lib/chef/resource/one_two_three_four.rb +37 -37
- data/spec/support/lib/chef/resource/openldap_includer.rb +26 -26
- data/spec/support/lib/chef/resource/with_state.rb +28 -28
- data/spec/support/lib/chef/resource/zen_follower.rb +35 -35
- data/spec/support/lib/chef/resource/zen_master.rb +41 -41
- data/spec/support/lib/library_load_order.rb +20 -20
- data/spec/support/matchers/leak.rb +98 -98
- data/spec/support/mock/constant.rb +52 -52
- data/spec/support/mock/platform.rb +25 -25
- data/spec/support/platform_helpers.rb +214 -214
- data/spec/support/platforms/prof/gc.rb +53 -53
- data/spec/support/platforms/prof/win32.rb +45 -45
- data/spec/support/platforms/win32/spec_service.rb +59 -59
- data/spec/support/shared/context/client.rb +285 -285
- data/spec/support/shared/context/config.rb +21 -21
- data/spec/support/shared/context/win32.rb +34 -34
- data/spec/support/shared/examples/client.rb +53 -53
- data/spec/support/shared/functional/diff_disabled.rb +10 -10
- data/spec/support/shared/functional/directory_resource.rb +176 -176
- data/spec/support/shared/functional/file_resource.rb +1049 -1049
- data/spec/support/shared/functional/http.rb +248 -248
- data/spec/support/shared/functional/knife.rb +37 -37
- data/spec/support/shared/functional/securable_resource.rb +547 -547
- data/spec/support/shared/functional/securable_resource_with_reporting.rb +394 -394
- data/spec/support/shared/functional/win32_service.rb +59 -59
- data/spec/support/shared/functional/windows_script.rb +202 -202
- data/spec/support/shared/integration/app_server_support.rb +42 -42
- data/spec/support/shared/integration/integration_helper.rb +154 -154
- data/spec/support/shared/integration/knife_support.rb +173 -173
- data/spec/support/shared/matchers/exit_with_code.rb +32 -32
- data/spec/support/shared/matchers/match_environment_variable.rb +17 -17
- data/spec/support/shared/shared_examples.rb +14 -14
- data/spec/support/shared/unit/api_error_inspector.rb +190 -190
- data/spec/support/shared/unit/api_versioning.rb +77 -77
- data/spec/support/shared/unit/application_dot_d.rb +70 -70
- data/spec/support/shared/unit/execute_resource.rb +133 -133
- data/spec/support/shared/unit/file_system_support.rb +69 -69
- data/spec/support/shared/unit/knife_shared.rb +39 -39
- data/spec/support/shared/unit/mock_shellout.rb +49 -49
- data/spec/support/shared/unit/platform_introspector.rb +189 -189
- data/spec/support/shared/unit/provider/file.rb +835 -835
- data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +433 -433
- data/spec/support/shared/unit/resource/static_provider_resolution.rb +63 -63
- data/spec/support/shared/unit/script_resource.rb +98 -98
- data/spec/support/shared/unit/user_and_client_shared.rb +114 -114
- data/spec/support/shared/unit/windows_script_resource.rb +80 -80
- data/spec/tiny_server.rb +207 -207
- data/spec/unit/api_client/registration_spec.rb +278 -278
- data/spec/unit/api_client_spec.rb +341 -341
- data/spec/unit/api_client_v1_spec.rb +455 -455
- data/spec/unit/application/apply_spec.rb +110 -110
- data/spec/unit/application/client_spec.rb +495 -435
- data/spec/unit/application/knife_spec.rb +229 -229
- data/spec/unit/application/solo_spec.rb +170 -170
- data/spec/unit/application_spec.rb +411 -384
- data/spec/unit/audit/audit_event_proxy_spec.rb +311 -311
- data/spec/unit/audit/audit_reporter_spec.rb +430 -430
- data/spec/unit/audit/control_group_data_spec.rb +477 -477
- data/spec/unit/audit/logger_spec.rb +42 -42
- data/spec/unit/audit/rspec_formatter_spec.rb +29 -29
- data/spec/unit/audit/runner_spec.rb +144 -144
- data/spec/unit/chef_class_spec.rb +110 -110
- data/spec/unit/chef_fs/config_spec.rb +106 -106
- data/spec/unit/chef_fs/data_handler/group_handler_spec.rb +63 -63
- data/spec/unit/chef_fs/diff_spec.rb +328 -328
- data/spec/unit/chef_fs/file_pattern_spec.rb +512 -512
- data/spec/unit/chef_fs/file_system/cookbook_subdir_spec.rb +34 -34
- data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +47 -47
- data/spec/unit/chef_fs/file_system_spec.rb +148 -148
- data/spec/unit/chef_fs/parallelizer.rb +479 -479
- data/spec/unit/chef_fs/path_util_spec.rb +108 -108
- data/spec/unit/chef_spec.rb +25 -25
- data/spec/unit/client_spec.rb +544 -544
- data/spec/unit/config_fetcher_spec.rb +125 -125
- data/spec/unit/config_spec.rb +31 -31
- data/spec/unit/cookbook/chefignore_spec.rb +49 -49
- data/spec/unit/cookbook/cookbook_version_loader_spec.rb +198 -198
- data/spec/unit/cookbook/file_vendor_spec.rb +97 -97
- data/spec/unit/cookbook/metadata_spec.rb +952 -952
- data/spec/unit/cookbook/synchronizer_spec.rb +520 -520
- data/spec/unit/cookbook/syntax_check_spec.rb +219 -219
- data/spec/unit/cookbook_loader_spec.rb +299 -299
- data/spec/unit/cookbook_manifest_spec.rb +243 -243
- data/spec/unit/cookbook_site_streaming_uploader_spec.rb +203 -203
- data/spec/unit/cookbook_spec.rb +66 -66
- data/spec/unit/cookbook_uploader_spec.rb +199 -199
- data/spec/unit/cookbook_version_file_specificity_spec.rb +576 -553
- data/spec/unit/cookbook_version_spec.rb +359 -359
- data/spec/unit/daemon_spec.rb +174 -174
- data/spec/unit/data_bag_item_spec.rb +388 -388
- data/spec/unit/data_bag_spec.rb +260 -260
- data/spec/unit/deprecation_spec.rb +150 -150
- data/spec/unit/digester_spec.rb +49 -49
- data/spec/unit/dsl/audit_spec.rb +43 -43
- data/spec/unit/dsl/data_query_spec.rb +106 -106
- data/spec/unit/dsl/platform_introspection_spec.rb +129 -129
- data/spec/unit/dsl/reboot_pending_spec.rb +100 -100
- data/spec/unit/dsl/recipe_spec.rb +93 -80
- data/spec/unit/dsl/{regsitry_helper_spec.rb → registry_helper_spec.rb} +52 -52
- data/spec/unit/dsl/resources_spec.rb +85 -85
- data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +95 -95
- data/spec/unit/encrypted_data_bag_item_spec.rb +437 -437
- data/spec/unit/environment_spec.rb +470 -470
- data/spec/unit/event_dispatch/dispatcher_spec.rb +122 -122
- data/spec/unit/event_dispatch/dsl_spec.rb +83 -83
- data/spec/unit/exceptions_spec.rb +130 -130
- data/spec/unit/file_access_control_spec.rb +308 -308
- data/spec/unit/file_cache_spec.rb +114 -114
- data/spec/unit/file_content_management/deploy/cp_spec.rb +44 -44
- data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +101 -101
- data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +232 -232
- data/spec/unit/file_content_management/tempfile_spec.rb +85 -85
- data/spec/unit/formatters/base_spec.rb +71 -71
- data/spec/unit/formatters/doc_spec.rb +92 -78
- data/spec/unit/formatters/error_description_spec.rb +96 -0
- data/spec/unit/formatters/error_inspectors/api_error_formatting_spec.rb +76 -76
- data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +265 -265
- data/spec/unit/formatters/error_inspectors/cookbook_resolve_error_inspector_spec.rb +126 -126
- data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +43 -43
- data/spec/unit/formatters/error_inspectors/node_load_error_inspector_spec.rb +26 -26
- data/spec/unit/formatters/error_inspectors/registration_error_inspector_spec.rb +26 -26
- data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +191 -191
- data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +91 -91
- data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +155 -155
- data/spec/unit/guard_interpreter_spec.rb +41 -41
- data/spec/unit/handler/json_file_spec.rb +63 -63
- data/spec/unit/handler_spec.rb +215 -215
- data/spec/unit/http/authenticator_spec.rb +80 -80
- data/spec/unit/http/basic_client_spec.rb +52 -129
- data/spec/unit/http/http_request_spec.rb +91 -91
- data/spec/unit/http/json_input_spec.rb +128 -128
- data/spec/unit/http/simple_spec.rb +32 -32
- data/spec/unit/http/socketless_chef_zero_client_spec.rb +173 -173
- data/spec/unit/http/ssl_policies_spec.rb +169 -169
- data/spec/unit/http/validate_content_length_spec.rb +207 -207
- data/spec/unit/http_spec.rb +206 -206
- data/spec/unit/json_compat_spec.rb +105 -105
- data/spec/unit/key_spec.rb +631 -631
- data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +152 -152
- data/spec/unit/knife/bootstrap/client_builder_spec.rb +207 -207
- data/spec/unit/knife/bootstrap_spec.rb +822 -822
- data/spec/unit/knife/client_bulk_delete_spec.rb +166 -166
- data/spec/unit/knife/client_create_spec.rb +186 -186
- data/spec/unit/knife/client_delete_spec.rb +83 -83
- data/spec/unit/knife/client_edit_spec.rb +53 -53
- data/spec/unit/knife/client_list_spec.rb +34 -34
- data/spec/unit/knife/client_reregister_spec.rb +62 -62
- data/spec/unit/knife/client_show_spec.rb +52 -52
- data/spec/unit/knife/configure_client_spec.rb +83 -83
- data/spec/unit/knife/configure_spec.rb +241 -241
- data/spec/unit/knife/cookbook_bulk_delete_spec.rb +87 -87
- data/spec/unit/knife/cookbook_create_spec.rb +260 -260
- data/spec/unit/knife/cookbook_delete_spec.rb +239 -239
- data/spec/unit/knife/cookbook_download_spec.rb +237 -237
- data/spec/unit/knife/cookbook_list_spec.rb +88 -88
- data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +65 -65
- data/spec/unit/knife/cookbook_metadata_spec.rb +179 -179
- data/spec/unit/knife/cookbook_show_spec.rb +222 -222
- data/spec/unit/knife/cookbook_site_download_spec.rb +149 -149
- data/spec/unit/knife/cookbook_site_install_spec.rb +197 -197
- data/spec/unit/knife/cookbook_site_share_spec.rb +209 -209
- data/spec/unit/knife/cookbook_site_unshare_spec.rb +77 -77
- data/spec/unit/knife/cookbook_test_spec.rb +84 -84
- data/spec/unit/knife/cookbook_upload_spec.rb +331 -331
- data/spec/unit/knife/core/bootstrap_context_spec.rb +257 -257
- data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +187 -187
- data/spec/unit/knife/core/custom_manifest_loader_spec.rb +41 -41
- data/spec/unit/knife/core/gem_glob_loader_spec.rb +209 -209
- data/spec/unit/knife/core/hashed_command_loader_spec.rb +109 -109
- data/spec/unit/knife/core/node_editor_spec.rb +211 -211
- data/spec/unit/knife/core/object_loader_spec.rb +81 -81
- data/spec/unit/knife/core/subcommand_loader_spec.rb +70 -70
- data/spec/unit/knife/core/ui_spec.rb +598 -598
- data/spec/unit/knife/data_bag_create_spec.rb +109 -109
- data/spec/unit/knife/data_bag_edit_spec.rb +127 -127
- data/spec/unit/knife/data_bag_from_file_spec.rb +172 -172
- data/spec/unit/knife/data_bag_secret_options_spec.rb +165 -165
- data/spec/unit/knife/data_bag_show_spec.rb +123 -123
- data/spec/unit/knife/environment_compare_spec.rb +112 -112
- data/spec/unit/knife/environment_create_spec.rb +91 -91
- data/spec/unit/knife/environment_delete_spec.rb +71 -71
- data/spec/unit/knife/environment_edit_spec.rb +79 -79
- data/spec/unit/knife/environment_from_file_spec.rb +90 -90
- data/spec/unit/knife/environment_list_spec.rb +54 -54
- data/spec/unit/knife/environment_show_spec.rb +52 -52
- data/spec/unit/knife/index_rebuild_spec.rb +125 -125
- data/spec/unit/knife/key_create_spec.rb +223 -223
- data/spec/unit/knife/key_delete_spec.rb +133 -133
- data/spec/unit/knife/key_edit_spec.rb +264 -264
- data/spec/unit/knife/key_helper.rb +74 -74
- data/spec/unit/knife/key_list_spec.rb +216 -216
- data/spec/unit/knife/key_show_spec.rb +126 -126
- data/spec/unit/knife/knife_help.rb +92 -92
- data/spec/unit/knife/node_bulk_delete_spec.rb +94 -94
- data/spec/unit/knife/node_delete_spec.rb +68 -68
- data/spec/unit/knife/node_edit_spec.rb +114 -114
- data/spec/unit/knife/node_environment_set_spec.rb +80 -80
- data/spec/unit/knife/node_from_file_spec.rb +59 -59
- data/spec/unit/knife/node_list_spec.rb +62 -62
- data/spec/unit/knife/node_run_list_add_spec.rb +145 -145
- data/spec/unit/knife/node_run_list_remove_spec.rb +106 -106
- data/spec/unit/knife/node_run_list_set_spec.rb +140 -140
- data/spec/unit/knife/node_show_spec.rb +65 -65
- data/spec/unit/knife/osc_user_create_spec.rb +93 -93
- data/spec/unit/knife/osc_user_delete_spec.rb +44 -44
- data/spec/unit/knife/osc_user_edit_spec.rb +52 -52
- data/spec/unit/knife/osc_user_list_spec.rb +37 -37
- data/spec/unit/knife/osc_user_reregister_spec.rb +58 -58
- data/spec/unit/knife/osc_user_show_spec.rb +46 -46
- data/spec/unit/knife/raw_spec.rb +43 -43
- data/spec/unit/knife/role_bulk_delete_spec.rb +80 -80
- data/spec/unit/knife/role_create_spec.rb +80 -80
- data/spec/unit/knife/role_delete_spec.rb +67 -67
- data/spec/unit/knife/role_edit_spec.rb +77 -77
- data/spec/unit/knife/role_env_run_list_add_spec.rb +217 -217
- data/spec/unit/knife/role_env_run_list_clear_spec.rb +94 -94
- data/spec/unit/knife/role_env_run_list_remove_spec.rb +102 -102
- data/spec/unit/knife/role_env_run_list_replace_spec.rb +105 -105
- data/spec/unit/knife/role_env_run_list_set_spec.rb +99 -99
- data/spec/unit/knife/role_from_file_spec.rb +69 -69
- data/spec/unit/knife/role_list_spec.rb +54 -54
- data/spec/unit/knife/role_run_list_add_spec.rb +179 -179
- data/spec/unit/knife/role_run_list_clear_spec.rb +84 -84
- data/spec/unit/knife/role_run_list_remove_spec.rb +92 -92
- data/spec/unit/knife/role_run_list_replace_spec.rb +98 -98
- data/spec/unit/knife/role_run_list_set_spec.rb +89 -89
- data/spec/unit/knife/role_show_spec.rb +59 -59
- data/spec/unit/knife/ssh_spec.rb +428 -410
- data/spec/unit/knife/ssl_check_spec.rb +240 -240
- data/spec/unit/knife/ssl_fetch_spec.rb +184 -184
- data/spec/unit/knife/status_spec.rb +108 -108
- data/spec/unit/knife/tag_create_spec.rb +23 -23
- data/spec/unit/knife/tag_delete_spec.rb +25 -25
- data/spec/unit/knife/tag_list_spec.rb +23 -23
- data/spec/unit/knife/user_create_spec.rb +214 -214
- data/spec/unit/knife/user_delete_spec.rb +65 -65
- data/spec/unit/knife/user_edit_spec.rb +66 -66
- data/spec/unit/knife/user_list_spec.rb +36 -36
- data/spec/unit/knife/user_reregister_spec.rb +74 -74
- data/spec/unit/knife/user_show_spec.rb +65 -65
- data/spec/unit/knife_spec.rb +529 -529
- data/spec/unit/lib_backcompat_spec.rb +34 -34
- data/spec/unit/log/syslog_spec.rb +53 -53
- data/spec/unit/log/winevt_spec.rb +55 -55
- data/spec/unit/log_spec.rb +24 -24
- data/spec/unit/lwrp_spec.rb +778 -720
- data/spec/unit/mash_spec.rb +51 -51
- data/spec/unit/mixin/api_version_request_handling_spec.rb +126 -126
- data/spec/unit/mixin/checksum_spec.rb +40 -40
- data/spec/unit/mixin/command_spec.rb +104 -104
- data/spec/unit/mixin/convert_to_class_name_spec.rb +54 -54
- data/spec/unit/mixin/deep_merge_spec.rb +342 -342
- data/spec/unit/mixin/deprecation_spec.rb +57 -57
- data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +96 -96
- data/spec/unit/mixin/homebrew_user_spec.rb +100 -100
- data/spec/unit/mixin/lazy_module_include.rb +71 -0
- data/spec/unit/mixin/params_validate_spec.rb +409 -409
- data/spec/unit/mixin/path_sanity_spec.rb +92 -92
- data/spec/unit/mixin/powershell_out_spec.rb +70 -70
- data/spec/unit/mixin/powershell_type_coercions_spec.rb +83 -83
- data/spec/unit/mixin/properties_spec.rb +97 -97
- data/spec/unit/mixin/proxified_socket_spec.rb +97 -94
- data/spec/unit/mixin/securable_spec.rb +314 -314
- data/spec/unit/mixin/shell_out_spec.rb +299 -299
- data/spec/unit/mixin/subclass_directive_spec.rb +45 -45
- data/spec/unit/mixin/template_spec.rb +276 -276
- data/spec/unit/mixin/unformatter_spec.rb +61 -61
- data/spec/unit/mixin/uris_spec.rb +57 -57
- data/spec/unit/mixin/windows_architecture_helper_spec.rb +85 -85
- data/spec/unit/mixin/xml_escape_spec.rb +54 -54
- data/spec/unit/monkey_patches/uri_spec.rb +34 -34
- data/spec/unit/monologger_spec.rb +45 -45
- data/spec/unit/node/attribute_spec.rb +1179 -1179
- data/spec/unit/node/immutable_collections_spec.rb +197 -197
- data/spec/unit/node_map_spec.rb +170 -170
- data/spec/unit/node_spec.rb +1565 -1565
- data/spec/unit/org_spec.rb +196 -196
- data/spec/unit/platform/query_helpers_spec.rb +220 -220
- data/spec/unit/platform_spec.rb +241 -241
- data/spec/unit/policy_builder/dynamic_spec.rb +273 -273
- data/spec/unit/policy_builder/expand_node_object_spec.rb +336 -336
- data/spec/unit/policy_builder/policyfile_spec.rb +745 -745
- data/spec/unit/policy_builder_spec.rb +26 -26
- data/spec/unit/property/state_spec.rb +508 -508
- data/spec/unit/property/validation_spec.rb +704 -704
- data/spec/unit/property_spec.rb +1227 -1227
- data/spec/unit/provider/apt_repository_spec.rb +178 -0
- data/spec/unit/provider/apt_update_spec.rb +113 -113
- data/spec/unit/provider/breakpoint_spec.rb +53 -53
- data/spec/unit/provider/cookbook_file/content_spec.rb +39 -39
- data/spec/unit/provider/cookbook_file_spec.rb +58 -58
- data/spec/unit/provider/cron/unix_spec.rb +139 -139
- data/spec/unit/provider/cron_spec.rb +1010 -1010
- data/spec/unit/provider/deploy/revision_spec.rb +110 -110
- data/spec/unit/provider/deploy/timestamped_spec.rb +40 -40
- data/spec/unit/provider/deploy_spec.rb +641 -641
- data/spec/unit/provider/directory_spec.rb +287 -287
- data/spec/unit/provider/dsc_resource_spec.rb +167 -167
- data/spec/unit/provider/dsc_script_spec.rb +173 -173
- data/spec/unit/provider/env/windows_spec.rb +103 -103
- data/spec/unit/provider/env_spec.rb +310 -310
- data/spec/unit/provider/erl_call_spec.rb +85 -85
- data/spec/unit/provider/execute_spec.rb +243 -243
- data/spec/unit/provider/file/content_spec.rb +114 -114
- data/spec/unit/provider/file_spec.rb +56 -56
- data/spec/unit/provider/git_spec.rb +668 -668
- data/spec/unit/provider/group/dscl_spec.rb +331 -331
- data/spec/unit/provider/group/gpasswd_spec.rb +116 -116
- data/spec/unit/provider/group/groupadd_spec.rb +174 -174
- data/spec/unit/provider/group/groupmod_spec.rb +133 -133
- data/spec/unit/provider/group/pw_spec.rb +138 -138
- data/spec/unit/provider/group/usermod_spec.rb +115 -115
- data/spec/unit/provider/group/windows_spec.rb +101 -101
- data/spec/unit/provider/group_spec.rb +286 -286
- data/spec/unit/provider/http_request_spec.rb +159 -159
- data/spec/unit/provider/ifconfig/aix_spec.rb +180 -180
- data/spec/unit/provider/ifconfig/debian_spec.rb +344 -344
- data/spec/unit/provider/ifconfig/redhat_spec.rb +73 -73
- data/spec/unit/provider/ifconfig_spec.rb +200 -200
- data/spec/unit/provider/launchd_spec.rb +189 -189
- data/spec/unit/provider/link_spec.rb +252 -252
- data/spec/unit/provider/log_spec.rb +75 -75
- data/spec/unit/provider/mdadm_spec.rb +131 -131
- data/spec/unit/provider/mount/aix_spec.rb +237 -238
- data/spec/unit/provider/mount/mount_spec.rb +474 -480
- data/spec/unit/provider/mount/solaris_spec.rb +822 -822
- data/spec/unit/provider/mount/windows_spec.rb +149 -151
- data/spec/unit/provider/mount_spec.rb +184 -203
- data/spec/unit/provider/ohai_spec.rb +84 -84
- data/spec/unit/provider/osx_profile_spec.rb +249 -249
- data/spec/unit/provider/package/aix_spec.rb +172 -172
- data/spec/unit/provider/package/apt_spec.rb +386 -386
- data/spec/unit/provider/package/chocolatey_spec.rb +501 -501
- data/spec/unit/provider/package/dpkg_spec.rb +287 -287
- data/spec/unit/provider/package/easy_install_spec.rb +108 -108
- data/spec/unit/provider/package/freebsd/pkg_spec.rb +274 -274
- data/spec/unit/provider/package/freebsd/pkgng_spec.rb +148 -148
- data/spec/unit/provider/package/freebsd/port_spec.rb +163 -163
- data/spec/unit/provider/package/homebrew_spec.rb +292 -292
- data/spec/unit/provider/package/ips_spec.rb +227 -227
- data/spec/unit/provider/package/macports_spec.rb +203 -203
- data/spec/unit/provider/package/openbsd_spec.rb +132 -132
- data/spec/unit/provider/package/pacman_spec.rb +194 -194
- data/spec/unit/provider/package/paludis_spec.rb +134 -134
- data/spec/unit/provider/package/portage_spec.rb +310 -310
- data/spec/unit/provider/package/rpm_spec.rb +429 -429
- data/spec/unit/provider/package/rubygems_spec.rb +782 -782
- data/spec/unit/provider/package/smartos_spec.rb +110 -110
- data/spec/unit/provider/package/solaris_spec.rb +167 -167
- data/spec/unit/provider/package/windows/exe_spec.rb +187 -187
- data/spec/unit/provider/package/windows/msi_spec.rb +159 -159
- data/spec/unit/provider/package/windows_spec.rb +397 -397
- data/spec/unit/provider/package/yum_spec.rb +2267 -2267
- data/spec/unit/provider/package/zypper_spec.rb +268 -268
- data/spec/unit/provider/package_spec.rb +870 -870
- data/spec/unit/provider/powershell_script_spec.rb +106 -106
- data/spec/unit/provider/registry_key_spec.rb +295 -295
- data/spec/unit/provider/remote_directory_spec.rb +221 -221
- data/spec/unit/provider/remote_file/cache_control_data_spec.rb +245 -245
- data/spec/unit/provider/remote_file/content_spec.rb +252 -252
- data/spec/unit/provider/remote_file/fetcher_spec.rb +94 -94
- data/spec/unit/provider/remote_file/ftp_spec.rb +217 -219
- data/spec/unit/provider/remote_file/http_spec.rb +322 -301
- data/spec/unit/provider/remote_file/local_file_spec.rb +103 -103
- data/spec/unit/provider/remote_file/network_file_spec.rb +45 -45
- data/spec/unit/provider/remote_file/sftp_spec.rb +150 -0
- data/spec/unit/provider/remote_file_spec.rb +61 -61
- data/spec/unit/provider/route_spec.rb +242 -242
- data/spec/unit/provider/ruby_block_spec.rb +45 -45
- data/spec/unit/provider/script_spec.rb +114 -114
- data/spec/unit/provider/service/aix_service_spec.rb +195 -195
- data/spec/unit/provider/service/aixinit_service_spec.rb +272 -272
- data/spec/unit/provider/service/arch_service_spec.rb +324 -324
- data/spec/unit/provider/service/debian_service_spec.rb +375 -375
- data/spec/unit/provider/service/freebsd_service_spec.rb +613 -613
- data/spec/unit/provider/service/gentoo_service_spec.rb +144 -144
- data/spec/unit/provider/service/init_service_spec.rb +235 -235
- data/spec/unit/provider/service/insserv_service_spec.rb +75 -75
- data/spec/unit/provider/service/invokercd_service_spec.rb +211 -211
- data/spec/unit/provider/service/macosx_spec.rb +335 -335
- data/spec/unit/provider/service/openbsd_service_spec.rb +545 -545
- data/spec/unit/provider/service/redhat_spec.rb +250 -236
- data/spec/unit/provider/service/simple_service_spec.rb +169 -169
- data/spec/unit/provider/service/solaris_smf_service_spec.rb +255 -255
- data/spec/unit/provider/service/systemd_service_spec.rb +370 -344
- data/spec/unit/provider/service/upstart_service_spec.rb +342 -342
- data/spec/unit/provider/service/windows_spec.rb +463 -463
- data/spec/unit/provider/service_spec.rb +168 -168
- data/spec/unit/provider/subversion_spec.rb +352 -298
- data/spec/unit/provider/template/content_spec.rb +169 -169
- data/spec/unit/provider/template_spec.rb +89 -89
- data/spec/unit/provider/user/dscl_spec.rb +901 -901
- data/spec/unit/provider/user/pw_spec.rb +252 -252
- data/spec/unit/provider/user/solaris_spec.rb +139 -139
- data/spec/unit/provider/user/useradd_spec.rb +51 -51
- data/spec/unit/provider/user/windows_spec.rb +185 -185
- data/spec/unit/provider/user_spec.rb +474 -474
- data/spec/unit/provider/whyrun_safe_ruby_block_spec.rb +46 -46
- data/spec/unit/provider_resolver_spec.rb +893 -893
- data/spec/unit/provider_spec.rb +198 -198
- data/spec/unit/pure_application_spec.rb +32 -32
- data/spec/unit/recipe_spec.rb +699 -699
- data/spec/unit/resource/apt_package_spec.rb +38 -38
- data/spec/unit/resource/apt_repository_spec.rb +34 -0
- data/spec/unit/resource/apt_update_spec.rb +38 -38
- data/spec/unit/resource/bash_spec.rb +40 -40
- data/spec/unit/resource/batch_spec.rb +49 -49
- data/spec/unit/resource/breakpoint_spec.rb +47 -47
- data/spec/unit/resource/chef_gem_spec.rb +157 -157
- data/spec/unit/resource/chocolatey_package_spec.rb +67 -67
- data/spec/unit/resource/conditional_action_not_nothing_spec.rb +45 -45
- data/spec/unit/resource/conditional_spec.rb +208 -208
- data/spec/unit/resource/cookbook_file_spec.rb +88 -88
- data/spec/unit/resource/cron_spec.rb +186 -186
- data/spec/unit/resource/csh_spec.rb +40 -40
- data/spec/unit/resource/deploy_revision_spec.rb +42 -42
- data/spec/unit/resource/deploy_spec.rb +283 -283
- data/spec/unit/resource/directory_spec.rb +82 -82
- data/spec/unit/resource/dpkg_package_spec.rb +32 -32
- data/spec/unit/resource/dsc_resource_spec.rb +96 -96
- data/spec/unit/resource/dsc_script_spec.rb +134 -134
- data/spec/unit/resource/easy_install_package_spec.rb +39 -39
- data/spec/unit/resource/env_spec.rb +85 -85
- data/spec/unit/resource/erl_call_spec.rb +81 -81
- data/spec/unit/resource/execute_spec.rb +35 -35
- data/spec/unit/resource/file/verification_spec.rb +139 -139
- data/spec/unit/resource/file_spec.rb +130 -130
- data/spec/unit/resource/freebsd_package_spec.rb +87 -87
- data/spec/unit/resource/gem_package_spec.rb +42 -42
- data/spec/unit/resource/git_spec.rb +50 -50
- data/spec/unit/resource/group_spec.rb +162 -162
- data/spec/unit/resource/homebrew_package_spec.rb +50 -50
- data/spec/unit/resource/http_request_spec.rb +59 -59
- data/spec/unit/resource/ifconfig_spec.rb +109 -109
- data/spec/unit/resource/ips_package_spec.rb +40 -40
- data/spec/unit/resource/ksh_spec.rb +40 -40
- data/spec/unit/resource/launchd_spec.rb +31 -31
- data/spec/unit/resource/link_spec.rb +134 -134
- data/spec/unit/resource/log_spec.rb +73 -73
- data/spec/unit/resource/macports_package_spec.rb +32 -32
- data/spec/unit/resource/mdadm_spec.rb +102 -102
- data/spec/unit/resource/mount_spec.rb +214 -214
- data/spec/unit/resource/ohai_spec.rb +61 -61
- data/spec/unit/resource/openbsd_package_spec.rb +48 -48
- data/spec/unit/resource/osx_profile_spec.rb +61 -61
- data/spec/unit/resource/package_spec.rb +93 -93
- data/spec/unit/resource/pacman_package_spec.rb +32 -32
- data/spec/unit/resource/perl_spec.rb +40 -40
- data/spec/unit/resource/portage_package_spec.rb +38 -38
- data/spec/unit/resource/powershell_script_spec.rb +136 -136
- data/spec/unit/resource/python_spec.rb +40 -40
- data/spec/unit/resource/registry_key_spec.rb +199 -199
- data/spec/unit/resource/remote_directory_spec.rb +97 -97
- data/spec/unit/resource/remote_file_spec.rb +207 -207
- data/spec/unit/resource/resource_notification_spec.rb +169 -169
- data/spec/unit/resource/route_spec.rb +107 -107
- data/spec/unit/resource/rpm_package_spec.rb +46 -46
- data/spec/unit/resource/ruby_block_spec.rb +61 -61
- data/spec/unit/resource/ruby_spec.rb +40 -40
- data/spec/unit/resource/scm_spec.rb +193 -193
- data/spec/unit/resource/script_spec.rb +44 -44
- data/spec/unit/resource/service_spec.rb +179 -179
- data/spec/unit/resource/smartos_package_spec.rb +33 -33
- data/spec/unit/resource/solaris_package_spec.rb +42 -42
- data/spec/unit/resource/subversion_spec.rb +71 -71
- data/spec/unit/resource/template_spec.rb +210 -210
- data/spec/unit/resource/timestamped_deploy_spec.rb +32 -32
- data/spec/unit/resource/user_spec.rb +133 -133
- data/spec/unit/resource/windows_package_spec.rb +95 -95
- data/spec/unit/resource/windows_service_spec.rb +49 -49
- data/spec/unit/resource/yum_package_spec.rb +89 -89
- data/spec/unit/resource_builder_spec.rb +1 -1
- data/spec/unit/resource_collection/resource_list_spec.rb +137 -137
- data/spec/unit/resource_collection/resource_set_spec.rb +199 -199
- data/spec/unit/resource_collection/stepable_iterator_spec.rb +144 -144
- data/spec/unit/resource_collection_spec.rb +369 -299
- data/spec/unit/resource_definition_spec.rb +117 -117
- data/spec/unit/resource_reporter_spec.rb +758 -758
- data/spec/unit/resource_resolver_spec.rb +52 -52
- data/spec/unit/resource_spec.rb +1101 -1101
- data/spec/unit/rest/auth_credentials_spec.rb +292 -296
- data/spec/unit/rest_spec.rb +753 -753
- data/spec/unit/role_spec.rb +358 -358
- data/spec/unit/run_context/child_run_context_spec.rb +133 -133
- data/spec/unit/run_context/cookbook_compiler_spec.rb +184 -184
- data/spec/unit/run_context_spec.rb +241 -241
- data/spec/unit/run_list/run_list_expansion_spec.rb +144 -144
- data/spec/unit/run_list/run_list_item_spec.rb +117 -117
- data/spec/unit/run_list/versioned_recipe_list_spec.rb +194 -194
- data/spec/unit/run_list_spec.rb +312 -312
- data/spec/unit/run_lock_spec.rb +140 -140
- data/spec/unit/run_status_spec.rb +144 -144
- data/spec/unit/runner_spec.rb +411 -411
- data/spec/unit/scan_access_control_spec.rb +183 -183
- data/spec/unit/search/query_spec.rb +289 -289
- data/spec/unit/shell/model_wrapper_spec.rb +96 -96
- data/spec/unit/shell/shell_ext_spec.rb +153 -153
- data/spec/unit/shell/shell_session_spec.rb +195 -195
- data/spec/unit/shell_out_spec.rb +18 -18
- data/spec/unit/shell_spec.rb +162 -162
- data/spec/unit/user_spec.rb +275 -275
- data/spec/unit/user_v1_spec.rb +583 -583
- data/spec/unit/util/backup_spec.rb +141 -141
- data/spec/unit/util/diff_spec.rb +576 -576
- data/spec/unit/util/dsc/configuration_generator_spec.rb +193 -193
- data/spec/unit/util/dsc/lcm_output_parser_spec.rb +164 -164
- data/spec/unit/util/dsc/local_configuration_manager_spec.rb +138 -138
- data/spec/unit/util/dsc/resource_store.rb +76 -76
- data/spec/unit/util/editor_spec.rb +152 -152
- data/spec/unit/util/file_edit_spec.rb +224 -224
- data/spec/unit/util/powershell/cmdlet_spec.rb +106 -106
- data/spec/unit/util/powershell/ps_credential_spec.rb +44 -44
- data/spec/unit/util/selinux_spec.rb +171 -171
- data/spec/unit/util/threaded_job_queue_spec.rb +51 -51
- data/spec/unit/version/platform_spec.rb +60 -60
- data/spec/unit/version_class_spec.rb +171 -171
- data/spec/unit/version_constraint/platform_spec.rb +45 -45
- data/spec/unit/version_constraint_spec.rb +179 -179
- data/spec/unit/win32/registry_spec.rb +394 -394
- data/spec/unit/windows_service_spec.rb +116 -116
- data/tasks/cbgb.rb +84 -84
- data/tasks/external_tests.rb +64 -64
- data/tasks/maintainers.rb +210 -210
- data/tasks/rspec.rb +89 -89
- metadata +55 -464
@@ -1,26 +1,26 @@
|
|
1
|
-
# Author:: Xabier de Zuazo (<xabier@onddo.com>)
|
2
|
-
# Copyright:: Copyright 2013-2016, Onddo Labs, SL.
|
3
|
-
# License:: Apache License, Version 2.0
|
4
|
-
#
|
5
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
-
# you may not use this file except in compliance with the License.
|
7
|
-
# You may obtain a copy of the License at
|
8
|
-
#
|
9
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
-
#
|
11
|
-
# Unless required by applicable law or agreed to in writing, software
|
12
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
-
# See the License for the specific language governing permissions and
|
15
|
-
# limitations under the License.
|
16
|
-
require "chef/version_constraint"
|
17
|
-
require "chef/version/platform"
|
18
|
-
|
19
|
-
class Chef
|
20
|
-
class VersionConstraint
|
21
|
-
class Platform < Chef::VersionConstraint
|
22
|
-
VERSION_CLASS = Chef::Version::Platform
|
23
|
-
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
1
|
+
# Author:: Xabier de Zuazo (<xabier@onddo.com>)
|
2
|
+
# Copyright:: Copyright 2013-2016, Onddo Labs, SL.
|
3
|
+
# License:: Apache License, Version 2.0
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
require "chef/version_constraint"
|
17
|
+
require "chef/version/platform"
|
18
|
+
|
19
|
+
class Chef
|
20
|
+
class VersionConstraint
|
21
|
+
class Platform < Chef::VersionConstraint
|
22
|
+
VERSION_CLASS = Chef::Version::Platform
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/lib/chef/whitelist.rb
CHANGED
@@ -1,86 +1,86 @@
|
|
1
|
-
|
2
|
-
require "chef/exceptions"
|
3
|
-
|
4
|
-
class Chef
|
5
|
-
class Whitelist
|
6
|
-
|
7
|
-
# filter takes two arguments - the data you want to filter, and a whitelisted array
|
8
|
-
# of keys you want included. You can capture a subtree of the data to filter by
|
9
|
-
# providing a "/"-delimited string of keys. If some key includes "/"-characters,
|
10
|
-
# you must provide an array of keys instead.
|
11
|
-
#
|
12
|
-
# Whitelist.filter(
|
13
|
-
# { "filesystem" => {
|
14
|
-
# "/dev/disk" => {
|
15
|
-
# "size" => "10mb"
|
16
|
-
# },
|
17
|
-
# "map - autohome" => {
|
18
|
-
# "size" => "10mb"
|
19
|
-
# }
|
20
|
-
# },
|
21
|
-
# "network" => {
|
22
|
-
# "interfaces" => {
|
23
|
-
# "eth0" => {...},
|
24
|
-
# "eth1" => {...}
|
25
|
-
# }
|
26
|
-
# }
|
27
|
-
# },
|
28
|
-
# ["network/interfaces/eth0", ["filesystem", "/dev/disk"]])
|
29
|
-
# will capture the eth0 and /dev/disk subtrees.
|
30
|
-
def self.filter(data, whitelist = nil)
|
31
|
-
return data if whitelist.nil?
|
32
|
-
|
33
|
-
new_data = {}
|
34
|
-
whitelist.each do |item|
|
35
|
-
add_data(data, new_data, item)
|
36
|
-
end
|
37
|
-
new_data
|
38
|
-
end
|
39
|
-
|
40
|
-
# Walk the data has according to the keys provided by the whitelisted item
|
41
|
-
# and add the data to the whitelisting result.
|
42
|
-
def self.add_data(data, new_data, item)
|
43
|
-
parts = to_array(item)
|
44
|
-
|
45
|
-
all_data = data
|
46
|
-
filtered_data = new_data
|
47
|
-
parts[0..-2].each do |part|
|
48
|
-
unless all_data[part]
|
49
|
-
Chef::Log.warn("Could not find whitelist attribute #{item}.")
|
50
|
-
return nil
|
51
|
-
end
|
52
|
-
|
53
|
-
filtered_data[part] ||= {}
|
54
|
-
filtered_data = filtered_data[part]
|
55
|
-
all_data = all_data[part]
|
56
|
-
end
|
57
|
-
|
58
|
-
# Note: You can't do all_data[parts[-1]] here because the value
|
59
|
-
# may be false-y
|
60
|
-
unless all_data.key?(parts[-1])
|
61
|
-
Chef::Log.warn("Could not find whitelist attribute #{item}.")
|
62
|
-
return nil
|
63
|
-
end
|
64
|
-
|
65
|
-
filtered_data[parts[-1]] = all_data[parts[-1]]
|
66
|
-
new_data
|
67
|
-
end
|
68
|
-
|
69
|
-
private_class_method :add_data
|
70
|
-
|
71
|
-
# Accepts a String or an Array, and returns an Array of String keys that
|
72
|
-
# are used to traverse the data hash. Strings are split on "/", Arrays are
|
73
|
-
# assumed to contain exact keys (that is, Array elements will not be split
|
74
|
-
# by "/").
|
75
|
-
def self.to_array(item)
|
76
|
-
return item if item.kind_of? Array
|
77
|
-
|
78
|
-
parts = item.split("/")
|
79
|
-
parts.shift if !parts.empty? && parts[0].empty?
|
80
|
-
parts
|
81
|
-
end
|
82
|
-
|
83
|
-
private_class_method :to_array
|
84
|
-
|
85
|
-
end
|
86
|
-
end
|
1
|
+
|
2
|
+
require "chef/exceptions"
|
3
|
+
|
4
|
+
class Chef
|
5
|
+
class Whitelist
|
6
|
+
|
7
|
+
# filter takes two arguments - the data you want to filter, and a whitelisted array
|
8
|
+
# of keys you want included. You can capture a subtree of the data to filter by
|
9
|
+
# providing a "/"-delimited string of keys. If some key includes "/"-characters,
|
10
|
+
# you must provide an array of keys instead.
|
11
|
+
#
|
12
|
+
# Whitelist.filter(
|
13
|
+
# { "filesystem" => {
|
14
|
+
# "/dev/disk" => {
|
15
|
+
# "size" => "10mb"
|
16
|
+
# },
|
17
|
+
# "map - autohome" => {
|
18
|
+
# "size" => "10mb"
|
19
|
+
# }
|
20
|
+
# },
|
21
|
+
# "network" => {
|
22
|
+
# "interfaces" => {
|
23
|
+
# "eth0" => {...},
|
24
|
+
# "eth1" => {...}
|
25
|
+
# }
|
26
|
+
# }
|
27
|
+
# },
|
28
|
+
# ["network/interfaces/eth0", ["filesystem", "/dev/disk"]])
|
29
|
+
# will capture the eth0 and /dev/disk subtrees.
|
30
|
+
def self.filter(data, whitelist = nil)
|
31
|
+
return data if whitelist.nil?
|
32
|
+
|
33
|
+
new_data = {}
|
34
|
+
whitelist.each do |item|
|
35
|
+
add_data(data, new_data, item)
|
36
|
+
end
|
37
|
+
new_data
|
38
|
+
end
|
39
|
+
|
40
|
+
# Walk the data has according to the keys provided by the whitelisted item
|
41
|
+
# and add the data to the whitelisting result.
|
42
|
+
def self.add_data(data, new_data, item)
|
43
|
+
parts = to_array(item)
|
44
|
+
|
45
|
+
all_data = data
|
46
|
+
filtered_data = new_data
|
47
|
+
parts[0..-2].each do |part|
|
48
|
+
unless all_data[part]
|
49
|
+
Chef::Log.warn("Could not find whitelist attribute #{item}.")
|
50
|
+
return nil
|
51
|
+
end
|
52
|
+
|
53
|
+
filtered_data[part] ||= {}
|
54
|
+
filtered_data = filtered_data[part]
|
55
|
+
all_data = all_data[part]
|
56
|
+
end
|
57
|
+
|
58
|
+
# Note: You can't do all_data[parts[-1]] here because the value
|
59
|
+
# may be false-y
|
60
|
+
unless all_data.key?(parts[-1])
|
61
|
+
Chef::Log.warn("Could not find whitelist attribute #{item}.")
|
62
|
+
return nil
|
63
|
+
end
|
64
|
+
|
65
|
+
filtered_data[parts[-1]] = all_data[parts[-1]]
|
66
|
+
new_data
|
67
|
+
end
|
68
|
+
|
69
|
+
private_class_method :add_data
|
70
|
+
|
71
|
+
# Accepts a String or an Array, and returns an Array of String keys that
|
72
|
+
# are used to traverse the data hash. Strings are split on "/", Arrays are
|
73
|
+
# assumed to contain exact keys (that is, Array elements will not be split
|
74
|
+
# by "/").
|
75
|
+
def self.to_array(item)
|
76
|
+
return item if item.kind_of? Array
|
77
|
+
|
78
|
+
parts = item.split("/")
|
79
|
+
parts.shift if !parts.empty? && parts[0].empty?
|
80
|
+
parts
|
81
|
+
end
|
82
|
+
|
83
|
+
private_class_method :to_array
|
84
|
+
|
85
|
+
end
|
86
|
+
end
|
data/lib/chef/win32/api.rb
CHANGED
@@ -1,374 +1,374 @@
|
|
1
|
-
#
|
2
|
-
# Author:: Seth Chisamore (<schisamo@chef.io>)
|
3
|
-
# Author:: John Keiser (<jkeiser@chef.io>)
|
4
|
-
# Copyright:: Copyright 2011-2016, Chef Software Inc.
|
5
|
-
# License:: Apache License, Version 2.0
|
6
|
-
#
|
7
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
-
# you may not use this file except in compliance with the License.
|
9
|
-
# You may obtain a copy of the License at
|
10
|
-
#
|
11
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
-
#
|
13
|
-
# Unless required by applicable law or agreed to in writing, software
|
14
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
-
# See the License for the specific language governing permissions and
|
17
|
-
# limitations under the License.
|
18
|
-
#
|
19
|
-
|
20
|
-
require "ffi"
|
21
|
-
require "chef/reserved_names"
|
22
|
-
require "chef/exceptions"
|
23
|
-
|
24
|
-
class Chef
|
25
|
-
module ReservedNames::Win32
|
26
|
-
module API
|
27
|
-
|
28
|
-
# Attempts to use FFI's attach_function method to link a native Win32
|
29
|
-
# function into the calling module. If this fails a dummy method is
|
30
|
-
# defined which when called, raises a helpful exception to the end-user.
|
31
|
-
def safe_attach_function(win32_func, *args)
|
32
|
-
begin
|
33
|
-
attach_function(win32_func.to_sym, *args)
|
34
|
-
rescue FFI::NotFoundError
|
35
|
-
define_method(win32_func.to_sym) do |*margs|
|
36
|
-
raise Chef::Exceptions::Win32APIFunctionNotImplemented, "This version of Windows does not implement the Win32 function [#{win32_func}]."
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
# put shared stuff (like constants) for all raw Win32 API calls
|
42
|
-
def self.extended(host)
|
43
|
-
host.extend FFI::Library
|
44
|
-
host.extend Macros
|
45
|
-
|
46
|
-
host.ffi_convention :stdcall
|
47
|
-
|
48
|
-
# Windows-specific type defs (ms-help://MS.MSDNQTR.v90.en/winprog/winprog/windows_data_types.htm):
|
49
|
-
host.typedef :ushort, :ATOM # Atom ~= Symbol: Atom table stores strings and corresponding identifiers. Application
|
50
|
-
# places a string in an atom table and receives a 16-bit integer, called an atom, that
|
51
|
-
# can be used to access the string. Placed string is called an atom name.
|
52
|
-
# See: http://msdn.microsoft.com/en-us/library/ms648708%28VS.85%29.aspx
|
53
|
-
host.typedef :bool, :BOOL
|
54
|
-
host.typedef :bool, :BOOLEAN
|
55
|
-
host.typedef :uchar, :BYTE # Byte (8 bits). Declared as unsigned char
|
56
|
-
#CALLBACK: K, # Win32.API gem-specific ?? MSDN: #define CALLBACK __stdcall
|
57
|
-
host.typedef :char, :CHAR # 8-bit Windows (ANSI) character. See http://msdn.microsoft.com/en-us/library/dd183415%28VS.85%29.aspx
|
58
|
-
host.typedef :uint32, :COLORREF # Red, green, blue (RGB) color value (32 bits). See COLORREF for more info.
|
59
|
-
host.typedef :uint32, :DWORD # 32-bit unsigned integer. The range is 0 through 4,294,967,295 decimal.
|
60
|
-
host.typedef :uint64, :DWORDLONG # 64-bit unsigned integer. The range is 0 through 18,446,744,073,709,551,615 decimal.
|
61
|
-
host.typedef :ulong, :DWORD_PTR # Unsigned long type for pointer precision. Use when casting a pointer to a long type
|
62
|
-
# to perform pointer arithmetic. (Also commonly used for general 32-bit parameters that have
|
63
|
-
# been extended to 64 bits in 64-bit Windows.) BaseTsd.h: #host.typedef ULONG_PTR DWORD_PTR;
|
64
|
-
host.typedef :uint32, :DWORD32
|
65
|
-
host.typedef :uint64, :DWORD64
|
66
|
-
host.typedef :int, :HALF_PTR # Half the size of a pointer. Use within a structure that contains a pointer and two small fields.
|
67
|
-
# BaseTsd.h: #ifdef (_WIN64) host.typedef int HALF_PTR; #else host.typedef short HALF_PTR;
|
68
|
-
host.typedef :ulong, :HACCEL # (L) Handle to an accelerator table. WinDef.h: #host.typedef HANDLE HACCEL;
|
69
|
-
# See http://msdn.microsoft.com/en-us/library/ms645526%28VS.85%29.aspx
|
70
|
-
host.typedef :size_t, :HANDLE # (L) Handle to an object. WinNT.h: #host.typedef PVOID HANDLE;
|
71
|
-
# todo: Platform-dependent! Need to change to :uint64 for Win64
|
72
|
-
host.typedef :ulong, :HBITMAP # (L) Handle to a bitmap: http://msdn.microsoft.com/en-us/library/dd183377%28VS.85%29.aspx
|
73
|
-
host.typedef :ulong, :HBRUSH # (L) Handle to a brush. http://msdn.microsoft.com/en-us/library/dd183394%28VS.85%29.aspx
|
74
|
-
host.typedef :ulong, :HCOLORSPACE # (L) Handle to a color space. http://msdn.microsoft.com/en-us/library/ms536546%28VS.85%29.aspx
|
75
|
-
host.typedef :ulong, :HCURSOR # (L) Handle to a cursor. http://msdn.microsoft.com/en-us/library/ms646970%28VS.85%29.aspx
|
76
|
-
host.typedef :ulong, :HCONV # (L) Handle to a dynamic data exchange (DDE) conversation.
|
77
|
-
host.typedef :ulong, :HCONVLIST # (L) Handle to a DDE conversation list. HANDLE - L ?
|
78
|
-
host.typedef :ulong, :HDDEDATA # (L) Handle to DDE data (structure?)
|
79
|
-
host.typedef :ulong, :HDC # (L) Handle to a device context (DC). http://msdn.microsoft.com/en-us/library/dd183560%28VS.85%29.aspx
|
80
|
-
host.typedef :ulong, :HDESK # (L) Handle to a desktop. http://msdn.microsoft.com/en-us/library/ms682573%28VS.85%29.aspx
|
81
|
-
host.typedef :ulong, :HDROP # (L) Handle to an internal drop structure.
|
82
|
-
host.typedef :ulong, :HDWP # (L) Handle to a deferred window position structure.
|
83
|
-
host.typedef :ulong, :HENHMETAFILE #(L) Handle to an enhanced metafile. http://msdn.microsoft.com/en-us/library/dd145051%28VS.85%29.aspx
|
84
|
-
host.typedef :uint, :HFILE # (I) Special file handle to a file opened by OpenFile, not CreateFile.
|
85
|
-
# WinDef.h: #host.typedef int HFILE;
|
86
|
-
host.typedef :ulong, :HFONT # (L) Handle to a font. http://msdn.microsoft.com/en-us/library/dd162470%28VS.85%29.aspx
|
87
|
-
host.typedef :ulong, :HGDIOBJ # (L) Handle to a GDI object.
|
88
|
-
host.typedef :ulong, :HGLOBAL # (L) Handle to a global memory block.
|
89
|
-
host.typedef :ulong, :HHOOK # (L) Handle to a hook. http://msdn.microsoft.com/en-us/library/ms632589%28VS.85%29.aspx
|
90
|
-
host.typedef :ulong, :HICON # (L) Handle to an icon. http://msdn.microsoft.com/en-us/library/ms646973%28VS.85%29.aspx
|
91
|
-
host.typedef :ulong, :HINSTANCE # (L) Handle to an instance. This is the base address of the module in memory.
|
92
|
-
# HMODULE and HINSTANCE are the same today, but were different in 16-bit Windows.
|
93
|
-
host.typedef :ulong, :HKEY # (L) Handle to a registry key.
|
94
|
-
host.typedef :ulong, :HKL # (L) Input locale identifier.
|
95
|
-
host.typedef :ulong, :HLOCAL # (L) Handle to a local memory block.
|
96
|
-
host.typedef :ulong, :HMENU # (L) Handle to a menu. http://msdn.microsoft.com/en-us/library/ms646977%28VS.85%29.aspx
|
97
|
-
host.typedef :ulong, :HMETAFILE # (L) Handle to a metafile. http://msdn.microsoft.com/en-us/library/dd145051%28VS.85%29.aspx
|
98
|
-
host.typedef :ulong, :HMODULE # (L) Handle to an instance. Same as HINSTANCE today, but was different in 16-bit Windows.
|
99
|
-
host.typedef :ulong, :HMONITOR # (L) Рandle to a display monitor. WinDef.h: if(WINVER >= 0x0500) host.typedef HANDLE HMONITOR;
|
100
|
-
host.typedef :ulong, :HPALETTE # (L) Handle to a palette.
|
101
|
-
host.typedef :ulong, :HPEN # (L) Handle to a pen. http://msdn.microsoft.com/en-us/library/dd162786%28VS.85%29.aspx
|
102
|
-
host.typedef :long, :HRESULT # Return code used by COM interfaces. For more info, Structure of the COM Error Codes.
|
103
|
-
# To test an HRESULT value, use the FAILED and SUCCEEDED macros.
|
104
|
-
host.typedef :ulong, :HRGN # (L) Handle to a region. http://msdn.microsoft.com/en-us/library/dd162913%28VS.85%29.aspx
|
105
|
-
host.typedef :ulong, :HRSRC # (L) Handle to a resource.
|
106
|
-
host.typedef :ulong, :HSZ # (L) Handle to a DDE string.
|
107
|
-
host.typedef :ulong, :HWINSTA # (L) Handle to a window station. http://msdn.microsoft.com/en-us/library/ms687096%28VS.85%29.aspx
|
108
|
-
host.typedef :ulong, :HWND # (L) Handle to a window. http://msdn.microsoft.com/en-us/library/ms632595%28VS.85%29.aspx
|
109
|
-
host.typedef :int, :INT # 32-bit signed integer. The range is -2147483648 through 2147483647 decimal.
|
110
|
-
host.typedef :int, :INT_PTR # Signed integer type for pointer precision. Use when casting a pointer to an integer
|
111
|
-
# to perform pointer arithmetic. BaseTsd.h:
|
112
|
-
#if defined(_WIN64) host.typedef __int64 INT_PTR; #else host.typedef int INT_PTR;
|
113
|
-
host.typedef :int32, :INT32 # 32-bit signed integer. The range is -2,147,483,648 through +...647 decimal.
|
114
|
-
host.typedef :int64, :INT64 # 64-bit signed integer. The range is –9,223,372,036,854,775,808 through +...807
|
115
|
-
host.typedef :ushort, :LANGID # Language identifier. For more information, see Locales. WinNT.h: #host.typedef WORD LANGID;
|
116
|
-
# See http://msdn.microsoft.com/en-us/library/dd318716%28VS.85%29.aspx
|
117
|
-
host.typedef :uint32, :LCID # Locale identifier. For more information, see Locales.
|
118
|
-
host.typedef :uint32, :LCTYPE # Locale information type. For a list, see Locale Information Constants.
|
119
|
-
host.typedef :uint32, :LGRPID # Language group identifier. For a list, see EnumLanguageGroupLocales.
|
120
|
-
host.typedef :pointer, :LMSTR # Pointer to null termiated string of unicode characters
|
121
|
-
host.typedef :long, :LONG # 32-bit signed integer. The range is -2,147,483,648 through +...647 decimal.
|
122
|
-
host.typedef :int32, :LONG32 # 32-bit signed integer. The range is -2,147,483,648 through +...647 decimal.
|
123
|
-
host.typedef :int64, :LONG64 # 64-bit signed integer. The range is –9,223,372,036,854,775,808 through +...807
|
124
|
-
host.typedef :int64, :LONGLONG # 64-bit signed integer. The range is –9,223,372,036,854,775,808 through +...807
|
125
|
-
host.typedef :long, :LONG_PTR # Signed long type for pointer precision. Use when casting a pointer to a long to
|
126
|
-
# perform pointer arithmetic. BaseTsd.h:
|
127
|
-
#if defined(_WIN64) host.typedef __int64 LONG_PTR; #else host.typedef long LONG_PTR;
|
128
|
-
host.typedef :long, :LPARAM # Message parameter. WinDef.h as follows: #host.typedef LONG_PTR LPARAM;
|
129
|
-
host.typedef :pointer, :LPBOOL # Pointer to a BOOL. WinDef.h as follows: #host.typedef BOOL far *LPBOOL;
|
130
|
-
host.typedef :pointer, :LPBYTE # Pointer to a BYTE. WinDef.h as follows: #host.typedef BYTE far *LPBYTE;
|
131
|
-
host.typedef :pointer, :LPCOLORREF # Pointer to a COLORREF value. WinDef.h as follows: #host.typedef DWORD *LPCOLORREF;
|
132
|
-
host.typedef :pointer, :LPCSTR # Pointer to a constant null-terminated string of 8-bit Windows (ANSI) characters.
|
133
|
-
# See Character Sets Used By Fonts. http://msdn.microsoft.com/en-us/library/dd183415%28VS.85%29.aspx
|
134
|
-
host.typedef :pointer, :LPCTSTR # An LPCWSTR if UNICODE is defined, an LPCSTR otherwise.
|
135
|
-
host.typedef :pointer, :LPCVOID # Pointer to a constant of any type. WinDef.h as follows: host.typedef CONST void *LPCVOID;
|
136
|
-
host.typedef :pointer, :LPCWSTR # Pointer to a constant null-terminated string of 16-bit Unicode characters.
|
137
|
-
host.typedef :pointer, :LPDWORD # Pointer to a DWORD. WinDef.h as follows: host.typedef DWORD *LPDWORD;
|
138
|
-
host.typedef :pointer, :LPHANDLE # Pointer to a HANDLE. WinDef.h as follows: host.typedef HANDLE *LPHANDLE;
|
139
|
-
host.typedef :pointer, :LPINT # Pointer to an INT.
|
140
|
-
host.typedef :pointer, :LPLONG # Pointer to an LONG.
|
141
|
-
host.typedef :pointer, :LPSECURITY_ATTRIBUTES # Pointer to SECURITY_ATTRIBUTES struct
|
142
|
-
host.typedef :pointer, :LPSTR # Pointer to a null-terminated string of 8-bit Windows (ANSI) characters.
|
143
|
-
host.typedef :pointer, :LPTSTR # An LPWSTR if UNICODE is defined, an LPSTR otherwise.
|
144
|
-
host.typedef :pointer, :LPVOID # Pointer to any type.
|
145
|
-
host.typedef :pointer, :LPWORD # Pointer to a WORD.
|
146
|
-
host.typedef :pointer, :LPWSTR # Pointer to a null-terminated string of 16-bit Unicode characters.
|
147
|
-
host.typedef :long, :LRESULT # Signed result of message processing. WinDef.h: host.typedef LONG_PTR LRESULT;
|
148
|
-
host.typedef :pointer, :LPWIN32_FIND_DATA # Pointer to WIN32_FIND_DATA struct
|
149
|
-
host.typedef :pointer, :LPBY_HANDLE_FILE_INFORMATION # Point to a BY_HANDLE_FILE_INFORMATION struct
|
150
|
-
host.typedef :pointer, :LSA_HANDLE # A handle to a Policy object
|
151
|
-
host.typedef :ulong, :NTSTATUS # An NTSTATUS code returned by an LSA function call.
|
152
|
-
host.typedef :pointer, :PBOOL # Pointer to a BOOL.
|
153
|
-
host.typedef :pointer, :PBOOLEAN # Pointer to a BOOL.
|
154
|
-
host.typedef :pointer, :PBYTE # Pointer to a BYTE.
|
155
|
-
host.typedef :pointer, :PCHAR # Pointer to a CHAR.
|
156
|
-
host.typedef :pointer, :PCSTR # Pointer to a constant null-terminated string of 8-bit Windows (ANSI) characters.
|
157
|
-
host.typedef :pointer, :PCTSTR # A PCWSTR if UNICODE is defined, a PCSTR otherwise.
|
158
|
-
host.typedef :pointer, :PCWSTR # Pointer to a constant null-terminated string of 16-bit Unicode characters.
|
159
|
-
host.typedef :pointer, :PDWORD # Pointer to a DWORD.
|
160
|
-
host.typedef :pointer, :PDWORDLONG # Pointer to a DWORDLONG.
|
161
|
-
host.typedef :pointer, :PDWORD_PTR # Pointer to a DWORD_PTR.
|
162
|
-
host.typedef :pointer, :PDWORD32 # Pointer to a DWORD32.
|
163
|
-
host.typedef :pointer, :PDWORD64 # Pointer to a DWORD64.
|
164
|
-
host.typedef :pointer, :PFLOAT # Pointer to a FLOAT.
|
165
|
-
host.typedef :pointer, :PGENERICMAPPING #Pointer to GENERIC_MAPPING
|
166
|
-
host.typedef :pointer, :PHALF_PTR # Pointer to a HALF_PTR.
|
167
|
-
host.typedef :pointer, :PHANDLE # Pointer to a HANDLE.
|
168
|
-
host.typedef :pointer, :PHKEY # Pointer to an HKEY.
|
169
|
-
host.typedef :pointer, :PINT # Pointer to an INT.
|
170
|
-
host.typedef :pointer, :PINT_PTR # Pointer to an INT_PTR.
|
171
|
-
host.typedef :pointer, :PINT32 # Pointer to an INT32.
|
172
|
-
host.typedef :pointer, :PINT64 # Pointer to an INT64.
|
173
|
-
host.typedef :pointer, :PLCID # Pointer to an LCID.
|
174
|
-
host.typedef :pointer, :PLONG # Pointer to a LONG.
|
175
|
-
host.typedef :pointer, :PLONGLONG # Pointer to a LONGLONG.
|
176
|
-
host.typedef :pointer, :PLONG_PTR # Pointer to a LONG_PTR.
|
177
|
-
host.typedef :pointer, :PLONG32 # Pointer to a LONG32.
|
178
|
-
host.typedef :pointer, :PLONG64 # Pointer to a LONG64.
|
179
|
-
host.typedef :pointer, :PLSA_HANDLE # Pointer to an LSA_HANDLE
|
180
|
-
host.typedef :pointer, :PLSA_OBJECT_ATTRIBUTES # Pointer to an LSA_OBJECT_ATTRIBUTES
|
181
|
-
host.typedef :pointer, :PLSA_UNICODE_STRING # Pointer to LSA_UNICODE_STRING
|
182
|
-
host.typedef :pointer, :PLUID # Pointer to a LUID.
|
183
|
-
host.typedef :pointer, :POINTER_32 # 32-bit pointer. On a 32-bit system, this is a native pointer. On a 64-bit system, this is a truncated 64-bit pointer.
|
184
|
-
host.typedef :pointer, :POINTER_64 # 64-bit pointer. On a 64-bit system, this is a native pointer. On a 32-bit system, this is a sign-extended 32-bit pointer.
|
185
|
-
host.typedef :pointer, :POINTER_SIGNED # A signed pointer.
|
186
|
-
host.typedef :pointer, :POINTER_UNSIGNED # An unsigned pointer.
|
187
|
-
host.typedef :pointer, :PSHORT # Pointer to a SHORT.
|
188
|
-
host.typedef :pointer, :PSID # Pointer to an account SID
|
189
|
-
host.typedef :pointer, :PSIZE_T # Pointer to a SIZE_T.
|
190
|
-
host.typedef :pointer, :PSSIZE_T # Pointer to a SSIZE_T.
|
191
|
-
host.typedef :pointer, :PSTR # Pointer to a null-terminated string of 8-bit Windows (ANSI) characters. For more information, see Character Sets Used By Fonts.
|
192
|
-
host.typedef :pointer, :PTBYTE # Pointer to a TBYTE.
|
193
|
-
host.typedef :pointer, :PTCHAR # Pointer to a TCHAR.
|
194
|
-
host.typedef :pointer, :PCRYPTPROTECT_PROMPTSTRUCT # Pointer to a CRYPTOPROTECT_PROMPTSTRUCT.
|
195
|
-
host.typedef :pointer, :PDATA_BLOB # Pointer to a DATA_BLOB.
|
196
|
-
host.typedef :pointer, :PTSTR # A PWSTR if UNICODE is defined, a PSTR otherwise.
|
197
|
-
host.typedef :pointer, :PUCHAR # Pointer to a UCHAR.
|
198
|
-
host.typedef :pointer, :PUHALF_PTR # Pointer to a UHALF_PTR.
|
199
|
-
host.typedef :pointer, :PUINT # Pointer to a UINT.
|
200
|
-
host.typedef :pointer, :PUINT_PTR # Pointer to a UINT_PTR.
|
201
|
-
host.typedef :pointer, :PUINT32 # Pointer to a UINT32.
|
202
|
-
host.typedef :pointer, :PUINT64 # Pointer to a UINT64.
|
203
|
-
host.typedef :pointer, :PULONG # Pointer to a ULONG.
|
204
|
-
host.typedef :pointer, :PULONGLONG # Pointer to a ULONGLONG.
|
205
|
-
host.typedef :pointer, :PULONG_PTR # Pointer to a ULONG_PTR.
|
206
|
-
host.typedef :pointer, :PULONG32 # Pointer to a ULONG32.
|
207
|
-
host.typedef :pointer, :PULONG64 # Pointer to a ULONG64.
|
208
|
-
host.typedef :pointer, :PUSHORT # Pointer to a USHORT.
|
209
|
-
host.typedef :pointer, :PVOID # Pointer to any type.
|
210
|
-
host.typedef :pointer, :PWCHAR # Pointer to a WCHAR.
|
211
|
-
host.typedef :pointer, :PWORD # Pointer to a WORD.
|
212
|
-
host.typedef :pointer, :PWSTR # Pointer to a null- terminated string of 16-bit Unicode characters.
|
213
|
-
# For more information, see Character Sets Used By Fonts.
|
214
|
-
host.typedef :ulong, :SC_HANDLE # (L) Handle to a service control manager database.
|
215
|
-
# See SCM Handles http://msdn.microsoft.com/en-us/library/ms685104%28VS.85%29.aspx
|
216
|
-
host.typedef :pointer, :SC_LOCK # Lock to a service control manager database. For more information, see SCM Handles.
|
217
|
-
host.typedef :ulong, :SERVICE_STATUS_HANDLE # (L) Handle to a service status value. See SCM Handles.
|
218
|
-
host.typedef :short, :SHORT # A 16-bit integer. The range is –32768 through 32767 decimal.
|
219
|
-
host.typedef :ulong, :SIZE_T # The maximum number of bytes to which a pointer can point. Use for a count that must span the full range of a pointer.
|
220
|
-
host.typedef :long, :SSIZE_T # Signed SIZE_T.
|
221
|
-
host.typedef :char, :TBYTE # A WCHAR if UNICODE is defined, a CHAR otherwise.TCHAR:
|
222
|
-
# http://msdn.microsoft.com/en-us/library/c426s321%28VS.80%29.aspx
|
223
|
-
host.typedef :char, :TCHAR # A WCHAR if UNICODE is defined, a CHAR otherwise.TCHAR:
|
224
|
-
host.typedef :uchar, :UCHAR # Unsigned CHAR (8 bit)
|
225
|
-
host.typedef :uint, :UHALF_PTR # Unsigned HALF_PTR. Use within a structure that contains a pointer and two small fields.
|
226
|
-
host.typedef :uint, :UINT # Unsigned INT. The range is 0 through 4294967295 decimal.
|
227
|
-
host.typedef :uint, :UINT_PTR # Unsigned INT_PTR.
|
228
|
-
host.typedef :uint32, :UINT32 # Unsigned INT32. The range is 0 through 4294967295 decimal.
|
229
|
-
host.typedef :uint64, :UINT64 # Unsigned INT64. The range is 0 through 18446744073709551615 decimal.
|
230
|
-
host.typedef :ulong, :ULONG # Unsigned LONG. The range is 0 through 4294967295 decimal.
|
231
|
-
host.typedef :ulong_long, :ULONGLONG # 64-bit unsigned integer. The range is 0 through 18446744073709551615 decimal.
|
232
|
-
host.typedef :ulong, :ULONG_PTR # Unsigned LONG_PTR.
|
233
|
-
host.typedef :uint32, :ULONG32 # Unsigned INT32. The range is 0 through 4294967295 decimal.
|
234
|
-
host.typedef :uint64, :ULONG64 # Unsigned LONG64. The range is 0 through 18446744073709551615 decimal.
|
235
|
-
host.typedef :pointer, :UNICODE_STRING # Pointer to some string structure??
|
236
|
-
host.typedef :ushort, :USHORT # Unsigned SHORT. The range is 0 through 65535 decimal.
|
237
|
-
host.typedef :ulong_long, :USN # Update sequence number (USN).
|
238
|
-
host.typedef :ushort, :WCHAR # 16-bit Unicode character. For more information, see Character Sets Used By Fonts.
|
239
|
-
# In WinNT.h: host.typedef wchar_t WCHAR;
|
240
|
-
#WINAPI: K, # Calling convention for system functions. WinDef.h: define WINAPI __stdcall
|
241
|
-
host.typedef :ushort, :WORD # 16-bit unsigned integer. The range is 0 through 65535 decimal.
|
242
|
-
host.typedef :uint, :WPARAM # Message parameter. WinDef.h as follows: host.typedef UINT_PTR WPARAM;
|
243
|
-
end
|
244
|
-
|
245
|
-
module Macros
|
246
|
-
|
247
|
-
###############################################
|
248
|
-
# winbase.h
|
249
|
-
###############################################
|
250
|
-
|
251
|
-
def LocalDiscard(pointer)
|
252
|
-
LocalReAlloc(pointer, 0, LMEM_MOVEABLE)
|
253
|
-
end
|
254
|
-
|
255
|
-
###############################################
|
256
|
-
# windef.h
|
257
|
-
###############################################
|
258
|
-
|
259
|
-
# Creates a WORD value by concatenating the specified values.
|
260
|
-
#
|
261
|
-
# http://msdn.microsoft.com/en-us/library/windows/desktop/ms632663(v=VS.85).aspx
|
262
|
-
def MAKEWORD(low, high)
|
263
|
-
((low & 0xff) | (high & 0xff)) << 8
|
264
|
-
end
|
265
|
-
|
266
|
-
# Creates a LONG value by concatenating the specified values.
|
267
|
-
#
|
268
|
-
# http://msdn.microsoft.com/en-us/library/windows/desktop/ms632660(v=vs.85).aspx
|
269
|
-
def MAKELONG(low, high)
|
270
|
-
((low & 0xffff) | (high & 0xffff)) << 16
|
271
|
-
end
|
272
|
-
|
273
|
-
# Retrieves the low-order word from the specified value.
|
274
|
-
#
|
275
|
-
# http://msdn.microsoft.com/en-us/library/windows/desktop/ms632659(v=VS.85).aspx
|
276
|
-
def LOWORD(l)
|
277
|
-
l & 0xffff
|
278
|
-
end
|
279
|
-
|
280
|
-
# Retrieves the high-order word from the specified 32-bit value.
|
281
|
-
#
|
282
|
-
# http://msdn.microsoft.com/en-us/library/windows/desktop/ms632657(v=VS.85).aspx
|
283
|
-
def HIWORD(l)
|
284
|
-
l >> 16
|
285
|
-
end
|
286
|
-
|
287
|
-
# Retrieves the low-order byte from the specified value.
|
288
|
-
#
|
289
|
-
# http://msdn.microsoft.com/en-us/library/windows/desktop/ms632658(v=VS.85).aspx
|
290
|
-
def LOBYTE(w)
|
291
|
-
w & 0xff
|
292
|
-
end
|
293
|
-
|
294
|
-
# Retrieves the high-order byte from the given 16-bit value.
|
295
|
-
#
|
296
|
-
# http://msdn.microsoft.com/en-us/library/windows/desktop/ms632656(v=VS.85).aspx
|
297
|
-
def HIBYTE(w)
|
298
|
-
w >> 8
|
299
|
-
end
|
300
|
-
|
301
|
-
###############################################
|
302
|
-
# winerror.h
|
303
|
-
###############################################
|
304
|
-
|
305
|
-
def IS_ERROR(status)
|
306
|
-
status >> 31 == 1
|
307
|
-
end
|
308
|
-
|
309
|
-
def MAKE_HRESULT(sev, fac, code)
|
310
|
-
sev << 31 | fac << 16 | code
|
311
|
-
end
|
312
|
-
|
313
|
-
def MAKE_SCODE(sev, fac, code)
|
314
|
-
sev << 31 | fac << 16 | code
|
315
|
-
end
|
316
|
-
|
317
|
-
def HRESULT_CODE(hr)
|
318
|
-
hr & 0xFFFF
|
319
|
-
end
|
320
|
-
|
321
|
-
def HRESULT_FACILITY(hr)
|
322
|
-
(hr >> 16) & 0x1fff
|
323
|
-
end
|
324
|
-
|
325
|
-
def HRESULT_FROM_NT(x)
|
326
|
-
x | 0x10000000 # FACILITY_NT_BIT
|
327
|
-
end
|
328
|
-
|
329
|
-
def HRESULT_FROM_WIN32(x)
|
330
|
-
if x <= 0
|
331
|
-
x
|
332
|
-
else
|
333
|
-
(x & 0x0000FFFF) | (7 << 16) | 0x80000000
|
334
|
-
end
|
335
|
-
end
|
336
|
-
|
337
|
-
def HRESULT_SEVERITY(hr)
|
338
|
-
(hr >> 31) & 0x1
|
339
|
-
end
|
340
|
-
|
341
|
-
def FAILED(status)
|
342
|
-
status < 0
|
343
|
-
end
|
344
|
-
|
345
|
-
def SUCCEEDED(status)
|
346
|
-
status >= 0
|
347
|
-
end
|
348
|
-
end
|
349
|
-
|
350
|
-
# Represents a 64-bit unsigned integer value.
|
351
|
-
#
|
352
|
-
# http://msdn.microsoft.com/en-us/library/windows/desktop/aa383742(v=vs.85).aspx
|
353
|
-
def make_uint64(low, high)
|
354
|
-
low + (high * (2**32))
|
355
|
-
end
|
356
|
-
|
357
|
-
# http://blogs.msdn.com/b/oldnewthing/archive/2009/03/06/9461176.aspx
|
358
|
-
# January 1, 1601
|
359
|
-
WIN32_EPOC_MINUS_POSIX_EPOC = 116444736000000000
|
360
|
-
|
361
|
-
# Convert 64-bit FILETIME integer into Time object.
|
362
|
-
#
|
363
|
-
# FILETIME structure contains a 64-bit value representing the number
|
364
|
-
# of 100-nanosecond intervals since January 1, 1601 (UTC).
|
365
|
-
#
|
366
|
-
# http://msdn.microsoft.com/en-us/library/ms724284(VS.85).aspx
|
367
|
-
#
|
368
|
-
def wtime_to_time(wtime)
|
369
|
-
Time.at((wtime - WIN32_EPOC_MINUS_POSIX_EPOC) / 10000000)
|
370
|
-
end
|
371
|
-
|
372
|
-
end
|
373
|
-
end
|
374
|
-
end
|
1
|
+
#
|
2
|
+
# Author:: Seth Chisamore (<schisamo@chef.io>)
|
3
|
+
# Author:: John Keiser (<jkeiser@chef.io>)
|
4
|
+
# Copyright:: Copyright 2011-2016, Chef Software Inc.
|
5
|
+
# License:: Apache License, Version 2.0
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
require "ffi"
|
21
|
+
require "chef/reserved_names"
|
22
|
+
require "chef/exceptions"
|
23
|
+
|
24
|
+
class Chef
|
25
|
+
module ReservedNames::Win32
|
26
|
+
module API
|
27
|
+
|
28
|
+
# Attempts to use FFI's attach_function method to link a native Win32
|
29
|
+
# function into the calling module. If this fails a dummy method is
|
30
|
+
# defined which when called, raises a helpful exception to the end-user.
|
31
|
+
def safe_attach_function(win32_func, *args)
|
32
|
+
begin
|
33
|
+
attach_function(win32_func.to_sym, *args)
|
34
|
+
rescue FFI::NotFoundError
|
35
|
+
define_method(win32_func.to_sym) do |*margs|
|
36
|
+
raise Chef::Exceptions::Win32APIFunctionNotImplemented, "This version of Windows does not implement the Win32 function [#{win32_func}]."
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
# put shared stuff (like constants) for all raw Win32 API calls
|
42
|
+
def self.extended(host)
|
43
|
+
host.extend FFI::Library
|
44
|
+
host.extend Macros
|
45
|
+
|
46
|
+
host.ffi_convention :stdcall
|
47
|
+
|
48
|
+
# Windows-specific type defs (ms-help://MS.MSDNQTR.v90.en/winprog/winprog/windows_data_types.htm):
|
49
|
+
host.typedef :ushort, :ATOM # Atom ~= Symbol: Atom table stores strings and corresponding identifiers. Application
|
50
|
+
# places a string in an atom table and receives a 16-bit integer, called an atom, that
|
51
|
+
# can be used to access the string. Placed string is called an atom name.
|
52
|
+
# See: http://msdn.microsoft.com/en-us/library/ms648708%28VS.85%29.aspx
|
53
|
+
host.typedef :bool, :BOOL
|
54
|
+
host.typedef :bool, :BOOLEAN
|
55
|
+
host.typedef :uchar, :BYTE # Byte (8 bits). Declared as unsigned char
|
56
|
+
#CALLBACK: K, # Win32.API gem-specific ?? MSDN: #define CALLBACK __stdcall
|
57
|
+
host.typedef :char, :CHAR # 8-bit Windows (ANSI) character. See http://msdn.microsoft.com/en-us/library/dd183415%28VS.85%29.aspx
|
58
|
+
host.typedef :uint32, :COLORREF # Red, green, blue (RGB) color value (32 bits). See COLORREF for more info.
|
59
|
+
host.typedef :uint32, :DWORD # 32-bit unsigned integer. The range is 0 through 4,294,967,295 decimal.
|
60
|
+
host.typedef :uint64, :DWORDLONG # 64-bit unsigned integer. The range is 0 through 18,446,744,073,709,551,615 decimal.
|
61
|
+
host.typedef :ulong, :DWORD_PTR # Unsigned long type for pointer precision. Use when casting a pointer to a long type
|
62
|
+
# to perform pointer arithmetic. (Also commonly used for general 32-bit parameters that have
|
63
|
+
# been extended to 64 bits in 64-bit Windows.) BaseTsd.h: #host.typedef ULONG_PTR DWORD_PTR;
|
64
|
+
host.typedef :uint32, :DWORD32
|
65
|
+
host.typedef :uint64, :DWORD64
|
66
|
+
host.typedef :int, :HALF_PTR # Half the size of a pointer. Use within a structure that contains a pointer and two small fields.
|
67
|
+
# BaseTsd.h: #ifdef (_WIN64) host.typedef int HALF_PTR; #else host.typedef short HALF_PTR;
|
68
|
+
host.typedef :ulong, :HACCEL # (L) Handle to an accelerator table. WinDef.h: #host.typedef HANDLE HACCEL;
|
69
|
+
# See http://msdn.microsoft.com/en-us/library/ms645526%28VS.85%29.aspx
|
70
|
+
host.typedef :size_t, :HANDLE # (L) Handle to an object. WinNT.h: #host.typedef PVOID HANDLE;
|
71
|
+
# todo: Platform-dependent! Need to change to :uint64 for Win64
|
72
|
+
host.typedef :ulong, :HBITMAP # (L) Handle to a bitmap: http://msdn.microsoft.com/en-us/library/dd183377%28VS.85%29.aspx
|
73
|
+
host.typedef :ulong, :HBRUSH # (L) Handle to a brush. http://msdn.microsoft.com/en-us/library/dd183394%28VS.85%29.aspx
|
74
|
+
host.typedef :ulong, :HCOLORSPACE # (L) Handle to a color space. http://msdn.microsoft.com/en-us/library/ms536546%28VS.85%29.aspx
|
75
|
+
host.typedef :ulong, :HCURSOR # (L) Handle to a cursor. http://msdn.microsoft.com/en-us/library/ms646970%28VS.85%29.aspx
|
76
|
+
host.typedef :ulong, :HCONV # (L) Handle to a dynamic data exchange (DDE) conversation.
|
77
|
+
host.typedef :ulong, :HCONVLIST # (L) Handle to a DDE conversation list. HANDLE - L ?
|
78
|
+
host.typedef :ulong, :HDDEDATA # (L) Handle to DDE data (structure?)
|
79
|
+
host.typedef :ulong, :HDC # (L) Handle to a device context (DC). http://msdn.microsoft.com/en-us/library/dd183560%28VS.85%29.aspx
|
80
|
+
host.typedef :ulong, :HDESK # (L) Handle to a desktop. http://msdn.microsoft.com/en-us/library/ms682573%28VS.85%29.aspx
|
81
|
+
host.typedef :ulong, :HDROP # (L) Handle to an internal drop structure.
|
82
|
+
host.typedef :ulong, :HDWP # (L) Handle to a deferred window position structure.
|
83
|
+
host.typedef :ulong, :HENHMETAFILE #(L) Handle to an enhanced metafile. http://msdn.microsoft.com/en-us/library/dd145051%28VS.85%29.aspx
|
84
|
+
host.typedef :uint, :HFILE # (I) Special file handle to a file opened by OpenFile, not CreateFile.
|
85
|
+
# WinDef.h: #host.typedef int HFILE;
|
86
|
+
host.typedef :ulong, :HFONT # (L) Handle to a font. http://msdn.microsoft.com/en-us/library/dd162470%28VS.85%29.aspx
|
87
|
+
host.typedef :ulong, :HGDIOBJ # (L) Handle to a GDI object.
|
88
|
+
host.typedef :ulong, :HGLOBAL # (L) Handle to a global memory block.
|
89
|
+
host.typedef :ulong, :HHOOK # (L) Handle to a hook. http://msdn.microsoft.com/en-us/library/ms632589%28VS.85%29.aspx
|
90
|
+
host.typedef :ulong, :HICON # (L) Handle to an icon. http://msdn.microsoft.com/en-us/library/ms646973%28VS.85%29.aspx
|
91
|
+
host.typedef :ulong, :HINSTANCE # (L) Handle to an instance. This is the base address of the module in memory.
|
92
|
+
# HMODULE and HINSTANCE are the same today, but were different in 16-bit Windows.
|
93
|
+
host.typedef :ulong, :HKEY # (L) Handle to a registry key.
|
94
|
+
host.typedef :ulong, :HKL # (L) Input locale identifier.
|
95
|
+
host.typedef :ulong, :HLOCAL # (L) Handle to a local memory block.
|
96
|
+
host.typedef :ulong, :HMENU # (L) Handle to a menu. http://msdn.microsoft.com/en-us/library/ms646977%28VS.85%29.aspx
|
97
|
+
host.typedef :ulong, :HMETAFILE # (L) Handle to a metafile. http://msdn.microsoft.com/en-us/library/dd145051%28VS.85%29.aspx
|
98
|
+
host.typedef :ulong, :HMODULE # (L) Handle to an instance. Same as HINSTANCE today, but was different in 16-bit Windows.
|
99
|
+
host.typedef :ulong, :HMONITOR # (L) Рandle to a display monitor. WinDef.h: if(WINVER >= 0x0500) host.typedef HANDLE HMONITOR;
|
100
|
+
host.typedef :ulong, :HPALETTE # (L) Handle to a palette.
|
101
|
+
host.typedef :ulong, :HPEN # (L) Handle to a pen. http://msdn.microsoft.com/en-us/library/dd162786%28VS.85%29.aspx
|
102
|
+
host.typedef :long, :HRESULT # Return code used by COM interfaces. For more info, Structure of the COM Error Codes.
|
103
|
+
# To test an HRESULT value, use the FAILED and SUCCEEDED macros.
|
104
|
+
host.typedef :ulong, :HRGN # (L) Handle to a region. http://msdn.microsoft.com/en-us/library/dd162913%28VS.85%29.aspx
|
105
|
+
host.typedef :ulong, :HRSRC # (L) Handle to a resource.
|
106
|
+
host.typedef :ulong, :HSZ # (L) Handle to a DDE string.
|
107
|
+
host.typedef :ulong, :HWINSTA # (L) Handle to a window station. http://msdn.microsoft.com/en-us/library/ms687096%28VS.85%29.aspx
|
108
|
+
host.typedef :ulong, :HWND # (L) Handle to a window. http://msdn.microsoft.com/en-us/library/ms632595%28VS.85%29.aspx
|
109
|
+
host.typedef :int, :INT # 32-bit signed integer. The range is -2147483648 through 2147483647 decimal.
|
110
|
+
host.typedef :int, :INT_PTR # Signed integer type for pointer precision. Use when casting a pointer to an integer
|
111
|
+
# to perform pointer arithmetic. BaseTsd.h:
|
112
|
+
#if defined(_WIN64) host.typedef __int64 INT_PTR; #else host.typedef int INT_PTR;
|
113
|
+
host.typedef :int32, :INT32 # 32-bit signed integer. The range is -2,147,483,648 through +...647 decimal.
|
114
|
+
host.typedef :int64, :INT64 # 64-bit signed integer. The range is –9,223,372,036,854,775,808 through +...807
|
115
|
+
host.typedef :ushort, :LANGID # Language identifier. For more information, see Locales. WinNT.h: #host.typedef WORD LANGID;
|
116
|
+
# See http://msdn.microsoft.com/en-us/library/dd318716%28VS.85%29.aspx
|
117
|
+
host.typedef :uint32, :LCID # Locale identifier. For more information, see Locales.
|
118
|
+
host.typedef :uint32, :LCTYPE # Locale information type. For a list, see Locale Information Constants.
|
119
|
+
host.typedef :uint32, :LGRPID # Language group identifier. For a list, see EnumLanguageGroupLocales.
|
120
|
+
host.typedef :pointer, :LMSTR # Pointer to null termiated string of unicode characters
|
121
|
+
host.typedef :long, :LONG # 32-bit signed integer. The range is -2,147,483,648 through +...647 decimal.
|
122
|
+
host.typedef :int32, :LONG32 # 32-bit signed integer. The range is -2,147,483,648 through +...647 decimal.
|
123
|
+
host.typedef :int64, :LONG64 # 64-bit signed integer. The range is –9,223,372,036,854,775,808 through +...807
|
124
|
+
host.typedef :int64, :LONGLONG # 64-bit signed integer. The range is –9,223,372,036,854,775,808 through +...807
|
125
|
+
host.typedef :long, :LONG_PTR # Signed long type for pointer precision. Use when casting a pointer to a long to
|
126
|
+
# perform pointer arithmetic. BaseTsd.h:
|
127
|
+
#if defined(_WIN64) host.typedef __int64 LONG_PTR; #else host.typedef long LONG_PTR;
|
128
|
+
host.typedef :long, :LPARAM # Message parameter. WinDef.h as follows: #host.typedef LONG_PTR LPARAM;
|
129
|
+
host.typedef :pointer, :LPBOOL # Pointer to a BOOL. WinDef.h as follows: #host.typedef BOOL far *LPBOOL;
|
130
|
+
host.typedef :pointer, :LPBYTE # Pointer to a BYTE. WinDef.h as follows: #host.typedef BYTE far *LPBYTE;
|
131
|
+
host.typedef :pointer, :LPCOLORREF # Pointer to a COLORREF value. WinDef.h as follows: #host.typedef DWORD *LPCOLORREF;
|
132
|
+
host.typedef :pointer, :LPCSTR # Pointer to a constant null-terminated string of 8-bit Windows (ANSI) characters.
|
133
|
+
# See Character Sets Used By Fonts. http://msdn.microsoft.com/en-us/library/dd183415%28VS.85%29.aspx
|
134
|
+
host.typedef :pointer, :LPCTSTR # An LPCWSTR if UNICODE is defined, an LPCSTR otherwise.
|
135
|
+
host.typedef :pointer, :LPCVOID # Pointer to a constant of any type. WinDef.h as follows: host.typedef CONST void *LPCVOID;
|
136
|
+
host.typedef :pointer, :LPCWSTR # Pointer to a constant null-terminated string of 16-bit Unicode characters.
|
137
|
+
host.typedef :pointer, :LPDWORD # Pointer to a DWORD. WinDef.h as follows: host.typedef DWORD *LPDWORD;
|
138
|
+
host.typedef :pointer, :LPHANDLE # Pointer to a HANDLE. WinDef.h as follows: host.typedef HANDLE *LPHANDLE;
|
139
|
+
host.typedef :pointer, :LPINT # Pointer to an INT.
|
140
|
+
host.typedef :pointer, :LPLONG # Pointer to an LONG.
|
141
|
+
host.typedef :pointer, :LPSECURITY_ATTRIBUTES # Pointer to SECURITY_ATTRIBUTES struct
|
142
|
+
host.typedef :pointer, :LPSTR # Pointer to a null-terminated string of 8-bit Windows (ANSI) characters.
|
143
|
+
host.typedef :pointer, :LPTSTR # An LPWSTR if UNICODE is defined, an LPSTR otherwise.
|
144
|
+
host.typedef :pointer, :LPVOID # Pointer to any type.
|
145
|
+
host.typedef :pointer, :LPWORD # Pointer to a WORD.
|
146
|
+
host.typedef :pointer, :LPWSTR # Pointer to a null-terminated string of 16-bit Unicode characters.
|
147
|
+
host.typedef :long, :LRESULT # Signed result of message processing. WinDef.h: host.typedef LONG_PTR LRESULT;
|
148
|
+
host.typedef :pointer, :LPWIN32_FIND_DATA # Pointer to WIN32_FIND_DATA struct
|
149
|
+
host.typedef :pointer, :LPBY_HANDLE_FILE_INFORMATION # Point to a BY_HANDLE_FILE_INFORMATION struct
|
150
|
+
host.typedef :pointer, :LSA_HANDLE # A handle to a Policy object
|
151
|
+
host.typedef :ulong, :NTSTATUS # An NTSTATUS code returned by an LSA function call.
|
152
|
+
host.typedef :pointer, :PBOOL # Pointer to a BOOL.
|
153
|
+
host.typedef :pointer, :PBOOLEAN # Pointer to a BOOL.
|
154
|
+
host.typedef :pointer, :PBYTE # Pointer to a BYTE.
|
155
|
+
host.typedef :pointer, :PCHAR # Pointer to a CHAR.
|
156
|
+
host.typedef :pointer, :PCSTR # Pointer to a constant null-terminated string of 8-bit Windows (ANSI) characters.
|
157
|
+
host.typedef :pointer, :PCTSTR # A PCWSTR if UNICODE is defined, a PCSTR otherwise.
|
158
|
+
host.typedef :pointer, :PCWSTR # Pointer to a constant null-terminated string of 16-bit Unicode characters.
|
159
|
+
host.typedef :pointer, :PDWORD # Pointer to a DWORD.
|
160
|
+
host.typedef :pointer, :PDWORDLONG # Pointer to a DWORDLONG.
|
161
|
+
host.typedef :pointer, :PDWORD_PTR # Pointer to a DWORD_PTR.
|
162
|
+
host.typedef :pointer, :PDWORD32 # Pointer to a DWORD32.
|
163
|
+
host.typedef :pointer, :PDWORD64 # Pointer to a DWORD64.
|
164
|
+
host.typedef :pointer, :PFLOAT # Pointer to a FLOAT.
|
165
|
+
host.typedef :pointer, :PGENERICMAPPING #Pointer to GENERIC_MAPPING
|
166
|
+
host.typedef :pointer, :PHALF_PTR # Pointer to a HALF_PTR.
|
167
|
+
host.typedef :pointer, :PHANDLE # Pointer to a HANDLE.
|
168
|
+
host.typedef :pointer, :PHKEY # Pointer to an HKEY.
|
169
|
+
host.typedef :pointer, :PINT # Pointer to an INT.
|
170
|
+
host.typedef :pointer, :PINT_PTR # Pointer to an INT_PTR.
|
171
|
+
host.typedef :pointer, :PINT32 # Pointer to an INT32.
|
172
|
+
host.typedef :pointer, :PINT64 # Pointer to an INT64.
|
173
|
+
host.typedef :pointer, :PLCID # Pointer to an LCID.
|
174
|
+
host.typedef :pointer, :PLONG # Pointer to a LONG.
|
175
|
+
host.typedef :pointer, :PLONGLONG # Pointer to a LONGLONG.
|
176
|
+
host.typedef :pointer, :PLONG_PTR # Pointer to a LONG_PTR.
|
177
|
+
host.typedef :pointer, :PLONG32 # Pointer to a LONG32.
|
178
|
+
host.typedef :pointer, :PLONG64 # Pointer to a LONG64.
|
179
|
+
host.typedef :pointer, :PLSA_HANDLE # Pointer to an LSA_HANDLE
|
180
|
+
host.typedef :pointer, :PLSA_OBJECT_ATTRIBUTES # Pointer to an LSA_OBJECT_ATTRIBUTES
|
181
|
+
host.typedef :pointer, :PLSA_UNICODE_STRING # Pointer to LSA_UNICODE_STRING
|
182
|
+
host.typedef :pointer, :PLUID # Pointer to a LUID.
|
183
|
+
host.typedef :pointer, :POINTER_32 # 32-bit pointer. On a 32-bit system, this is a native pointer. On a 64-bit system, this is a truncated 64-bit pointer.
|
184
|
+
host.typedef :pointer, :POINTER_64 # 64-bit pointer. On a 64-bit system, this is a native pointer. On a 32-bit system, this is a sign-extended 32-bit pointer.
|
185
|
+
host.typedef :pointer, :POINTER_SIGNED # A signed pointer.
|
186
|
+
host.typedef :pointer, :POINTER_UNSIGNED # An unsigned pointer.
|
187
|
+
host.typedef :pointer, :PSHORT # Pointer to a SHORT.
|
188
|
+
host.typedef :pointer, :PSID # Pointer to an account SID
|
189
|
+
host.typedef :pointer, :PSIZE_T # Pointer to a SIZE_T.
|
190
|
+
host.typedef :pointer, :PSSIZE_T # Pointer to a SSIZE_T.
|
191
|
+
host.typedef :pointer, :PSTR # Pointer to a null-terminated string of 8-bit Windows (ANSI) characters. For more information, see Character Sets Used By Fonts.
|
192
|
+
host.typedef :pointer, :PTBYTE # Pointer to a TBYTE.
|
193
|
+
host.typedef :pointer, :PTCHAR # Pointer to a TCHAR.
|
194
|
+
host.typedef :pointer, :PCRYPTPROTECT_PROMPTSTRUCT # Pointer to a CRYPTOPROTECT_PROMPTSTRUCT.
|
195
|
+
host.typedef :pointer, :PDATA_BLOB # Pointer to a DATA_BLOB.
|
196
|
+
host.typedef :pointer, :PTSTR # A PWSTR if UNICODE is defined, a PSTR otherwise.
|
197
|
+
host.typedef :pointer, :PUCHAR # Pointer to a UCHAR.
|
198
|
+
host.typedef :pointer, :PUHALF_PTR # Pointer to a UHALF_PTR.
|
199
|
+
host.typedef :pointer, :PUINT # Pointer to a UINT.
|
200
|
+
host.typedef :pointer, :PUINT_PTR # Pointer to a UINT_PTR.
|
201
|
+
host.typedef :pointer, :PUINT32 # Pointer to a UINT32.
|
202
|
+
host.typedef :pointer, :PUINT64 # Pointer to a UINT64.
|
203
|
+
host.typedef :pointer, :PULONG # Pointer to a ULONG.
|
204
|
+
host.typedef :pointer, :PULONGLONG # Pointer to a ULONGLONG.
|
205
|
+
host.typedef :pointer, :PULONG_PTR # Pointer to a ULONG_PTR.
|
206
|
+
host.typedef :pointer, :PULONG32 # Pointer to a ULONG32.
|
207
|
+
host.typedef :pointer, :PULONG64 # Pointer to a ULONG64.
|
208
|
+
host.typedef :pointer, :PUSHORT # Pointer to a USHORT.
|
209
|
+
host.typedef :pointer, :PVOID # Pointer to any type.
|
210
|
+
host.typedef :pointer, :PWCHAR # Pointer to a WCHAR.
|
211
|
+
host.typedef :pointer, :PWORD # Pointer to a WORD.
|
212
|
+
host.typedef :pointer, :PWSTR # Pointer to a null- terminated string of 16-bit Unicode characters.
|
213
|
+
# For more information, see Character Sets Used By Fonts.
|
214
|
+
host.typedef :ulong, :SC_HANDLE # (L) Handle to a service control manager database.
|
215
|
+
# See SCM Handles http://msdn.microsoft.com/en-us/library/ms685104%28VS.85%29.aspx
|
216
|
+
host.typedef :pointer, :SC_LOCK # Lock to a service control manager database. For more information, see SCM Handles.
|
217
|
+
host.typedef :ulong, :SERVICE_STATUS_HANDLE # (L) Handle to a service status value. See SCM Handles.
|
218
|
+
host.typedef :short, :SHORT # A 16-bit integer. The range is –32768 through 32767 decimal.
|
219
|
+
host.typedef :ulong, :SIZE_T # The maximum number of bytes to which a pointer can point. Use for a count that must span the full range of a pointer.
|
220
|
+
host.typedef :long, :SSIZE_T # Signed SIZE_T.
|
221
|
+
host.typedef :char, :TBYTE # A WCHAR if UNICODE is defined, a CHAR otherwise.TCHAR:
|
222
|
+
# http://msdn.microsoft.com/en-us/library/c426s321%28VS.80%29.aspx
|
223
|
+
host.typedef :char, :TCHAR # A WCHAR if UNICODE is defined, a CHAR otherwise.TCHAR:
|
224
|
+
host.typedef :uchar, :UCHAR # Unsigned CHAR (8 bit)
|
225
|
+
host.typedef :uint, :UHALF_PTR # Unsigned HALF_PTR. Use within a structure that contains a pointer and two small fields.
|
226
|
+
host.typedef :uint, :UINT # Unsigned INT. The range is 0 through 4294967295 decimal.
|
227
|
+
host.typedef :uint, :UINT_PTR # Unsigned INT_PTR.
|
228
|
+
host.typedef :uint32, :UINT32 # Unsigned INT32. The range is 0 through 4294967295 decimal.
|
229
|
+
host.typedef :uint64, :UINT64 # Unsigned INT64. The range is 0 through 18446744073709551615 decimal.
|
230
|
+
host.typedef :ulong, :ULONG # Unsigned LONG. The range is 0 through 4294967295 decimal.
|
231
|
+
host.typedef :ulong_long, :ULONGLONG # 64-bit unsigned integer. The range is 0 through 18446744073709551615 decimal.
|
232
|
+
host.typedef :ulong, :ULONG_PTR # Unsigned LONG_PTR.
|
233
|
+
host.typedef :uint32, :ULONG32 # Unsigned INT32. The range is 0 through 4294967295 decimal.
|
234
|
+
host.typedef :uint64, :ULONG64 # Unsigned LONG64. The range is 0 through 18446744073709551615 decimal.
|
235
|
+
host.typedef :pointer, :UNICODE_STRING # Pointer to some string structure??
|
236
|
+
host.typedef :ushort, :USHORT # Unsigned SHORT. The range is 0 through 65535 decimal.
|
237
|
+
host.typedef :ulong_long, :USN # Update sequence number (USN).
|
238
|
+
host.typedef :ushort, :WCHAR # 16-bit Unicode character. For more information, see Character Sets Used By Fonts.
|
239
|
+
# In WinNT.h: host.typedef wchar_t WCHAR;
|
240
|
+
#WINAPI: K, # Calling convention for system functions. WinDef.h: define WINAPI __stdcall
|
241
|
+
host.typedef :ushort, :WORD # 16-bit unsigned integer. The range is 0 through 65535 decimal.
|
242
|
+
host.typedef :uint, :WPARAM # Message parameter. WinDef.h as follows: host.typedef UINT_PTR WPARAM;
|
243
|
+
end
|
244
|
+
|
245
|
+
module Macros
|
246
|
+
|
247
|
+
###############################################
|
248
|
+
# winbase.h
|
249
|
+
###############################################
|
250
|
+
|
251
|
+
def LocalDiscard(pointer)
|
252
|
+
LocalReAlloc(pointer, 0, LMEM_MOVEABLE)
|
253
|
+
end
|
254
|
+
|
255
|
+
###############################################
|
256
|
+
# windef.h
|
257
|
+
###############################################
|
258
|
+
|
259
|
+
# Creates a WORD value by concatenating the specified values.
|
260
|
+
#
|
261
|
+
# http://msdn.microsoft.com/en-us/library/windows/desktop/ms632663(v=VS.85).aspx
|
262
|
+
def MAKEWORD(low, high)
|
263
|
+
((low & 0xff) | (high & 0xff)) << 8
|
264
|
+
end
|
265
|
+
|
266
|
+
# Creates a LONG value by concatenating the specified values.
|
267
|
+
#
|
268
|
+
# http://msdn.microsoft.com/en-us/library/windows/desktop/ms632660(v=vs.85).aspx
|
269
|
+
def MAKELONG(low, high)
|
270
|
+
((low & 0xffff) | (high & 0xffff)) << 16
|
271
|
+
end
|
272
|
+
|
273
|
+
# Retrieves the low-order word from the specified value.
|
274
|
+
#
|
275
|
+
# http://msdn.microsoft.com/en-us/library/windows/desktop/ms632659(v=VS.85).aspx
|
276
|
+
def LOWORD(l)
|
277
|
+
l & 0xffff
|
278
|
+
end
|
279
|
+
|
280
|
+
# Retrieves the high-order word from the specified 32-bit value.
|
281
|
+
#
|
282
|
+
# http://msdn.microsoft.com/en-us/library/windows/desktop/ms632657(v=VS.85).aspx
|
283
|
+
def HIWORD(l)
|
284
|
+
l >> 16
|
285
|
+
end
|
286
|
+
|
287
|
+
# Retrieves the low-order byte from the specified value.
|
288
|
+
#
|
289
|
+
# http://msdn.microsoft.com/en-us/library/windows/desktop/ms632658(v=VS.85).aspx
|
290
|
+
def LOBYTE(w)
|
291
|
+
w & 0xff
|
292
|
+
end
|
293
|
+
|
294
|
+
# Retrieves the high-order byte from the given 16-bit value.
|
295
|
+
#
|
296
|
+
# http://msdn.microsoft.com/en-us/library/windows/desktop/ms632656(v=VS.85).aspx
|
297
|
+
def HIBYTE(w)
|
298
|
+
w >> 8
|
299
|
+
end
|
300
|
+
|
301
|
+
###############################################
|
302
|
+
# winerror.h
|
303
|
+
###############################################
|
304
|
+
|
305
|
+
def IS_ERROR(status)
|
306
|
+
status >> 31 == 1
|
307
|
+
end
|
308
|
+
|
309
|
+
def MAKE_HRESULT(sev, fac, code)
|
310
|
+
sev << 31 | fac << 16 | code
|
311
|
+
end
|
312
|
+
|
313
|
+
def MAKE_SCODE(sev, fac, code)
|
314
|
+
sev << 31 | fac << 16 | code
|
315
|
+
end
|
316
|
+
|
317
|
+
def HRESULT_CODE(hr)
|
318
|
+
hr & 0xFFFF
|
319
|
+
end
|
320
|
+
|
321
|
+
def HRESULT_FACILITY(hr)
|
322
|
+
(hr >> 16) & 0x1fff
|
323
|
+
end
|
324
|
+
|
325
|
+
def HRESULT_FROM_NT(x)
|
326
|
+
x | 0x10000000 # FACILITY_NT_BIT
|
327
|
+
end
|
328
|
+
|
329
|
+
def HRESULT_FROM_WIN32(x)
|
330
|
+
if x <= 0
|
331
|
+
x
|
332
|
+
else
|
333
|
+
(x & 0x0000FFFF) | (7 << 16) | 0x80000000
|
334
|
+
end
|
335
|
+
end
|
336
|
+
|
337
|
+
def HRESULT_SEVERITY(hr)
|
338
|
+
(hr >> 31) & 0x1
|
339
|
+
end
|
340
|
+
|
341
|
+
def FAILED(status)
|
342
|
+
status < 0
|
343
|
+
end
|
344
|
+
|
345
|
+
def SUCCEEDED(status)
|
346
|
+
status >= 0
|
347
|
+
end
|
348
|
+
end
|
349
|
+
|
350
|
+
# Represents a 64-bit unsigned integer value.
|
351
|
+
#
|
352
|
+
# http://msdn.microsoft.com/en-us/library/windows/desktop/aa383742(v=vs.85).aspx
|
353
|
+
def make_uint64(low, high)
|
354
|
+
low + (high * (2**32))
|
355
|
+
end
|
356
|
+
|
357
|
+
# http://blogs.msdn.com/b/oldnewthing/archive/2009/03/06/9461176.aspx
|
358
|
+
# January 1, 1601
|
359
|
+
WIN32_EPOC_MINUS_POSIX_EPOC = 116444736000000000
|
360
|
+
|
361
|
+
# Convert 64-bit FILETIME integer into Time object.
|
362
|
+
#
|
363
|
+
# FILETIME structure contains a 64-bit value representing the number
|
364
|
+
# of 100-nanosecond intervals since January 1, 1601 (UTC).
|
365
|
+
#
|
366
|
+
# http://msdn.microsoft.com/en-us/library/ms724284(VS.85).aspx
|
367
|
+
#
|
368
|
+
def wtime_to_time(wtime)
|
369
|
+
Time.at((wtime - WIN32_EPOC_MINUS_POSIX_EPOC) / 10000000)
|
370
|
+
end
|
371
|
+
|
372
|
+
end
|
373
|
+
end
|
374
|
+
end
|