rubygems-update 2.0.17 → 2.1.0.rc.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rubygems-update might be problematic. Click here for more details.

Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +2 -0
  4. data/.autotest +1 -1
  5. data/History.txt +82 -153
  6. data/Manifest.txt +35 -9
  7. data/Rakefile +35 -36
  8. data/lib/rubygems.rb +106 -18
  9. data/lib/rubygems/available_set.rb +68 -0
  10. data/lib/rubygems/basic_specification.rb +139 -0
  11. data/lib/rubygems/command_manager.rb +37 -40
  12. data/lib/rubygems/commands/cert_command.rb +78 -29
  13. data/lib/rubygems/commands/cleanup_command.rb +2 -2
  14. data/lib/rubygems/commands/contents_command.rb +101 -58
  15. data/lib/rubygems/commands/dependency_command.rb +94 -53
  16. data/lib/rubygems/commands/environment_command.rb +70 -53
  17. data/lib/rubygems/commands/fetch_command.rb +1 -2
  18. data/lib/rubygems/commands/help_command.rb +85 -55
  19. data/lib/rubygems/commands/install_command.rb +84 -42
  20. data/lib/rubygems/commands/outdated_command.rb +2 -12
  21. data/lib/rubygems/commands/owner_command.rb +6 -0
  22. data/lib/rubygems/commands/pristine_command.rb +26 -16
  23. data/lib/rubygems/commands/sources_command.rb +85 -70
  24. data/lib/rubygems/commands/uninstall_command.rb +32 -2
  25. data/lib/rubygems/commands/update_command.rb +111 -75
  26. data/lib/rubygems/config_file.rb +15 -3
  27. data/lib/rubygems/core_ext/kernel_require.rb +9 -31
  28. data/lib/rubygems/defaults.rb +8 -0
  29. data/lib/rubygems/dependency.rb +4 -2
  30. data/lib/rubygems/dependency_installer.rb +180 -170
  31. data/lib/rubygems/dependency_resolver.rb +191 -526
  32. data/lib/rubygems/dependency_resolver/activation_request.rb +109 -0
  33. data/lib/rubygems/dependency_resolver/api_set.rb +65 -0
  34. data/lib/rubygems/dependency_resolver/api_specification.rb +36 -0
  35. data/lib/rubygems/dependency_resolver/composed_set.rb +18 -0
  36. data/lib/rubygems/dependency_resolver/current_set.rb +16 -0
  37. data/lib/rubygems/dependency_resolver/dependency_conflict.rb +85 -0
  38. data/lib/rubygems/dependency_resolver/dependency_request.rb +51 -0
  39. data/lib/rubygems/dependency_resolver/index_set.rb +59 -0
  40. data/lib/rubygems/dependency_resolver/index_specification.rb +53 -0
  41. data/lib/rubygems/dependency_resolver/installed_specification.rb +38 -0
  42. data/lib/rubygems/dependency_resolver/installer_set.rb +130 -0
  43. data/lib/rubygems/exceptions.rb +88 -1
  44. data/lib/rubygems/ext/builder.rb +1 -1
  45. data/lib/rubygems/gem_runner.rb +17 -9
  46. data/lib/rubygems/gemcutter_utilities.rb +72 -42
  47. data/lib/rubygems/install_default_message.rb +12 -0
  48. data/lib/rubygems/install_update_options.rb +3 -0
  49. data/lib/rubygems/installer.rb +55 -30
  50. data/lib/rubygems/name_tuple.rb +18 -7
  51. data/lib/rubygems/package.rb +50 -25
  52. data/lib/rubygems/package/tar_test_case.rb +9 -9
  53. data/lib/rubygems/package/tar_writer.rb +35 -12
  54. data/lib/rubygems/package_task.rb +2 -5
  55. data/lib/rubygems/path_support.rb +10 -0
  56. data/lib/rubygems/platform.rb +9 -3
  57. data/lib/rubygems/psych_additions.rb +1 -1
  58. data/lib/rubygems/remote_fetcher.rb +9 -276
  59. data/lib/rubygems/request.rb +267 -0
  60. data/lib/rubygems/request_set.rb +123 -125
  61. data/lib/rubygems/request_set/gem_dependency_api.rb +39 -0
  62. data/lib/rubygems/security.rb +32 -23
  63. data/lib/rubygems/security/policy.rb +35 -9
  64. data/lib/rubygems/security/signer.rb +2 -2
  65. data/lib/rubygems/server.rb +8 -16
  66. data/lib/rubygems/source.rb +25 -14
  67. data/lib/rubygems/source/installed.rb +28 -0
  68. data/lib/rubygems/source/local.rb +122 -0
  69. data/lib/rubygems/source/specific_file.rb +28 -0
  70. data/lib/rubygems/source_local.rb +2 -89
  71. data/lib/rubygems/source_specific_file.rb +2 -26
  72. data/lib/rubygems/spec_fetcher.rb +11 -11
  73. data/lib/rubygems/specification.rb +186 -198
  74. data/lib/rubygems/ssl_certs/AddTrustExternalCARoot.pem +88 -30
  75. data/lib/rubygems/ssl_certs/Entrust_net-Secure-Server-Certification-Authority.pem +90 -0
  76. data/lib/rubygems/ssl_certs/{GeoTrustGlobalCA.pem → GeoTrust_Global_CA.pem} +20 -20
  77. data/lib/rubygems/ssl_certs/VerisignClass3PublicPrimaryCertificationAuthority-G2.pem +57 -0
  78. data/lib/rubygems/stub_specification.rb +119 -0
  79. data/lib/rubygems/test_case.rb +117 -49
  80. data/lib/rubygems/uninstaller.rb +14 -9
  81. data/lib/rubygems/uri_formatter.rb +39 -0
  82. data/lib/rubygems/util/list.rb +44 -0
  83. data/lib/rubygems/version.rb +15 -5
  84. data/lib/rubygems/version_option.rb +8 -2
  85. data/test/rubygems/ca_cert.pem +23 -0
  86. data/test/rubygems/client.pem +49 -0
  87. data/test/rubygems/encrypted_private_key.pem +30 -0
  88. data/test/rubygems/invalid_client.pem +49 -0
  89. data/test/rubygems/specifications/bar-0.0.2.gemspec +9 -0
  90. data/test/rubygems/specifications/foo-0.0.1.gemspec +0 -0
  91. data/test/rubygems/test_gem.rb +76 -454
  92. data/test/rubygems/test_gem_command_manager.rb +23 -21
  93. data/test/rubygems/test_gem_commands_cert_command.rb +154 -14
  94. data/test/rubygems/test_gem_commands_cleanup_command.rb +15 -0
  95. data/test/rubygems/test_gem_commands_contents_command.rb +32 -4
  96. data/test/rubygems/test_gem_commands_environment_command.rb +9 -1
  97. data/test/rubygems/test_gem_commands_fetch_command.rb +2 -28
  98. data/test/rubygems/test_gem_commands_help_command.rb +6 -3
  99. data/test/rubygems/test_gem_commands_install_command.rb +2 -65
  100. data/test/rubygems/test_gem_commands_owner_command.rb +49 -0
  101. data/test/rubygems/test_gem_commands_pristine_command.rb +30 -0
  102. data/test/rubygems/test_gem_commands_sources_command.rb +1 -1
  103. data/test/rubygems/test_gem_commands_uninstall_command.rb +33 -0
  104. data/test/rubygems/test_gem_commands_update_command.rb +2 -1
  105. data/test/rubygems/test_gem_config_file.rb +12 -0
  106. data/test/rubygems/test_gem_dependency_installer.rb +58 -65
  107. data/test/rubygems/test_gem_dependency_resolver.rb +6 -3
  108. data/test/rubygems/test_gem_dependency_resolver_dependency_conflict.rb +36 -0
  109. data/test/rubygems/test_gem_ext_builder.rb +2 -4
  110. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +7 -2
  111. data/test/rubygems/test_gem_gem_runner.rb +17 -13
  112. data/test/rubygems/test_gem_gemcutter_utilities.rb +6 -19
  113. data/test/rubygems/test_gem_impossible_dependencies_error.rb +41 -0
  114. data/test/rubygems/test_gem_install_update_options.rb +4 -1
  115. data/test/rubygems/test_gem_installer.rb +31 -2
  116. data/test/rubygems/test_gem_name_tuple.rb +22 -0
  117. data/test/rubygems/test_gem_package.rb +122 -11
  118. data/test/rubygems/test_gem_package_old.rb +8 -0
  119. data/test/rubygems/test_gem_package_tar_reader.rb +9 -8
  120. data/test/rubygems/test_gem_package_tar_reader_entry.rb +1 -1
  121. data/test/rubygems/test_gem_package_tar_writer.rb +78 -56
  122. data/test/rubygems/test_gem_package_task.rb +2 -23
  123. data/test/rubygems/test_gem_path_support.rb +17 -0
  124. data/test/rubygems/test_gem_platform.rb +18 -0
  125. data/test/rubygems/test_gem_remote_fetcher.rb +106 -385
  126. data/test/rubygems/test_gem_request.rb +239 -0
  127. data/test/rubygems/test_gem_requirement.rb +9 -11
  128. data/test/rubygems/test_gem_security.rb +58 -2
  129. data/test/rubygems/test_gem_security_policy.rb +42 -1
  130. data/test/rubygems/test_gem_security_signer.rb +13 -1
  131. data/test/rubygems/test_gem_security_trust_dir.rb +5 -1
  132. data/test/rubygems/test_gem_server.rb +1 -105
  133. data/test/rubygems/test_gem_source.rb +4 -14
  134. data/test/rubygems/test_gem_source_local.rb +4 -4
  135. data/test/rubygems/test_gem_source_specific_file.rb +1 -1
  136. data/test/rubygems/test_gem_spec_fetcher.rb +0 -12
  137. data/test/rubygems/test_gem_specification.rb +452 -28
  138. data/test/rubygems/test_gem_stub_specification.rb +30 -0
  139. data/test/rubygems/test_gem_uninstaller.rb +14 -0
  140. data/test/rubygems/test_gem_uri_formatter.rb +20 -0
  141. data/test/rubygems/test_gem_version.rb +23 -13
  142. data/test/rubygems/test_gem_version_option.rb +63 -1
  143. data/test/rubygems/test_require.rb +0 -12
  144. data/util/create_encrypted_key.rb +16 -0
  145. metadata +161 -23
  146. metadata.gz.sig +0 -0
  147. data/CVE-2013-4287.txt +0 -36
  148. data/CVE-2013-4363.txt +0 -45
  149. data/lib/rubygems/ssl_certs/AddTrustExternalCARoot-2048.pem +0 -25
  150. data/lib/rubygems/ssl_certs/Class3PublicPrimaryCertificationAuthority.pem +0 -14
  151. data/lib/rubygems/ssl_certs/DigiCertHighAssuranceEVRootCA.pem +0 -23
  152. data/lib/rubygems/ssl_certs/EntrustnetSecureServerCertificationAuthority.pem +0 -28
  153. data/test/rubygems/test_bundled_ca.rb +0 -59
  154. data/util/update_bundled_ca_certificates.rb +0 -103
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dbde61dab685c676ad6b3dbe594ca9b6a2fe3651
4
- data.tar.gz: e51f4f77c0dc1e2146f4729fdbef2f3269bc1791
3
+ metadata.gz: a9e359df25a77bb8a4f3dd815bb9e0eb8818b51b
4
+ data.tar.gz: 28c30aed29afd6a35066c34cbcd5e14e7a8caea3
5
5
  SHA512:
