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
@@ -0,0 +1,97 @@
1
+ require 'helper'
2
+
3
+ class TestDomainName < Test::Unit::TestCase
4
+ test "encode labels just as listed in RFC 3492 #7.1 (slightly modified)" do
5
+ [
6
+ ['(A) Arabic (Egyptian)',
7
+ [0x0644, 0x064A, 0x0647, 0x0645, 0x0627, 0x0628, 0x062A, 0x0643, 0x0644,
8
+ 0x0645, 0x0648, 0x0634, 0x0639, 0x0631, 0x0628, 0x064A, 0x061F],
9
+ 'egbpdaj6bu4bxfgehfvwxn'],
10
+ ['(B) Chinese (simplified)',
11
+ [0x4ED6, 0x4EEC, 0x4E3A, 0x4EC0, 0x4E48, 0x4E0D, 0x8BF4, 0x4E2D, 0x6587],
12
+ 'ihqwcrb4cv8a8dqg056pqjye'],
13
+ ['(C) Chinese (traditional)',
14
+ [0x4ED6, 0x5011, 0x7232, 0x4EC0, 0x9EBD, 0x4E0D, 0x8AAA, 0x4E2D, 0x6587],
15
+ 'ihqwctvzc91f659drss3x8bo0yb'],
16
+ ['(D) Czech: Pro<ccaron>prost<ecaron>nemluv<iacute><ccaron>esky',
17
+ [0x0050, 0x0072, 0x006F, 0x010D, 0x0070, 0x0072, 0x006F, 0x0073, 0x0074,
18
+ 0x011B, 0x006E, 0x0065, 0x006D, 0x006C, 0x0075, 0x0076, 0x00ED, 0x010D,
19
+ 0x0065, 0x0073, 0x006B, 0x0079],
20
+ 'Proprostnemluvesky-uyb24dma41a'],
21
+ ['(E) Hebrew',
22
+ [0x05DC, 0x05DE, 0x05D4, 0x05D4, 0x05DD, 0x05E4, 0x05E9, 0x05D5, 0x05D8,
23
+ 0x05DC, 0x05D0, 0x05DE, 0x05D3, 0x05D1, 0x05E8, 0x05D9, 0x05DD, 0x05E2,
24
+ 0x05D1, 0x05E8, 0x05D9, 0x05EA],
25
+ '4dbcagdahymbxekheh6e0a7fei0b'],
26
+ ['(F) Hindi (Devanagari)',
27
+ [0x092F, 0x0939, 0x0932, 0x094B, 0x0917, 0x0939, 0x093F, 0x0928, 0x094D,
28
+ 0x0926, 0x0940, 0x0915, 0x094D, 0x092F, 0x094B, 0x0902, 0x0928, 0x0939,
29
+ 0x0940, 0x0902, 0x092C, 0x094B, 0x0932, 0x0938, 0x0915, 0x0924, 0x0947,
30
+ 0x0939, 0x0948, 0x0902],
31
+ 'i1baa7eci9glrd9b2ae1bj0hfcgg6iyaf8o0a1dig0cd'],
32
+ ['(G) Japanese (kanji and hiragana)',
33
+ [0x306A, 0x305C, 0x307F, 0x3093, 0x306A, 0x65E5, 0x672C, 0x8A9E, 0x3092,
34
+ 0x8A71, 0x3057, 0x3066, 0x304F, 0x308C, 0x306A, 0x3044, 0x306E, 0x304B],
35
+ 'n8jok5ay5dzabd5bym9f0cm5685rrjetr6pdxa'],
36
+ ['(H) Korean (Hangul syllables)',
37
+ [0xC138, 0xACC4, 0xC758, 0xBAA8, 0xB4E0, 0xC0AC, 0xB78C, 0xB4E4, 0xC774,
38
+ 0xD55C, 0xAD6D, 0xC5B4, 0xB97C, 0xC774, 0xD574, 0xD55C, 0xB2E4, 0xBA74,
39
+ 0xC5BC, 0xB9C8, 0xB098, 0xC88B, 0xC744, 0xAE4C],
40
+ '989aomsvi5e83db1d2a355cv1e0vak1dwrv93d5xbh15a0dt30a5j' <<
41
+ 'psd879ccm6fea98c'],
42
+ ['(I) Russian (Cyrillic)',
43
+ [0x043F, 0x043E, 0x0447, 0x0435, 0x043C, 0x0443, 0x0436, 0x0435, 0x043E,
44
+ 0x043D, 0x0438, 0x043D, 0x0435, 0x0433, 0x043E, 0x0432, 0x043E, 0x0440,
45
+ 0x044F, 0x0442, 0x043F, 0x043E, 0x0440, 0x0443, 0x0441, 0x0441, 0x043A,
46
+ 0x0438],
47
+ 'b1abfaaepdrnnbgefbadotcwatmq2g4l'],
48
+ ['(J) Spanish: Porqu<eacute>nopuedensimplementehablarenEspa<ntilde>ol',
49
+ [0x0050, 0x006F, 0x0072, 0x0071, 0x0075, 0x00E9, 0x006E, 0x006F, 0x0070,
50
+ 0x0075, 0x0065, 0x0064, 0x0065, 0x006E, 0x0073, 0x0069, 0x006D, 0x0070,
51
+ 0x006C, 0x0065, 0x006D, 0x0065, 0x006E, 0x0074, 0x0065, 0x0068, 0x0061,
52
+ 0x0062, 0x006C, 0x0061, 0x0072, 0x0065, 0x006E, 0x0045, 0x0073, 0x0070,
53
+ 0x0061, 0x00F1, 0x006F, 0x006C],
54
+ 'PorqunopuedensimplementehablarenEspaol-fmd56a'],
55
+ ['(K) Vietnamese: T<adotbelow>isaoh<odotbelow>kh<ocirc>ngth<ecirchookabove>ch' <<
56
+ '<ihookabove>n<oacute>iti<ecircacute>ngVi<ecircdotbelow>t',
57
+ [0x0054, 0x1EA1, 0x0069, 0x0073, 0x0061, 0x006F, 0x0068, 0x1ECD, 0x006B,
58
+ 0x0068, 0x00F4, 0x006E, 0x0067, 0x0074, 0x0068, 0x1EC3, 0x0063, 0x0068,
59
+ 0x1EC9, 0x006E, 0x00F3, 0x0069, 0x0074, 0x0069, 0x1EBF, 0x006E, 0x0067,
60
+ 0x0056, 0x0069, 0x1EC7, 0x0074],
61
+ 'TisaohkhngthchnitingVit-kjcr8268qyxafd2f1b9g'],
62
+ ['(L) 3<nen>B<gumi><kinpachi><sensei>',
63
+ [0x0033, 0x5E74, 0x0042, 0x7D44, 0x91D1, 0x516B, 0x5148, 0x751F],
64
+ '3B-ww4c5e180e575a65lsy2b'],
65
+ ['(M) <amuro><namie>-with-SUPER-MONKEYS',
66
+ [0x5B89, 0x5BA4, 0x5948, 0x7F8E, 0x6075, 0x002D, 0x0077, 0x0069, 0x0074,
67
+ 0x0068, 0x002D, 0x0053, 0x0055, 0x0050, 0x0045, 0x0052, 0x002D, 0x004D,
68
+ 0x004F, 0x004E, 0x004B, 0x0045, 0x0059, 0x0053],
69
+ '-with-SUPER-MONKEYS-pc58ag80a8qai00g7n9n'],
70
+ ['(N) Hello-Another-Way-<sorezore><no><basho>',
71
+ [0x0048, 0x0065, 0x006C, 0x006C, 0x006F, 0x002D, 0x0041, 0x006E, 0x006F,
72
+ 0x0074, 0x0068, 0x0065, 0x0072, 0x002D, 0x0057, 0x0061, 0x0079, 0x002D,
73
+ 0x305D, 0x308C, 0x305E, 0x308C, 0x306E, 0x5834, 0x6240],
74
+ 'Hello-Another-Way--fc4qua05auwb3674vfr0b'],
75
+ ['(O) <hitotsu><yane><no><shita>2',
76
+ [0x3072, 0x3068, 0x3064, 0x5C4B, 0x6839, 0x306E, 0x4E0B, 0x0032],
77
+ '2-u9tlzr9756bt3uc0v'],
78
+ ['(P) Maji<de>Koi<suru>5<byou><mae>',
79
+ [0x004D, 0x0061, 0x006A, 0x0069, 0x3067, 0x004B, 0x006F, 0x0069, 0x3059,
80
+ 0x308B, 0x0035, 0x79D2, 0x524D],
81
+ 'MajiKoi5-783gue6qz075azm5e'],
82
+ ['(Q) <pafii>de<runba>',
83
+ [0x30D1, 0x30D5, 0x30A3, 0x30FC, 0x0064, 0x0065, 0x30EB, 0x30F3, 0x30D0],
84
+ 'de-jg4avhby1noc0d'],
85
+ ['(R) <sono><supiido><de>',
86
+ [0x305D, 0x306E, 0x30B9, 0x30D4, 0x30FC, 0x30C9, 0x3067],
87
+ 'd9juau41awczczp'],
88
+ ['(S) -> $1.00 <-',
89
+ [0x002D, 0x003E, 0x0020, 0x0024, 0x0031, 0x002E, 0x0030, 0x0030, 0x0020,
90
+ 0x003C, 0x002D],
91
+ '-> $1.00 <--']
92
+ ].each { |title, cps, punycode|
93
+ assert_equal punycode, DomainName::Punycode.encode(cps.pack('U*')), title
94
+ assert_equal cps.pack('U*').to_nfc, DomainName::Punycode.decode(punycode), title
95
+ }
96
+ end
97
+ end
@@ -0,0 +1,317 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+ require 'ipaddr'
4
+
5
+ class TestDomainName < Test::Unit::TestCase
6
+ test "raise ArgumentError if hostname starts with a dot" do
7
+ [
8
+ # Leading dot.
9
+ '.com',
10
+ '.example',
11
+ '.example.com',
12
+ '.example.example',
13
+ ].each { |hostname|
14
+ assert_raises(ArgumentError) { DomainName.new(hostname) }
15
+ }
16
+ end
17
+
18
+ test "accept a String-alike for initialization" do
19
+ Object.new.tap { |obj|
20
+ def obj.to_str
21
+ "Example.org"
22
+ end
23
+ assert_equal "example.org", DomainName.new(obj).hostname
24
+ }
25
+
26
+ Object.new.tap { |obj|
27
+ def obj.to_str
28
+ 123
29
+ end
30
+ assert_raises(TypeError) { DomainName.new(obj) }
31
+ }
32
+
33
+ Object.new.tap { |obj|
34
+ assert_raises(TypeError) { DomainName.new(obj) }
35
+ }
36
+ end
37
+
38
+ test "parse canonical domain names correctly" do
39
+ [
40
+ # Mixed case.
41
+ ['COM', nil, false, 'com', true],
42
+ ['example.COM', 'example.com', true, 'com', true],
43
+ ['WwW.example.COM', 'example.com', true, 'com', true],
44
+ # Unlisted TLD.
45
+ ['example', 'example', false, 'example', false],
46
+ ['example.example', 'example.example', false, 'example', false],
47
+ ['b.example.example', 'example.example', false, 'example', false],
48
+ ['a.b.example.example', 'example.example', false, 'example', false],
49
+ # Listed, but non-Internet, TLD.
50
+ ['local', 'local', false, 'local', false],
51
+ ['example.local', 'example.local', false, 'local', false],
52
+ ['b.example.local', 'example.local', false, 'local', false],
53
+ ['a.b.example.local', 'example.local', false, 'local', false],
54
+ # TLD with only 1 rule.
55
+ ['biz', nil, false, 'biz', true],
56
+ ['domain.biz', 'domain.biz', true, 'biz', true],
57
+ ['b.domain.biz', 'domain.biz', true, 'biz', true],
58
+ ['a.b.domain.biz', 'domain.biz', true, 'biz', true],
59
+ # TLD with some 2-level rules.
60
+ ['com', nil, false, 'com', true],
61
+ ['example.com', 'example.com', true, 'com', true],
62
+ ['b.example.com', 'example.com', true, 'com', true],
63
+ ['a.b.example.com', 'example.com', true, 'com', true],
64
+ ['uk.com', nil, false, 'com', true],
65
+ ['example.uk.com', 'example.uk.com', true, 'com', true],
66
+ ['b.example.uk.com', 'example.uk.com', true, 'com', true],
67
+ ['a.b.example.uk.com', 'example.uk.com', true, 'com', true],
68
+ ['test.ac', 'test.ac', true, 'ac', true],
69
+ # TLD with only 1 (wildcard) rule.
70
+ ['bd', nil, false, 'bd', true],
71
+ ['c.bd', nil, false, 'bd', true],
72
+ ['b.c.bd', 'b.c.bd', true, 'bd', true],
73
+ ['a.b.c.bd', 'b.c.bd', true, 'bd', true],
74
+ # More complex TLD.
75
+ ['jp', nil, false, 'jp', true],
76
+ ['test.jp', 'test.jp', true, 'jp', true],
77
+ ['www.test.jp', 'test.jp', true, 'jp', true],
78
+ ['ac.jp', nil, false, 'jp', true],
79
+ ['test.ac.jp', 'test.ac.jp', true, 'jp', true],
80
+ ['www.test.ac.jp', 'test.ac.jp', true, 'jp', true],
81
+ ['kyoto.jp', nil, false, 'jp', true],
82
+ ['test.kyoto.jp', 'test.kyoto.jp', true, 'jp', true],
83
+ ['ide.kyoto.jp', nil, false, 'jp', true],
84
+ ['b.ide.kyoto.jp', 'b.ide.kyoto.jp', true, 'jp', true],
85
+ ['a.b.ide.kyoto.jp', 'b.ide.kyoto.jp', true, 'jp', true],
86
+ ['c.kobe.jp', nil, false, 'jp', true],
87
+ ['b.c.kobe.jp', 'b.c.kobe.jp', true, 'jp', true],
88
+ ['a.b.c.kobe.jp', 'b.c.kobe.jp', true, 'jp', true],
89
+ ['city.kobe.jp', 'city.kobe.jp', true, 'jp', true],
90
+ ['www.city.kobe.jp', 'city.kobe.jp', true, 'jp', true],
91
+ # TLD with a wildcard rule and exceptions.
92
+ ['ck', nil, false, 'ck', true],
93
+ ['test.ck', nil, false, 'ck', true],
94
+ ['b.test.ck', 'b.test.ck', true, 'ck', true],
95
+ ['a.b.test.ck', 'b.test.ck', true, 'ck', true],
96
+ ['www.ck', 'www.ck', true, 'ck', true],
97
+ ['www.www.ck', 'www.ck', true, 'ck', true],
98
+ # US K12.
99
+ ['us', nil, false, 'us', true],
100
+ ['test.us', 'test.us', true, 'us', true],
101
+ ['www.test.us', 'test.us', true, 'us', true],
102
+ ['ak.us', nil, false, 'us', true],
103
+ ['test.ak.us', 'test.ak.us', true, 'us', true],
104
+ ['www.test.ak.us', 'test.ak.us', true, 'us', true],
105
+ ['k12.ak.us', nil, false, 'us', true],
106
+ ['test.k12.ak.us', 'test.k12.ak.us', true, 'us', true],
107
+ ['www.test.k12.ak.us', 'test.k12.ak.us', true, 'us', true],
108
+ # IDN labels. (modified; currently DomainName always converts U-labels to A-labels)
109
+ ['食狮.com.cn', 'xn--85x722f.com.cn', true, 'cn', true],
110
+ ['食狮.公司.cn', 'xn--85x722f.xn--55qx5d.cn', true, 'cn', true],
111
+ ['www.食狮.公司.cn', 'xn--85x722f.xn--55qx5d.cn', true, 'cn', true],
112
+ ['shishi.公司.cn', 'shishi.xn--55qx5d.cn', true, 'cn', true],
113
+ ['公司.cn', nil, false, 'cn', true],
114
+ ['食狮.中国', 'xn--85x722f.xn--fiqs8s', true, 'xn--fiqs8s', true],
115
+ ['www.食狮.中国', 'xn--85x722f.xn--fiqs8s', true, 'xn--fiqs8s', true],
116
+ ['shishi.中国', 'shishi.xn--fiqs8s', true, 'xn--fiqs8s', true],
117
+ ['中国', nil, false, 'xn--fiqs8s', true],
118
+ # Same as above, but punycoded.
119
+ ['xn--85x722f.com.cn', 'xn--85x722f.com.cn', true, 'cn', true],
120
+ ['xn--85x722f.xn--55qx5d.cn', 'xn--85x722f.xn--55qx5d.cn', true, 'cn', true],
121
+ ['www.xn--85x722f.xn--55qx5d.cn', 'xn--85x722f.xn--55qx5d.cn', true, 'cn', true],
122
+ ['shishi.xn--55qx5d.cn', 'shishi.xn--55qx5d.cn', true, 'cn', true],
123
+ ['xn--55qx5d.cn', nil, false, 'cn', true],
124
+ ['xn--85x722f.xn--fiqs8s', 'xn--85x722f.xn--fiqs8s', true, 'xn--fiqs8s', true],
125
+ ['www.xn--85x722f.xn--fiqs8s', 'xn--85x722f.xn--fiqs8s', true, 'xn--fiqs8s', true],
126
+ ['shishi.xn--fiqs8s', 'shishi.xn--fiqs8s', true, 'xn--fiqs8s', true],
127
+ ['xn--fiqs8s', nil, false, 'xn--fiqs8s', true],
128
+ ].each { |hostname, domain, canonical, tld, canonical_tld|
129
+ dn = DomainName.new(hostname)
130
+ assert_equal(domain, dn.domain, hostname + ':domain')
131
+ assert_equal(canonical, dn.canonical?, hostname + ':canoninal?')
132
+ assert_equal(tld, dn.tld, hostname + ':tld')
133
+ assert_equal(canonical_tld, dn.canonical_tld?, hostname + ':canoninal_tld?')
134
+ }
135
+ end
136
+
137
+ test "compare hostnames correctly" do
138
+ [
139
+ ["foo.com", "abc.foo.com", 1],
140
+ ["COM", "abc.foo.com", 1],
141
+ ["abc.def.foo.com", "foo.com", -1],
142
+ ["abc.def.foo.com", "ABC.def.FOO.com", 0],
143
+ ["abc.def.foo.com", "bar.com", nil],
144
+ ].each { |x, y, v|
145
+ dx, dy = DomainName(x), DomainName(y)
146
+ [
147
+ [dx, y, v],
148
+ [dx, dy, v],
149
+ [dy, x, v ? -v : v],
150
+ [dy, dx, v ? -v : v],
151
+ ].each { |a, b, expected|
152
+ assert_equal expected, a <=> b
153
+ case expected
154
+ when 1
155
+ assert_equal(true, a > b)
156
+ assert_equal(true, a >= b)
157
+ assert_equal(false, a == b)
158
+ assert_equal(false, a <= b)
159
+ assert_equal(false, a < b)
160
+ when -1
161
+ assert_equal(true, a < b)
162
+ assert_equal(true, a <= b)
163
+ assert_equal(false, a == b)
164
+ assert_equal(false, a >= b)
165
+ assert_equal(false, a > b)
166
+ when 0
167
+ assert_equal(false, a < b)
168
+ assert_equal(true, a <= b)
169
+ assert_equal(true, a == b)
170
+ assert_equal(true, a >= b)
171
+ assert_equal(false, a > b)
172
+ when nil
173
+ assert_equal(nil, a < b)
174
+ assert_equal(nil, a <= b)
175
+ assert_equal(false, a == b)
176
+ assert_equal(nil, a >= b)
177
+ assert_equal(nil, a > b)
178
+ end
179
+ }
180
+ }
181
+ end
182
+
183
+ test "check cookie domain correctly" do
184
+ {
185
+ 'com' => [
186
+ ['com', false],
187
+ ['example.com', false],
188
+ ['foo.example.com', false],
189
+ ['bar.foo.example.com', false],
190
+ ],
191
+
192
+ 'example.com' => [
193
+ ['com', false],
194
+ ['example.com', true],
195
+ ['foo.example.com', false],
196
+ ['bar.foo.example.com', false],
197
+ ],
198
+
199
+ 'foo.example.com' => [
200
+ ['com', false],
201
+ ['example.com', true],
202
+ ['foo.example.com', true],
203
+ ['foo.Example.com', true],
204
+ ['bar.foo.example.com', false],
205
+ ['bar.Foo.Example.com', false],
206
+ ],
207
+
208
+ 'b.sapporo.jp' => [
209
+ ['jp', false],
210
+ ['sapporo.jp', false],
211
+ ['b.sapporo.jp', false],
212
+ ['a.b.sapporo.jp', false],
213
+ ],
214
+
215
+ 'b.c.sapporo.jp' => [
216
+ ['jp', false],
217
+ ['sapporo.jp', false],
218
+ ['c.sapporo.jp', false],
219
+ ['b.c.sapporo.jp', true],
220
+ ['a.b.c.sapporo.jp', false],
221
+ ],
222
+
223
+ 'b.c.d.sapporo.jp' => [
224
+ ['jp', false],
225
+ ['sapporo.jp', false],
226
+ ['d.sapporo.jp', false],
227
+ ['c.d.sapporo.jp', true],
228
+ ['b.c.d.sapporo.jp', true],
229
+ ['a.b.c.d.sapporo.jp', false],
230
+ ],
231
+
232
+ 'city.sapporo.jp' => [
233
+ ['jp', false],
234
+ ['sapporo.jp', false],
235
+ ['city.sapporo.jp', true],
236
+ ['a.city.sapporo.jp', false],
237
+ ],
238
+
239
+ 'b.city.sapporo.jp' => [
240
+ ['jp', false],
241
+ ['sapporo.jp', false],
242
+ ['city.sapporo.jp', true],
243
+ ['b.city.sapporo.jp', true],
244
+ ['a.b.city.sapporo.jp', false],
245
+ ],
246
+ }.each_pair { |host, pairs|
247
+ dn = DomainName(host)
248
+ assert_equal(true, dn.cookie_domain?(host.upcase, true), dn.to_s)
249
+ assert_equal(true, dn.cookie_domain?(host.downcase, true), dn.to_s)
250
+ assert_equal(false, dn.cookie_domain?("www." << host, true), dn.to_s)
251
+ pairs.each { |domain, expected|
252
+ assert_equal(expected, dn.cookie_domain?(domain), "%s - %s" % [dn.to_s, domain])
253
+ assert_equal(expected, dn.cookie_domain?(DomainName(domain)), "%s - %s" % [dn.to_s, domain])
254
+ }
255
+ }
256
+ end
257
+
258
+ test "parse IPv4 addresseses" do
259
+ a = '192.168.10.20'
260
+ dn = DomainName(a)
261
+ assert_equal(a, dn.hostname)
262
+ assert_equal(true, dn.ipaddr?)
263
+ assert_equal(IPAddr.new(a), dn.ipaddr)
264
+ assert_equal(true, dn.cookie_domain?(a))
265
+ assert_equal(true, dn.cookie_domain?(a, true))
266
+ assert_equal(true, dn.cookie_domain?(dn))
267
+ assert_equal(true, dn.cookie_domain?(dn, true))
268
+ assert_equal(false, dn.cookie_domain?('168.10.20'))
269
+ assert_equal(false, dn.cookie_domain?('20'))
270
+ assert_equal(nil, dn.superdomain)
271
+ end
272
+
273
+ test "parse IPv6 addresseses" do
274
+ a = '2001:200:dff:fff1:216:3eff:feb1:44d7'
275
+ b = '2001:0200:0dff:fff1:0216:3eff:feb1:44d7'
276
+ [b, b.upcase, "[#{b}]", "[#{b.upcase}]"].each { |host|
277
+ dn = DomainName(host)
278
+ assert_equal("[#{a}]", dn.uri_host)
279
+ assert_equal(a, dn.hostname)
280
+ assert_equal(true, dn.ipaddr?)
281
+ assert_equal(IPAddr.new(a), dn.ipaddr)
282
+ assert_equal(true, dn.cookie_domain?(host))
283
+ assert_equal(true, dn.cookie_domain?(host, true))
284
+ assert_equal(true, dn.cookie_domain?(dn))
285
+ assert_equal(true, dn.cookie_domain?(dn, true))
286
+ assert_equal(true, dn.cookie_domain?(a))
287
+ assert_equal(true, dn.cookie_domain?(a, true))
288
+ assert_equal(nil, dn.superdomain)
289
+ }
290
+ end
291
+
292
+ test "get superdomain" do
293
+ [
294
+ %w[www.sub.example.local sub.example.local example.local local],
295
+ %w[www.sub.example.com sub.example.com example.com com],
296
+ ].each { |domain, *superdomains|
297
+ dn = DomainName(domain)
298
+ superdomains.each { |superdomain|
299
+ sdn = DomainName(superdomain)
300
+ assert_equal sdn, dn.superdomain
301
+ dn = sdn
302
+ }
303
+ assert_equal nil, dn.superdomain
304
+ }
305
+ end
306
+
307
+ test "have idn methods" do
308
+ dn = DomainName("金八先生.B組.3年.日本語ドメイン名Example.日本")
309
+
310
+ assert_equal "xn--44q1cv48kq8x.xn--b-gf6c.xn--3-pj3b.xn--example-6q4fyliikhk162btq3b2zd4y2o.xn--wgv71a", dn.hostname
311
+ assert_equal "金八先生.b組.3年.日本語ドメイン名example.日本", dn.hostname_idn
312
+ assert_equal "xn--example-6q4fyliikhk162btq3b2zd4y2o.xn--wgv71a", dn.domain
313
+ assert_equal "日本語ドメイン名example.日本", dn.domain_idn
314
+ assert_equal "xn--wgv71a", dn.tld
315
+ assert_equal "日本", dn.tld_idn
316
+ end
317
+ end
@@ -0,0 +1,63 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'pathname'
5
+ $basedir = Pathname.new(__FILE__).dirname.parent
6
+ $LOAD_PATH.unshift $basedir + 'lib'
7
+ require 'domain_name'
8
+ require 'set'
9
+ require 'erb'
10
+
11
+ def main
12
+ dat_file = $basedir + 'data' + 'public_suffix_list.dat'
13
+ dir = $basedir + 'lib' + 'domain_name'
14
+ erb_file = dir + 'etld_data.rb.erb'
15
+ rb_file = dir + 'etld_data.rb'
16
+
17
+ etld_data_date = File.mtime(dat_file)
18
+
19
+ File.open(dat_file, 'r:utf-8') { |dat|
20
+ etld_data = parse(dat)
21
+ File.open(rb_file, 'w:utf-8') { |rb|
22
+ File.open(erb_file, 'r:utf-8') { |erb|
23
+ rb.print ERB.new(erb.read).result(binding)
24
+ }
25
+ }
26
+ }
27
+ end
28
+
29
+ def normalize_hostname(domain)
30
+ DomainName.normalize(domain)
31
+ end
32
+
33
+ def parse(f)
34
+ {}.tap { |table|
35
+ tlds = Set[]
36
+ f.each_line { |line|
37
+ line.sub!(%r{//.*}, '')
38
+ line.strip!
39
+ next if line.empty?
40
+ case line
41
+ when /^local$/
42
+ # ignore .local
43
+ next
44
+ when /^([^!*]+)$/
45
+ domain = normalize_hostname($1)
46
+ value = 0
47
+ when /^\*\.([^!*]+)$/
48
+ domain = normalize_hostname($1)
49
+ value = -1
50
+ when /^\!([^!*]+)$/
51
+ domain = normalize_hostname($1)
52
+ value = 1
53
+ else
54
+ raise "syntax error: #{line}"
55
+ end
56
+ tld = domain.match(/(?:^|\.)([^.]+)$/)[1]
57
+ table[tld] ||= 1
58
+ table[domain] = value
59
+ }
60
+ }
61
+ end
62
+
63
+ main()
@@ -0,0 +1,11 @@
1
+ Gemfile.lock
2
+
3
+ # RVM setup
4
+ /.ruby-version
5
+ /.ruby-gemset
6
+
7
+ # Vim swap files
8
+ *.sw[op]
9
+
10
+ # VS Code Dir
11
+ /.vscode
@@ -0,0 +1,18 @@
1
+ Copyright © 2010 Dan Wanek <dan.wanek@gmail.com>
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to
5
+ deal in the Software without restriction, including without limitation the
6
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
+ sell copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
16
+ THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
17
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
18
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,23 @@
1
+ ## Version 1.1.1
2
+ * Allow GssApiError to be initialized with string.
3
+ * Add display_name wrapper for gss_display_name to GSSAPI::Simple
4
+ * gss_iov examples
5
+ * Ruby 1.8.x support
6
+ * Change loader for MIT and Heimdal to be a bit cleaner. Fix syntax in simple.rb
7
+ * Do a gss_acquire_cred for every connection to the server.
8
+ * updating path to gssapi32.dll
9
+
10
+ ## Version 1.1.2
11
+ * add gss_get_mic
12
+
13
+ ## Version 1.2.0
14
+ * Move IOV and AEAD to gssapi/extensions.rb so it can be loaded separately when needed
15
+
16
+ ## Version 1.3.0
17
+
18
+ Sorry everyone that this has taken so long to go out. I don't really work much
19
+ with GSSAPI so it hasn't been a priority for me.
20
+
21
+ * Implemented delegation and added verify_mic. Thanks @mfazekas
22
+ * Add loading of MIT GSS libs for solaris/smartos. Thanks @fac
23
+ * Fix corruption in iov_decrypt example. Thanks @Iristyle
@@ -0,0 +1,2 @@
1
+ source "https://rubygems.org"
2
+ gemspec
@@ -0,0 +1,22 @@
1
+ # Ruby GSSAPI Library
2
+
3
+ This is a wrapper around the system GSSAPI library (MIT only at this time). It exposes the low-level GSSAPI methods like gss_init_sec_context and gss_wrap and also provides an easier to use wrapper on top of this for common usage scenarios.
4
+
5
+
6
+ I'm going to try and maintain most of the docs in the Github WIKI for this project so please check there for documentation and examples.
7
+
8
+ https://github.com/zenchild/gssapi/wiki
9
+
10
+
11
+ Also check out the examples directory for some stubbed out client/server examples.
12
+
13
+
14
+ ## Note on IOV and AEAD functions
15
+
16
+ If you require the IOV and AEAD functions you will have to `require "gssapi/extensions"` to gain access to them.
17
+
18
+
19
+ #### License
20
+
21
+ Copyright © 2010 Dan Wanek <dan.wanek@gmail.com>
22
+ Ruby gssapi is licensed under the MIT license (see COPYING)
@@ -0,0 +1,11 @@
1
+ require "bundler/gem_tasks"
2
+
3
+ desc "Open a Pry Console"
4
+ task :console do
5
+ require "pry"
6
+ require "pathname"
7
+ $: << (Pathname(__FILE__).dirname + "lib").to_s
8
+ require "gssapi"
9
+ ARGV.clear
10
+ Pry.start
11
+ end
@@ -0,0 +1,26 @@
1
+ require 'gssapi'
2
+ require 'base64'
3
+ require 'socket'
4
+
5
+ host = 'example.org'
6
+ service = 'host'
7
+
8
+ sock = TCPSocket.new(host, 8082)
9
+
10
+ cli = GSSAPI::Simple.new(host, service)
11
+ tok = cli.init_context
12
+ stok = Base64.strict_encode64(tok)
13
+
14
+ sock.write("#{stok}\n") # send initial token
15
+ stok = sock.gets.chomp # get back continuation token
16
+ ctx = cli.init_context(Base64.strict_decode64(stok.chomp)) # complete security context
17
+ puts "Connection #{(ctx ? 'succeeded' : 'failed')}"
18
+
19
+ begin
20
+ print "> "
21
+ msg = STDIN.gets.chomp
22
+ emsg = cli.wrap_message(msg)
23
+ sock.write("#{Base64.strict_encode64(emsg)}\n")
24
+ end while msg != 'exit'
25
+
26
+ sock.close
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env ruby
2
+ $: << '../lib'
3
+ $: << '.'
4
+ #require 'gssapi/heimdal'
5
+ require 'gssapi'
6
+ require 'gss_iov_helpers'
7
+ require 'base64'
8
+ require 'socket'
9
+
10
+ class GssIovClient
11
+ include GssIOVHelpers
12
+
13
+ def initialize
14
+ @host = 'example.org'
15
+ @service = 'host'
16
+ @sock = TCPSocket.new(@host, 8082)
17
+ @gss = GSSAPI::Simple.new(@host, @service)
18
+ end
19
+
20
+ def run
21
+ handshake
22
+ begin
23
+ print "> "
24
+ msg = STDIN.gets.chomp
25
+ emsg = iov_encrypt(msg)
26
+ @sock.write("#{emsg.last}\n")
27
+ end while msg != 'exit'
28
+
29
+ @sock.close
30
+ end
31
+
32
+
33
+ private
34
+
35
+ def handshake
36
+ tok = @gss.init_context
37
+ stok = Base64.strict_encode64(tok)
38
+
39
+ @sock.write("#{stok}\n") # send initial token
40
+ stok = @sock.gets.chomp # get back continuation token
41
+ ctx = @gss.init_context(Base64.strict_decode64(stok.chomp)) # complete security context
42
+ puts "Connection #{(ctx ? 'succeeded' : 'failed')}"
43
+ end
44
+
45
+ # Encrypt message
46
+ def msg_enc(msg)
47
+ emsg = @gss.wrap_message(msg)
48
+ Base64.strict_encode64(emsg)
49
+ end
50
+
51
+ end
52
+
53
+
54
+ cli = GssIovClient.new
55
+ cli.run