rubygems-update 2.0.0.rc.1 → 2.0.0.rc.2

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.

@@ -31,8 +31,10 @@ class TestGemSecurityPolicy < Gem::TestCase
31
31
  @sha1 = OpenSSL::Digest::SHA1
32
32
  @trust_dir = Gem::Security.trust_dir.dir # HACK use the object
33
33
 
34
+ @no = Gem::Security::NoSecurity
34
35
  @almost_no = Gem::Security::AlmostNoSecurity
35
36
  @low = Gem::Security::LowSecurity
37
+ @medium = Gem::Security::MediumSecurity
36
38
  @high = Gem::Security::HighSecurity
37
39
 
38
40
  @chain = Gem::Security::Policy.new(
@@ -84,6 +86,14 @@ class TestGemSecurityPolicy < Gem::TestCase
84
86
  assert @chain.check_chain chain, Time.now
85
87
  end
86
88
 
89
+ def test_check_chain_empty_chain
90
+ e = assert_raises Gem::Security::Exception do
91
+ @chain.check_chain [], Time.now
92
+ end
93
+
94
+ assert_equal 'empty signing chain', e.message
95
+ end
96
+
87
97
  def test_check_chain_invalid
88
98
  chain = [PUBLIC_CERT, CHILD_CERT, INVALIDCHILD_CERT]
89
99
 
@@ -96,6 +106,14 @@ class TestGemSecurityPolicy < Gem::TestCase
96
106
  "was not issued by #{CHILD_CERT.subject}", e.message
97
107
  end
98
108
 
109
+ def test_check_chain_no_chain
110
+ e = assert_raises Gem::Security::Exception do
111
+ @chain.check_chain nil, Time.now
112
+ end
113
+
114
+ assert_equal 'missing signing chain', e.message
115
+ end
116
+
99
117
  def test_check_cert
100
118
  assert @low.check_cert(PUBLIC_CERT, nil, Time.now)
101
119
  end
@@ -134,10 +152,28 @@ class TestGemSecurityPolicy < Gem::TestCase
134
152
  assert @low.check_cert(CHILD_CERT, PUBLIC_CERT, Time.now)
135
153
  end
136
154
 
155
+ def test_check_cert_no_signer
156
+ e = assert_raises Gem::Security::Exception do
157
+ @high.check_cert(nil, nil, Time.now)
158
+ end
159
+
160
+ assert_equal 'missing signing certificate', e.message
161
+ end
162
+
137
163
  def test_check_key
138
164
  assert @almost_no.check_key(PUBLIC_CERT, PRIVATE_KEY)
139
165
  end
140
166
 
167
+ def test_check_key_no_signer
168
+ assert @almost_no.check_key(nil, nil)
169
+
170
+ e = assert_raises Gem::Security::Exception do
171
+ @high.check_key(nil, nil)
172
+ end
173
+
174
+ assert_equal 'missing key or signature', e.message
175
+ end
176
+
141
177
  def test_check_key_wrong_key
142
178
  e = assert_raises Gem::Security::Exception do
143
179
  @almost_no.check_key(PUBLIC_CERT, ALTERNATE_KEY)
@@ -153,6 +189,14 @@ class TestGemSecurityPolicy < Gem::TestCase
153
189
  assert @chain.check_root chain, Time.now
154
190
  end
155
191
 
192
+ def test_check_root_empty_chain
193
+ e = assert_raises Gem::Security::Exception do
194
+ @chain.check_root [], Time.now
195
+ end
196
+
197
+ assert_equal 'missing root certificate', e.message
198
+ end
199
+
156
200
  def test_check_root_invalid_signer
157
201
  chain = [INVALID_SIGNER_CERT]
158
202
 
@@ -177,6 +221,14 @@ class TestGemSecurityPolicy < Gem::TestCase
177
221
  e.message
178
222
  end
179
223
 
224
+ def test_check_root_no_chain
225
+ e = assert_raises Gem::Security::Exception do
226
+ @chain.check_root nil, Time.now
227
+ end
228
+
229
+ assert_equal 'missing signing chain', e.message
230
+ end
231
+
180
232
  def test_check_trust
181
233
  Gem::Security.trust_dir.trust_cert PUBLIC_CERT
182
234
 
@@ -189,6 +241,14 @@ class TestGemSecurityPolicy < Gem::TestCase
189
241
  assert @high.check_trust [PUBLIC_CERT, CHILD_CERT], @sha1, @trust_dir
190
242
  end
191
243
 
244
+ def test_check_trust_empty_chain
245
+ e = assert_raises Gem::Security::Exception do
246
+ @chain.check_trust [], @sha1, @trust_dir
247
+ end
248
+
249
+ assert_equal 'missing root certificate', e.message
250
+ end
251
+
192
252
  def test_check_trust_mismatch
193
253
  Gem::Security.trust_dir.trust_cert PUBLIC_CERT
194
254
 
@@ -200,6 +260,14 @@ class TestGemSecurityPolicy < Gem::TestCase
200
260
  "does not match signing root certificate checksum", e.message
201
261
  end
202
262
 
263
+ def test_check_trust_no_chain
264
+ e = assert_raises Gem::Security::Exception do
265
+ @chain.check_trust nil, @sha1, @trust_dir
266
+ end
267
+
268
+ assert_equal 'missing signing chain', e.message
269
+ end
270
+
203
271
  def test_check_trust_no_trust
204
272
  e = assert_raises Gem::Security::Exception do
205
273
  @high.check_trust [PUBLIC_CERT], @sha1, @trust_dir
@@ -220,73 +288,108 @@ class TestGemSecurityPolicy < Gem::TestCase
220
288
  def test_verify
221
289
  Gem::Security.trust_dir.trust_cert PUBLIC_CERT
222
290
 
223
- assert @almost_no.verify [PUBLIC_CERT]
291
+ assert @almost_no.verify [PUBLIC_CERT], nil, *dummy_signatures
224
292
  end
225
293
 
226
294
  def test_verify_chain_signatures
227
295
  Gem::Security.trust_dir.trust_cert PUBLIC_CERT
228
296
 
229
- data = digest 'hello'
230
- digest = { 'SHA1' => { 0 => data } }
231
- signature = { 0 => sign(data, PRIVATE_KEY) }
232
-
233
- assert @high.verify [PUBLIC_CERT], nil, digest, signature
297
+ assert @high.verify [PUBLIC_CERT], nil, *dummy_signatures
234
298
  end
235
299
 
236
300
  def test_verify_chain_key
237
- assert @almost_no.verify [PUBLIC_CERT], PRIVATE_KEY
301
+ @almost_no.verify [PUBLIC_CERT], PRIVATE_KEY, *dummy_signatures
238
302
  end
239
303
 
240
- def test_verify_signatures_chain
241
- data = digest 'hello'
242
- digest = { 'SHA1' => { 0 => data } }
243
- signature = { 0 => sign(data, CHILD_KEY) }
304
+ def test_verify_no_digests
305
+ Gem::Security.trust_dir.trust_cert PUBLIC_CERT
306
+
307
+ _, signatures = dummy_signatures
244
308
 
309
+ e = assert_raises Gem::Security::Exception do
310
+ @almost_no.verify [PUBLIC_CERT], nil, {}, signatures
311
+ end
312
+
313
+ assert_equal 'no digests provided (probable bug)', e.message
314
+ end
315
+
316
+ def test_verify_no_digests_no_security
317
+ Gem::Security.trust_dir.trust_cert PUBLIC_CERT
318
+
319
+ _, signatures = dummy_signatures
320
+
321
+ e = assert_raises Gem::Security::Exception do
322
+ @no.verify [PUBLIC_CERT], nil, {}, signatures
323
+ end
324
+
325
+ assert_equal 'missing digest for 0', e.message
326
+ end
327
+
328
+ def test_verify_not_enough_signatures
329
+ Gem::Security.trust_dir.trust_cert PUBLIC_CERT
330
+
331
+ digests, signatures = dummy_signatures
332
+
333
+ data = digest 'goodbye'
334
+
335
+ signatures[1] = PRIVATE_KEY.sign @sha1.new, data.digest
336
+
337
+ e = assert_raises Gem::Security::Exception do
338
+ @almost_no.verify [PUBLIC_CERT], nil, digests, signatures
339
+ end
340
+
341
+ assert_equal 'missing digest for 1', e.message
342
+ end
343
+
344
+ def test_verify_wrong_digest_type
345
+ Gem::Security.trust_dir.trust_cert PUBLIC_CERT
346
+
347
+ sha512 = OpenSSL::Digest::SHA512
348
+
349
+ data = sha512.new
350
+ data << 'hello'
351
+
352
+ digests = { 'SHA512' => { 0 => data } }
353
+ signature = PRIVATE_KEY.sign sha512.new, data.digest
354
+ signatures = { 0 => signature }
355
+
356
+ e = assert_raises Gem::Security::Exception do
357
+ @almost_no.verify [PUBLIC_CERT], nil, digests, signatures
358
+ end
359
+
360
+ assert_equal 'no digests provided (probable bug)', e.message
361
+ end
362
+
363
+ def test_verify_signatures_chain
245
364
  @spec.cert_chain = [PUBLIC_CERT, CHILD_CERT]
246
365
 
247
- assert @chain.verify_signatures @spec, digest, signature
366
+ assert @chain.verify_signatures @spec, *dummy_signatures(CHILD_KEY)
248
367
  end
249
368
 
250
369
  def test_verify_signatures_data
251
- data = digest 'hello'
252
- digest = { 'SHA1' => { 0 => data } }
253
- signature = { 0 => sign(data) }
254
-
255
370
  @spec.cert_chain = [PUBLIC_CERT]
256
371
 
257
- @almost_no.verify_signatures @spec, digest, signature
372
+ @almost_no.verify_signatures @spec, *dummy_signatures
258
373
  end
259
374
 
260
375
  def test_verify_signatures_root
261
- data = digest 'hello'
262
- digest = { 'SHA1' => { 0 => data } }
263
- signature = { 0 => sign(data, CHILD_KEY) }
264
-
265
376
  @spec.cert_chain = [PUBLIC_CERT, CHILD_CERT]
266
377
 
267
- assert @root.verify_signatures @spec, digest, signature
378
+ assert @root.verify_signatures @spec, *dummy_signatures(CHILD_KEY)
268
379
  end
269
380
 
270
381
  def test_verify_signatures_signer
271
- data = digest 'hello'
272
- digest = { 'SHA1' => { 0 => data } }
273
- signature = { 0 => sign(data) }
274
-
275
382
  @spec.cert_chain = [PUBLIC_CERT]
276
383
 
277
- assert @low.verify_signatures @spec, digest, signature
384
+ assert @low.verify_signatures @spec, *dummy_signatures
278
385
  end
279
386
 
280
387
  def test_verify_signatures_trust
281
388
  Gem::Security.trust_dir.trust_cert PUBLIC_CERT
282
389
 
283
- data = digest 'hello'
284
- digest = { 'SHA1' => { 0 => data } }
285
- signature = { 0 => sign(data, PRIVATE_KEY) }
286
-
287
390
  @spec.cert_chain = [PUBLIC_CERT]
288
391
 
289
- assert @high.verify_signatures @spec, digest, signature
392
+ assert @high.verify_signatures @spec, *dummy_signatures
290
393
  end
291
394
 
292
395
  def test_verify_signatures
@@ -372,5 +475,14 @@ class TestGemSecurityPolicy < Gem::TestCase
372
475
  key.sign @sha1.new, data.digest
373
476
  end
374
477
 
478
+ def dummy_signatures key = PRIVATE_KEY
479
+ data = digest 'hello'
480
+
481
+ digests = { 'SHA1' => { 0 => data } }
482
+ signatures = { 0 => sign(data, key) }
483
+
484
+ return digests, signatures
485
+ end
486
+
375
487
  end
376
488
 
@@ -118,6 +118,15 @@ end
118
118
  assert_equal @current_version, new_spec.specification_version
119
119
  end
120
120
 
121
+ def test_self_from_yaml
122
+ @a1.instance_variable_set :@specification_version, nil
123
+
124
+ spec = Gem::Specification.from_yaml @a1.to_yaml
125
+
126
+ assert_equal Gem::Specification::NONEXISTENT_SPECIFICATION_VERSION,
127
+ spec.specification_version
128
+ end
129
+
121
130
  def test_self_from_yaml_syck_date_bug
122
131
  # This is equivalent to (and totally valid) psych 1.0 output and
123
132
  # causes parse errors on syck.
metadata CHANGED
@@ -1,23 +1,15 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rubygems-update
3
- version: !ruby/object:Gem::Version
4
- hash: 2757333137
5
- prerelease: 6
6
- segments:
7
- - 2
8
- - 0
9
- - 0
10
- - rc
11
- - 1
12
- version: 2.0.0.rc.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.0.rc.2
13
5
  platform: ruby
14
- authors:
6
+ authors:
15
7
  - Jim Weirich
16
8
  - Chad Fowler
17
9
  - Eric Hodel
18
10
  autorequire:
19
11
  bindir: bin
20
- cert_chain:
12
+ cert_chain:
21
13
  - |
22
14
  -----BEGIN CERTIFICATE-----
23
15
  MIIDeDCCAmCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBBMRAwDgYDVQQDDAdkcmJy
@@ -40,162 +32,151 @@ cert_chain:
40
32
  Q8Tno9S3e4XGGP1ZWfLrTWEJbavFfhGHut2iMRwfC7s/YILAHNATopaJdH9DNpd1
41
33
  U81zGHMUBOvz/VGT6wJwYJ3emS2nfA2NOHFfgA==
42
34
  -----END CERTIFICATE-----
43
-
44
- date: 2013-01-08 00:00:00 Z
45
- dependencies:
46
- - !ruby/object:Gem::Dependency
35
+ date: 2013-02-08 00:00:00.000000000 Z
36
+ dependencies:
37
+ - !ruby/object:Gem::Dependency
47
38
  name: minitest
48
- prerelease: false
49
- requirement: &id001 !ruby/object:Gem::Requirement
50
- none: false
51
- requirements:
52
- - - ~>
53
- - !ruby/object:Gem::Version
54
- hash: 25
55
- segments:
56
- - 4
57
- - 1
58
- version: "4.1"
39
+ requirement: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '4.3'
59
44
  type: :development
60
- version_requirements: *id001
61
- - !ruby/object:Gem::Dependency
62
- name: rdoc
63
45
  prerelease: false
64
- requirement: &id002 !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ~>
68
- - !ruby/object:Gem::Version
69
- hash: 19
70
- segments:
71
- - 3
72
- - 10
73
- version: "3.10"
46
+ version_requirements: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - "~>"
49
+ - !ruby/object:Gem::Version
50
+ version: '4.3'
51
+ - !ruby/object:Gem::Dependency
52
+ name: rdoc
53
+ requirement: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '3.10'
74
58
  type: :development
75
- version_requirements: *id002
76
- - !ruby/object:Gem::Dependency
77
- name: builder
78
59
  prerelease: false
79
- requirement: &id003 !ruby/object:Gem::Requirement
80
- none: false
81
- requirements:
82
- - - ~>
83
- - !ruby/object:Gem::Version
84
- hash: 1
85
- segments:
86
- - 2
87
- - 1
88
- version: "2.1"
60
+ version_requirements: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - "~>"
63
+ - !ruby/object:Gem::Version
64
+ version: '3.10'
65
+ - !ruby/object:Gem::Dependency
66
+ name: builder
67
+ requirement: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: '2.1'
89
72
  type: :development
90
- version_requirements: *id003
91
- - !ruby/object:Gem::Dependency
92
- name: hoe-seattlerb
93
73
  prerelease: false
94
- requirement: &id004 !ruby/object:Gem::Requirement
95
- none: false
96
- requirements:
97
- - - ~>
98
- - !ruby/object:Gem::Version
99
- hash: 11
100
- segments:
101
- - 1
102
- - 2
103
- version: "1.2"
74
+ version_requirements: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - "~>"
77
+ - !ruby/object:Gem::Version
78
+ version: '2.1'
79
+ - !ruby/object:Gem::Dependency
80
+ name: hoe-seattlerb
81
+ requirement: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - "~>"
84
+ - !ruby/object:Gem::Version
85
+ version: '1.2'
104
86
  type: :development
105
- version_requirements: *id004
106
- - !ruby/object:Gem::Dependency
107
- name: session
108
87
  prerelease: false
109
- requirement: &id005 !ruby/object:Gem::Requirement
110
- none: false
111
- requirements:
112
- - - ~>
113
- - !ruby/object:Gem::Version
114
- hash: 11
115
- segments:
116
- - 2
117
- - 4
118
- version: "2.4"
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - "~>"
91
+ - !ruby/object:Gem::Version
92
+ version: '1.2'
93
+ - !ruby/object:Gem::Dependency
94
+ name: session
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '2.4'
119
100
  type: :development
120
- version_requirements: *id005
121
- - !ruby/object:Gem::Dependency
122
- name: ZenTest
123
101
  prerelease: false
124
- requirement: &id006 !ruby/object:Gem::Requirement
125
- none: false
126
- requirements:
127
- - - ~>
128
- - !ruby/object:Gem::Version
129
- hash: 17
130
- segments:
131
- - 4
132
- - 5
133
- version: "4.5"
102
+ version_requirements: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - "~>"
105
+ - !ruby/object:Gem::Version
106
+ version: '2.4'
107
+ - !ruby/object:Gem::Dependency
108
+ name: ZenTest
109
+ requirement: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - "~>"
112
+ - !ruby/object:Gem::Version
113
+ version: '4.5'
134
114
  type: :development
135
- version_requirements: *id006
136
- - !ruby/object:Gem::Dependency
137
- name: rake
138
115
  prerelease: false
139
- requirement: &id007 !ruby/object:Gem::Requirement
140
- none: false
141
- requirements:
142
- - - ~>
143
- - !ruby/object:Gem::Version
144
- hash: 61
145
- segments:
146
- - 0
147
- - 9
148
- - 3
116
+ version_requirements: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - "~>"
119
+ - !ruby/object:Gem::Version
120
+ version: '4.5'
121
+ - !ruby/object:Gem::Dependency
122
+ name: rake
123
+ requirement: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - "~>"
126
+ - !ruby/object:Gem::Version
149
127
  version: 0.9.3
150
128
  type: :development
151
- version_requirements: *id007
152
- - !ruby/object:Gem::Dependency
153
- name: hoe
154
129
  prerelease: false
155
- requirement: &id008 !ruby/object:Gem::Requirement
156
- none: false
157
- requirements:
158
- - - ~>
159
- - !ruby/object:Gem::Version
160
- hash: 5
161
- segments:
162
- - 3
163
- - 1
164
- version: "3.1"
130
+ version_requirements: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - "~>"
133
+ - !ruby/object:Gem::Version
134
+ version: 0.9.3
135
+ - !ruby/object:Gem::Dependency
136
+ name: hoe
137
+ requirement: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - "~>"
140
+ - !ruby/object:Gem::Version
141
+ version: '3.3'
165
142
  type: :development
166
- version_requirements: *id008
143
+ prerelease: false
144
+ version_requirements: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - "~>"
147
+ - !ruby/object:Gem::Version
148
+ version: '3.3'
167
149
  description: |-
168
150
  RubyGems is a package management framework for Ruby.
169
-
151
+
170
152
  This gem is an update for the RubyGems software. You must have an
171
153
  installation of RubyGems before this update can be applied.
172
-
154
+
173
155
  See Gem for information on RubyGems (or `ri Gem`)
174
-
156
+
175
157
  To upgrade to the latest RubyGems, run:
176
-
158
+
177
159
  $ gem update --system # you might need to be an administrator or root
178
-
160
+
179
161
  See UPGRADING.rdoc for more details and alternative instructions.
180
-
162
+
181
163
  -----
182
-
164
+
183
165
  If you don't have RubyGems installed, you can still do it manually:
184
-
166
+
185
167
  * Download from: https://rubygems.org/pages/download
186
168
  * Unpack into a directory and cd there
187
169
  * Install with: ruby setup.rb # you may need admin/root privilege
188
-
170
+
189
171
  For more details and other options, see:
190
-
172
+
191
173
  ruby setup.rb --help
192
- email:
174
+ email:
193
175
  - rubygems-developers@rubyforge.org
194
- executables:
176
+ executables:
195
177
  - update_rubygems
196
178
  extensions: []
197
-
198
- extra_rdoc_files:
179
+ extra_rdoc_files:
199
180
  - History.txt
200
181
  - LICENSE.txt
201
182
  - MIT.txt
@@ -203,9 +184,9 @@ extra_rdoc_files:
203
184
  - README.rdoc
204
185
  - UPGRADING.rdoc
205
186
  - hide_lib_for_update/note.txt
206
- files:
207
- - .autotest
208
- - .document
187
+ files:
188
+ - ".autotest"
189
+ - ".document"
209
190
  - History.txt
210
191
  - LICENSE.txt
211
192
  - MIT.txt
@@ -310,6 +291,7 @@ files:
310
291
  - lib/rubygems/source_specific_file.rb
311
292
  - lib/rubygems/spec_fetcher.rb
312
293
  - lib/rubygems/specification.rb
294
+ - lib/rubygems/ssl_certs/.document
313
295
  - lib/rubygems/ssl_certs/AddTrustExternalCARoot.pem
314
296
  - lib/rubygems/ssl_certs/Entrust_net-Secure-Server-Certification-Authority.pem
315
297
  - lib/rubygems/ssl_certs/VerisignClass3PublicPrimaryCertificationAuthority-G2.pem
@@ -458,45 +440,34 @@ files:
458
440
  - test/rubygems/wrong_key_cert_32.pem
459
441
  - util/CL2notes
460
442
  - util/create_certs.rb
461
- - .gemtest
462
- homepage: http://guides.rubygems.org
443
+ - ".gemtest"
444
+ homepage: http://rubygems.org
463
445
  licenses: []
464
-
446
+ metadata: {}
465
447
  post_install_message:
466
- rdoc_options:
467
- - --main
448
+ rdoc_options:
449
+ - "--main"
468
450
  - README.rdoc
469
- - --title=RubyGems 2.0.0.rc.1 Documentation
470
- require_paths:
451
+ - "--title=RubyGems 2.0.0.rc.2 Documentation"
452
+ require_paths:
471
453
  - hide_lib_for_update
472
- required_ruby_version: !ruby/object:Gem::Requirement
473
- none: false
474
- requirements:
454
+ required_ruby_version: !ruby/object:Gem::Requirement
455
+ requirements:
475
456
  - - ">="
476
- - !ruby/object:Gem::Version
477
- hash: 57
478
- segments:
479
- - 1
480
- - 8
481
- - 7
457
+ - !ruby/object:Gem::Version
482
458
  version: 1.8.7
483
- required_rubygems_version: !ruby/object:Gem::Requirement
484
- none: false
485
- requirements:
459
+ required_rubygems_version: !ruby/object:Gem::Requirement
460
+ requirements:
486
461
  - - ">="
487
- - !ruby/object:Gem::Version
488
- hash: 3
489
- segments:
490
- - 0
491
- version: "0"
462
+ - !ruby/object:Gem::Version
463
+ version: '0'
492
464
  requirements: []
493
-
494
465
  rubyforge_project: rubygems
495
- rubygems_version: 1.8.24
466
+ rubygems_version: 2.0.0.rc.2
496
467
  signing_key:
497
- specification_version: 3
468
+ specification_version: 4
498
469
  summary: RubyGems is a package management framework for Ruby
499
- test_files:
470
+ test_files:
500
471
  - test/rubygems/test_config.rb
501
472
  - test/rubygems/test_deprecate.rb
502
473
  - test/rubygems/test_gem.rb