6
- metadata.gz: 7f24bbd6a889494e182f6cbbe5e333cb324b4fa6cc238e33bcb4bf7b4a7ab1237669fb0451d70b2e40918d2dc4d6fee1543bde13596cdcd7f8a6027b2f4fa3ae
7
- data.tar.gz: f3408ab7122d1dff8c99224606aaf3be0f2863a18d0ce1157c608d29f1b7fc77a41bdce9af238aeac9e194e96f4d4fd77faa4ce854b2aeafd1770a1572412c64
6
+ metadata.gz: 25d3b5b2271e8f99690a3dd3fe3162de304c57fd735974f82f471bafab1a8e8981679223c862b7a18e79f8fd66f94584a7aff00f72020ba8799422a67c975766
7
+ data.tar.gz: a17143f3404896f47f4edab1684eb5ff03e51c1419e24a1b6354122fa679f1928f169e4dafb9a40adac057ebb83b6eab12f0fc209614ae1d49f3ee42acd72f50
Binary file
@@ -0,0 +1,2 @@
1
+ _�2ߏ2�D3�ء��{��;�h+��C,Mm��N�d�|*Ps��^�C�˜F�E�O�������� 2��M�TNs%�_co ���2����{s��S �m�;)w��c/�D-�&/�@&ca�`$�P�VO�E�߃-����G���@{\�FY ~�Z_"��*�4T�[/�A
2
+ {��vCu)�k{wFۏ����o-�& �G)�o���w���?>4i ��&'���9�=�Ј���Ȋ�o�`e��CZ�pX�u��ϖ�)
data/.autotest CHANGED
@@ -6,7 +6,7 @@ require 'autotest/restart'
6
6
  require 'autotest/isolate'
