rubygems-update 2.4.8 → 2.5.0

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 (125) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/CODE_OF_CONDUCT.md +40 -0
  5. data/CVE-2015-3900.txt +40 -0
  6. data/History.txt +173 -2
  7. data/Manifest.txt +14 -1
  8. data/Rakefile +36 -1
  9. data/lib/rubygems.rb +32 -14
  10. data/lib/rubygems/basic_specification.rb +31 -9
  11. data/lib/rubygems/commands/dependency_command.rb +25 -15
  12. data/lib/rubygems/commands/environment_command.rb +2 -0
  13. data/lib/rubygems/commands/help_command.rb +0 -10
  14. data/lib/rubygems/commands/install_command.rb +1 -1
  15. data/lib/rubygems/commands/list_command.rb +1 -1
  16. data/lib/rubygems/commands/pristine_command.rb +11 -1
  17. data/lib/rubygems/commands/query_command.rb +1 -1
  18. data/lib/rubygems/commands/sources_command.rb +1 -1
  19. data/lib/rubygems/commands/update_command.rb +2 -2
  20. data/lib/rubygems/config_file.rb +4 -4
  21. data/lib/rubygems/core_ext/kernel_require.rb +2 -2
  22. data/lib/rubygems/dependency.rb +9 -6
  23. data/lib/rubygems/dependency_list.rb +3 -0
  24. data/lib/rubygems/ext/builder.rb +2 -0
  25. data/lib/rubygems/ext/ext_conf_builder.rb +6 -1
  26. data/lib/rubygems/indexer.rb +26 -91
  27. data/lib/rubygems/installer.rb +58 -26
  28. data/lib/rubygems/installer_test_case.rb +2 -2
  29. data/lib/rubygems/package.rb +18 -6
  30. data/lib/rubygems/package/old.rb +2 -2
  31. data/lib/rubygems/package/tar_reader/entry.rb +7 -1
  32. data/lib/rubygems/package/tar_test_case.rb +12 -3
  33. data/lib/rubygems/package/tar_writer.rb +19 -1
  34. data/lib/rubygems/platform.rb +3 -2
  35. data/lib/rubygems/rdoc.rb +1 -2
  36. data/lib/rubygems/remote_fetcher.rb +25 -6
  37. data/lib/rubygems/request/connection_pools.rb +8 -4
  38. data/lib/rubygems/request_set.rb +3 -4
  39. data/lib/rubygems/request_set/gem_dependency_api.rb +2 -2
  40. data/lib/rubygems/request_set/lockfile.rb +1 -1
  41. data/lib/rubygems/request_set/lockfile/parser.rb +54 -43
  42. data/lib/rubygems/request_set/lockfile/tokenizer.rb +16 -13
  43. data/lib/rubygems/resolver.rb +47 -242
  44. data/lib/rubygems/resolver/activation_request.rb +2 -1
  45. data/lib/rubygems/resolver/conflict.rb +0 -1
  46. data/lib/rubygems/resolver/dependency_request.rb +4 -1
  47. data/lib/rubygems/resolver/git_specification.rb +1 -2
  48. data/lib/rubygems/resolver/molinillo.rb +1 -0
  49. data/lib/rubygems/resolver/molinillo/lib/molinillo.rb +5 -0
  50. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +266 -0
  51. data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +69 -0
  52. data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +3 -0
  53. data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb +99 -0
  54. data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb +63 -0
  55. data/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb +430 -0
  56. data/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb +43 -0
  57. data/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb +51 -0
  58. data/lib/rubygems/resolver/specification.rb +1 -1
  59. data/lib/rubygems/specification.rb +256 -86
  60. data/lib/rubygems/stub_specification.rb +37 -29
  61. data/lib/rubygems/test_case.rb +65 -28
  62. data/lib/rubygems/test_utilities.rb +18 -18
  63. data/lib/rubygems/text.rb +0 -2
  64. data/lib/rubygems/uninstaller.rb +1 -1
  65. data/lib/rubygems/util.rb +4 -4
  66. data/lib/rubygems/util/licenses.rb +309 -0
  67. data/lib/rubygems/util/list.rb +9 -21
  68. data/lib/rubygems/version.rb +24 -14
  69. data/test/rubygems/simple_gem.rb +1 -1
  70. data/test/rubygems/test_config.rb +10 -1
  71. data/test/rubygems/test_gem.rb +58 -11
  72. data/test/rubygems/test_gem_available_set.rb +2 -1
  73. data/test/rubygems/test_gem_commands_cleanup_command.rb +6 -5
  74. data/test/rubygems/test_gem_commands_dependency_command.rb +9 -1
  75. data/test/rubygems/test_gem_commands_install_command.rb +17 -28
  76. data/test/rubygems/test_gem_commands_mirror.rb +0 -13
  77. data/test/rubygems/test_gem_commands_outdated_command.rb +2 -3
  78. data/test/rubygems/test_gem_commands_pristine_command.rb +33 -5
  79. data/test/rubygems/test_gem_commands_query_command.rb +123 -158
  80. data/test/rubygems/test_gem_commands_server_command.rb +2 -2
  81. data/test/rubygems/test_gem_commands_specification_command.rb +4 -4
  82. data/test/rubygems/test_gem_commands_stale_command.rb +2 -0
  83. data/test/rubygems/test_gem_commands_uninstall_command.rb +5 -4
  84. data/test/rubygems/test_gem_commands_unpack_command.rb +4 -6
  85. data/test/rubygems/test_gem_commands_update_command.rb +22 -52
  86. data/test/rubygems/test_gem_commands_which_command.rb +1 -0
  87. data/test/rubygems/test_gem_config_file.rb +1 -1
  88. data/test/rubygems/test_gem_dependency.rb +7 -3
  89. data/test/rubygems/test_gem_dependency_installer.rb +5 -5
  90. data/test/rubygems/test_gem_doctor.rb +1 -1
  91. data/test/rubygems/test_gem_ext_builder.rb +2 -0
  92. data/test/rubygems/test_gem_ext_configure_builder.rb +8 -4
  93. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +25 -21
  94. data/test/rubygems/test_gem_indexer.rb +4 -4
  95. data/test/rubygems/test_gem_install_update_options.rb +2 -2
  96. data/test/rubygems/test_gem_installer.rb +32 -26
  97. data/test/rubygems/test_gem_package.rb +46 -1
  98. data/test/rubygems/test_gem_package_tar_reader_entry.rb +8 -1
  99. data/test/rubygems/test_gem_package_tar_writer.rb +10 -1
  100. data/test/rubygems/test_gem_package_task.rb +5 -2
  101. data/test/rubygems/test_gem_platform.rb +11 -0
  102. data/test/rubygems/test_gem_remote_fetcher.rb +64 -3
  103. data/test/rubygems/test_gem_request.rb +1 -1
  104. data/test/rubygems/test_gem_request_connection_pools.rb +10 -1
  105. data/test/rubygems/test_gem_request_set.rb +5 -8
  106. data/test/rubygems/test_gem_request_set_lockfile.rb +2 -4
  107. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +1 -1
  108. data/test/rubygems/test_gem_resolver.rb +12 -31
  109. data/test/rubygems/test_gem_resolver_git_specification.rb +1 -0
  110. data/test/rubygems/test_gem_resolver_installer_set.rb +7 -11
  111. data/test/rubygems/test_gem_resolver_lock_specification.rb +3 -2
  112. data/test/rubygems/test_gem_security_trust_dir.rb +2 -0
  113. data/test/rubygems/test_gem_server.rb +4 -0
  114. data/test/rubygems/test_gem_specification.rb +344 -61
  115. data/test/rubygems/test_gem_stream_ui.rb +6 -6
  116. data/test/rubygems/test_gem_stub_specification.rb +21 -6
  117. data/test/rubygems/test_gem_text.rb +2 -0
  118. data/test/rubygems/test_gem_uninstaller.rb +2 -1
  119. data/test/rubygems/test_gem_util.rb +8 -0
  120. data/test/rubygems/test_require.rb +156 -125
  121. data/util/generate_spdx_license_list.rb +21 -0
  122. data/util/update_bundled_ca_certificates.rb +2 -1
  123. metadata +42 -6
  124. metadata.gz.sig +0 -0
  125. data/lib/rubygems/util/stringio.rb +0 -34
