vagrant-unbundled 2.2.4.0 → 2.2.5.0

Sign up to get free protection for your applications and to get access to all the features.
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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 45c2a36f946ec458cfa48fe29a49c7eccde00c9bde34c1e85dea5ebfb9e644b8
4
- data.tar.gz: c859d383a0e7e821b7712bf96e5037b038bd8986a0449e91f698d77ef6622dc8
3
+ metadata.gz: dc55b87783fde68e4d0baa8a784b925cca0c8e47c52547b7c78416da27654dfb
4
+ data.tar.gz: b436b38448926f7e154a76deff00acbe0571e38ab28f38db01607a8fdc09b91f
5
5
  SHA512:
6
- metadata.gz: 50bbd997c795f80689ce2b8c2d22ba8a75fb56c5899b9f786c8e8bc2dd0b589da64644ef679db3f0602be1d39d2b5ff08bb0811dd2c9bbe0de879bf88757c551
7
- data.tar.gz: 34ef4f6fff708112c2c3cad5e9b6222ecf2a9c44c89bb4c2daa69dfbe384665bef219419e2bd94763492a70d7a19e6bf255faf7e4f2cb02bf9633e32ff5a7e34
6
+ metadata.gz: 9b19bbfea28bf8ab58f8ceb68a893a9594b782eb1f7057f478ccb04695813681d23fa50ca1f29d169c45ad81da536e693ff7c6fadab20d2b3de2888235508d94
7
+ data.tar.gz: 55b3e648bb7ec975d22b983b83cd340863dfd51f41ecb6b97807e12d220c6b6a1adbc3b038f7a62cd3424b85a8613f55abdd7f1ca5ff0b2ff749385c7f5b2428
data/CHANGELOG.md CHANGED
@@ -1,3 +1,47 @@
1
+ ## 2.2.5 (July 19, 2019)
2
+
3
+ FEATURES:
4
+
5
+ - providers/docker: Private and Public networking support [GH-10702]
6
+
7
+ IMPROVEMENTS:
8
+
9
+ - command/global-status: Provide machine-readable information [GH-10506]
10
+ - command/snapshot: Separate snapshot names for guests when listing snapshots [GH-10828]
11
+ - command/box/update: Ignore missing metadata files when updating all boxes [GH-10829]
12
+ - core: Use consistent settings when unpacking boxes as root [GH-10707]
13
+ - core: Write metadata.json file when packaging box [GH-10706]
14
+ - core: Remove whitespace from id file on load [GH-10727]
15
+ - core/bundler: Support resolution when installed within system [GH-10894]
16
+ - guest/coreos: Update network configuration and hostname setting [GH-10752]
17
+ - guest/freebsd: Add proper VirtualBox share folders support for FreeBSD guests [GH-10717]
18
+ - guest/freebsd: Add unmount share folder for VirtualBox guests [GH-10761]
19
+ - guest/freebsd: Simplify network interface listing when configuring networks [GH-10763]
20
+ - providers/docker: Add usable? check to docker provider [GH-10890]
21
+ - synced_folder/smb: Remove configuration information from synced folder data [GH-10811]
22
+
23
+ BUG FIXES:
24
+
25
+ - command/box/update: Ensure the right version is picked when updating specific boxes [GH-10810]
26
+ - command/cloud: Properly set variable from CLI argument parsing for `username` field [GH-10726]
27
+ - command/rsync_auto: Use relative paths to machines folder path for file path Listener [GH-10902]
28
+ - communicator/ssh: Remove net/sftp loading to prevent loading errors [GH-10745]
29
+ - contrib/bash: Search for running_vm_list only in `machines` folder [GH-10841]
30
+ - core/bundler: Properly parse multiple constants when installing plugins [GH-10896]
31
+ - core/environment: Support plugin configuration within box Vagrantfiles [GH-10889]
32
+ - core/triggers: Fix typo in UI output [GH-10748]
33
+ - core/triggers: Properly exit with abort option [GH-10824]
34
+ - core/triggers: Ensure guest names are string when filtering trigger configs [GH-10854]
35
+ - core/triggers: Abort after all running processes have completed when parallel is enabled [GH-10891]
36
+ - guest/void: Fix NFS capability detection [GH-10713]
37
+ - guest/bsd: Properly set BSD options order for /etc/exports [GH-10909]
38
+ - host/windows: Fix rubygems error when host has directory named `c` [GH-10803]
39
+ - provider/virtualbox: Ensure non-existent machines do not attempt to list snapshots [GH-10784]
40
+ - provider/docker: Properly set docker-compose config file with volume names [GH-10820]
41
+ - provisioner/ansible: Fix pip installer hardcoded curl get_pip.py piped to python [GH-10625]
42
+ - provisioner/chef: Update chef install check for guests [GH-10917]
43
+ - synced_folders/rsync: Remove rsync__excludes from command if array is empty [GH-10901]
44
+
1
45
  ## 2.2.4 (February 27, 2019)