7
7
 
8
8
  Autotest.add_hook :initialize do |at|
9
- at.testlib = ''
9
+ at.testlib = 'minitest/autorun'
10
10
 
11
11
  at.add_exception %r%/\.git/%
12
12
  at.add_exception %r%/\.svn/%
@@ -1,117 +1,90 @@
1
1
  # coding: UTF-8
2
2
 
3
- === 2.0.17 / 2015-06-08
3
+ === 2.1.0.rc.1
4
+
5
+ Major enhancements:
6
+
7
+ * RubyGems uses a new dependency resolver for gem installation which works
8
+ similar to the bundler resolver. The new resolver can resolve conflicts the
9
+ previous resolver could not and offers improved diagnostics when conflicts
10
+ are discovered.
11
+
12
+ Minor enhancements:
13
+
14
+ * RubyGems now has improved platform matching for the ARM architecture. Gems
15
+ built with a CPU of "arm" will match any specific ARM CPU. See `gem help
16
+ platform` for further details. Fixes #532 by Kim Burgestrand.
17
+ * The --version option now accepts compound requirements the same as in a gem
18
+ dependency. The following invocation will install rails between 4.0.0.beta
19
+ and 4.2:
20
+
21
+ gem install rails -v '>= 4.0.0.beta, < 4.2'
22
+
23
+ Fixes #531 by Gary S. Weaver
24
+ * `gem clean` now allows `-n` as an alias for `--dryrun`. Pull Request #517
25
+ by Gastón Ramos
26
+ * Added `gem update --system` to `gem help`. Pull Request #514 by Vince
27
+ Wadhwani
28
+ * Added PATH to `gem env` output. Pull Request #490 by Michal Papis
29
+ * Added --host option to `gem owner` to match other commands using the
30
+ gemcutter API. Pull Request #462 and issue #461 by Hugo Lopes Tavares
31
+ * Added --abort-on-dependent to `gem uninstall`. This will abort instead of
32
+ asking to uninstall a gem that is depended upon by another gem. Pull
33
+ request #549 by Philip Arndt.
34
+ * RubyGems no longer alters Gem::Specification.dirs when installing. Based on
35
+ Pull Request #452 by Vít Ondruch
36
+ * RubyGems uses ENV['MAKE'] or ENV['make'] over rbconfig.rb's make if present.
37
+ Pull Request #443 by Erik Hollensbe
38
+ * RubyGems can now save remote source cache files in an alternate directory
39
+ controlled by `ENV["GEM_SPEC_CACHE"]`. Pull Request #489 by Michal Papis
40
+ * Generated private keys are now encrypted. Pull Request #453 by pietro
41
+ * Separated Gem::Request from Gem::RemoteFetcher. Pull Request #283 by Steve
42
+ Klabnik.
43
+ * RubyGems indicates when a .gem's content is corrupt while verifying. Bug
44
+ #519 by William T Nelson.
45
+ * Refactored common installer setup. Pull request #520 by Gastón Ramos
46
+ * Moved activation tests to Gem::Specification. Pull request #521 by Gastón
47
+ Ramos
48
+ * When a --version option with a prerelease version is given RubyGems
49
+ automatically enables prerelease versions but only the last version is
50
+ used. If the first version is a prerelease version this is no longer sticky
51
+ unless an explicit --[no-]prerelease was also given. Fixes part of #531.
52
+ * RubyGems now supports an SSL client certificate. Pull request #550 by
53
+ Robert Kenny.
54
+ * RubyGems now suggests how to fix permission errors. Pull request #553 by
55
+ Odin Dutton.
56
+ * Added support for installing a gem as default gems for alternate ruby
57
+ implementations. Pull request #566 by Charles Nutter.
58
+ * Improved performance of Gem::Specification#load by caching the loaded
59
+ gemspec. Pull request #569 by Charlie Somerville.
60
+ * RubyGems now warns when an unsigned gem is verified if -P was given during
61
+ installation even if the security policy allows unsigned gems and warns when
62
+ an untrusted certificate is seen even if the security policy allows
63
+ untrusted certificates. Issue #474 by Grant Olson
64
+ * RubyGems can now rewrite executables with or without a shebang of
65
+ /usr/bin/env via <code>gem pristine --all --only-executables
66
+ --env-[no-]shebang</code>. Issue #579 by Paul Annesley.
67
+ * RubyGems can now run its tests without OpenSSL. Ruby Bug #8557 by nobu.
68
+ * Improved performance by caching Gem::Version objects and avoiding
69
+ method_missing in Gem::Specification. Pull request #447 by Jon Leighton.
70
+ * Files in a .gem now preserve their modification times. Pull request #582 by
71
+ Jesse Bowes
72
+ * Improved speed of looking up dependencies in SpecFetcher through
73
+ Array#bsearch (when present). Pull request #595 by Andras Suller
74
+ * Added `--all` option to `gem uninstall` which removes all gems in GEM_HOME.
75
+ Pull request #584 by Shannon Skipper.
76
+ * Added Gem.find_latest_files which is equivalent to Gem.find_files but only
77
+ returns matching files from the latest version of each gem. Issue #186 by
78
+ Ryan Davis.
79
+ * Improved performance of `gem outdated` by reducing duplicate work (it is
80
+ still slow, but I see a near 50% improvement for 250 gems on a fast
81
+ connection). See also Gem::Specification::outdated_and_latest_version
4
82
 