@@ -0,0 +1,21 @@
1
+ require 'json'
2
+ require 'net/http'
3
+
4
+ json = Net::HTTP.get('spdx.org', '/licenses/licenses.json')
5
+ licenses = JSON.parse(json)['licenses'].map do |licenseObject|
6
+ licenseObject['licenseId']
7
+ end
8
+
9
+ open 'lib/rubygems/util/licenses.rb', 'w' do |io|
10
+ io.write <<-HERE
11
+ class Gem::Licenses
12
+ NONSTANDARD = 'Nonstandard'.freeze
13
+
14
+ # Software Package Data Exchange (SPDX) standard open-source software
15
+ # license identifiers
16
+ IDENTIFIERS = %w(
17
+ #{licenses.sort.join "\n "}
18
+ ).freeze
19
+ end
20
+ HERE
21
+ end
@@ -10,7 +10,8 @@ URIS = [
10
10
  ]
11
11
 
12
12
  def connect_to uri, store
13
- http = Net::HTTP.new uri.hostname, uri.port
13
+ # None of the URIs are IPv6, so URI::Generic#hostname(ruby 1.9.3+) isn't needed
14
+ http = Net::HTTP.new uri.host, uri.port
14
15
 
15
16
  http.use_ssl = uri.scheme.downcase == 'https'