2
46
 
3
47
  FEATURES:
data/Gemfile.lock CHANGED
@@ -11,7 +11,7 @@ GIT
11
11
  PATH
12
12
  remote: .
13
13
  specs:
14
- vagrant-unbundled (2.2.4.0)
14
+ vagrant-unbundled (2.2.5.0)
15
15
  bcrypt_pbkdf (~> 1.0.0)
16
16
  childprocess (~> 0.6.0)
17
17
  ed25519 (~> 1.2.4)
@@ -38,7 +38,7 @@ GEM
38
38
  specs:
39
39
  addressable (2.5.2)
40
40
  public_suffix (>= 2.0.2, < 4.0)
41
- bcrypt_pbkdf (1.0.0)
41
+ bcrypt_pbkdf (1.0.1)
42
42
  builder (3.2.3)
43
43
  childprocess (0.6.3)
44
44
  ffi (~> 1.0, >= 1.0.11)
@@ -46,13 +46,13 @@ GEM
46
46
  crack (0.4.3)
47
47
  safe_yaml (~> 1.0.0)
48
48
  diff-lcs (1.3)
49
- domain_name (0.5.20180417)
49
+ domain_name (0.5.20190701)
50
50
  unf (>= 0.0.5, < 1.0.0)
51
51
  ed25519 (1.2.4)
52
52
  erubis (2.7.0)
53
53
  fake_ftp (0.1.1)
54
54
  ffi (1.10.0)
55
- gssapi (1.2.0)
55
+ gssapi (1.3.0)
56
56
  ffi (>= 1.0.1)
57
57
  gyoku (1.3.1)
58
58
  builder (>= 2.1.2)
@@ -72,9 +72,9 @@ GEM
72
72
  logging (2.2.2)
73
73
  little-plugger (~> 1.1)
74
74
  multi_json (~> 1.10)
75
- mime-types (3.2.2)
75
+ mime-types (3.3)
76
76
  mime-types-data (~> 3.2015)
77
- mime-types-data (3.2018.0812)
77
+ mime-types-data (3.2019.0904)
78
78
  multi_json (1.13.1)
79
79
  net-scp (1.2.1)
80
80
  net-ssh (>= 2.6.5)
@@ -112,12 +112,12 @@ GEM
112
112
  rspec-support (3.5.0)
113
113
  ruby_dep (1.3.1)
114
114
  rubyntlm (0.6.2)
115
- rubyzip (1.2.2)
115
+ rubyzip (1.2.4)
116
116
  safe_yaml (1.0.4)
117
117
  thor (0.18.1)
118
118
  unf (0.1.4)
119
119
  unf_ext
120
- unf_ext (0.0.7.5)
120
+ unf_ext (0.0.7.6)
121
121
  vagrant_cloud (2.0.2)
122
122
  rest-client (~> 2.0.2)
123
123
  wdm (0.1.1)
@@ -125,7 +125,7 @@ GEM
125
125
  addressable (>= 2.3.6)
126
126
  crack (>= 0.3.2)