5
83
  Bug fixes:
6
84
 
7
- * Tightened API endpoint checks for CVE-2015-3900
8
-
9
- === 2.0.16 / 2015-05-14
10
-
11
- Bug fixes:
12
-
13
- * Backport: Limit API endpoint to original security domain for CVE-2015-3900.
14
- Fix by claudijd
15
-
16
- === 2.0.15 / 2014-12-21
17
-
18
- Bug fixes:
19
-
20
- * Backport: Add alternate Root CA for upcoming certificate change.
21
- Fixes #1050 by Protosac
22
-
23
- === 2.0.14 / 2013-11-12
24
-
25
- Bug fixes:
26
-
27
- * Restore concurrent requires following the fix for ruby bug #8374. Pull
28
- request #637 and issue #640 by Charles Nutter.
29
- * Gem::Specification::remove_spec no longer checks for existence of the spec
30
- to be removed. Issue #698 by Tiago Macedo.
31
- * Restored wildcard handling when installing gems. Issue #697 by Chuck Remes.
32
- * Added DigiCert High Assurance EV Root CA certificate for the cloudfront.net
33
- certificate change.
34
- * The Gem::RemoteFetcher tests now choose the test server port more reliably.
35
- Pull Request #706 by akr.
36
-
37
- === 2.0.13 / 2013-10-24
38
-
39
- Bug fixes:
40
-
41
- * Use class check instead of :version method check when creating Gem::Version
42
- objects. Fixes #674 by jkanywhere.
43
- * Allow installation of gems when the home directory does not exist. Issue
44
- #689 by Laurence Rowe
45
- * Fix updating gems which have multiple platforms. Issue #693 by Ookami
46
- Kenrou.
47
- * The gem server now uses user-provided directories. Issue #696 by Marcelo
48
- Alvim.
49
-
50
- === 2.0.12 / 2013-10-14
51
-
52
- Bug fixes:
53
-
54
- * Proxy usernames and passwords are now escaped properly. Ruby Bug #8979 and
55
- patch by Masahiro Tomita, Issue #668 by Kouhei Sutou.
56
-
57
- === 2.0.11 / 2013-10-08
58
-
59
- Bug fixes:
60
-
61
- * Added certificates to follow the s3.amazonaws.com certificate change. Fixes
62
- #665 by emeyekayee. Fixes #671 by jonforums.
63
- * Remove redundant built-in certificates not needed for https://rubygems.org
64
- Fixes #654 by Vít Ondruch.
65
- * Added test for missing certificates for https://s3.amazonaws.com or
66
- https://rubygems.org. Pull request #673 by Hannes Georg.
67
- * RubyGems now allows a Pathname for Kernel#require like the built-in
68
- Kernel#require. Pull request #663 by Aaron Patterson.
69
- * Required rbconfig in Gem::ConfigFile for Ruby 1.9.1 compatibility. (Ruby
70
- 1.9.1 is no longer receiving security fixes, so please update to a newer
71
- version.) Issue #676 by Michal Papis. Issue wayneeseguin/rvm#2262 by
72
- Thomas Sänger.
73
-
74
- === 2.0.10 / 2013-09-24
75
-
76
- Security fixes:
77
-
78
- * RubyGems 2.1.4 and earlier are vulnerable to excessive CPU usage due to a
79
- backtracking in Gem::Version validation. See CVE-2013-4363 for full details
80
- including vulnerable APIs. Fixed versions include 2.1.5, 2.0.10, 1.8.27 and
81
- 1.8.23.2 (for Ruby 1.9.3).
82
-
83
- === 2.0.9 / 2013-09-13
84
-
85
- Bug fixes:
86
-
87
- * Gem fetch now fetches the newest (not oldest) gem when --version is given.
88
- Issue #643 by Brian Shirai.
89
- * Fixed credential creation for `gem push` when `--host` is not given. Pull
90
- request #622 by Arthur Nogueira Neves
91
-
92
- === 2.0.8 / 2013-09-09
93
-
94
- Security fixes:
95
-
96
- * RubyGems 2.0.7 and earlier are vulnerable to excessive CPU usage due to a
97
- backtracking in Gem::Version validation. See CVE-2013-4287 for full details
98
- including vulnerable APIs. Fixed versions include 2.0.8, 1.8.26 and
99
- 1.8.23.1 (for Ruby 1.9.3). Issue #626 by Damir Sharipov.
100
-
101
- Bug fixes:
102
-
103
- * Fixed Gem.clear_paths when Security is defined at top-level. Pull request
104
- #625 by elarkin
105
-
106
- === 2.0.7 / 2013-08-15
107
-
108
- * Extensions may now be built in parallel (therefore gems may be installed in
109
- parallel). Bug #607 by Hemant Kumar.
110
- * Changed broken link to RubyGems Bookshelf to point to RubyGems guides. Ruby
111
- pull request #369 by 謝致邦.
112
- * Fixed various test failures due to platform differences or poor tests.
113
- Patches by Yui Naruse and Koichi Sasada.
114
- * Fixed documentation for Kernel#require.
85
+ * rubygems_plugin.rb files are now only loaded from the latest installed gem.
86
+ * Altered use of cryptography in the test suite to work on JRuby, but some
87
+ tests still fail on JRuby. Bug #606 by Hemant Kumar.
115
88
 