16
17
  http.ssl_version = :TLSv1_2
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubygems-update
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.8
4
+ version: 2.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
@@ -9,8 +9,29 @@ authors:
9
9
  - Eric Hodel
10
10
  autorequire:
11
11
  bindir: bin
12
- cert_chain: []
13
- date: 2015-06-08 00:00:00.000000000 Z
12
+ cert_chain:
13
+ - |
14
+ -----BEGIN CERTIFICATE-----
15
+ MIIDNjCCAh6gAwIBAgIBAzANBgkqhkiG9w0BAQUFADBBMRAwDgYDVQQDDAdkcmJy
16
+ YWluMRgwFgYKCZImiZPyLGQBGRYIc2VnbWVudDcxEzARBgoJkiaJk/IsZAEZFgNu
17
+ ZXQwHhcNMTUwODA1MjE1NzQ5WhcNMTYwODA0MjE1NzQ5WjBBMRAwDgYDVQQDDAdk
18
+ cmJyYWluMRgwFgYKCZImiZPyLGQBGRYIc2VnbWVudDcxEzARBgoJkiaJk/IsZAEZ
19
+ FgNuZXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCbbgLrGLGIDE76
20
+ LV/cvxdEzCuYuS3oG9PrSZnuDweySUfdp/so0cDq+j8bqy6OzZSw07gdjwFMSd6J
21
+ U5ddZCVywn5nnAQ+Ui7jMW54CYt5/H6f2US6U0hQOjJR6cpfiymgxGdfyTiVcvTm
22
+ Gj/okWrQl0NjYOYBpDi+9PPmaH2RmLJu0dB/NylsDnW5j6yN1BEI8MfJRR+HRKZY
23
+ mUtgzBwF1V4KIZQ8EuL6I/nHVu07i6IkrpAgxpXUfdJQJi0oZAqXurAV3yTxkFwd
24
+ g62YrrW26mDe+pZBzR6bpLE+PmXCzz7UxUq3AE0gPHbiMXie3EFE0oxnsU3lIduh
25
+ sCANiQ8BAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
26
+ BBS5k4Z75VSpdM0AclG2UvzFA/VW5DANBgkqhkiG9w0BAQUFAAOCAQEAXmQgUF6x
27
+ M/aBwZ0uaXzquQHbgAzH3bXlGIa3DrxCiSRAZ1xwYX4gRMV9iQ2kVDwafz5sg9/p
28
+ N/cMBNOjYRTX2XGv49PpaIiO/JRL/SLDdws/4tkIJOynFqpwcLNB66XeciXxh6nH
29
+ MS+S1O749pcMIFIBpMXvRS5mG7MPY3NhnmzcIQNYvXAcSXv675Cg4h1c6pxiqeAS
30
+ u3L+nuwJKNyOIWL3B5ek/yypK55RFUSwReqZTZQkVhNF4xlqPYGDsAxIE/xqadfP
31
+ +paXWY9JmO3d13yH2/nhDPAo/y7KwmEETFvtUoBmX4o44n/ELqSgb9NrL+613z9j
32
+ n8mbTOXmLGlTBA==
33
+ -----END CERTIFICATE-----
34
+ date: 2015-11-03 00:00:00.000000000 Z
14
35
  dependencies:
15
36
  - !ruby/object:Gem::Dependency
16
37
  name: minitest
@@ -18,14 +39,14 @@ dependencies:
18
39
  requirements:
19
40
  - - "~>"
20
41
  - !ruby/object:Gem::Version
21
- version: '5.7'
42
+ version: '5.8'
22
43
  type: :development
23
44
  prerelease: false
24
45
  version_requirements: !ruby/object:Gem::Requirement
25
46
  requirements:
26
47
  - - "~>"
27
48
  - !ruby/object:Gem::Version
28
- version: '5.7'
49
+ version: '5.8'
29
50
  - !ruby/object:Gem::Dependency
30
51
  name: rdoc
31
52
  requirement: !ruby/object:Gem::Requirement
@@ -141,9 +162,11 @@ executables:
141
162
  - update_rubygems
142
163
  extensions: []
143
164
  extra_rdoc_files:
165
+ - CODE_OF_CONDUCT.md
144
166
  - CONTRIBUTING.rdoc
145
167
  - CVE-2013-4287.txt
146
168
  - CVE-2013-4363.txt
169
+ - CVE-2015-3900.txt
147
170
  - History.txt
148
171
  - LICENSE.txt
149
172
  - MIT.txt
@@ -155,9 +178,11 @@ files:
155
178
  - ".autotest"
156
179
  - ".document"
157
180
  - ".gemtest"
181
+ - CODE_OF_CONDUCT.md
158
182
  - CONTRIBUTING.rdoc
159
183
  - CVE-2013-4287.txt
160
184
  - CVE-2013-4363.txt
185
+ - CVE-2015-3900.txt
161
186
  - History.txt
162
187
  - LICENSE.txt
163
188
  - MIT.txt
@@ -283,6 +308,16 @@ files:
283
308
  - lib/rubygems/resolver/local_specification.rb
284
309
  - lib/rubygems/resolver/lock_set.rb
285
310
  - lib/rubygems/resolver/lock_specification.rb
311
+ - lib/rubygems/resolver/molinillo.rb
312
+ - lib/rubygems/resolver/molinillo/lib/molinillo.rb
313
+ - lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb
314
+ - lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb
315
+ - lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb
316
+ - lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb
317
+ - lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb
318
+ - lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb
319
+ - lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb
320
+ - lib/rubygems/resolver/molinillo/lib/molinillo/state.rb
286
321
  - lib/rubygems/resolver/requirement_list.rb
287
322
  - lib/rubygems/resolver/set.rb
288
323
  - lib/rubygems/resolver/spec_specification.rb
@@ -324,8 +359,8 @@ files:
324
359
  - lib/rubygems/uri_formatter.rb
325
360
  - lib/rubygems/user_interaction.rb
326
361
  - lib/rubygems/util.rb
362
+ - lib/rubygems/util/licenses.rb
327
363
  - lib/rubygems/util/list.rb
328
- - lib/rubygems/util/stringio.rb
329
364
  - lib/rubygems/validator.rb
330
365
  - lib/rubygems/version.rb
331
366
  - lib/rubygems/version_option.rb
@@ -510,6 +545,7 @@ files:
510
545
  - util/CL2notes
511
546
  - util/create_certs.rb
512
547
  - util/create_encrypted_key.rb
548
+ - util/generate_spdx_license_list.rb
513
549
  - util/update_bundled_ca_certificates.rb
514
550
  homepage: http://rubygems.org
515
551
  licenses:
Binary file
@@ -1,34 +0,0 @@
1
- class Gem::StringSink
2
- def initialize
3
- @string = ""
4
- end
5
-
6
- attr_reader :string
7
-
8
- def write(s)
9
- @string += s
10
- s.size
11
- end
12
-
13
- def set_encoding(enc)
14
- @string.force_encoding enc
15
- end
16
- end
17
-
18
- class Gem::StringSource
19
- def initialize(str)
20
- @string = str.dup
21
- end
22
-
23
- def read(count=nil)
24
- if count
25
- @string.slice!(0,count)
26
- else
27
- s = @string
28
- @string = ""
29
- s
30
- end
31
- end
32
-
33
- alias_method :readpartial, :read
34
- end