vagrant-unbundled 2.2.4.0 → 2.2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +44 -0
  3. data/Gemfile.lock +10 -10
  4. data/LICENSE +1 -1
  5. data/README.md +10 -0
  6. data/RELEASE.md +11 -25
  7. data/contrib/bash/completion.sh +1 -1
  8. data/lib/vagrant/action/builtin/mixin_synced_folders.rb +7 -1
  9. data/lib/vagrant/action/general/package.rb +18 -0
  10. data/lib/vagrant/action/runner.rb +1 -1
  11. data/lib/vagrant/action/warden.rb +1 -1
  12. data/lib/vagrant/batch_action.rb +14 -0
  13. data/lib/vagrant/box_collection.rb +1 -1
  14. data/lib/vagrant/bundler.rb +29 -8
  15. data/lib/vagrant/cli.rb +1 -1
  16. data/lib/vagrant/environment.rb +50 -5
  17. data/lib/vagrant/machine.rb +4 -1
  18. data/lib/vagrant/plugin/v2/trigger.rb +12 -3
  19. data/lib/vagrant/shared_helpers.rb +8 -0
  20. data/lib/vagrant/util/guest_inspection.rb +19 -0
  21. data/lib/vagrant/vagrantfile.rb +18 -14
  22. data/plugins/commands/box/command/update.rb +8 -2
  23. data/plugins/commands/cloud/box/create.rb +1 -1
  24. data/plugins/commands/cloud/box/delete.rb +1 -1
  25. data/plugins/commands/cloud/provider/create.rb +1 -1
  26. data/plugins/commands/cloud/provider/delete.rb +1 -1
  27. data/plugins/commands/cloud/provider/update.rb +1 -1
  28. data/plugins/commands/cloud/provider/upload.rb +1 -1
  29. data/plugins/commands/cloud/publish.rb +1 -1
  30. data/plugins/commands/cloud/search.rb +1 -1
  31. data/plugins/commands/cloud/version/create.rb +1 -1
  32. data/plugins/commands/cloud/version/delete.rb +1 -1
  33. data/plugins/commands/cloud/version/release.rb +1 -1
  34. data/plugins/commands/cloud/version/revoke.rb +1 -1
  35. data/plugins/commands/cloud/version/update.rb +1 -1
  36. data/plugins/commands/global-status/command.rb +11 -0
  37. data/plugins/commands/snapshot/command/list.rb +2 -1
  38. data/plugins/commands/snapshot/command/pop.rb +3 -1
  39. data/plugins/communicators/ssh/communicator.rb +0 -1
  40. data/plugins/guests/bsd/cap/{virtualbox.rb → mount_virtualbox_shared_folder.rb} +1 -1
  41. data/plugins/guests/bsd/plugin.rb +2 -2
  42. data/plugins/guests/coreos/cap/change_host_name.rb +24 -7
  43. data/plugins/guests/coreos/cap/configure_networks.rb +48 -64
  44. data/plugins/guests/freebsd/cap/configure_networks.rb +2 -2
  45. data/plugins/guests/freebsd/cap/mount_virtualbox_shared_folder.rb +76 -0
  46. data/plugins/guests/freebsd/plugin.rb +10 -0
  47. data/plugins/hosts/bsd/cap/nfs.rb +1 -1
  48. data/plugins/hosts/freebsd/cap/nfs.rb +1 -1
  49. data/plugins/hosts/void/cap/nfs.rb +1 -1
  50. data/plugins/kernel_v2/config/vm_trigger.rb +1 -1
  51. data/plugins/providers/docker/action/connect_networks.rb +77 -0
  52. data/plugins/providers/docker/action/destroy_network.rb +50 -0
  53. data/plugins/providers/docker/action/prepare_networks.rb +355 -0
  54. data/plugins/providers/docker/action.rb +9 -3
  55. data/plugins/providers/docker/driver/compose.rb +13 -1
  56. data/plugins/providers/docker/driver.rb +148 -4
  57. data/plugins/providers/docker/errors.rb +28 -0
  58. data/plugins/providers/docker/provider.rb +8 -0
  59. data/plugins/providers/virtualbox/cap.rb +1 -0
  60. data/plugins/provisioners/ansible/cap/guest/debian/ansible_install.rb +5 -5
  61. data/plugins/provisioners/ansible/cap/guest/fedora/ansible_install.rb +5 -5
  62. data/plugins/provisioners/ansible/cap/guest/pip/pip.rb +15 -2
  63. data/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb +5 -5
  64. data/plugins/provisioners/ansible/cap/guest/ubuntu/ansible_install.rb +2 -2
  65. data/plugins/provisioners/ansible/config/guest.rb +3 -0
  66. data/plugins/provisioners/ansible/provisioner/guest.rb +5 -2
  67. data/plugins/provisioners/chef/cap/freebsd/chef_installed.rb +1 -1
  68. data/plugins/provisioners/chef/cap/linux/chef_installed.rb +1 -1
  69. data/plugins/provisioners/chef/cap/omnios/chef_installed.rb +1 -1
  70. data/plugins/provisioners/chef/cap/windows/chef_installed.rb +2 -2
  71. data/plugins/provisioners/chef/provisioner/base.rb +1 -1
  72. data/plugins/synced_folders/rsync/command/rsync_auto.rb +5 -1
  73. data/plugins/synced_folders/rsync/default_unix_cap.rb +1 -1
  74. data/plugins/synced_folders/rsync/helper.rb +8 -7
  75. data/plugins/synced_folders/smb/synced_folder.rb +21 -0
  76. data/templates/locales/en.yml +8 -4
  77. data/templates/locales/providers_docker.yml +70 -0
  78. data/templates/nfs/{exports_freebsd.erb → exports_bsd.erb} +0 -0
  79. data/vendor/bundle/ruby/2.6.0/bundler/gems/vagrant-spec-abfc34474d12/vagrant-spec.gemspec +3 -3
  80. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bcrypt_pbkdf-1.0.1/bcrypt_pbkdf_ext.so +0 -0
  81. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bcrypt_pbkdf-1.0.1/gem.build_complete +0 -0
  82. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/bcrypt_pbkdf-1.0.1/gem_make.out +19 -0
  83. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/unf_ext-0.0.7.6/gem.build_complete +0 -0
  84. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/unf_ext-0.0.7.6/gem_make.out +16 -0
  85. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/unf_ext-0.0.7.6/mkmf.log +35 -0
  86. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/unf_ext-0.0.7.6/unf_ext.so +0 -0
  87. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/.travis.yml +8 -0
  88. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/CHANGELOG.md +3 -0
  89. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/COPYING +23 -0
  90. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/Gemfile +2 -0
  91. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/Gemfile.lock +31 -0
  92. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/README.md +31 -0
  93. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/Rakefile +56 -0
  94. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/bcrypt_pbkdf.gemspec +29 -0
  95. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/.sitearchdir.time +0 -0
  96. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/Makefile +265 -0
  97. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/bcrypt_pbkdf.c +169 -0
  98. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/bcrypt_pbkdf.o +0 -0
  99. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/bcrypt_pbkdf_ext.c +44 -0
  100. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/bcrypt_pbkdf_ext.o +0 -0
  101. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/bcrypt_pbkdf_ext.so +0 -0
  102. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/blf.h +90 -0
  103. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/blowfish.c +698 -0
  104. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/blowfish.o +0 -0
  105. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/crypto_api.h +3 -0
  106. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/crypto_hash_sha512.h +19 -0
  107. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/explicit_bzero.c +20 -0
  108. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/explicit_bzero.o +0 -0
  109. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/extconf.rb +3 -0
  110. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/hash_sha512.c +320 -0
  111. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/hash_sha512.o +0 -0
  112. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/includes.h +27 -0
  113. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/sha2.h +13 -0
  114. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/util.h +0 -0
  115. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/ext/mri/utils.h +5 -0
  116. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/lib/bcrypt_pbkdf.rb +24 -0
  117. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/lib/bcrypt_pbkdf_ext.so +0 -0
  118. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/test/bcrypt_pnkdf/engine_test.rb +76 -0
  119. data/vendor/bundle/ruby/2.6.0/gems/bcrypt_pbkdf-1.0.1/test/test_helper.rb +2 -0
  120. data/vendor/bundle/ruby/2.6.0/gems/domain_name-0.5.20190701/.document +5 -0
  121. data/vendor/bundle/ruby/2.6.0/gems/domain_name-0.5.20190701/.gitignore +17 -0
  122. data/vendor/bundle/ruby/2.6.0/gems/domain_name-0.5.20190701/.travis.yml +21 -0
  123. data/vendor/bundle/ruby/2.6.0/gems/domain_name-0.5.20190701/CHANGELOG.md +219 -0
  124. data/vendor/bundle/ruby/2.6.0/gems/domain_name-0.5.20190701/Gemfile +4 -0
  125. data/vendor/bundle/ruby/2.6.0/gems/domain_name-0.5.20190701/LICENSE.txt +78 -0
  126. data/vendor/bundle/ruby/2.6.0/gems/domain_name-0.5.20190701/README.md +67 -0
  127. data/vendor/bundle/ruby/2.6.0/gems/domain_name-0.5.20190701/Rakefile +111 -0
  128. data/vendor/bundle/ruby/2.6.0/gems/domain_name-0.5.20190701/data/public_suffix_list.dat +12985 -0
  129. data/vendor/bundle/ruby/2.6.0/gems/domain_name-0.5.20190701/domain_name.gemspec +36 -0
  130. data/vendor/bundle/ruby/2.6.0/gems/domain_name-0.5.20190701/lib/domain_name/etld_data.rb +8787 -0
  131. data/vendor/bundle/ruby/2.6.0/gems/domain_name-0.5.20190701/lib/domain_name/etld_data.rb.erb +11 -0
  132. data/vendor/bundle/ruby/2.6.0/gems/domain_name-0.5.20190701/lib/domain_name/punycode.rb +283 -0
  133. data/vendor/bundle/ruby/2.6.0/gems/domain_name-0.5.20190701/lib/domain_name/version.rb +3 -0
  134. data/vendor/bundle/ruby/2.6.0/gems/domain_name-0.5.20190701/lib/domain_name.rb +297 -0
  135. data/vendor/bundle/ruby/2.6.0/gems/domain_name-0.5.20190701/test/helper.rb +17 -0
  136. data/vendor/bundle/ruby/2.6.0/gems/domain_name-0.5.20190701/test/test_domain_name-punycode.rb +97 -0
  137. data/vendor/bundle/ruby/2.6.0/gems/domain_name-0.5.20190701/test/test_domain_name.rb +317 -0
  138. data/vendor/bundle/ruby/2.6.0/gems/domain_name-0.5.20190701/tool/gen_etld_data.rb +63 -0
  139. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/.gitignore +11 -0
  140. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/COPYING +18 -0
  141. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/Changelog.md +23 -0
  142. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/Gemfile +2 -0
  143. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/README.md +22 -0
  144. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/Rakefile +11 -0
  145. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/VERSION +1 -0
  146. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/examples/gss_client.rb +26 -0
  147. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/examples/gss_iov_client.rb +55 -0
  148. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/examples/gss_iov_helpers.rb +74 -0
  149. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/examples/gss_iov_server.rb +67 -0
  150. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/examples/gss_server.rb +31 -0
  151. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/gssapi.gemspec +34 -0
  152. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/lib/gssapi/exceptions.rb +50 -0
  153. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/lib/gssapi/extensions.rb +40 -0
  154. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/lib/gssapi/heimdal.rb +10 -0
  155. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/lib/gssapi/lib_gssapi.rb +414 -0
  156. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/lib/gssapi/lib_gssapi_loader.rb +80 -0
  157. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/lib/gssapi/simple.rb +269 -0
  158. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/lib/gssapi.rb +18 -0
  159. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/preamble +5 -0
  160. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/test/spec/gssapi_simple_spec.rb +70 -0
  161. data/vendor/bundle/ruby/2.6.0/gems/gssapi-1.3.0/test/spec/test_buffer_spec.rb +15 -0
  162. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/Code-of-Conduct.md +73 -0
  163. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/Contributing.md +141 -0
  164. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/History.md +223 -0
  165. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/Licence.md +25 -0
  166. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/Manifest.txt +31 -0
  167. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/README.rdoc +200 -0
  168. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/Rakefile +284 -0
  169. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/lib/mime/type/columnar.rb +57 -0
  170. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/lib/mime/type.rb +587 -0
  171. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/lib/mime/types/_columnar.rb +136 -0
  172. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/lib/mime/types/cache.rb +58 -0
  173. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/lib/mime/types/columnar.rb +3 -0
  174. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/lib/mime/types/container.rb +96 -0
  175. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/lib/mime/types/deprecations.rb +32 -0
  176. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/lib/mime/types/full.rb +19 -0
  177. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/lib/mime/types/loader.rb +146 -0
  178. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/lib/mime/types/logger.rb +39 -0
  179. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/lib/mime/types/registry.rb +90 -0
  180. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/lib/mime/types.rb +231 -0
  181. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/lib/mime-types.rb +3 -0
  182. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/test/bad-fixtures/malformed +9 -0
  183. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/test/fixture/json.json +1 -0
  184. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/test/fixture/old-data +9 -0
  185. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/test/fixture/yaml.yaml +55 -0
  186. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/test/minitest_helper.rb +13 -0
  187. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/test/test_mime_type.rb +610 -0
  188. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/test/test_mime_types.rb +169 -0
  189. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/test/test_mime_types_cache.rb +118 -0
  190. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/test/test_mime_types_class.rb +159 -0
  191. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/test/test_mime_types_lazy.rb +49 -0
  192. data/vendor/bundle/ruby/2.6.0/gems/mime-types-3.3/test/test_mime_types_loader.rb +32 -0
  193. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/Code-of-Conduct.md +75 -0
  194. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/Contributing.md +161 -0
  195. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/History.md +396 -0
  196. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/Licence.md +25 -0
  197. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/Manifest.txt +31 -0
  198. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/README.md +63 -0
  199. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/Rakefile +94 -0
  200. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/data/mime-types.json +1 -0
  201. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/data/mime.content_type.column +2212 -0
  202. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/data/mime.docs.column +2212 -0
  203. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/data/mime.encoding.column +2212 -0
  204. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/data/mime.flags.column +2212 -0
  205. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/data/mime.friendly.column +2212 -0
  206. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/data/mime.pext.column +2212 -0
  207. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/data/mime.use_instead.column +2212 -0
  208. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/data/mime.xrefs.column +2212 -0
  209. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/lib/mime/types/data.rb +21 -0
  210. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/lib/mime-types-data.rb +3 -0
  211. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/types/application.yaml +16342 -0
  212. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/types/audio.yaml +1644 -0
  213. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/types/chemical.yaml +71 -0
  214. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/types/conference.yaml +9 -0
  215. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/types/drawing.yaml +15 -0
  216. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/types/font.yaml +65 -0
  217. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/types/image.yaml +1069 -0
  218. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/types/message.yaml +200 -0
  219. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/types/model.yaml +302 -0
  220. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/types/multipart.yaml +179 -0
  221. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/types/text.yaml +1046 -0
  222. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/types/video.yaml +1070 -0
  223. data/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2019.0904/types/world.yaml +8 -0
  224. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/README.md +313 -0
  225. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/Rakefile +18 -0
  226. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/TODO +15 -0
  227. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/central_directory.rb +208 -0
  228. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/compressor.rb +9 -0
  229. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/constants.rb +63 -0
  230. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/crypto/encryption.rb +11 -0
  231. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/crypto/null_encryption.rb +43 -0
  232. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/crypto/traditional_encryption.rb +99 -0
  233. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/decompressor.rb +13 -0
  234. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/deflater.rb +34 -0
  235. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/dos_time.rb +48 -0
  236. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/entry.rb +688 -0
  237. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/entry_set.rb +86 -0
  238. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/errors.rb +17 -0
  239. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/extra_field/generic.rb +43 -0
  240. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/extra_field/ntfs.rb +90 -0
  241. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/extra_field/old_unix.rb +44 -0
  242. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/extra_field/universal_time.rb +47 -0
  243. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/extra_field/unix.rb +37 -0
  244. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/extra_field/zip64.rb +68 -0
  245. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/extra_field/zip64_placeholder.rb +15 -0
  246. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/extra_field.rb +101 -0
  247. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/file.rb +436 -0
  248. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/filesystem.rb +627 -0
  249. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/inflater.rb +66 -0
  250. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/input_stream.rb +173 -0
  251. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/ioextras/abstract_input_stream.rb +111 -0
  252. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/ioextras/abstract_output_stream.rb +43 -0
  253. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/ioextras.rb +36 -0
  254. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/null_compressor.rb +15 -0
  255. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/null_decompressor.rb +27 -0
  256. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/null_input_stream.rb +10 -0
  257. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/output_stream.rb +189 -0
  258. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/pass_thru_compressor.rb +23 -0
  259. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/pass_thru_decompressor.rb +40 -0
  260. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/streamable_directory.rb +15 -0
  261. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/streamable_stream.rb +56 -0
  262. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip/version.rb +3 -0
  263. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/lib/zip.rb +69 -0
  264. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/samples/example.rb +81 -0
  265. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/samples/example_filesystem.rb +31 -0
  266. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/samples/example_recursive.rb +54 -0
  267. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/samples/gtk_ruby_zip.rb +84 -0
  268. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/samples/qtzip.rb +92 -0
  269. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/samples/write_simple.rb +12 -0
  270. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/samples/zipfind.rb +66 -0
  271. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/basic_zip_file_test.rb +60 -0
  272. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/case_sensitivity_test.rb +69 -0
  273. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/central_directory_entry_test.rb +69 -0
  274. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/central_directory_test.rb +100 -0
  275. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/crypto/null_encryption_test.rb +57 -0
  276. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/crypto/traditional_encryption_test.rb +80 -0
  277. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/WarnInvalidDate.zip +0 -0
  278. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/file1.txt +46 -0
  279. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/file1.txt.deflatedData +0 -0
  280. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/file2.txt +1504 -0
  281. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/globTest/foo/bar/baz/foo.txt +0 -0
  282. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/globTest/foo.txt +0 -0
  283. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/globTest/food.txt +0 -0
  284. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/globTest.zip +0 -0
  285. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/gpbit3stored.zip +0 -0
  286. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/mimetype +1 -0
  287. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/notzippedruby.rb +7 -0
  288. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/ntfs.zip +0 -0
  289. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/oddExtraField.zip +0 -0
  290. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/path_traversal/Makefile +10 -0
  291. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/path_traversal/jwilk/README.md +5 -0
  292. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/path_traversal/jwilk/absolute1.zip +0 -0
  293. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/path_traversal/jwilk/absolute2.zip +0 -0
  294. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/path_traversal/jwilk/dirsymlink.zip +0 -0
  295. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/path_traversal/jwilk/dirsymlink2a.zip +0 -0
  296. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/path_traversal/jwilk/dirsymlink2b.zip +0 -0
  297. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/path_traversal/jwilk/relative0.zip +0 -0
  298. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/path_traversal/jwilk/relative2.zip +0 -0
  299. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/path_traversal/jwilk/symlink.zip +0 -0
  300. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/path_traversal/relative1.zip +0 -0
  301. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/path_traversal/tilde.zip +0 -0
  302. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/path_traversal/tuzovakaoff/README.md +3 -0
  303. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/path_traversal/tuzovakaoff/absolutepath.zip +0 -0
  304. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/path_traversal/tuzovakaoff/symlink.zip +0 -0
  305. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/rubycode.zip +0 -0
  306. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/rubycode2.zip +0 -0
  307. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/test.xls +0 -0
  308. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/testDirectory.bin +0 -0
  309. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/zip64-sample.zip +0 -0
  310. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/zipWithDirs.zip +0 -0
  311. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/data/zipWithEncryption.zip +0 -0
  312. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/deflater_test.rb +65 -0
  313. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/encryption_test.rb +42 -0
  314. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/entry_set_test.rb +163 -0
  315. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/entry_test.rb +154 -0
  316. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/errors_test.rb +35 -0
  317. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/extra_field_test.rb +76 -0
  318. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/file_extract_directory_test.rb +54 -0
  319. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/file_extract_test.rb +83 -0
  320. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/file_permissions_test.rb +65 -0
  321. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/file_split_test.rb +57 -0
  322. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/file_test.rb +646 -0
  323. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/filesystem/dir_iterator_test.rb +58 -0
  324. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/filesystem/directory_test.rb +139 -0
  325. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/filesystem/file_mutating_test.rb +87 -0
  326. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/filesystem/file_nonmutating_test.rb +508 -0
  327. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/filesystem/file_stat_test.rb +64 -0
  328. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/gentestfiles.rb +126 -0
  329. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/inflater_test.rb +14 -0
  330. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/input_stream_test.rb +182 -0
  331. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/ioextras/abstract_input_stream_test.rb +102 -0
  332. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/ioextras/abstract_output_stream_test.rb +106 -0
  333. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/ioextras/fake_io_test.rb +18 -0
  334. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/local_entry_test.rb +154 -0
  335. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/output_stream_test.rb +128 -0
  336. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/pass_thru_compressor_test.rb +30 -0
  337. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/pass_thru_decompressor_test.rb +14 -0
  338. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/path_traversal_test.rb +141 -0
  339. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/samples/example_recursive_test.rb +37 -0
  340. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/settings_test.rb +95 -0
  341. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/test_helper.rb +234 -0
  342. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/unicode_file_names_and_comments_test.rb +62 -0
  343. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/zip64_full_test.rb +51 -0
  344. data/vendor/bundle/ruby/2.6.0/gems/rubyzip-1.2.4/test/zip64_support_test.rb +14 -0
  345. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/.document +5 -0
  346. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/.gitignore +19 -0
  347. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/.travis.yml +24 -0
  348. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/CHANGELOG.md +42 -0
  349. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/Gemfile +4 -0
  350. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/LICENSE.txt +22 -0
  351. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/README.md +57 -0
  352. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/Rakefile +31 -0
  353. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/ext/unf_ext/.sitearchdir.time +0 -0
  354. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/ext/unf_ext/Makefile +265 -0
  355. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/ext/unf_ext/extconf.rb +50 -0
  356. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/ext/unf_ext/unf/normalizer.hh +139 -0
  357. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/ext/unf_ext/unf/table.hh +13617 -0
  358. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/ext/unf_ext/unf/trie/char_stream.hh +150 -0
  359. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/ext/unf_ext/unf/trie/node.hh +25 -0
  360. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/ext/unf_ext/unf/trie/searcher.hh +194 -0
  361. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/ext/unf_ext/unf/util.hh +24 -0
  362. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/ext/unf_ext/unf.cc +75 -0
  363. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/ext/unf_ext/unf.o +0 -0
  364. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/ext/unf_ext/unf_ext.so +0 -0
  365. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/lib/unf_ext/version.rb +5 -0
  366. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/lib/unf_ext.rb +5 -0
  367. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/lib/unf_ext.so +0 -0
  368. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/test/helper.rb +18 -0
  369. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/test/normalization-test.txt +112332 -0
  370. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/test/test_unf_ext.rb +41 -0
  371. data/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.7.6/unf_ext.gemspec +42 -0
  372. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/LICENSE +202 -0
  373. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/README.md +276 -0
  374. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/bin/rwinrm +90 -0
  375. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/connection.rb +84 -0
  376. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/connection_opts.rb +90 -0
  377. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/exceptions.rb +88 -0
  378. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/http/response_handler.rb +127 -0
  379. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/http/transport.rb +462 -0
  380. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/http/transport_factory.rb +64 -0
  381. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/output.rb +58 -0
  382. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/psrp/create_pipeline.xml.erb +167 -0
  383. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/psrp/fragment.rb +68 -0
  384. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/psrp/init_runspace_pool.xml.erb +224 -0
  385. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/psrp/message.rb +128 -0
  386. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/psrp/message_data/base.rb +47 -0
  387. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/psrp/message_data/error_record.rb +66 -0
  388. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/psrp/message_data/pipeline_host_call.rb +30 -0
  389. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/psrp/message_data/pipeline_output.rb +48 -0
  390. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/psrp/message_data/pipeline_state.rb +38 -0
  391. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/psrp/message_data/runspacepool_host_call.rb +30 -0
  392. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/psrp/message_data/runspacepool_state.rb +37 -0
  393. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/psrp/message_data/session_capability.rb +34 -0
  394. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/psrp/message_data.rb +40 -0
  395. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/psrp/message_defragmenter.rb +62 -0
  396. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/psrp/message_factory.rb +74 -0
  397. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/psrp/message_fragmenter.rb +58 -0
  398. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/psrp/powershell_output_decoder.rb +142 -0
  399. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/psrp/receive_response_reader.rb +95 -0
  400. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/psrp/session_capability.xml.erb +7 -0
  401. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/psrp/uuid.rb +39 -0
  402. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/shells/base.rb +187 -0
  403. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/shells/cmd.rb +63 -0
  404. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/shells/power_shell.rb +206 -0
  405. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/shells/retryable.rb +44 -0
  406. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/shells/shell_factory.rb +56 -0
  407. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/version.rb +5 -0
  408. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/wsmv/base.rb +57 -0
  409. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/wsmv/cleanup_command.rb +60 -0
  410. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/wsmv/close_shell.rb +49 -0
  411. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/wsmv/command.rb +100 -0
  412. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/wsmv/command_output.rb +75 -0
  413. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/wsmv/command_output_decoder.rb +54 -0
  414. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/wsmv/configuration.rb +44 -0
  415. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/wsmv/create_pipeline.rb +64 -0
  416. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/wsmv/create_shell.rb +115 -0
  417. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/wsmv/header.rb +213 -0
  418. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/wsmv/init_runspace_pool.rb +96 -0
  419. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/wsmv/iso8601_duration.rb +58 -0
  420. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/wsmv/keep_alive.rb +66 -0
  421. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/wsmv/receive_response_reader.rb +128 -0
  422. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/wsmv/send_data.rb +66 -0
  423. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/wsmv/soap.rb +49 -0
  424. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/wsmv/wql_pull.rb +54 -0
  425. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/wsmv/wql_query.rb +98 -0
  426. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm/wsmv/write_stdin.rb +86 -0
  427. data/vendor/bundle/ruby/2.6.0/gems/winrm-2.3.2/lib/winrm.rb +37 -0
  428. data/vendor/bundle/ruby/2.6.0/specifications/bcrypt_pbkdf-1.0.1.gemspec +49 -0
  429. data/vendor/bundle/ruby/2.6.0/specifications/domain_name-0.5.20190701.gemspec +46 -0
  430. data/vendor/bundle/ruby/2.6.0/specifications/gssapi-1.3.0.gemspec +36 -0
  431. data/vendor/bundle/ruby/2.6.0/specifications/mime-types-3.3.gemspec +84 -0
  432. data/vendor/bundle/ruby/2.6.0/specifications/mime-types-data-3.2019.0904.gemspec +60 -0
  433. data/vendor/bundle/ruby/2.6.0/specifications/rubyzip-1.2.4.gemspec +44 -0
  434. data/vendor/bundle/ruby/2.6.0/specifications/unf_ext-0.0.7.6.gemspec +51 -0
  435. data/vendor/bundle/ruby/2.6.0/specifications/winrm-2.3.2.gemspec +73 -0
  436. data/version.txt +1 -1
  437. metadata +365 -6
  438. data/templates/nfs/exports.erb +0 -5