116
89
  === 2.0.6 / 2013-07-24
117
90
 
@@ -129,8 +102,6 @@ Bug fixes:
129
102
 
130
103
  === 2.0.5 / 2013-07-11
131
104
 
132
- Bug fixes:
133
-
134
105
  * Fixed building of extensions that run ruby in their makefiles. Bug #589 by
135
106
  Zachary Salzbank.
136
107
 
@@ -566,48 +537,6 @@ $SAFE=1. There is no functional difference compared to Ruby 2.0.0.preview2
566
537
  * URI scheme matching is no longer case-sensitive. Fixes #322
567
538
  * ext/builder now checks $MAKE as well as $make (okkez)
568
539
 
569
- === 1.8.29 / 2013-11-23
570
-
571
- Bug fixes:
572
-
573
- * Fixed installation when the LANG environment variable is empty.
574
- * Added DigiCert High Assurance EV Root CA to the default SSL certificates for
575
- cloudfront.
576
-
577
- === 1.8.28 / 2013-10-08
578
-
579
- Bug fixes:
580
-
581
- * Added the Verisign Class 3 Public Primary Certification Authority G5
582
- certificate and its intermediary to follow the s3.amazonaws.com certificate
583
- change. Fixes #665 by emeyekayee. Fixes #671 by jonforums.
584
- * Remove redundant built-in certificates not needed for https://rubygems.org
585
- Fixes #654 by Vít Ondruch.
586
- * Added test for missing certificates for https://s3.amazonaws.com or
587
- https://rubygems.org. Pull request #673 by Hannes Georg.
588
-
589
- === 1.8.27 / 2013-09-24
590
-
591
- Security fixes:
592
-
593
- * RubyGems 2.1.4 and earlier are vulnerable to excessive CPU usage due to a
594
- backtracking in Gem::Version validation. See CVE-2013-4363 for full details
595
- including vulnerable APIs. Fixed versions include 2.1.5, 2.0.10, 1.8.27 and
596
- 1.8.23.2 (for Ruby 1.9.3).
597
-
598
- === 1.8.26 / 2013-09-09
599
-
600
- Security fixes:
601
-
602
- * RubyGems 2.0.7 and earlier are vulnerable to excessive CPU usage due to a
603
- backtracking in Gem::Version validation. See CVE-2013-4287 for full details
604
- including vulnerable APIs. Fixed versions include 2.0.8, 1.8.26 and
605
- 1.8.23.1 (for Ruby 1.9.3). Issue #626 by Damir Sharipov.
606
-
607
- Bug fixes:
608
-
609
- * Fixed editing of a Makefile with 8-bit characters. Fixes #181
610
-
611
540
  === 1.8.25 / 2013-01-24