127
127
  hashdiff
128
- winrm (2.3.1)
128
+ winrm (2.3.2)
129
129
  builder (>= 2.1.2)
130
130
  erubis (~> 2.7)
131
131
  gssapi (~> 1.2)
@@ -156,4 +156,4 @@ DEPENDENCIES
156
156
  webmock (~> 2.3.1)
157
157
 
158
158
  BUNDLED WITH
159
- 2.0.1
159
+ 2.0.2
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License
2
2
 
3
- Copyright (c) 2010-2018 Mitchell Hashimoto
3
+ Copyright (c) 2010-2019 Mitchell Hashimoto
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -19,6 +19,8 @@ between Windows, Mac OS X, and Linux.
19
19
 
20
20
  ## Quick Start
21
21
 
22
+ Package dependencies: Vagrant requires `bsdtar` to be available on your system PATH to run successfully.
23
+
22
24
  For the quick-start, we'll bring up a development machine on
23
25
  [VirtualBox](https://www.virtualbox.org/) because it is free and works
24
26
  on all major platforms. Vagrant can, however, work with almost any
@@ -56,6 +58,14 @@ Once your Vagrant bundle is installed from Git repository, you can run the test
56
58
 
57
59
  This will run the unit test suite, which should come back all green!
58
60
 
61
+ If you are developing Vagrant on a machine that already has a Vagrant package installation present, both will attempt to use the same folder for their configuration (location of this folder depends on system). This can cause errors when Vagrant attempts to load plugins. In this case, override the `VAGRANT_HOME` environment variable for your development version of Vagrant before running any commands, to be some new folder within the project or elsewhere on your machine. For example, in Bash:
62
+
63
+ export VAGRANT_HOME=~/.vagrant-dev
64
+
65
+ You can now run Vagrant commands against the development version:
66
+
67
+ bundle exec vagrant
68
+
59
69
  Please take time to read the [HashiCorp Community Guidelines](https://www.hashicorp.com/community-guidelines) and the [Vagrant Contributing Guide](https://github.com/hashicorp/vagrant/blob/master/.github/CONTRIBUTING.md).
60
70
 
61
71
  Then you're good to go!
data/RELEASE.md CHANGED
@@ -15,34 +15,20 @@ targeted at Vagrant core members who have the ability to cut a release.
15
15
  $ git push --tags
16
16
  ```
17
17
 
18
- 1. Trigger an installer creation run within the HashiCorp Bamboo installation.
19
- This will take around 45 minutes.
18
+ 1. This will automatically trigger an installer creation, upload the artifacts,
19
+ and publish the release.
20
20
 
21
- 1. Download all the resulting artifacts into the `pkg/dist` folder relative to
22
- the Vagrant repository on your local machine.
21
+ 1. After the release has been published update the `website/config.rb` to point
22
+ to the latest version, commit, and push.
23
23
 
24
- 1. Run `./scripts/sign.sh` with the version that is being created. This must be
25
- run from the Vagrant repo root. This will GPG sign and checksum the files.
24
+ 1. Publish the webiste by deleting the `stable-website` branch, recreate the branch,
25
+ and force push. From the `master` branch, run:
26
26
 
27
- 1. Run the following command to upload the binaries to the releases site:
28
-
29
- ```
30
- $ hc-releases upload pkg/dist
31
- ```
32
-
33
- 1. Publish the new index files to the releases site:
34
-
35
- ```
36
- $ hc-releases publish
37
- ```
38
-
39
- 1. Update `website/config.rb` to point to the latest version, commit, and push.
40
-
41
- 1. Tell HashiBot to deploy in `#deploys`
42
-
43
- ```
44
- hashibot deploy vagrant
45
- ```
27
+ ```
28
+ $ git branch -D stable-website
29
+ $ git branch -b stable-website
30
+ $ git push -f origin stable-website
31
+ ```
46
32
 
47
33
  1. Update `version.txt` to append `.dev` and add a new blank entry in the
48
34
  CHANGELOG, commit, and push.
@@ -85,7 +85,7 @@ _vagrant() {
85
85
  then
86
86
  running_vm_list=$(grep 'active' "${vagrant_state_file}" | sed -e 's/"active"://' | tr ',' '\n' | cut -d '"' -f 2 | tr '\n' ' ')
87
87
  else
88
- running_vm_list=$(find "${vagrant_state_file}" -type f -name "id" | awk -F"/" '{print $(NF-2)}')
88
+ running_vm_list=$(find "${vagrant_state_file}/machines" -type f -name "id" | awk -F"/" '{print $(NF-2)}')
89
89
  fi
90
90
  COMPREPLY=($(compgen -W "${running_vm_list}" -- ${cur}))
91
91
  return 0
@@ -97,8 +97,14 @@ module Vagrant
97
97
  end
98
98
  end
99
99
 
100
+ folder_data = JSON.dump(folders)
101
+
102
+ # Scrub any register credentials from the synced folders
103
+ # configuration data to prevent accidental leakage
104
+ folder_data = Util::CredentialScrubber.desensitize(folder_data)
105
+
100
106
  machine.data_dir.join("synced_folders").open("w") do |f|
101
- f.write(JSON.dump(folders))
107
+ f.write(folder_data)
102
108
  end
103
109
  end
104
110
 
@@ -80,8 +80,10 @@ module Vagrant
80
80
  @app.call(env)
81
81
 
82
82
  @env[:ui].info I18n.t("vagrant.actions.general.package.compressing", fullpath: fullpath)
83
+
83
84
  copy_include_files
84
85
  setup_private_key
86
+ write_metadata_json
85
87
  compress
86
88
  end
87
89
 
@@ -151,6 +153,22 @@ module Vagrant
151
153
  end
152
154
  end
153
155
 
156
+ # Write the metadata file into the box so that the provider
157
+ # can be automatically detected when adding the box
158
+ def write_metadata_json
159
+ meta_path = File.join(@env["package.directory"], "metadata.json")
160
+ return if File.exist?(meta_path)
161
+
162
+ if @env[:machine] && @env[:machine].provider_name
163
+ provider_name = @env[:machine].provider_name
164
+ elsif @env[:env] && @env[:env].default_provider
165
+ provider_name = @env[:env].default_provider
166
+ else
167
+ return
168
+ end
169
+ File.write(meta_path, {provider: provider_name}.to_json)
170
+ end
171
+
154
172
  # This will copy the generated private key into the box and use
155
173
  # it for SSH by default. We have to do this because we now generate
156
174
  # random keypairs on boot, so packaged boxes would stop working
@@ -43,7 +43,7 @@ module Vagrant
43
43
  machine = environment[:machine]
44
44
  machine_name = machine.name if machine
45
45
 
46
- ui = Vagrant::UI::Prefixed.new(env.ui, "vargant")
46
+ ui = Vagrant::UI::Prefixed.new(env.ui, "vagrant")
47
47
  triggers = Vagrant::Plugin::V2::Trigger.new(env, env.vagrantfile.config.trigger, machine, ui)
48
48
  end
49
49
 
@@ -28,7 +28,7 @@ module Vagrant
28
28
 
29
29
  machine = env[:machine]
30
30
  machine_name = machine.name if machine
31
- ui = Vagrant::UI::Prefixed.new(@env.ui, "vargant")
31
+ ui = Vagrant::UI::Prefixed.new(@env.ui, "vagrant")
32
32
  @triggers = Vagrant::Plugin::V2::Trigger.new(@env, @env.vagrantfile.config.trigger, machine, ui)
33
33
  end
34
34
 
@@ -71,6 +71,10 @@ module Vagrant
71
71
  thread = Thread.new do
72
72
  Thread.current[:error] = nil
73
73
 
74
+ # Note that this thread is being used for running
75
+ # a batch action
76
+ Thread.current[:batch_parallel_action] = par
77
+
74
78
  # Record our pid when we started in order to figure out if
75
79
  # we've forked...
76
80
  start_pid = Process.pid
@@ -160,6 +164,16 @@ module Vagrant
160
164
  if !errors.empty?
161
165
  raise Errors::BatchMultiError, message: errors.join("\n\n")
162
166
  end
167
+
168
+ # Check if any threads set an exit code and exit if found. If
169
+ # multiple threads have exit code values set, the first encountered
170
+ # will be the value used.
171
+ threads.each do |thread|
172
+ if thread[:exit_code]
173
+ @logger.debug("Found exit code set within batch action thread. Exiting")
174
+ Process.exit!(thread[:exit_code])
175
+ end
176
+ end
163
177
  end
164
178
  end
165
179
  end
@@ -116,7 +116,7 @@ module Vagrant
116
116
  # Extract the box into a temporary directory.
117
117
  @logger.debug("Unpacking box into temporary directory: #{temp_dir}")
118
118
  result = Util::Subprocess.execute(
119
- "bsdtar", "-v", "-x", "-m", "-s", "|\\\\\|/|", "-C", temp_dir.to_s, "-f", path.to_s)
119
+ "bsdtar", "--no-same-owner", "--no-same-permissions", "-v", "-x", "-m", "-s", "|\\\\\|/|", "-C", temp_dir.to_s, "-f", path.to_s)
120
120
  if result.exit_code != 0
121
121
  raise Errors::BoxUnpackageFailure,
122
122
  output: result.stderr.to_s
@@ -40,6 +40,20 @@ module Vagrant
40
40
  def initialize
41
41
  @plugin_gem_path = Vagrant.user_data_path.join("gems", RUBY_VERSION).freeze
42
42
  @logger = Log4r::Logger.new("vagrant::bundler")
43
+
44
+ # TODO: Remove fix when https://github.com/rubygems/rubygems/pull/2735
45
+ # gets merged and released
46
+ #
47
+ # Because of a rubygems bug, we need to set the gemrc file path
48
+ # through this method rather than relying on the environment varible
49
+ # GEMRC. On windows, that path gets split on `:`: and `;`, which means
50
+ # the drive letter gets treated as its own path. If that path exists locally,
51
+ # (like having a random folder called `c` where the library was invoked),
52
+ # it fails thinking the folder `c` is a gemrc file.
53
+ gemrc_val = ENV["GEMRC"]
54
+ ENV["GEMRC"] = ""
55
+ Gem.configuration = Gem::ConfigFile.new(["--config-file", gemrc_val])
56
+ ENV["GEMRC"] = gemrc_val
43
57
  end
44
58
 
45
59
  # Enable Vagrant environment specific plugins at given data path
@@ -62,12 +76,8 @@ module Vagrant
62
76
 
63
77
  # Add HashiCorp RubyGems source
64
78
  if !Gem.sources.include?(HASHICORP_GEMSTORE)
65
- current_sources = Gem.sources.sources.dup
66
- Gem.sources.clear
67
- Gem.sources << HASHICORP_GEMSTORE
68
- current_sources.each do |src|
69
- Gem.sources << src
70
- end
79
+ sources = [HASHICORP_GEMSTORE] + Gem.sources.sources
80
+ Gem.sources.replace(sources)
71
81
  end
72
82
 
73
83
  # Generate dependencies for all registered plugins
@@ -292,13 +302,19 @@ module Vagrant
292
302
  end
293
303
  source_list[name] << source
294
304
  end
295
- Gem::Dependency.new(name, gem_version)
305
+ Gem::Dependency.new(name, *gem_version.split(","))
296
306
  end
297
307
 
298
308
  if Vagrant.strict_dependency_enforcement
299
309
  @logger.debug("Enabling strict dependency enforcement")
300
310
  plugin_deps += vagrant_internal_specs.map do |spec|
301
311
  next if system_plugins.include?(spec.name)
312
+ # If we are not running within the installer and
313
+ # we are not within a bundler environment then we
314
+ # only want activated specs
315
+ if !Vagrant.in_installer? && !Vagrant.in_bundler?
316
+ next if !spec.activated?
317
+ end
302
318
  Gem::Dependency.new(spec.name, spec.version)
303
319
  end.compact
304
320
  else
@@ -401,8 +417,13 @@ module Vagrant
401
417
  Gem::Resolver.compose_sets(*sets)
402
418
  end
403
419
 
404
- # @return [Array<[Gem::Specification, String]>] spec and directory pairs
420
+ # @return [Array<[Gem::Specification]>] spec list
405
421
  def vagrant_internal_specs
422
+ # activate any dependencies up front so we can always
423
+ # pin them when resolving
424
+ Gem::Specification.find { |s| s.name == "vagrant" && s.activated? }.
425
+ runtime_dependencies.each { |d| gem d.name, *d.requirement.as_list }
426
+ # discover all the gems we have available
406
427
  list = {}
407
428
  directories = [Gem::Specification.default_specifications_dir]
408
429
  Gem::Specification.find_all{true}.each do |spec|
data/lib/vagrant/cli.rb CHANGED
@@ -14,7 +14,7 @@ module Vagrant
14
14
  @main_args, @sub_command, @sub_args = split_main_and_subcommand(argv)
15
15
 
16
16
  if Vagrant::Util::Experimental.feature_enabled?("typed_triggers")
17
- ui = Vagrant::UI::Prefixed.new(env.ui, "vargant")
17
+ ui = Vagrant::UI::Prefixed.new(env.ui, "vagrant")
18
18
  @triggers = Vagrant::Plugin::V2::Trigger.new(env, env.vagrantfile.config.trigger, nil, ui)
19
19
  end
20
20
 
@@ -175,9 +175,7 @@ module Vagrant
175
175
  # Load any global plugins
176
176
  Vagrant::Plugin::Manager.instance.load_plugins(plugins)
177
177
 
178
- if !vagrantfile.config.vagrant.plugins.empty?
179
- plugins = process_configured_plugins
180
- end
178
+ plugins = process_configured_plugins
181
179
 
182
180
  # Call the hooks that does not require configurations to be loaded
183
181
  # by using a "clean" action runner
@@ -922,6 +920,49 @@ module Vagrant
922
920
 
923
921
  protected
924
922
 
923
+ # Attempt to guess the configured provider in use. Will fallback
924
+ # to the default provider if an explicit provider name is not
925
+ # provided. This can be pretty error prone, but is used during
926
+ # initial environment setup to allow loading plugins so it doesn't
927
+ # need to be perfect
928
+ #
929
+ # @return [String]
930
+ def guess_provider
931
+ gp = nil
932
+ ARGV.each_with_index do |val, idx|
933
+ if val.start_with?("--provider=")
934
+ gp = val.split("=", 2).last
935
+ break
936
+ elsif val == "--provider"
937
+ gp = ARGV[idx+1]
938
+ break
939
+ end
940
+ end
941
+ return gp.to_sym if gp
942
+ begin
943
+ default_provider
944
+ rescue Errors::NoDefaultProvider
945
+ # if a provider cannot be determined just return nil
946
+ nil
947
+ end
948
+ end
949
+
950
+ # Load any configuration provided by guests defined within
951
+ # the Vagrantfile to pull plugin information they may have
952
+ # defined.
953
+ def find_configured_plugins
954
+ plugins = []
955
+ provider = guess_provider
956
+ vagrantfile.machine_names.each do |mname|
957
+ ldp = @local_data_path.join("machines/#{mname}/#{provider}") if @local_data_path
958
+ plugins << vagrantfile.machine_config(mname, guess_provider, boxes, ldp, false)[:config]
959
+ end
960
+ result = plugins.reverse.inject(Vagrant::Util::HashWithIndifferentAccess.new) do |memo, val|
961
+ Vagrant::Util::DeepMerge.deep_merge(memo, val.vagrant.plugins)
962
+ end
963
+ Vagrant::Util::DeepMerge.deep_merge(result, vagrantfile.config.vagrant.plugins)
964
+ end
965
+
925
966
  # Check for any local plugins defined within the Vagrantfile. If
926
967
  # found, validate they are available. If they are not available,
927
968
  # request to install them, or raise an exception
@@ -939,7 +980,7 @@ module Vagrant
939
980
  # Check if defined plugins are installed
940
981
  installed = Plugin::Manager.instance.installed_plugins
941
982
  needs_install = []
942
- config_plugins = vagrantfile.config.vagrant.plugins
983
+ config_plugins = find_configured_plugins
943
984
  config_plugins.each do |name, info|
944
985
  if !installed[name]
945
986
  needs_install << name
@@ -980,7 +1021,11 @@ module Vagrant
980
1021
  ui.warn(I18n.t("vagrant.plugins.local.install_rerun_command"))
981
1022
  exit(-1)
982
1023
  end
983
- Vagrant::Plugin::Manager.instance.local_file.installed_plugins
1024
+ if Vagrant::Plugin::Manager.instance.local_file
1025
+ Vagrant::Plugin::Manager.instance.local_file.installed_plugins
1026
+ else
1027
+ {}
1028
+ end
984
1029
  end
985
1030
 
986
1031
  # This method copies the private key into the home directory if it
@@ -399,7 +399,10 @@ module Vagrant
399
399
  # Read the id file from the data directory if it exists as the
400
400
  # ID for the pre-existing physical representation of this machine.
401
401
  id_file = @data_dir.join("id")
402
- @id = id_file.read.chomp if id_file.file?
402
+ id_content = id_file.read.strip if id_file.file?
403
+ if !id_content.to_s.empty?
404
+ @id = id_content
405
+ end
403
406
  end
404
407
 
405
408
  if @id != old_id && @provider
@@ -110,7 +110,7 @@ module Vagrant
110
110
  match = false
111
111
  if trigger.only_on
112
112
  trigger.only_on.each do |o|
113
- if o.match(guest_name)
113
+ if o.match(guest_name.to_s)
114
114
  # trigger matches on current guest, so we're fine to use it
115
115
  match = true
116
116
  break
@@ -300,8 +300,17 @@ module Vagrant
300
300
  #
301
301
  # @param [Integer] code Code to exit Vagrant on
302
302
  def trigger_abort(exit_code)
303
- @ui.warn(I18n.t("vagrant.trigger.abort"))
304
- exit(exit_code)
303
+ if Thread.current[:batch_parallel_action]
304
+ @ui.warn(I18n.t("vagrant.trigger.abort_threaded"))
305
+ @logger.debug("Trigger abort within parallel batch action. " \
306
+ "Setting exit code and terminating.")
307
+ Thread.current[:exit_code] = exit_code
308
+ Thread.current.terminate
309
+ else
310
+ @ui.warn(I18n.t("vagrant.trigger.abort"))
311
+ @logger.debug("Trigger abort within non-parallel action, exiting directly")
312
+ Process.exit!(exit_code)
313
+ end
305
314
  end
306
315
 
307
316
  # Calls the given ruby block for execution
@@ -35,6 +35,14 @@ module Vagrant
35
35
  !!ENV["VAGRANT_INSTALLER_ENV"]
36
36
  end
37
37
 
38
+ # This returns a true/false if we are running within a bundler environment
39
+ #
40
+ # @return [Boolean]
41
+ def self.in_bundler?
42
+ !!ENV["BUNDLE_GEMFILE"] &&
43
+ !defined?(::Bundler).nil?
44
+ end
45
+
38
46
  # Returns the path to the embedded directory of the Vagrant installer,
39
47
  # if there is one (if we're running in an installer).
40
48
  #
@@ -23,6 +23,25 @@ module Vagrant
23
23
  comm.test("systemctl -q is-active systemd-networkd.service", sudo: true)
24
24
  end
25
25
 
26
+ # Check if a unit file with the given name is defined. Name can
27
+ # be a pattern or explicit name.
28
+ #
29
+ # @param [Vagrant::Plugin::V2::Communicator] comm Guest communicator
30
+ # @param [String] name Name or pattern to search
31
+ # @return [Boolean]
32
+ def systemd_unit_file?(comm, name)
33
+ comm.test("systemctl -q list-unit-files | grep \"#{name}\"")
34
+ end
35
+
36
+ # Check if a unit is currently active within systemd
37
+ #
38
+ # @param [Vagrant::Plugin::V2::Communicator] comm Guest communicator
39
+ # @param [String] name Name or pattern to search
40
+ # @return [Boolean]
41
+ def systemd_unit?(comm, name)
42
+ comm.test("systemctl -q list-units | grep \"#{name}\"")
43
+ end
44
+
26
45
  # Check if given service is controlled by systemd
27
46
  #
28
47
  # @param [Vagrant::Plugin::V2::Communicator] comm Guest communicator
@@ -112,7 +112,7 @@ module Vagrant
112
112
  # @param [Pathname] data_path Machine data path
113
113
  # @return [Hash<Symbol, Object>] Various configuration parameters for a
114
114
  # machine. See the main documentation body for more info.
115
- def machine_config(name, provider, boxes, data_path=nil)
115
+ def machine_config(name, provider, boxes, data_path=nil, validate_provider=true)
116
116
  keys = @keys.dup
117
117
 
118
118
  sub_machine = @config.vm.defined_vms[name]
@@ -127,7 +127,7 @@ module Vagrant
127
127
  box_formats = nil
128
128
  if provider != nil
129
129
  provider_plugin = Vagrant.plugin("2").manager.providers[provider]
130
- if !provider_plugin
130
+ if !provider_plugin && validate_provider
131
131
  providers = Vagrant.plugin("2").manager.providers.to_hash.keys
132
132
  if providers
133
133
  providers_str = providers.join(', ')
@@ -145,18 +145,22 @@ module Vagrant
145
145
  machine: name, provider: provider, providers: providers_str
146
146
  end
147
147
 
148
- provider_cls = provider_plugin[0]
149
- provider_options = provider_plugin[1]
150
- box_formats = provider_options[:box_format] || provider
151
-
152
- # Test if the provider is usable or not
153
- begin
154
- provider_cls.usable?(true)
155
- rescue Errors::VagrantError => e
156
- raise Errors::ProviderNotUsable,
157
- machine: name.to_s,
158
- provider: provider.to_s,
159
- message: e.to_s
148
+ if validate_provider
149
+ provider_cls = provider_plugin[0]
150
+ provider_options = provider_plugin[1]
151
+ box_formats = provider_options[:box_format] || provider
152
+
153
+ # Test if the provider is usable or not
154
+ begin
155
+ provider_cls.usable?(true)
156
+ rescue Errors::VagrantError => e
157
+ raise Errors::ProviderNotUsable,
158
+ machine: name.to_s,
159
+ provider: provider.to_s,
160
+ message: e.to_s
161
+ end
162
+ else
163
+ box_formats = provider
160
164
  end
161
165
  end
162
166
 
@@ -80,7 +80,7 @@ module VagrantPlugins
80
80
  end
81
81
 
82
82
  to_update = [
83
- [name, provider, boxes[name][provider].sort.last],
83
+ [name, provider, boxes[name][provider].sort_by{|n| Gem::Version.new(n)}.last],
84
84
  ]
85
85
 
86
86
  to_update.each do |n, p, v|
@@ -128,7 +128,13 @@ module VagrantPlugins
128
128
  if download_options[:insecure].nil?
129
129
  download_options[:insecure] = machine.config.vm.box_download_insecure
130
130
  end
131
- box_update(box, version, machine.ui, download_options, force)
131
+
132
+ begin
133
+ box_update(box, version, machine.ui, download_options, force)
134
+ rescue Vagrant::Errors::BoxUpdateNoMetadata => e
135
+ machine.ui.warn(e)
136
+ next
137
+ end
132
138
  end
133
139
  end
134
140