rubygems-update 2.7.11 → 3.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +67 -0
- data/.travis.yml +24 -18
- data/CODE_OF_CONDUCT.md +10 -8
- data/CONTRIBUTING.md +148 -0
- data/History.txt +458 -8
- data/MAINTAINERS.txt +1 -0
- data/Manifest.txt +16 -9
- data/POLICIES.md +92 -0
- data/README.md +53 -26
- data/Rakefile +77 -211
- data/{UPGRADING.rdoc → UPGRADING.md} +31 -32
- data/appveyor.yml +20 -45
- data/bin/gem +1 -2
- data/bin/update_rubygems +2 -3
- data/bundler/CHANGELOG.md +65 -0
- data/bundler/bundler.gemspec +7 -1
- data/bundler/lib/bundler/build_metadata.rb +1 -1
- data/bundler/lib/bundler/cli/add.rb +15 -5
- data/bundler/lib/bundler/cli/binstubs.rb +8 -2
- data/bundler/lib/bundler/cli/doctor.rb +47 -1
- data/bundler/lib/bundler/cli/install.rb +8 -5
- data/bundler/lib/bundler/cli/list.rb +41 -5
- data/bundler/lib/bundler/cli/outdated.rb +7 -1
- data/bundler/lib/bundler/cli/pristine.rb +4 -0
- data/bundler/lib/bundler/cli/remove.rb +18 -0
- data/bundler/lib/bundler/cli.rb +63 -21
- data/bundler/lib/bundler/definition.rb +15 -16
- data/bundler/lib/bundler/dependency.rb +2 -2
- data/bundler/lib/bundler/dsl.rb +19 -3
- data/bundler/lib/bundler/feature_flag.rb +7 -0
- data/bundler/lib/bundler/gem_version_promoter.rb +4 -2
- data/bundler/lib/bundler/injector.rb +168 -9
- data/bundler/lib/bundler/installer/parallel_installer.rb +5 -0
- data/bundler/lib/bundler/installer.rb +29 -6
- data/bundler/lib/bundler/plugin/events.rb +61 -0
- data/bundler/lib/bundler/plugin.rb +10 -3
- data/bundler/lib/bundler/resolver.rb +2 -2
- data/bundler/lib/bundler/rubygems_gem_installer.rb +7 -0
- data/bundler/lib/bundler/runtime.rb +8 -2
- data/bundler/lib/bundler/settings/validator.rb +23 -0
- data/bundler/lib/bundler/settings.rb +24 -3
- data/bundler/lib/bundler/shared_helpers.rb +19 -3
- data/bundler/lib/bundler/source/metadata.rb +2 -3
- data/bundler/lib/bundler/source.rb +9 -9
- data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +1 -0
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler.rb +26 -8
- data/bundler/man/bundle-add.ronn +13 -2
- data/bundler/man/bundle-config.ronn +21 -0
- data/bundler/man/bundle-install.ronn +1 -1
- data/bundler/man/bundle-list.ronn +19 -1
- data/bundler/man/bundle-outdated.ronn +4 -0
- data/bundler/man/bundle-remove.ronn +23 -0
- data/bundler/man/bundle-update.ronn +1 -1
- data/bundler/man/bundle.ronn +3 -0
- data/lib/rubygems/available_set.rb +1 -1
- data/lib/rubygems/basic_specification.rb +12 -12
- data/lib/rubygems/bundler_version_finder.rb +3 -3
- data/lib/rubygems/command.rb +22 -15
- data/lib/rubygems/command_manager.rb +22 -5
- data/lib/rubygems/commands/build_command.rb +41 -7
- data/lib/rubygems/commands/cert_command.rb +45 -24
- data/lib/rubygems/commands/check_command.rb +1 -1
- data/lib/rubygems/commands/cleanup_command.rb +14 -7
- data/lib/rubygems/commands/contents_command.rb +14 -15
- data/lib/rubygems/commands/dependency_command.rb +17 -17
- data/lib/rubygems/commands/environment_command.rb +20 -1
- data/lib/rubygems/commands/fetch_command.rb +2 -3
- data/lib/rubygems/commands/generate_index_command.rb +2 -3
- data/lib/rubygems/commands/help_command.rb +12 -13
- data/lib/rubygems/commands/info_command.rb +33 -0
- data/lib/rubygems/commands/install_command.rb +21 -17
- data/lib/rubygems/commands/list_command.rb +0 -1
- data/lib/rubygems/commands/lock_command.rb +3 -4
- data/lib/rubygems/commands/open_command.rb +16 -10
- data/lib/rubygems/commands/owner_command.rb +21 -7
- data/lib/rubygems/commands/pristine_command.rb +23 -16
- data/lib/rubygems/commands/push_command.rb +19 -8
- data/lib/rubygems/commands/query_command.rb +24 -24
- data/lib/rubygems/commands/rdoc_command.rb +3 -4
- data/lib/rubygems/commands/search_command.rb +0 -1
- data/lib/rubygems/commands/server_command.rb +1 -2
- data/lib/rubygems/commands/setup_command.rb +86 -48
- data/lib/rubygems/commands/signin_command.rb +2 -1
- data/lib/rubygems/commands/signout_command.rb +2 -2
- data/lib/rubygems/commands/sources_command.rb +11 -12
- data/lib/rubygems/commands/specification_command.rb +7 -7
- data/lib/rubygems/commands/uninstall_command.rb +50 -18
- data/lib/rubygems/commands/unpack_command.rb +16 -7
- data/lib/rubygems/commands/update_command.rb +28 -23
- data/lib/rubygems/commands/which_command.rb +5 -8
- data/lib/rubygems/commands/yank_command.rb +1 -2
- data/lib/rubygems/compatibility.rb +1 -21
- data/lib/rubygems/config_file.rb +36 -36
- data/lib/rubygems/core_ext/kernel_require.rb +6 -6
- data/lib/rubygems/core_ext/kernel_warn.rb +45 -0
- data/lib/rubygems/defaults.rb +31 -19
- data/lib/rubygems/dependency.rb +15 -15
- data/lib/rubygems/dependency_installer.rb +30 -33
- data/lib/rubygems/dependency_list.rb +9 -10
- data/lib/rubygems/deprecate.rb +2 -3
- data/lib/rubygems/doctor.rb +5 -6
- data/lib/rubygems/errors.rb +3 -3
- data/lib/rubygems/exceptions.rb +11 -8
- data/lib/rubygems/ext/build_error.rb +0 -1
- data/lib/rubygems/ext/builder.rb +50 -23
- data/lib/rubygems/ext/cmake_builder.rb +2 -2
- data/lib/rubygems/ext/configure_builder.rb +2 -3
- data/lib/rubygems/ext/ext_conf_builder.rb +8 -7
- data/lib/rubygems/ext/rake_builder.rb +16 -18
- data/lib/rubygems/ext.rb +0 -1
- data/lib/rubygems/gem_runner.rb +2 -2
- data/lib/rubygems/gemcutter_utilities.rb +46 -12
- data/lib/rubygems/indexer.rb +19 -12
- data/lib/rubygems/install_default_message.rb +0 -1
- data/lib/rubygems/install_message.rb +0 -1
- data/lib/rubygems/install_update_options.rb +3 -29
- data/lib/rubygems/installer.rb +97 -55
- data/lib/rubygems/installer_test_case.rb +2 -16
- data/lib/rubygems/local_remote_options.rb +5 -4
- data/lib/rubygems/mock_gem_ui.rb +3 -4
- data/lib/rubygems/name_tuple.rb +4 -4
- data/lib/rubygems/package/digest_io.rb +3 -4
- data/lib/rubygems/package/file_source.rb +3 -4
- data/lib/rubygems/package/io_source.rb +1 -2
- data/lib/rubygems/package/old.rb +8 -16
- data/lib/rubygems/package/source.rb +0 -1
- data/lib/rubygems/package/tar_header.rb +13 -4
- data/lib/rubygems/package/tar_reader/entry.rb +20 -4
- data/lib/rubygems/package/tar_reader.rb +2 -4
- data/lib/rubygems/package/tar_test_case.rb +2 -8
- data/lib/rubygems/package/tar_writer.rb +13 -15
- data/lib/rubygems/package.rb +90 -63
- data/lib/rubygems/package_task.rb +0 -1
- data/lib/rubygems/path_support.rb +16 -6
- data/lib/rubygems/platform.rb +4 -5
- data/lib/rubygems/psych_tree.rb +1 -1
- data/lib/rubygems/rdoc.rb +2 -313
- data/lib/rubygems/remote_fetcher.rb +29 -82
- data/lib/rubygems/request/connection_pools.rb +24 -13
- data/lib/rubygems/request/http_pool.rb +3 -4
- data/lib/rubygems/request/https_pool.rb +1 -3
- data/lib/rubygems/request.rb +17 -16
- data/lib/rubygems/request_set/gem_dependency_api.rb +46 -49
- data/lib/rubygems/request_set/lockfile/parser.rb +18 -29
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +9 -9
- data/lib/rubygems/request_set/lockfile.rb +12 -12
- data/lib/rubygems/request_set.rb +52 -25
- data/lib/rubygems/requirement.rb +32 -21
- data/lib/rubygems/resolver/activation_request.rb +6 -6
- data/lib/rubygems/resolver/api_set.rb +5 -6
- data/lib/rubygems/resolver/api_specification.rb +2 -3
- data/lib/rubygems/resolver/best_set.rb +5 -6
- data/lib/rubygems/resolver/composed_set.rb +5 -6
- data/lib/rubygems/resolver/conflict.rb +5 -5
- data/lib/rubygems/resolver/current_set.rb +1 -2
- data/lib/rubygems/resolver/dependency_request.rb +4 -4
- data/lib/rubygems/resolver/git_set.rb +5 -6
- data/lib/rubygems/resolver/git_specification.rb +4 -5
- data/lib/rubygems/resolver/index_set.rb +5 -6
- data/lib/rubygems/resolver/index_specification.rb +3 -4
- data/lib/rubygems/resolver/installed_specification.rb +3 -4
- data/lib/rubygems/resolver/installer_set.rb +12 -12
- data/lib/rubygems/resolver/local_specification.rb +1 -2
- data/lib/rubygems/resolver/lock_set.rb +5 -6
- data/lib/rubygems/resolver/lock_specification.rb +7 -8
- data/lib/rubygems/resolver/requirement_list.rb +1 -1
- data/lib/rubygems/resolver/set.rb +2 -2
- data/lib/rubygems/resolver/source_set.rb +4 -5
- data/lib/rubygems/resolver/spec_specification.rb +1 -2
- data/lib/rubygems/resolver/specification.rb +10 -7
- data/lib/rubygems/resolver/stats.rb +1 -1
- data/lib/rubygems/resolver/vendor_set.rb +4 -5
- data/lib/rubygems/resolver/vendor_specification.rb +2 -3
- data/lib/rubygems/resolver.rb +14 -16
- data/lib/rubygems/s3_uri_signer.rb +183 -0
- data/lib/rubygems/safe_yaml.rb +18 -10
- data/lib/rubygems/security/policies.rb +1 -2
- data/lib/rubygems/security/policy.rb +25 -25
- data/lib/rubygems/security/signer.rb +72 -24
- data/lib/rubygems/security/trust_dir.rb +10 -10
- data/lib/rubygems/security.rb +21 -22
- data/lib/rubygems/security_option.rb +0 -1
- data/lib/rubygems/server.rb +21 -21
- data/lib/rubygems/source/git.rb +9 -10
- data/lib/rubygems/source/installed.rb +3 -4
- data/lib/rubygems/source/local.rb +7 -7
- data/lib/rubygems/source/lock.rb +4 -4
- data/lib/rubygems/source/specific_file.rb +5 -5
- data/lib/rubygems/source/vendor.rb +2 -3
- data/lib/rubygems/source.rb +16 -25
- data/lib/rubygems/source_list.rb +2 -2
- data/lib/rubygems/source_local.rb +0 -1
- data/lib/rubygems/spec_fetcher.rb +5 -6
- data/lib/rubygems/specification.rb +219 -558
- data/lib/rubygems/specification_policy.rb +407 -0
- data/lib/rubygems/stub_specification.rb +12 -17
- data/lib/rubygems/test_case.rb +161 -75
- data/lib/rubygems/test_utilities.rb +20 -35
- data/lib/rubygems/text.rb +6 -6
- data/lib/rubygems/uninstaller.rb +38 -27
- data/lib/rubygems/uri_formatter.rb +1 -2
- data/lib/rubygems/user_interaction.rb +37 -89
- data/lib/rubygems/util/licenses.rb +27 -1
- data/lib/rubygems/util/list.rb +1 -1
- data/lib/rubygems/util.rb +32 -14
- data/lib/rubygems/validator.rb +4 -5
- data/lib/rubygems/version.rb +15 -15
- data/lib/rubygems/version_option.rb +2 -3
- data/lib/rubygems.rb +71 -102
- data/rubygems-update.gemspec +43 -0
- data/setup.rb +2 -8
- data/test/rubygems/ca_cert.pem +74 -65
- data/test/rubygems/client.pem +103 -45
- data/test/rubygems/rubygems_plugin.rb +0 -1
- data/test/rubygems/simple_gem.rb +1 -1
- data/test/rubygems/ssl_cert.pem +78 -17
- data/test/rubygems/ssl_key.pem +25 -13
- data/test/rubygems/test_bundled_ca.rb +1 -1
- data/test/rubygems/test_config.rb +7 -2
- data/test/rubygems/test_gem.rb +205 -132
- data/test/rubygems/test_gem_bundler_version_finder.rb +4 -0
- data/test/rubygems/test_gem_command.rb +0 -1
- data/test/rubygems/test_gem_command_manager.rb +18 -3
- data/test/rubygems/test_gem_commands_build_command.rb +220 -15
- data/test/rubygems/test_gem_commands_cert_command.rb +69 -8
- data/test/rubygems/test_gem_commands_check_command.rb +1 -1
- data/test/rubygems/test_gem_commands_cleanup_command.rb +27 -1
- data/test/rubygems/test_gem_commands_contents_command.rb +1 -2
- data/test/rubygems/test_gem_commands_dependency_command.rb +33 -34
- data/test/rubygems/test_gem_commands_environment_command.rb +1 -0
- data/test/rubygems/test_gem_commands_fetch_command.rb +0 -1
- data/test/rubygems/test_gem_commands_generate_index_command.rb +0 -1
- data/test/rubygems/test_gem_commands_help_command.rb +7 -4
- data/test/rubygems/test_gem_commands_info_command.rb +44 -0
- data/test/rubygems/test_gem_commands_install_command.rb +79 -12
- data/test/rubygems/test_gem_commands_lock_command.rb +0 -1
- data/test/rubygems/test_gem_commands_open_command.rb +29 -0
- data/test/rubygems/test_gem_commands_outdated_command.rb +0 -1
- data/test/rubygems/test_gem_commands_owner_command.rb +93 -57
- data/test/rubygems/test_gem_commands_pristine_command.rb +65 -30
- data/test/rubygems/test_gem_commands_push_command.rb +54 -0
- data/test/rubygems/test_gem_commands_query_command.rb +102 -100
- data/test/rubygems/test_gem_commands_search_command.rb +0 -1
- data/test/rubygems/test_gem_commands_server_command.rb +0 -1
- data/test/rubygems/test_gem_commands_setup_command.rb +50 -15
- data/test/rubygems/test_gem_commands_signin_command.rb +1 -1
- data/test/rubygems/test_gem_commands_sources_command.rb +0 -1
- data/test/rubygems/test_gem_commands_specification_command.rb +2 -3
- data/test/rubygems/test_gem_commands_stale_command.rb +3 -2
- data/test/rubygems/test_gem_commands_uninstall_command.rb +161 -8
- data/test/rubygems/test_gem_commands_unpack_command.rb +17 -1
- data/test/rubygems/test_gem_commands_update_command.rb +19 -2
- data/test/rubygems/test_gem_commands_which_command.rb +0 -1
- data/test/rubygems/test_gem_commands_yank_command.rb +0 -1
- data/test/rubygems/test_gem_config_file.rb +4 -2
- data/test/rubygems/test_gem_dependency.rb +0 -1
- data/test/rubygems/test_gem_dependency_installer.rb +8 -5
- data/test/rubygems/test_gem_dependency_list.rb +6 -7
- data/test/rubygems/test_gem_dependency_resolution_error.rb +0 -1
- data/test/rubygems/test_gem_doctor.rb +1 -2
- data/test/rubygems/test_gem_ext_builder.rb +10 -23
- data/test/rubygems/test_gem_ext_cmake_builder.rb +5 -4
- data/test/rubygems/test_gem_ext_configure_builder.rb +3 -3
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +8 -9
- data/test/rubygems/test_gem_ext_rake_builder.rb +20 -5
- data/test/rubygems/test_gem_gem_runner.rb +0 -1
- data/test/rubygems/test_gem_gemcutter_utilities.rb +32 -6
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -1
- data/test/rubygems/test_gem_indexer.rb +16 -10
- data/test/rubygems/test_gem_install_update_options.rb +1 -20
- data/test/rubygems/test_gem_installer.rb +154 -119
- data/test/rubygems/test_gem_local_remote_options.rb +3 -3
- data/test/rubygems/test_gem_name_tuple.rb +0 -1
- data/test/rubygems/test_gem_package.rb +77 -31
- data/test/rubygems/test_gem_package_old.rb +0 -1
- data/test/rubygems/test_gem_package_tar_header.rb +42 -2
- data/test/rubygems/test_gem_package_tar_reader.rb +0 -1
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +11 -0
- data/test/rubygems/test_gem_package_tar_writer.rb +43 -7
- data/test/rubygems/test_gem_package_task.rb +2 -2
- data/test/rubygems/test_gem_path_support.rb +28 -11
- data/test/rubygems/test_gem_platform.rb +4 -5
- data/test/rubygems/test_gem_rdoc.rb +1 -136
- data/test/rubygems/test_gem_remote_fetcher.rb +241 -141
- data/test/rubygems/test_gem_request.rb +9 -9
- data/test/rubygems/test_gem_request_connection_pools.rb +24 -3
- data/test/rubygems/test_gem_request_set.rb +5 -5
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +82 -64
- data/test/rubygems/test_gem_request_set_lockfile.rb +1 -2
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +4 -9
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +1 -1
- data/test/rubygems/test_gem_requirement.rb +24 -4
- data/test/rubygems/test_gem_resolver.rb +13 -17
- data/test/rubygems/test_gem_resolver_activation_request.rb +0 -1
- data/test/rubygems/test_gem_resolver_api_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_api_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_best_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_composed_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_conflict.rb +0 -1
- data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -1
- data/test/rubygems/test_gem_resolver_git_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_git_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_index_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_index_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_installer_set.rb +2 -3
- data/test/rubygems/test_gem_resolver_local_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_lock_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -1
- data/test/rubygems/test_gem_resolver_specification.rb +1 -2
- data/test/rubygems/test_gem_resolver_vendor_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -1
- data/test/rubygems/test_gem_security.rb +1 -3
- data/test/rubygems/test_gem_security_policy.rb +5 -6
- data/test/rubygems/test_gem_security_signer.rb +4 -3
- data/test/rubygems/test_gem_security_trust_dir.rb +1 -2
- data/test/rubygems/test_gem_server.rb +4 -4
- data/test/rubygems/test_gem_source.rb +0 -13
- data/test/rubygems/test_gem_source_fetch_problem.rb +0 -1
- data/test/rubygems/test_gem_source_git.rb +0 -1
- data/test/rubygems/test_gem_source_installed.rb +0 -1
- data/test/rubygems/test_gem_source_lock.rb +0 -1
- data/test/rubygems/test_gem_source_vendor.rb +0 -1
- data/test/rubygems/test_gem_spec_fetcher.rb +0 -1
- data/test/rubygems/test_gem_specification.rb +366 -198
- data/test/rubygems/test_gem_stream_ui.rb +15 -32
- data/test/rubygems/test_gem_stub_specification.rb +0 -2
- data/test/rubygems/test_gem_text.rb +4 -0
- data/test/rubygems/test_gem_uninstaller.rb +42 -3
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -1
- data/test/rubygems/test_gem_uri_formatter.rb +0 -1
- data/test/rubygems/test_gem_util.rb +31 -11
- data/test/rubygems/test_gem_validator.rb +0 -1
- data/test/rubygems/test_gem_version.rb +11 -11
- data/test/rubygems/test_gem_version_option.rb +0 -1
- data/test/rubygems/test_remote_fetch_error.rb +0 -1
- data/test/rubygems/test_require.rb +67 -52
- data/util/CL2notes +1 -2
- data/util/ci +20 -12
- data/util/cops/deprecations.rb +52 -0
- data/util/create_certs.rb +6 -7
- data/util/create_certs.sh +27 -0
- data/util/create_encrypted_key.rb +4 -5
- data/util/patch_with_prs.rb +1 -1
- data/util/rubocop +8 -0
- data/util/update_bundled_ca_certificates.rb +12 -13
- data/util/update_changelog.rb +1 -1
- metadata +61 -51
- data/.autotest +0 -71
- data/.document +0 -5
- data/CONTRIBUTING.rdoc +0 -130
- data/CVE-2013-4287.txt +0 -35
- data/CVE-2013-4363.txt +0 -45
- data/CVE-2015-3900.txt +0 -40
- data/POLICIES.rdoc +0 -74
- data/test/rubygems/fix_openssl_warnings.rb +0 -13
metadata
CHANGED
@@ -1,12 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubygems-update
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jim Weirich
|
8
8
|
- Chad Fowler
|
9
9
|
- Eric Hodel
|
10
|
+
- Luis Lavena
|
11
|
+
- Aaron Patterson
|
12
|
+
- Samuel Giddins
|
13
|
+
- André Arko
|
14
|
+
- Evan Phoenix
|
15
|
+
- Hiroshi SHIBATA
|
10
16
|
autorequire:
|
11
17
|
bindir: bin
|
12
18
|
cert_chain: []
|
@@ -18,118 +24,115 @@ dependencies:
|
|
18
24
|
requirements:
|
19
25
|
- - "~>"
|
20
26
|
- !ruby/object:Gem::Version
|
21
|
-
version: '
|
27
|
+
version: '3.0'
|
22
28
|
type: :development
|
23
29
|
prerelease: false
|
24
30
|
version_requirements: !ruby/object:Gem::Requirement
|
25
31
|
requirements:
|
26
32
|
- - "~>"
|
27
33
|
- !ruby/object:Gem::Version
|
28
|
-
version: '
|
29
|
-
- !ruby/object:Gem::Dependency
|
30
|
-
name: hoe-seattlerb
|
31
|
-
requirement: !ruby/object:Gem::Requirement
|
32
|
-
requirements:
|
33
|
-
- - "~>"
|
34
|
-
- !ruby/object:Gem::Version
|
35
|
-
version: '1.2'
|
36
|
-
type: :development
|
37
|
-
prerelease: false
|
38
|
-
version_requirements: !ruby/object:Gem::Requirement
|
39
|
-
requirements:
|
40
|
-
- - "~>"
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: '1.2'
|
34
|
+
version: '3.0'
|
43
35
|
- !ruby/object:Gem::Dependency
|
44
36
|
name: rdoc
|
45
37
|
requirement: !ruby/object:Gem::Requirement
|
46
38
|
requirements:
|
47
39
|
- - "~>"
|
48
40
|
- !ruby/object:Gem::Version
|
49
|
-
version: '
|
41
|
+
version: '6.0'
|
50
42
|
type: :development
|
51
43
|
prerelease: false
|
52
44
|
version_requirements: !ruby/object:Gem::Requirement
|
53
45
|
requirements:
|
54
46
|
- - "~>"
|
55
47
|
- !ruby/object:Gem::Version
|
56
|
-
version: '
|
48
|
+
version: '6.0'
|
57
49
|
- !ruby/object:Gem::Dependency
|
58
|
-
name:
|
50
|
+
name: rake
|
59
51
|
requirement: !ruby/object:Gem::Requirement
|
60
52
|
requirements:
|
61
53
|
- - "~>"
|
62
54
|
- !ruby/object:Gem::Version
|
63
|
-
version: '
|
55
|
+
version: '12.0'
|
64
56
|
type: :development
|
65
57
|
prerelease: false
|
66
58
|
version_requirements: !ruby/object:Gem::Requirement
|
67
59
|
requirements:
|
68
60
|
- - "~>"
|
69
61
|
- !ruby/object:Gem::Version
|
70
|
-
version: '
|
62
|
+
version: '12.0'
|
71
63
|
- !ruby/object:Gem::Dependency
|
72
|
-
name:
|
64
|
+
name: minitest
|
73
65
|
requirement: !ruby/object:Gem::Requirement
|
74
66
|
requirements:
|
75
67
|
- - "~>"
|
76
68
|
- !ruby/object:Gem::Version
|
77
|
-
version: '
|
69
|
+
version: '5.0'
|
78
70
|
type: :development
|
79
71
|
prerelease: false
|
80
72
|
version_requirements: !ruby/object:Gem::Requirement
|
81
73
|
requirements:
|
82
74
|
- - "~>"
|
83
75
|
- !ruby/object:Gem::Version
|
84
|
-
version: '
|
76
|
+
version: '5.0'
|
85
77
|
- !ruby/object:Gem::Dependency
|
86
|
-
name:
|
78
|
+
name: simplecov
|
87
79
|
requirement: !ruby/object:Gem::Requirement
|
88
80
|
requirements:
|
89
81
|
- - "~>"
|
90
82
|
- !ruby/object:Gem::Version
|
91
|
-
version: '
|
83
|
+
version: '0'
|
92
84
|
type: :development
|
93
85
|
prerelease: false
|
94
86
|
version_requirements: !ruby/object:Gem::Requirement
|
95
87
|
requirements:
|
96
88
|
- - "~>"
|
97
89
|
- !ruby/object:Gem::Version
|
98
|
-
version: '
|
90
|
+
version: '0'
|
99
91
|
- !ruby/object:Gem::Dependency
|
100
|
-
name:
|
92
|
+
name: rubocop
|
101
93
|
requirement: !ruby/object:Gem::Requirement
|
102
94
|
requirements:
|
103
95
|
- - "~>"
|
104
96
|
- !ruby/object:Gem::Version
|
105
|
-
version:
|
97
|
+
version: 0.60.0
|
106
98
|
type: :development
|
107
99
|
prerelease: false
|
108
100
|
version_requirements: !ruby/object:Gem::Requirement
|
109
101
|
requirements:
|
110
102
|
- - "~>"
|
111
103
|
- !ruby/object:Gem::Version
|
112
|
-
version:
|
113
|
-
description:
|
104
|
+
version: 0.60.0
|
105
|
+
description: |-
|
106
|
+
A package (also known as a library) contains a set of functionality
|
107
|
+
that can be invoked by a Ruby program, such as reading and parsing an XML file. We call
|
108
|
+
these packages 'gems' and RubyGems is a tool to install, create, manage and load these
|
109
|
+
packages in your Ruby environment. RubyGems is also a client for RubyGems.org, a public
|
110
|
+
repository of Gems that allows you to publish a Gem that can be shared and used by other
|
111
|
+
developers. See our guide on publishing a Gem at guides.rubygems.org
|
114
112
|
email:
|
115
|
-
-
|
113
|
+
- ''
|
114
|
+
- ''
|
115
|
+
- drbrain@segment7.net
|
116
|
+
- luislavena@gmail.com
|
117
|
+
- aaron@tenderlovemaking.com
|
118
|
+
- segiddins@segiddins.me
|
119
|
+
- andre@arko.net
|
120
|
+
- evan@phx.io
|
121
|
+
- hsbt@ruby-lang.org
|
116
122
|
executables:
|
117
123
|
- update_rubygems
|
118
124
|
extensions: []
|
119
125
|
extra_rdoc_files:
|
120
|
-
- CODE_OF_CONDUCT.md
|
121
|
-
- CONTRIBUTING.rdoc
|
122
|
-
- CVE-2013-4287.txt
|
123
|
-
- CVE-2013-4363.txt
|
124
|
-
- CVE-2015-3900.txt
|
125
126
|
- History.txt
|
126
127
|
- LICENSE.txt
|
127
128
|
- MAINTAINERS.txt
|
128
129
|
- MIT.txt
|
129
130
|
- Manifest.txt
|
130
|
-
- POLICIES.rdoc
|
131
131
|
- README.md
|
132
|
-
- UPGRADING.
|
132
|
+
- UPGRADING.md
|
133
|
+
- POLICIES.md
|
134
|
+
- CODE_OF_CONDUCT.md
|
135
|
+
- CONTRIBUTING.md
|
133
136
|
- bundler/CHANGELOG.md
|
134
137
|
- bundler/CODE_OF_CONDUCT.md
|
135
138
|
- bundler/CONTRIBUTING.md
|
@@ -137,23 +140,19 @@ extra_rdoc_files:
|
|
137
140
|
- bundler/README.md
|
138
141
|
- hide_lib_for_update/note.txt
|
139
142
|
files:
|
140
|
-
- ".
|
141
|
-
- ".document"
|
143
|
+
- ".rubocop.yml"
|
142
144
|
- ".travis.yml"
|
143
145
|
- CODE_OF_CONDUCT.md
|
144
|
-
- CONTRIBUTING.
|
145
|
-
- CVE-2013-4287.txt
|
146
|
-
- CVE-2013-4363.txt
|
147
|
-
- CVE-2015-3900.txt
|
146
|
+
- CONTRIBUTING.md
|
148
147
|
- History.txt
|
149
148
|
- LICENSE.txt
|
150
149
|
- MAINTAINERS.txt
|
151
150
|
- MIT.txt
|
152
151
|
- Manifest.txt
|
153
|
-
- POLICIES.
|
152
|
+
- POLICIES.md
|
154
153
|
- README.md
|
155
154
|
- Rakefile
|
156
|
-
- UPGRADING.
|
155
|
+
- UPGRADING.md
|
157
156
|
- appveyor.yml
|
158
157
|
- bin/gem
|
159
158
|
- bin/update_rubygems
|
@@ -194,6 +193,7 @@ files:
|
|
194
193
|
- bundler/lib/bundler/cli/platform.rb
|
195
194
|
- bundler/lib/bundler/cli/plugin.rb
|
196
195
|
- bundler/lib/bundler/cli/pristine.rb
|
196
|
+
- bundler/lib/bundler/cli/remove.rb
|
197
197
|
- bundler/lib/bundler/cli/show.rb
|
198
198
|
- bundler/lib/bundler/cli/update.rb
|
199
199
|
- bundler/lib/bundler/cli/viz.rb
|
@@ -244,6 +244,7 @@ files:
|
|
244
244
|
- bundler/lib/bundler/plugin/api.rb
|
245
245
|
- bundler/lib/bundler/plugin/api/source.rb
|
246
246
|
- bundler/lib/bundler/plugin/dsl.rb
|
247
|
+
- bundler/lib/bundler/plugin/events.rb
|
247
248
|
- bundler/lib/bundler/plugin/index.rb
|
248
249
|
- bundler/lib/bundler/plugin/installer.rb
|
249
250
|
- bundler/lib/bundler/plugin/installer/git.rb
|
@@ -400,6 +401,7 @@ files:
|
|
400
401
|
- bundler/man/bundle-package.ronn
|
401
402
|
- bundler/man/bundle-platform.ronn
|
402
403
|
- bundler/man/bundle-pristine.ronn
|
404
|
+
- bundler/man/bundle-remove.ronn
|
403
405
|
- bundler/man/bundle-show.ronn
|
404
406
|
- bundler/man/bundle-update.ronn
|
405
407
|
- bundler/man/bundle-viz.ronn
|
@@ -422,6 +424,7 @@ files:
|
|
422
424
|
- lib/rubygems/commands/fetch_command.rb
|
423
425
|
- lib/rubygems/commands/generate_index_command.rb
|
424
426
|
- lib/rubygems/commands/help_command.rb
|
427
|
+
- lib/rubygems/commands/info_command.rb
|
425
428
|
- lib/rubygems/commands/install_command.rb
|
426
429
|
- lib/rubygems/commands/list_command.rb
|
427
430
|
- lib/rubygems/commands/lock_command.rb
|
@@ -450,6 +453,7 @@ files:
|
|
450
453
|
- lib/rubygems/config_file.rb
|
451
454
|
- lib/rubygems/core_ext/kernel_gem.rb
|
452
455
|
- lib/rubygems/core_ext/kernel_require.rb
|
456
|
+
- lib/rubygems/core_ext/kernel_warn.rb
|
453
457
|
- lib/rubygems/defaults.rb
|
454
458
|
- lib/rubygems/dependency.rb
|
455
459
|
- lib/rubygems/dependency_installer.rb
|
@@ -551,6 +555,7 @@ files:
|
|
551
555
|
- lib/rubygems/resolver/stats.rb
|
552
556
|
- lib/rubygems/resolver/vendor_set.rb
|
553
557
|
- lib/rubygems/resolver/vendor_specification.rb
|
558
|
+
- lib/rubygems/s3_uri_signer.rb
|
554
559
|
- lib/rubygems/safe_yaml.rb
|
555
560
|
- lib/rubygems/security.rb
|
556
561
|
- lib/rubygems/security/policies.rb
|
@@ -571,6 +576,7 @@ files:
|
|
571
576
|
- lib/rubygems/source_specific_file.rb
|
572
577
|
- lib/rubygems/spec_fetcher.rb
|
573
578
|
- lib/rubygems/specification.rb
|
579
|
+
- lib/rubygems/specification_policy.rb
|
574
580
|
- lib/rubygems/ssl_certs/.document
|
575
581
|
- lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA.pem
|
576
582
|
- lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem
|
@@ -589,6 +595,7 @@ files:
|
|
589
595
|
- lib/rubygems/version.rb
|
590
596
|
- lib/rubygems/version_option.rb
|
591
597
|
- lib/ubygems.rb
|
598
|
+
- rubygems-update.gemspec
|
592
599
|
- setup.rb
|
593
600
|
- test/rubygems/alternate_cert.pem
|
594
601
|
- test/rubygems/alternate_cert_32.pem
|
@@ -606,7 +613,6 @@ files:
|
|
606
613
|
- test/rubygems/encrypted_private_key.pem
|
607
614
|
- test/rubygems/expired_cert.pem
|
608
615
|
- test/rubygems/fake_certlib/openssl.rb
|
609
|
-
- test/rubygems/fix_openssl_warnings.rb
|
610
616
|
- test/rubygems/foo/discover.rb
|
611
617
|
- test/rubygems/future_cert.pem
|
612
618
|
- test/rubygems/future_cert_32.pem
|
@@ -658,6 +664,7 @@ files:
|
|
658
664
|
- test/rubygems/test_gem_commands_fetch_command.rb
|
659
665
|
- test/rubygems/test_gem_commands_generate_index_command.rb
|
660
666
|
- test/rubygems/test_gem_commands_help_command.rb
|
667
|
+
- test/rubygems/test_gem_commands_info_command.rb
|
661
668
|
- test/rubygems/test_gem_commands_install_command.rb
|
662
669
|
- test/rubygems/test_gem_commands_list_command.rb
|
663
670
|
- test/rubygems/test_gem_commands_lock_command.rb
|
@@ -774,10 +781,13 @@ files:
|
|
774
781
|
- test/rubygems/wrong_key_cert_32.pem
|
775
782
|
- util/CL2notes
|
776
783
|
- util/ci
|
784
|
+
- util/cops/deprecations.rb
|
777
785
|
- util/create_certs.rb
|
786
|
+
- util/create_certs.sh
|
778
787
|
- util/create_encrypted_key.rb
|
779
788
|
- util/generate_spdx_license_list.rb
|
780
789
|
- util/patch_with_prs.rb
|
790
|
+
- util/rubocop
|
781
791
|
- util/update_bundled_ca_certificates.rb
|
782
792
|
- util/update_changelog.rb
|
783
793
|
homepage: https://rubygems.org
|
@@ -796,7 +806,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
796
806
|
requirements:
|
797
807
|
- - ">="
|
798
808
|
- !ruby/object:Gem::Version
|
799
|
-
version:
|
809
|
+
version: 2.3.0
|
800
810
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
801
811
|
requirements:
|
802
812
|
- - ">="
|
@@ -807,5 +817,5 @@ rubyforge_project:
|
|
807
817
|
rubygems_version: 2.7.6.2
|
808
818
|
signing_key:
|
809
819
|
specification_version: 4
|
810
|
-
summary:
|
820
|
+
summary: RubyGems is a package management framework for Ruby.
|
811
821
|
test_files: []
|
data/.autotest
DELETED
@@ -1,71 +0,0 @@
|
|
1
|
-
# -*- ruby -*-
|
2
|
-
|
3
|
-
Gem.refresh
|
4
|
-
|
5
|
-
require 'autotest/restart'
|
6
|
-
require 'autotest/isolate'
|
7
|
-
|
8
|
-
Autotest.add_hook :run_command do |_, cmd|
|
9
|
-
cmd.sub! ' -e ', ' -we '
|
10
|
-
end
|
11
|
-
|
12
|
-
Autotest.add_hook :initialize do |at|
|
13
|
-
at.testlib = ''
|
14
|
-
|
15
|
-
at.failed_results_re = /^\s+\d+\) (?:Failure|Error):\n(.*?):/
|
16
|
-
at.completed_re = /\d+ tests, \d+ assertions, \d+ failures, \d+ errors/
|
17
|
-
|
18
|
-
at.add_exception %r%/\.git/%
|
19
|
-
at.add_exception %r%\.rbc$%
|
20
|
-
at.add_exception %r%test/rubygems/rubygems%
|
21
|
-
|
22
|
-
at.find_directories.clear
|
23
|
-
at.find_directories.push 'lib', 'test'
|
24
|
-
|
25
|
-
at.add_mapping %r%^lib/rubygems.rb$% do |_, m|
|
26
|
-
"test/rubygems/test_gem.rb"
|
27
|
-
end
|
28
|
-
|
29
|
-
at.add_mapping %r%^lib/rubygems/(.*).rb$% do |_, m|
|
30
|
-
"test/rubygems/test_gem_#{m[1].gsub '/', '_'}.rb"
|
31
|
-
end
|
32
|
-
|
33
|
-
args = ARGV.reject { |a| a =~ /^-/ }
|
34
|
-
at.find_directories = args unless args.empty?
|
35
|
-
|
36
|
-
def at.handle_results results
|
37
|
-
results = results.gsub(/\e\[\d+m/, '') # strip ascii color
|
38
|
-
failed = results.scan(self.failed_results_re).map { |m, k|
|
39
|
-
/(?<k>\w+)#(?<m>\w+)/ =~ m
|
40
|
-
[m, k]
|
41
|
-
}
|
42
|
-
|
43
|
-
completed = results[self.completed_re]
|
44
|
-
|
45
|
-
if completed then
|
46
|
-
completed = completed.scan(/(\d+) (\w+)/).map { |v, k| [k, v.to_i] }
|
47
|
-
|
48
|
-
self.latest_results = Hash[*completed.flatten]
|
49
|
-
self.files_to_test = consolidate_failures failed
|
50
|
-
|
51
|
-
color = failed.empty? ? :green : :red
|
52
|
-
hook color unless $TESTING
|
53
|
-
else
|
54
|
-
self.latest_results = nil
|
55
|
-
end
|
56
|
-
|
57
|
-
self.tainted = true unless self.files_to_test.empty?
|
58
|
-
end
|
59
|
-
|
60
|
-
def at.path_to_classname s
|
61
|
-
sep = File::SEPARATOR
|
62
|
-
|
63
|
-
f = s.sub(/^test#{sep}rubygems#{sep}/, '').sub(/\.rb$/, '').split sep
|
64
|
-
|
65
|
-
f = f.map { |path| path.split(/_|(\d+)/).map { |seg| seg.capitalize }.join }
|
66
|
-
|
67
|
-
f.join('::').
|
68
|
-
gsub('Rdoc', 'RDoc').
|
69
|
-
gsub('GemDependencyApi', 'GemDependencyAPI')
|
70
|
-
end
|
71
|
-
end
|
data/.document
DELETED
data/CONTRIBUTING.rdoc
DELETED
@@ -1,130 +0,0 @@
|
|
1
|
-
= How to contribute
|
2
|
-
|
3
|
-
Community involvement is essential to RubyGems. We want to keep it as easy
|
4
|
-
as possible to contribute changes. There are a few guidelines that we need
|
5
|
-
contributors to follow to reduce the time it takes to get changes merged in.
|
6
|
-
|
7
|
-
== Guidelines
|
8
|
-
|
9
|
-
1. New features should be coupled with tests.
|
10
|
-
|
11
|
-
2. Ensure that your code blends well with ours:
|
12
|
-
* No trailing whitespace
|
13
|
-
* Match indentation (two spaces)
|
14
|
-
* Match coding style (+if+, +elsif+, +when+ need trailing +then+)
|
15
|
-
|
16
|
-
3. If any new files are added or existing files removed in a commit or PR, please update the +Manifest.txt+ accordingly.
|
17
|
-
|
18
|
-
4. Don't modify the history file or version number.
|
19
|
-
|
20
|
-
5. If you have any questions, just ask on IRC in #rubygems on Freenode or file
|
21
|
-
an issue here: http://github.com/rubygems/rubygems/issues
|
22
|
-
|
23
|
-
For more information and ideas on how to contribute to RubyGems ecosystem, see
|
24
|
-
here: http://guides.rubygems.org/contributing/
|
25
|
-
|
26
|
-
== Getting Started
|
27
|
-
|
28
|
-
$ gem install hoe
|
29
|
-
$ rake newb
|
30
|
-
|
31
|
-
To run commands like <tt>gem install</tt> from the repo:
|
32
|
-
|
33
|
-
$ ruby -Ilib bin/gem install
|
34
|
-
|
35
|
-
== Issues
|
36
|
-
|
37
|
-
RubyGems uses labels to track all issues and pull requests. In order to provide
|
38
|
-
guidance to the community this is documentation of how labels are used in the
|
39
|
-
rubygems repository.
|
40
|
-
|
41
|
-
=== Contribution
|
42
|
-
|
43
|
-
These labels are made to guide contributors to issue/pull requests that they
|
44
|
-
can help with. That are marked with a light gray <tt>contribution: *</tt>
|
45
|
-
|
46
|
-
* *small* - The issue described here will take a small amount of work to resolve,
|
47
|
-
and is a good option for a new contributor
|
48
|
-
* *unclaimed* - The issue has not been claimed for work, and is awaiting willing
|
49
|
-
volunteers!
|
50
|
-
|
51
|
-
=== Type
|
52
|
-
|
53
|
-
Most Issues or pull requests will have a light green <tt>type: *</tt> label,
|
54
|
-
which describes the type of the issue or pull request.
|
55
|
-
|
56
|
-
* <b>bug report</b> - An issue describing a bug in rubygems. This would be something
|
57
|
-
that is broken, confusing, unexpected behavior etc.
|
58
|
-
* <b>bug fix</b> - A pull request that fixes a bug report.
|
59
|
-
* <b>feature request</b> - An issue describing a request for a new feature or
|
60
|
-
enhancement.
|
61
|
-
* <b>feature implementation</b> - A pull request implementing a feature request.
|
62
|
-
* *question* - An issue that is a more of a question than a call for specific
|
63
|
-
changes in the codebase.
|
64
|
-
* *cleanup* - Generally for a pull request that improves the code base without
|
65
|
-
fixing a bug or implementing a feature.
|
66
|
-
* <b>major bump</b> - This issue or pull request requires a major version bump
|
67
|
-
* *administrative* - This issue relates to administrative tasks that need to
|
68
|
-
take place as it relates to rubygems
|
69
|
-
* *documentation* - This issue relates to improving the documentation for
|
70
|
-
in this repo. Note that much of the rubygems documentation is here:
|
71
|
-
https://github.com/rubygems/guides
|
72
|
-
|
73
|
-
=== Workflow / Status
|
74
|
-
|
75
|
-
The light yellow <tt>status: *</tt> labels that indicate the state of an
|
76
|
-
issue, where it is in the process from being submitted to being closed.
|
77
|
-
These are listed in rough progression order from submitted to closed.
|
78
|
-
|
79
|
-
* *triage* - This is an issue or pull request that needs to be properly
|
80
|
-
labeled by by a maintainer.
|
81
|
-
* *confirmed* - This issue/pull request has been accepted as valid, but
|
82
|
-
is not yet immediately ready for work.
|
83
|
-
* <b>ready</b> - An issue that is available for collaboration. This issue
|
84
|
-
should have existing discussion on the problem, and a description of how to go
|
85
|
-
about solving it.
|
86
|
-
* <b>working</b> - An issue that has a specific invidual assigned to and planning
|
87
|
-
to do work on it.
|
88
|
-
* <b>user feedback required</b> - The issue/pull request is blocked pending more
|
89
|
-
feedback from an end user
|
90
|
-
* <b>blocked / backlog</b> - the issue/pull request is currently unable to move forward
|
91
|
-
because of some specific reason, generally this will be a reason that is outside
|
92
|
-
RubyGems or needs feedback from some specific individual or group, and it may
|
93
|
-
be a while before something it is resolved.
|
94
|
-
|
95
|
-
=== Closed Reason
|
96
|
-
|
97
|
-
Reasons are why an issue / pull request was closed without being worked on or
|
98
|
-
accepted. There should also be more detailed information in the comments. The
|
99
|
-
closed reason labels are maroon <tt>closed: *</tt>.
|
100
|
-
|
101
|
-
* *duplicate* - This is a duplicate of an existing bug. The comments must
|
102
|
-
reference the existing issue.
|
103
|
-
* *abandonded* - This is an issue/pull request that has aged off, is no longer
|
104
|
-
applicable or similar.
|
105
|
-
* *declined* - An issue that won't be fixed/implemented or a pull request that
|
106
|
-
is not accepted.
|
107
|
-
* *deprecated* - An issue/pull request that no longer applies to the actively
|
108
|
-
maintained codebase.
|
109
|
-
* *discussion* - An issue/pull that is no longer about a concrete change, and
|
110
|
-
is instead being used for discussion.
|
111
|
-
|
112
|
-
=== Categories
|
113
|
-
|
114
|
-
These are aspects of the codebase, or what general area the issue or pull
|
115
|
-
request pertains too. Not all issues will have a category. All categorized
|
116
|
-
issues have a blue <tt>category: *</tt> label.
|
117
|
-
|
118
|
-
* *gemspec* - related to the gem specification itself
|
119
|
-
* *API* - related to the public supported rubygems API. This is the code API,
|
120
|
-
not a network related API.
|
121
|
-
* *command* - related to something in <tt>Gem::Commands</tt>
|
122
|
-
* *install* - related to gem installations
|
123
|
-
* *documentation* - related to updating / fixing / clarifying documentation or
|
124
|
-
guides
|
125
|
-
|
126
|
-
=== Platforms
|
127
|
-
|
128
|
-
If an issue or pull request pertains to only one platform, then it should have
|
129
|
-
an appropriate purple <tt>platform: *</tt> label. Current platform labels:
|
130
|
-
*windows*, *java*, *osx*, *linux*
|
data/CVE-2013-4287.txt
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
= Algorithmic complexity vulnerability in RubyGems 2.0.7 and older
|
2
|
-
|
3
|
-
RubyGems validates versions with a regular expression that is vulnerable to
|
4
|
-
denial of service due to backtracking. For specially crafted RubyGems
|
5
|
-
versions attackers can cause denial of service through CPU consumption.
|
6
|
-
|
7
|
-
RubyGems versions 2.0.7 and older, 2.1.0.rc.1 and 2.1.0.rc.2 are vulnerable.
|
8
|
-
|
9
|
-
Ruby versions 1.9.0 through 2.0.0p247 are vulnerable as they contain embedded
|
10
|
-
versions of RubyGems.
|
11
|
-
|
12
|
-
It does not appear to be possible to exploit this vulnerability by installing a
|
13
|
-
gem for RubyGems 1.8.x or 2.0.x. Vulnerable uses of RubyGems API include
|
14
|
-
packaging a gem (through `gem build`, Gem::Package or Gem::PackageTask),
|
15
|
-
sending user input to Gem::Version.new, Gem::Version.correct? or use of the
|
16
|
-
Gem::Version::VERSION_PATTERN or Gem::Version::ANCHORED_VERSION_PATTERN
|
17
|
-
constants.
|
18
|
-
|
19
|
-
Notably, users of bundler that install gems from git are vulnerable if a
|
20
|
-
malicious author changes the gemspec to an invalid version.
|
21
|
-
|
22
|
-
The vulnerability can be fixed by changing the first grouping to an atomic
|
23
|
-
grouping in Gem::Version::VERSION_PATTERN in lib/rubygems/version.rb. For
|
24
|
-
RubyGems 2.0.x:
|
25
|
-
|
26
|
-
- VERSION_PATTERN = '[0-9]+(\.[0-9a-zA-Z]+)*(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?' # :nodoc:
|
27
|
-
+ VERSION_PATTERN = '[0-9]+(?>\.[0-9a-zA-Z]+)*(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?' # :nodoc:
|
28
|
-
|
29
|
-
For RubyGems 1.8.x:
|
30
|
-
|
31
|
-
- VERSION_PATTERN = '[0-9]+(\.[0-9a-zA-Z]+)*' # :nodoc:
|
32
|
-
+ VERSION_PATTERN = '[0-9]+(?>\.[0-9a-zA-Z]+)*' # :nodoc:
|
33
|
-
|
34
|
-
This vulnerability was discovered by Damir Sharipov <dammer2k@gmail.com>
|
35
|
-
|
data/CVE-2013-4363.txt
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
= Algorithmic complexity vulnerability in RubyGems 2.1.4 and older
|
2
|
-
|
3
|
-
The patch for CVE-2013-4287 was insufficiently verified so the combined
|
4
|
-
regular expression for verifying gem version remains vulnerable following
|
5
|
-
CVE-2013-4287.
|
6
|
-
|
7
|
-
RubyGems validates versions with a regular expression that is vulnerable to
|
8
|
-
denial of service due to backtracking. For specially crafted RubyGems
|
9
|
-
versions attackers can cause denial of service through CPU consumption.
|
10
|
-
|
11
|
-
RubyGems versions 2.1.4 and older are vulnerable.
|
12
|
-
|
13
|
-
Ruby versions 1.9.0 through 2.0.0p247 are vulnerable as they contain embedded
|
14
|
-
versions of RubyGems.
|
15
|
-
|
16
|
-
It does not appear to be possible to exploit this vulnerability by installing a
|
17
|
-
gem for RubyGems 1.8.x or newer. Vulnerable uses of RubyGems API include
|
18
|
-
packaging a gem (through `gem build`, Gem::Package or Gem::PackageTask),
|
19
|
-
sending user input to Gem::Version.new, Gem::Version.correct? or use of the
|
20
|
-
Gem::Version::VERSION_PATTERN or Gem::Version::ANCHORED_VERSION_PATTERN
|
21
|
-
constants.
|
22
|
-
|
23
|
-
Notably, users of bundler that install gems from git are vulnerable if a
|
24
|
-
malicious author changes the gemspec to an invalid version.
|
25
|
-
|
26
|
-
The vulnerability can be fixed by changing the "*" repetition to a "?"
|
27
|
-
repetition in Gem::Version::ANCHORED_VERSION_PATTERN in
|
28
|
-
lib/rubygems/version.rb. For RubyGems 2.1.x:
|
29
|
-
|
30
|
-
- ANCHORED_VERSION_PATTERN = /\A\s*(#{VERSION_PATTERN})*\s*\z/ # :nodoc:
|
31
|
-
+ ANCHORED_VERSION_PATTERN = /\A\s*(#{VERSION_PATTERN})?\s*\z/ # :nodoc:
|
32
|
-
|
33
|
-
For RubyGems 2.0.x:
|
34
|
-
|
35
|
-
- ANCHORED_VERSION_PATTERN = /\A\s*(#{VERSION_PATTERN})*\s*\z/ # :nodoc:
|
36
|
-
+ ANCHORED_VERSION_PATTERN = /\A\s*(#{VERSION_PATTERN})?\s*\z/ # :nodoc:
|
37
|
-
|
38
|
-
For RubyGems 1.8.x:
|
39
|
-
|
40
|
-
- ANCHORED_VERSION_PATTERN = /\A\s*(#{VERSION_PATTERN})*\s*\z/ # :nodoc:
|
41
|
-
+ ANCHORED_VERSION_PATTERN = /\A\s*(#{VERSION_PATTERN})?\s*\z/ # :nodoc:
|
42
|
-
|
43
|
-
|
44
|
-
This vulnerability was discovered by Alexander Cherepanov <cherepan@mccme.ru>
|
45
|
-
|
data/CVE-2015-3900.txt
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
= Request hijacking vulnerability in RubyGems 2.4.6 and earlier
|
2
|
-
|
3
|
-
RubyGems provides the ability of a domain to direct clients to a separate
|
4
|
-
host that is used to fetch gems and make API calls against. This mechanism
|
5
|
-
is implemented via DNS, specificly a SRV record _rubygems._tcp under the
|
6
|
-
original requested domain.
|
7
|
-
|
8
|
-
For example, this is the one that users who use rubygems.org see:
|
9
|
-
|
10
|
-
> dig _rubygems._tcp.rubygems.org SRV
|
11
|
-
|
12
|
-
;; ANSWER SECTION:
|
13
|
-
_rubygems._tcp.rubygems.org. 600 IN SRV 0 1 80 api.rubygems.org.
|
14
|
-
|
15
|
-
RubyGems did not validate the hostname returned in the SRV record before
|
16
|
-
sending requests to it.
|
17
|
-
|
18
|
-
This left clients open to a DNS hijack attack, whereby an attacker could
|
19
|
-
return a SRV of their choosing and get the client to use it. For example:
|
20
|
-
|
21
|
-
> dig _rubygems._tcp.rubygems.org SRV
|
22
|
-
|
23
|
-
;; ANSWER SECTION:
|
24
|
-
_rubygems._tcp.rubygems.org. 600 IN SRV 0 1 80 gems.nottobetrusted.wtf
|
25
|
-
|
26
|
-
The fix, detailed at https://github.com/rubygems/rubygems/commit/6bbee35,
|
27
|
-
shows that we validate the record now to be under the original domain. This
|
28
|
-
restricts the client to be using the original trust/security domain as they
|
29
|
-
would have otherwise.
|
30
|
-
|
31
|
-
RubyGems versions between 2.0 and 2.4.6 are vulnerable.
|
32
|
-
|
33
|
-
RubyGems version 2.0.16, 2.2.4, and 2.4.7 have been released that fix this
|
34
|
-
issue.
|
35
|
-
|
36
|
-
Ruby versions 1.9.0 through 2.2.0 are vulnerable as they contain embedded
|
37
|
-
versions of RubyGems.
|
38
|
-
|
39
|
-
This vulnerability was reported by Jonathan Claudius <JClaudius@trustwave.com>.
|
40
|
-
|