@@ -0,0 +1,213 @@
1
+ # Copyright 2016 Shawn Neal <sneal@sneal.net>
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ # rubocop:disable Metrics/MethodLength
16
+
17
+ require_relative 'soap'
18
+ require_relative 'iso8601_duration'
19
+
20
+ module WinRM
21
+ module WSMV
22
+ # SOAP header utility mixin
23
+ module Header
24
+ # WSMan URI of the regular Windows cmd shell
25
+ RESOURCE_URI_CMD = 'http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd'.freeze
26
+
27
+ # WSMan URI for PowerShell
28
+ RESOURCE_URI_POWERSHELL = 'http://schemas.microsoft.com/powershell/Microsoft.PowerShell'.freeze
29
+
30
+ # Merge the various header hashes and make sure we carry all of the attributes
31
+ # through instead of overwriting them.
32
+ def merge_headers(*headers)
33
+ hdr = {}
34
+ headers.each do |h|
35
+ hdr.merge!(h) do |k, v1, v2|
36
+ v1.merge!(v2) if k == :attributes!
37
+ end
38
+ end
39
+ hdr
40
+ end
41
+
42
+ def shared_headers(session_opts)
43
+ {
44
+ "#{SOAP::NS_ADDRESSING}:To" => session_opts[:endpoint],
45
+ "#{SOAP::NS_ADDRESSING}:ReplyTo" => {
46
+ "#{SOAP::NS_ADDRESSING}:Address" =>
47
+ 'http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous',
48
+ :attributes! => {
49
+ "#{SOAP::NS_ADDRESSING}:Address" => {
50
+ 'mustUnderstand' => true
51
+ }
52
+ }
53
+ },
54
+ "#{SOAP::NS_WSMAN_DMTF}:MaxEnvelopeSize" => session_opts[:max_envelope_size],
55
+ "#{SOAP::NS_ADDRESSING}:MessageID" => "uuid:#{SecureRandom.uuid.to_s.upcase}",
56
+ "#{SOAP::NS_WSMAN_MSFT}:SessionId" => "uuid:#{session_opts[:session_id]}",
57
+ "#{SOAP::NS_WSMAN_DMTF}:Locale/" => '',
58
+ "#{SOAP::NS_WSMAN_MSFT}:DataLocale/" => '',
59
+ "#{SOAP::NS_WSMAN_DMTF}:OperationTimeout" =>
60
+ Iso8601Duration.sec_to_dur(session_opts[:operation_timeout]),
61
+ :attributes! => {
62
+ "#{SOAP::NS_WSMAN_DMTF}:MaxEnvelopeSize" => { 'mustUnderstand' => true },
63
+ "#{SOAP::NS_WSMAN_DMTF}:Locale/" => {
64
+ 'xml:lang' => session_opts[:locale], 'mustUnderstand' => false
65
+ },
66
+ "#{SOAP::NS_WSMAN_MSFT}:DataLocale/" => {
67
+ 'xml:lang' => session_opts[:locale], 'mustUnderstand' => false
68
+ },
69
+ "#{SOAP::NS_WSMAN_MSFT}:SessionId" => { 'mustUnderstand' => false }
70
+ }
71
+ }
72
+ end
73
+
74
+ # Helper methods for SOAP Headers
75
+
76
+ def resource_uri_shell(shell_uri)
77
+ {
78
+ "#{SOAP::NS_WSMAN_DMTF}:ResourceURI" => shell_uri, :attributes! => {
79
+ "#{SOAP::NS_WSMAN_DMTF}:ResourceURI" => {
80
+ 'mustUnderstand' => true
81
+ }
82
+ }
83
+ }
84
+ end
85
+
86
+ def resource_uri_cmd
87
+ resource_uri_shell(RESOURCE_URI_CMD)
88
+ end
89
+
90
+ def resource_uri_wmi(namespace = 'root/cimv2/*')
91
+ {
92
+ "#{SOAP::NS_WSMAN_DMTF}:ResourceURI" =>
93
+ "http://schemas.microsoft.com/wbem/wsman/1/wmi/#{namespace}",
94
+ :attributes! => {
95
+ "#{SOAP::NS_WSMAN_DMTF}:ResourceURI" => {
96
+ 'mustUnderstand' => true
97
+ }
98
+ }
99
+ }
100
+ end
101
+
102
+ def action_get
103
+ {
104
+ "#{SOAP::NS_ADDRESSING}:Action" =>
105
+ 'http://schemas.xmlsoap.org/ws/2004/09/transfer/Get',
106
+ :attributes! => {
107
+ "#{SOAP::NS_ADDRESSING}:Action" => {
108
+ 'mustUnderstand' => true
109
+ }
110
+ }
111
+ }
112
+ end
113
+
114
+ def action_delete
115
+ {
116
+ "#{SOAP::NS_ADDRESSING}:Action" =>
117
+ 'http://schemas.xmlsoap.org/ws/2004/09/transfer/Delete',
118
+ :attributes! => {
119
+ "#{SOAP::NS_ADDRESSING}:Action" => {
120
+ 'mustUnderstand' => true
121
+ }
122
+ }
123
+ }
124
+ end
125
+
126
+ def action_command
127
+ {
128
+ "#{SOAP::NS_ADDRESSING}:Action" =>
129
+ 'http://schemas.microsoft.com/wbem/wsman/1/windows/shell/Command',
130
+ :attributes! => {
131
+ "#{SOAP::NS_ADDRESSING}:Action" => {
132
+ 'mustUnderstand' => true
133
+ }
134
+ }
135
+ }
136
+ end
137
+
138
+ def action_receive
139
+ {
140
+ "#{SOAP::NS_ADDRESSING}:Action" =>
141
+ 'http://schemas.microsoft.com/wbem/wsman/1/windows/shell/Receive',
142
+ :attributes! => {
143
+ "#{SOAP::NS_ADDRESSING}:Action" => {
144
+ 'mustUnderstand' => true
145
+ }
146
+ }
147
+ }
148
+ end
149
+
150
+ def action_send
151
+ {
152
+ "#{SOAP::NS_ADDRESSING}:Action" =>
153
+ 'http://schemas.microsoft.com/wbem/wsman/1/windows/shell/Send',
154
+ :attributes! => {
155
+ "#{SOAP::NS_ADDRESSING}:Action" => {
156
+ 'mustUnderstand' => true
157
+ }
158
+ }
159
+ }
160
+ end
161
+
162
+ def action_signal
163
+ {
164
+ "#{SOAP::NS_ADDRESSING}:Action" =>
165
+ 'http://schemas.microsoft.com/wbem/wsman/1/windows/shell/Signal',
166
+ :attributes! => {
167
+ "#{SOAP::NS_ADDRESSING}:Action" => {
168
+ 'mustUnderstand' => true
169
+ }
170
+ }
171
+ }
172
+ end
173
+
174
+ def action_enumerate
175
+ {
176
+ "#{SOAP::NS_ADDRESSING}:Action" =>
177
+ 'http://schemas.xmlsoap.org/ws/2004/09/enumeration/Enumerate',
178
+ :attributes! => {
179
+ "#{SOAP::NS_ADDRESSING}:Action" => {
180
+ 'mustUnderstand' => true
181
+ }
182
+ }
183
+ }
184
+ end
185
+
186
+ def action_enumerate_pull
187
+ {
188
+ "#{SOAP::NS_ADDRESSING}:Action" =>
189
+ 'http://schemas.xmlsoap.org/ws/2004/09/enumeration/Pull',
190
+ :attributes! => {
191
+ "#{SOAP::NS_ADDRESSING}:Action" => {
192
+ 'mustUnderstand' => true
193
+ }
194
+ }
195
+ }
196
+ end
197
+
198
+ def selector_shell_id(shell_id)
199
+ {
200
+ "#{SOAP::NS_WSMAN_DMTF}:SelectorSet" => {
201
+ "#{SOAP::NS_WSMAN_DMTF}:Selector" => shell_id, :attributes! => {
202
+ "#{SOAP::NS_WSMAN_DMTF}:Selector" => {
203
+ 'Name' => 'ShellId'
204
+ }
205
+ }
206
+ }
207
+ }
208
+ end
209
+ end
210
+ end
211
+ end
212
+
213
+ # rubocop:enable Metrics/MethodLength
@@ -0,0 +1,96 @@
1
+ # Copyright 2016 Matt Wrock <matt@mattwrock.com>
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require_relative 'base'
16
+
17
+ module WinRM
18
+ module WSMV
19
+ # WSMV message to create a remote shell
20
+ class InitRunspacePool < Base
21
+ attr_accessor :shell_id
22
+
23
+ def initialize(session_opts, shell_id, payload)
24
+ @session_opts = session_opts
25
+ @shell_id = shell_id
26
+ @payload = payload
27
+ end
28
+
29
+ protected
30
+
31
+ def create_header(header)
32
+ header << Gyoku.xml(shell_headers)
33
+ end
34
+
35
+ def create_body(body)
36
+ # OMI server requires a Name for the Shell
37
+ body.tag!("#{NS_WIN_SHELL}:Shell", 'ShellId' => shell_id, 'Name' => 'Runspace') do |s|
38
+ s << Gyoku.xml(shell_body)
39
+ end
40
+ end
41
+
42
+ private
43
+
44
+ def shell_body
45
+ body = {
46
+ "#{NS_WIN_SHELL}:InputStreams" => 'stdin pr',
47
+ "#{NS_WIN_SHELL}:OutputStreams" => 'stdout'
48
+ }
49
+ body['creationXml'] = encode_bytes(@payload)
50
+ body[:attributes!] = {
51
+ 'creationXml' => {
52
+ 'xmlns' => 'http://schemas.microsoft.com/powershell'
53
+ }
54
+ }
55
+ body
56
+ end
57
+
58
+ def shell_headers
59
+ merge_headers(shared_headers(@session_opts),
60
+ resource_uri_shell(RESOURCE_URI_POWERSHELL),
61
+ action_create,
62
+ header_opts)
63
+ end
64
+
65
+ def action_create
66
+ {
67
+ "#{NS_ADDRESSING}:Action" => 'http://schemas.xmlsoap.org/ws/2004/09/transfer/Create',
68
+ :attributes! => {
69
+ "#{NS_ADDRESSING}:Action" => {
70
+ 'mustUnderstand' => true
71
+ }
72
+ }
73
+ }
74
+ end
75
+
76
+ def header_opts
77
+ {
78
+ "#{NS_WSMAN_DMTF}:OptionSet" => {
79
+ "#{NS_WSMAN_DMTF}:Option" => 2.3,
80
+ :attributes! => {
81
+ "#{NS_WSMAN_DMTF}:Option" => {
82
+ 'Name' => 'protocolversion',
83
+ 'MustComply' => 'true'
84
+ }
85
+ }
86
+ },
87
+ :attributes! => {
88
+ "#{NS_WSMAN_DMTF}:OptionSet" => {
89
+ 'env:mustUnderstand' => 'true'
90
+ }
91
+ }
92
+ }
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,58 @@
1
+ # Copyright 2010 Dan Wanek <dan.wanek@gmail.com>
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ # rubocop:disable Metrics/MethodLength
16
+
17
+ # Format an ISO8601 Duration
18
+ module WinRM
19
+ module WSMV
20
+ # Converts seconds to ISO8601 duration format
21
+ module Iso8601Duration
22
+ # Convert the number of seconds to an ISO8601 duration format
23
+ # @see http://tools.ietf.org/html/rfc2445#section-4.3.6
24
+ # @param [Integer] seconds The amount of seconds for this duration
25
+ def self.sec_to_dur(seconds)
26
+ seconds = seconds.to_i
27
+ iso_str = 'P'
28
+ if seconds > 604_800 # more than a week
29
+ weeks = seconds / 604_800
30
+ seconds -= (604_800 * weeks)
31
+ iso_str << "#{weeks}W"
32
+ end
33
+ if seconds > 86_400 # more than a day
34
+ days = seconds / 86_400
35
+ seconds -= (86_400 * days)
36
+ iso_str << "#{days}D"
37
+ end
38
+ if seconds > 0
39
+ iso_str << 'T'
40
+ if seconds > 3600 # more than an hour
41
+ hours = seconds / 3600
42
+ seconds -= (3600 * hours)
43
+ iso_str << "#{hours}H"
44
+ end
45
+ if seconds > 60 # more than a minute
46
+ minutes = seconds / 60
47
+ seconds -= (60 * minutes)
48
+ iso_str << "#{minutes}M"
49
+ end
50
+ iso_str << "#{seconds}S"
51
+ end
52
+
53
+ iso_str
54
+ end
55
+ end
56
+ end
57
+ end
58
+ # rubocop:enable Metrics/MethodLength
@@ -0,0 +1,66 @@
1
+ # Copyright 2016 Matt Wrock <matt@mattwrock.com>
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require_relative 'base'
16
+
17
+ module WinRM
18
+ module WSMV
19
+ # WSMV keep alive message
20
+ class KeepAlive < Base
21
+ attr_accessor :shell_id
22
+
23
+ def initialize(session_opts, shell_id)
24
+ @session_opts = session_opts
25
+ @shell_id = shell_id
26
+ end
27
+
28
+ protected
29
+
30
+ def create_header(header)
31
+ header << Gyoku.xml(keep_alive_headers)
32
+ end
33
+
34
+ def create_body(body)
35
+ body.tag!("#{NS_WIN_SHELL}:Receive") { |s| s << Gyoku.xml(keep_alive_body) }
36
+ end
37
+
38
+ private
39
+
40
+ def keep_alive_body
41
+ { "#{NS_WIN_SHELL}:DesiredStream" => 'stdout' }
42
+ end
43
+
44
+ def keep_alive_headers
45
+ merge_headers(shared_headers(@session_opts),
46
+ resource_uri_shell(RESOURCE_URI_POWERSHELL),
47
+ action_receive,
48
+ header_opts,
49
+ selector_shell_id(shell_id))
50
+ end
51
+
52
+ def header_opts
53
+ {
54
+ "#{NS_WSMAN_DMTF}:OptionSet" => {
55
+ "#{NS_WSMAN_DMTF}:Option" => 'TRUE',
56
+ :attributes! => {
57
+ "#{NS_WSMAN_DMTF}:Option" => {
58
+ 'Name' => 'WSMAN_CMDSHELL_OPTION_KEEPALIVE'
59
+ }
60
+ }
61
+ }
62
+ }
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,128 @@
1
+ # Copyright 2016 Shawn Neal <sneal@sneal.net>
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require_relative 'soap'
16
+ require_relative 'header'
17
+ require_relative 'command_output_decoder'
18
+ require_relative '../output'
19
+
20
+ module WinRM
21
+ module WSMV
22
+ # Class for reading wsmv Receive_Response messages
23
+ class ReceiveResponseReader
24
+ include WinRM::WSMV::SOAP
25
+ include WinRM::WSMV::Header
26
+
27
+ # Creates a new ReceiveResponseReader
28
+ # @param transport [HttpTransport] The WinRM SOAP transport
29
+ # @param logger [Logger] The logger to log diagnostic messages to
30
+ def initialize(transport, logger)
31
+ @transport = transport
32
+ @logger = logger
33
+ @output_decoder = CommandOutputDecoder.new
34
+ end
35
+
36
+ attr_reader :logger
37
+
38
+ # Reads streams and returns decoded output
39
+ # @param wsmv_message [WinRM::WSMV::Base] A wsmv message to send to endpoint
40
+ # @yieldparam [string] standard out response text
41
+ # @yieldparam [string] standard error response text
42
+ # @yieldreturn [WinRM::Output] The command output
43
+ def read_output(wsmv_message)
44
+ with_output do |output|
45
+ read_response(wsmv_message, true) do |stream, doc|
46
+ handled_out = handle_stream(stream, output, doc)
47
+ yield handled_out if handled_out && block_given?
48
+ end
49
+ end
50
+ end
51
+
52
+ # Reads streams sent in one or more receive response messages
53
+ # @param wsmv_message [WinRM::WSMV::Base] A wsmv message to send to endpoint
54
+ # @param wait_for_done_state whether to poll for a CommandState of Done
55
+ # @yieldparam [Hash] Hash representation of stream with type and text
56
+ # @yieldparam [REXML::Document] Complete SOAP envelope returned to wsmv_message
57
+ def read_response(wsmv_message, wait_for_done_state = false)
58
+ resp_doc = nil
59
+ until command_done?(resp_doc, wait_for_done_state)
60
+ logger.debug('[WinRM] Waiting for output...')
61
+ resp_doc = send_get_output_message(wsmv_message.build)
62
+ logger.debug('[WinRM] Processing output')
63
+ read_streams(resp_doc) do |stream|
64
+ yield stream, resp_doc
65
+ end
66
+ end
67
+ end
68
+
69
+ protected
70
+
71
+ def with_output
72
+ output = WinRM::Output.new
73
+ yield output
74
+ output.exitcode ||= 0
75
+ output
76
+ end
77
+
78
+ private
79
+
80
+ def handle_stream(stream, output, resp_doc)
81
+ decoded_text = @output_decoder.decode(stream[:text])
82
+ return unless decoded_text
83
+
84
+ out = { stream[:type] => decoded_text }
85
+ output << out
86
+ if (code = REXML::XPath.first(resp_doc, "//*[local-name() = 'ExitCode']"))
87
+ output.exitcode = code.text.to_i
88
+ end
89
+ [out[:stdout], out[:stderr]]
90
+ end
91
+
92
+ def send_get_output_message(message)
93
+ @transport.send_request(message)
94
+ rescue WinRMWSManFault => e
95
+ # If no output is available before the wsman:OperationTimeout expires,
96
+ # the server MUST return a WSManFault with the Code attribute equal to
97
+ # 2150858793. When the client receives this fault, it SHOULD issue
98
+ # another Receive request.
99
+ # http://msdn.microsoft.com/en-us/library/cc251676.aspx
100
+ raise unless e.fault_code == '2150858793'
101
+
102
+ logger.debug('[WinRM] retrying receive request after timeout')
103
+ retry
104
+ end
105
+
106
+ def command_done?(resp_doc, wait_for_done_state)
107
+ return false unless resp_doc
108
+ return true unless wait_for_done_state
109
+
110
+ REXML::XPath.match(
111
+ resp_doc,
112
+ "//*[@State='http://schemas.microsoft.com/wbem/wsman/1/windows/shell/" \
113
+ "CommandState/Done']"
114
+ ).any?
115
+ end
116
+
117
+ def read_streams(response_document)
118
+ body_path = "/*[local-name() = 'Envelope']/*[local-name() = 'Body']"
119
+ path = "#{body_path}/*[local-name() = 'ReceiveResponse']/*[local-name() = 'Stream']"
120
+ REXML::XPath.match(response_document, path).each do |stream|
121
+ next if stream.text.nil? || stream.text.empty?
122
+
123
+ yield type: stream.attributes['Name'].to_sym, text: stream.text
124
+ end
125
+ end
126
+ end
127
+ end
128
+ end
@@ -0,0 +1,66 @@
1
+ # Copyright 2016 Matt Wrock <matt@mattwrock.com>
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require_relative 'base'
16
+
17
+ module WinRM
18
+ module WSMV
19
+ # Subclasses base, sends additional data to WinRM
20
+ class SendData < Base
21
+ attr_accessor :shell_id, :command_id, :fragment
22
+
23
+ def initialize(session_opts, shell_id, command_id, fragment)
24
+ @session_opts = session_opts
25
+ @shell_id = shell_id
26
+ @command_id = command_id
27
+ @fragment = fragment
28
+ end
29
+
30
+ protected
31
+
32
+ def create_header(header)
33
+ header << Gyoku.xml(command_headers)
34
+ end
35
+
36
+ def create_body(body)
37
+ body.tag!("#{NS_WIN_SHELL}:Send") do |cl|
38
+ cl << Gyoku.xml(command_body)
39
+ end
40
+ end
41
+
42
+ private
43
+
44
+ def command_body
45
+ {
46
+ "#{NS_WIN_SHELL}:Stream" => encode_bytes(fragment.bytes),
47
+ :attributes! => {
48
+ "#{NS_WIN_SHELL}:Stream" => {
49
+ 'Name' => 'stdin',
50
+ 'CommandId' => command_id
51
+ }
52
+ }
53
+ }
54
+ end
55
+
56
+ def command_headers
57
+ merge_headers(
58
+ shared_headers(@session_opts),
59
+ resource_uri_shell(RESOURCE_URI_POWERSHELL),
60
+ action_send,
61
+ selector_shell_id(shell_id)
62
+ )
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,49 @@
1
+ # Copyright 2010 Dan Wanek <dan.wanek@gmail.com>
2
+ # Copyright 2016 Shawn Neal <sneal@sneal.net>
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+ module WinRM
17
+ module WSMV
18
+ # WSMV SOAP namespaces mixin
19
+ module SOAP
20
+ NS_SOAP_ENV = 's'.freeze # http://www.w3.org/2003/05/soap-envelope
21
+ NS_ADDRESSING = 'a'.freeze # http://schemas.xmlsoap.org/ws/2004/08/addressing
22
+ NS_CIMBINDING = 'b'.freeze # http://schemas.dmtf.org/wbem/wsman/1/cimbinding.xsd
23
+ NS_ENUM = 'n'.freeze # http://schemas.xmlsoap.org/ws/2004/09/enumeration
24
+ NS_TRANSFER = 'x'.freeze # http://schemas.xmlsoap.org/ws/2004/09/transfer
25
+ NS_WSMAN_DMTF = 'w'.freeze # http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
26
+ NS_WSMAN_MSFT = 'p'.freeze # http://schemas.microsoft.com/wbem/wsman/1/wsman.xsd
27
+ NS_SCHEMA_INST = 'xsi'.freeze # http://www.w3.org/2001/XMLSchema-instance
28
+ NS_WIN_SHELL = 'rsp'.freeze # http://schemas.microsoft.com/wbem/wsman/1/windows/shell
29
+ NS_WSMAN_FAULT = 'f'.freeze # http://schemas.microsoft.com/wbem/wsman/1/wsmanfault
30
+ NS_WSMAN_CONF = 'cfg'.freeze # http://schemas.microsoft.com/wbem/wsman/1/config
31
+
32
+ def namespaces
33
+ @namespaces ||= {
34
+ 'xmlns:xsd' => 'http://www.w3.org/2001/XMLSchema',
35
+ 'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance',
36
+ 'xmlns:env' => 'http://www.w3.org/2003/05/soap-envelope',
37
+ "xmlns:#{NS_ADDRESSING}" => 'http://schemas.xmlsoap.org/ws/2004/08/addressing',
38
+ "xmlns:#{NS_CIMBINDING}" => 'http://schemas.dmtf.org/wbem/wsman/1/cimbinding.xsd',
39
+ "xmlns:#{NS_ENUM}" => 'http://schemas.xmlsoap.org/ws/2004/09/enumeration',
40
+ "xmlns:#{NS_TRANSFER}" => 'http://schemas.xmlsoap.org/ws/2004/09/transfer',
41
+ "xmlns:#{NS_WSMAN_DMTF}" => 'http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd',
42
+ "xmlns:#{NS_WSMAN_MSFT}" => 'http://schemas.microsoft.com/wbem/wsman/1/wsman.xsd',
43
+ "xmlns:#{NS_WIN_SHELL}" => 'http://schemas.microsoft.com/wbem/wsman/1/windows/shell',
44
+ "xmlns:#{NS_WSMAN_CONF}" => 'http://schemas.microsoft.com/wbem/wsman/1/config'
45
+ }
46
+ end
47
+ end
48
+ end
49
+ end