612
541
 
613
542
  * Bug fixes:
@@ -1,7 +1,5 @@
1
1
  .autotest
2
2
  .document
3
- CVE-2013-4287.txt
4
- CVE-2013-4363.txt
5
3
  History.txt
6
4
  LICENSE.txt
7
5
  MIT.txt
@@ -15,6 +13,7 @@ hide_lib_for_update/note.txt
15
13
  lib/gauntlet_rubygems.rb
16
14
  lib/rubygems.rb
17
15
  lib/rubygems/available_set.rb
16
+ lib/rubygems/basic_specification.rb
18
17
  lib/rubygems/command.rb
19
18
  lib/rubygems/command_manager.rb
20
19
  lib/rubygems/commands/build_command.rb
@@ -57,6 +56,17 @@ lib/rubygems/dependency.rb
57
56
  lib/rubygems/dependency_installer.rb
58
57
  lib/rubygems/dependency_list.rb
59
58
  lib/rubygems/dependency_resolver.rb
59
+ lib/rubygems/dependency_resolver/activation_request.rb
60
+ lib/rubygems/dependency_resolver/api_set.rb
61
+ lib/rubygems/dependency_resolver/api_specification.rb
62
+ lib/rubygems/dependency_resolver/composed_set.rb
63
+ lib/rubygems/dependency_resolver/current_set.rb
64
+ lib/rubygems/dependency_resolver/dependency_conflict.rb
65
+ lib/rubygems/dependency_resolver/dependency_request.rb
66
+ lib/rubygems/dependency_resolver/index_set.rb
67
+ lib/rubygems/dependency_resolver/index_specification.rb
68
+ lib/rubygems/dependency_resolver/installed_specification.rb
69
+ lib/rubygems/dependency_resolver/installer_set.rb
60
70
  lib/rubygems/deprecate.rb
61
71
  lib/rubygems/doctor.rb
62
72
  lib/rubygems/errors.rb
@@ -70,6 +80,7 @@ lib/rubygems/ext/rake_builder.rb
70
80
  lib/rubygems/gem_runner.rb
71
81
  lib/rubygems/gemcutter_utilities.rb
72
82
  lib/rubygems/indexer.rb
83
+ lib/rubygems/install_default_message.rb
73
84
  lib/rubygems/install_message.rb
74
85
  lib/rubygems/install_update_options.rb
75
86
  lib/rubygems/installer.rb
@@ -92,7 +103,9 @@ lib/rubygems/psych_additions.rb
92
103
  lib/rubygems/psych_tree.rb
93
104
  lib/rubygems/rdoc.rb
94
105
  lib/rubygems/remote_fetcher.rb
106
+ lib/rubygems/request.rb
95
107
  lib/rubygems/request_set.rb
108
+ lib/rubygems/request_set/gem_dependency_api.rb
96
109
  lib/rubygems/requirement.rb
97
110
  lib/rubygems/security.rb
98
111
  lib/rubygems/security/policies.rb
@@ -101,24 +114,28 @@ lib/rubygems/security/signer.rb
101
114
  lib/rubygems/security/trust_dir.rb
102
115
  lib/rubygems/server.rb
103
116
  lib/rubygems/source.rb
117
+ lib/rubygems/source/installed.rb
118
+ lib/rubygems/source/local.rb
119
+ lib/rubygems/source/specific_file.rb
104
120
  lib/rubygems/source_list.rb
105
121
  lib/rubygems/source_local.rb
106
122
  lib/rubygems/source_specific_file.rb
107
123
  lib/rubygems/spec_fetcher.rb
108
124
  lib/rubygems/specification.rb
109
125
  lib/rubygems/ssl_certs/.document
110
- lib/rubygems/ssl_certs/AddTrustExternalCARoot-2048.pem
111
126
  lib/rubygems/ssl_certs/AddTrustExternalCARoot.pem
112
- lib/rubygems/ssl_certs/Class3PublicPrimaryCertificationAuthority.pem
113
- lib/rubygems/ssl_certs/DigiCertHighAssuranceEVRootCA.pem
114
- lib/rubygems/ssl_certs/EntrustnetSecureServerCertificationAuthority.pem
115
- lib/rubygems/ssl_certs/GeoTrustGlobalCA.pem
127
+ lib/rubygems/ssl_certs/Entrust_net-Secure-Server-Certification-Authority.pem
128
+ lib/rubygems/ssl_certs/GeoTrust_Global_CA.pem
129
+ lib/rubygems/ssl_certs/VerisignClass3PublicPrimaryCertificationAuthority-G2.pem
130
+ lib/rubygems/stub_specification.rb
116
131
  lib/rubygems/syck_hack.rb
117
132
  lib/rubygems/test_case.rb
118
133
  lib/rubygems/test_utilities.rb
119
134
  lib/rubygems/text.rb
120
135
  lib/rubygems/uninstaller.rb
136
+ lib/rubygems/uri_formatter.rb
121
137
  lib/rubygems/user_interaction.rb
138
+ lib/rubygems/util/list.rb
122
139
  lib/rubygems/validator.rb
123
140
  lib/rubygems/version.rb
124
141
  lib/rubygems/version_option.rb
@@ -133,9 +150,11 @@ test/rubygems/ca_cert.pem
133
150
  test/rubygems/child_cert.pem
134
151
  test/rubygems/child_cert_32.pem
135
152
  test/rubygems/child_key.pem
153
+ test/rubygems/client.pem
136
154
  test/rubygems/data/gem-private_key.pem
137
155
  test/rubygems/data/gem-public_cert.pem
138
156
  test/rubygems/data/null-type.gemspec.rz
157
+ test/rubygems/encrypted_private_key.pem
139
158
  test/rubygems/expired_cert.pem
140
159
  test/rubygems/fake_certlib/openssl.rb
141
160
  test/rubygems/fix_openssl_warnings.rb
@@ -146,6 +165,7 @@ test/rubygems/good_rake.rb
146
165
  test/rubygems/grandchild_cert.pem
147
166
  test/rubygems/grandchild_cert_32.pem
148
167
  test/rubygems/grandchild_key.pem
168
+ test/rubygems/invalid_client.pem
149
169
  test/rubygems/invalid_issuer_cert.pem
150
170
  test/rubygems/invalid_issuer_cert_32.pem
151
171
  test/rubygems/invalid_key.pem
@@ -165,9 +185,10 @@ test/rubygems/rubygems/commands/crash_command.rb
165
185
  test/rubygems/rubygems_plugin.rb
166
186
  test/rubygems/sff/discover.rb
167
187
  test/rubygems/simple_gem.rb
188
+ test/rubygems/specifications/bar-0.0.2.gemspec
189
+ test/rubygems/specifications/foo-0.0.1.gemspec
168
190
  test/rubygems/ssl_cert.pem
169
191
  test/rubygems/ssl_key.pem
170
- test/rubygems/test_bundled_ca.rb
171
192
  test/rubygems/test_config.rb
172
193
  test/rubygems/test_deprecate.rb
173
194
  test/rubygems/test_gem.rb
@@ -209,6 +230,7 @@ test/rubygems/test_gem_dependency.rb
209
230
  test/rubygems/test_gem_dependency_installer.rb
210
231
  test/rubygems/test_gem_dependency_list.rb
211
232
  test/rubygems/test_gem_dependency_resolver.rb
233
+ test/rubygems/test_gem_dependency_resolver_dependency_conflict.rb
212
234
  test/rubygems/test_gem_doctor.rb
213
235
  test/rubygems/test_gem_ext_builder.rb
214
236
  test/rubygems/test_gem_ext_cmake_builder.rb
@@ -217,6 +239,7 @@ test/rubygems/test_gem_ext_ext_conf_builder.rb
217
239
  test/rubygems/test_gem_ext_rake_builder.rb
218
240
  test/rubygems/test_gem_gem_runner.rb
219
241
  test/rubygems/test_gem_gemcutter_utilities.rb
242
+ test/rubygems/test_gem_impossible_dependencies_error.rb
220
243
  test/rubygems/test_gem_indexer.rb
221
244
  test/rubygems/test_gem_install_update_options.rb
222
245
  test/rubygems/test_gem_installer.rb
@@ -233,6 +256,7 @@ test/rubygems/test_gem_path_support.rb
233
256
  test/rubygems/test_gem_platform.rb
234
257
  test/rubygems/test_gem_rdoc.rb
235
258
  test/rubygems/test_gem_remote_fetcher.rb
259
+ test/rubygems/test_gem_request.rb
236
260
  test/rubygems/test_gem_request_set.rb
237
261
  test/rubygems/test_gem_requirement.rb
238
262
  test/rubygems/test_gem_security.rb
@@ -248,8 +272,10 @@ test/rubygems/test_gem_source_specific_file.rb
248
272
  test/rubygems/test_gem_spec_fetcher.rb
249
273
  test/rubygems/test_gem_specification.rb
250
274
  test/rubygems/test_gem_stream_ui.rb
275
+ test/rubygems/test_gem_stub_specification.rb
251
276
  test/rubygems/test_gem_text.rb
252
277
  test/rubygems/test_gem_uninstaller.rb
278
+ test/rubygems/test_gem_uri_formatter.rb
253
279
  test/rubygems/test_gem_validator.rb
254
280
  test/rubygems/test_gem_version.rb
255
281
  test/rubygems/test_gem_version_option.rb
@@ -259,4 +285,4 @@ test/rubygems/wrong_key_cert.pem
259
285
  test/rubygems/wrong_key_cert_32.pem
260
286
  util/CL2notes
261
287
  util/create_certs.rb
262
- util/update_bundled_ca_certificates.rb
288
+ util/create_encrypted_key.rb
data/Rakefile CHANGED
@@ -23,9 +23,9 @@ Hoe::RUBY_FLAGS << " --disable-gems" if RUBY_VERSION > "1.9"
23
23
  Hoe.plugin :minitest
24
24
  Hoe.plugin :git
25
25
  Hoe.plugin :travis
26
- # Hoe.plugin :isolate
27
26
 
28
27
  hoe = Hoe.spec 'rubygems-update' do
28
+ self.rubyforge_name = 'rubygems'
29
29
  self.author = ['Jim Weirich', 'Chad Fowler', 'Eric Hodel']
30
30
  self.email = %w[rubygems-developers@rubyforge.org]
31
31
  self.readme_file = 'README.rdoc'
@@ -50,48 +50,41 @@ hoe = Hoe.spec 'rubygems-update' do
50
50
  'pkgs/sources/sources*.gem',
51
51
  'scripts/*.hieraki')
52
52
 
53
- extra_dev_deps << ['builder', '~> 2.1']
54
- extra_dev_deps << ['hoe-seattlerb', '~> 1.2']
55
- extra_dev_deps << ['rdoc', '~> 3.0']
56
- extra_dev_deps << ['ZenTest', '~> 4.5']
57
- extra_dev_deps << ['rake', '~> 0.9.3']
53
+ dependency 'builder', '~> 2.1', :dev
54
+ dependency 'hoe-seattlerb', '~> 1.2', :dev
55
+ dependency 'rdoc', '~> 3.0', :dev
56
+ dependency 'ZenTest', '~> 4.5', :dev
57
+ dependency 'rake', '~> 0.9.3', :dev
58
+ dependency 'minitest', '~> 4.0', :dev
58
59
 
59
- self.extra_rdoc_files = Dir["*.rdoc"] + %w[
60
- CVE-2013-4287.txt
61
- CVE-2013-4363.txt
62
- ]
60
+ self.extra_rdoc_files = Dir["*.rdoc"]
63
61
 
64
62
  spec_extras['rdoc_options'] = proc do |rdoc_options|
65
- rdoc_options << "--title=RubyGems Update Documentation"
63
+ rdoc_options << "--title=RubyGems #{self.version} Documentation"
66
64
  end
67
65
 
68
66
  self.rsync_args += " --no-p -O"
69
67
 
70
- spec_extras['require_paths'] = %w[hide_lib_for_update]
68
+ # FIX: this exists because update --system installs the gem and
69
+ # doesn't uninstall it. It should uninstall or better, not install
70
+ # in the first place.
71
+ spec_extras['require_paths'] = %w[hide_lib_for_update] unless
72
+ ENV['RAKE_SUCKS']
71
73
  end
72
74
 
73
75
  hoe.test_prelude = 'gem "minitest", "~> 4.0"'
74
76
 
75
- Rake::Task['docs'].clear
76
- Rake::Task['clobber_docs'].clear
77
-
78
- begin
79
- require 'rdoc/task'
80
-
81
- RDoc::Task.new :rdoc => 'docs', :clobber_rdoc => 'clobber_docs' do |doc|
82
- doc.main = hoe.readme_file
83
- doc.title = "RubyGems #{hoe.version} API Documentation"
84
-
85
- rdoc_files = Rake::FileList.new %w[lib History.txt LICENSE.txt MIT.txt]
86
- rdoc_files.add hoe.extra_rdoc_files
87
-
88
- doc.rdoc_files = rdoc_files
89
-
90
- doc.rdoc_dir = 'doc'
91
- end
92
- rescue LoadError, RuntimeError # rake 10.1 on rdoc from ruby 1.9.2 and earlier
93
- task 'docs' do
94
- abort 'You must install rdoc to build documentation, try `rake newb` again'
77
+ task :docs => :rake_sucks
78
+ task :rake_sucks do
79
+ # This exists ENTIRELY because the rake design convention of
80
+ # RDocTask.new is broken. Because most of the work is being done
81
+ # inside initialize(?!?) BEFORE tasks are even running, too much
82
+ # stuff is set in stone, and we can't deal with the require_paths
83
+ # issue above.
84
+ unless ENV['RAKE_SUCKS'] then
85
+ ENV['RAKE_SUCKS'] = "1"
86
+ rm_rf "doc"
87
+ sh "rake docs"
95
88
  end
96
89
  end
97
90
 
@@ -107,7 +100,7 @@ task :test => :clean_env
107
100
 
108
101
  task :prerelease => [:clobber, :check_manifest, :test]
109
102
 
110
- task :postrelease => [:upload]
103
+ task :postrelease => [:publish_docs, :upload]
111
104
 
112
105
  pkg_dir_path = "pkg/rubygems-update-#{hoe.version}"
113
106
  task :package do
@@ -118,6 +111,14 @@ task :package do
118
111
  end
119
112
  end
120
113
 
114
+ desc "Upload release to rubyforge"
115
+ task :upload_to_rubyforge do
116
+ v = hoe.version
117
+ sh "rubyforge add_release rubygems rubygems #{v} pkg/rubygems-update-#{v}.gem"
118
+ sh "rubyforge add_file rubygems rubygems #{v} pkg/rubygems-#{v}.zip"
119
+ sh "rubyforge add_file rubygems rubygems #{v} pkg/rubygems-#{v}.tgz"
120
+ end
121
+
121
122
  desc "Upload release to gemcutter S3"
122
123
  task :upload_to_gemcutter do
123
124
  v = hoe.version
@@ -125,9 +126,7 @@ task :upload_to_gemcutter do
125
126
  end
126
127
 
127
128
  desc "Upload release to rubyforge and gemcutter"
128
- task :upload => [:upload_to_gemcutter]
129
-
130
- Rake::Task['publish_docs'].clear
129
+ task :upload => [:upload_to_rubyforge, :upload_to_gemcutter]
131
130
 
132
131
  # Misc Tasks ---------------------------------------------------------
133
132