rubygems-update 2.0.11 → 2.0.12

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.

Potentially problematic release.


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

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 76355f13c1324461cdf6872c156a64ac8506a2d4
4
- data.tar.gz: fef91eda501221dc92d50066343609747ec4a319
3
+ metadata.gz: 482de6c994fb43534deab69c45cbd1bd65e9d649
4
+ data.tar.gz: e0f8614cda95521bdf92b38da1fbc22937f1ac37
5
5
  SHA512:
6
- metadata.gz: cc05fb1c3447f5ec895c7d768dd7fa9bf2e93db24cd77a9d683982a938f7a0586246736a163c76522acb4bcb74a92babf7beb32e5c5a10e3ee7506616f04c643
7
- data.tar.gz: fccc1829bf3b202fd225cc8a5d0e263584f0e36458177c659a5d12df82d9b891b1248c02b57a565d0baacaf9b0d5f99abfbbedc536896edc0497c6f6eeae1fd6
6
+ metadata.gz: a5efa41db38165c7ef31fcae76fb5a1d9f59a411811bbfb898524a862d9cd5258d3815fa867d65160cebe4c32d52d7369b3cb8bfb234116cda83a617f2dcbb92
7
+ data.tar.gz: 7e1f7e6a3b36f0410ec961e0352828e783f4e3ded2b16a451306e7224dfad4ff3cf5a84207b8ccc0f0824c550367cd96591697aabe9bafa29a1faf136eb02f23
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -1,5 +1,12 @@
1
1
  # coding: UTF-8
2
2
 
3
+ === 2.0.12 / 2013-10-14
4
+
5
+ Bug fixes:
6
+
7
+ * Proxy usernames and passwords are now escaped properly. Ruby Bug #8979 and
8
+ patch by Masahiro Tomita, Issue #668 by Kouhei Sutou.
9
+
3
10
  === 2.0.11 / 2013-10-08
4
11
 
5
12
  Bug fixes:
@@ -512,6 +519,40 @@ $SAFE=1. There is no functional difference compared to Ruby 2.0.0.preview2
512
519
  * URI scheme matching is no longer case-sensitive. Fixes #322
513
520
  * ext/builder now checks $MAKE as well as $make (okkez)
514
521
 
522
+ === 1.8.28 / 2013-10-08
523
+
524
+ Bug fixes:
525
+
526
+ * Added the Verisign Class 3 Public Primary Certification Authority G5
527
+ certificate and its intermediary to follow the s3.amazonaws.com certificate
528
+ change. Fixes #665 by emeyekayee. Fixes #671 by jonforums.
529
+ * Remove redundant built-in certificates not needed for https://rubygems.org
530
+ Fixes #654 by Vít Ondruch.
531
+ * Added test for missing certificates for https://s3.amazonaws.com or
532
+ https://rubygems.org. Pull request #673 by Hannes Georg.
533
+
534
+ === 1.8.27 / 2013-09-24
535
+
536
+ Security fixes:
537
+
538
+ * RubyGems 2.1.4 and earlier are vulnerable to excessive CPU usage due to a
539
+ backtracking in Gem::Version validation. See CVE-2013-4363 for full details
540
+ including vulnerable APIs. Fixed versions include 2.1.5, 2.0.10, 1.8.27 and
541
+ 1.8.23.2 (for Ruby 1.9.3).
542
+
543
+ === 1.8.26 / 2013-09-09
544
+
545
+ Security fixes:
546
+
547
+ * RubyGems 2.0.7 and earlier are vulnerable to excessive CPU usage due to a
548
+ backtracking in Gem::Version validation. See CVE-2013-4287 for full details
549
+ including vulnerable APIs. Fixed versions include 2.0.8, 1.8.26 and
550
+ 1.8.23.1 (for Ruby 1.9.3). Issue #626 by Damir Sharipov.
551
+
552
+ Bug fixes:
553
+
554
+ * Fixed editing of a Makefile with 8-bit characters. Fixes #181
555
+
515
556
  === 1.8.25 / 2013-01-24
516
557
 
517
558
  * Bug fixes:
data/Rakefile CHANGED
@@ -107,7 +107,7 @@ task :test => :clean_env
107
107
 
108
108
  task :prerelease => [:clobber, :check_manifest, :test]
109
109
 
110
- task :postrelease => [:publish_docs, :upload]
110
+ task :postrelease => [:upload]
111
111
 
112
112
  pkg_dir_path = "pkg/rubygems-update-#{hoe.version}"
113
113
  task :package do
@@ -8,7 +8,7 @@
8
8
  require 'rbconfig'
9
9
 
10
10
  module Gem
11
- VERSION = '2.0.11'
11
+ VERSION = '2.0.12'
12
12
  end
13
13
 
14
14
  # Must be first since it unloads the prelude from 1.9.2
@@ -1,5 +1,6 @@
1
1
  require 'rubygems'
2
2
  require 'rubygems/user_interaction'
3
+ require 'cgi'
3
4
  require 'thread'
4
5
  require 'uri'
5
6
  require 'resolv'
@@ -321,6 +322,14 @@ class Gem::RemoteFetcher
321
322
  response['content-length'].to_i
322
323
  end
323
324
 
325
+ def escape_auth_info(str)
326
+ str && CGI.escape(str)
327
+ end
328
+
329
+ def unescape_auth_info(str)
330
+ str && CGI.unescape(str)
331
+ end
332
+
324
333
  def escape(str)
325
334
  return unless str
326
335
  @uri_parser ||= uri_escaper
@@ -362,8 +371,8 @@ class Gem::RemoteFetcher
362
371
 
363
372
  if uri and uri.user.nil? and uri.password.nil? then
364
373
  # Probably we have http_proxy_* variables?
365
- uri.user = escape(ENV['http_proxy_user'] || ENV['HTTP_PROXY_USER'])
366
- uri.password = escape(ENV['http_proxy_pass'] || ENV['HTTP_PROXY_PASS'])
374
+ uri.user = escape_auth_info(ENV['http_proxy_user'] || ENV['HTTP_PROXY_USER'])
375
+ uri.password = escape_auth_info(ENV['http_proxy_pass'] || ENV['HTTP_PROXY_PASS'])
367
376
  end
368
377
 
369
378
  uri
@@ -387,8 +396,8 @@ class Gem::RemoteFetcher
387
396
  net_http_args += [
388
397
  @proxy_uri.host,
389
398
  @proxy_uri.port,
390
- @proxy_uri.user,
391
- @proxy_uri.password
399
+ unescape_auth_info(@proxy_uri.user),
400
+ unescape_auth_info(@proxy_uri.password)
392
401
  ]
393
402
  end
394
403
 
@@ -143,6 +143,14 @@ gems:
143
143
  assert_equal proxy_uri, fetcher.instance_variable_get(:@proxy_uri)
144
144
  end
145
145
 
146
+ def test_escape_auth_info
147
+ assert_equal 'a%40b%5Cc', @fetcher.escape_auth_info('a@b\c')
148
+ end
149
+
150
+ def test_unescape_auth_info
151
+ assert_equal 'a@b\c', @fetcher.unescape_auth_info('a%40b%5Cc')
152
+ end
153
+
146
154
  def test_fetch_size_bad_uri
147
155
  fetcher = Gem::RemoteFetcher.new nil
148
156
 
@@ -438,7 +446,7 @@ gems:
438
446
  uri.user, uri.password = 'domain%5Cuser', 'bar'
439
447
  fetcher = Gem::RemoteFetcher.new uri.to_s
440
448
  proxy = fetcher.instance_variable_get("@proxy_uri")
441
- assert_equal 'domain\user', fetcher.unescape(proxy.user)
449
+ assert_equal 'domain\user', fetcher.unescape_auth_info(proxy.user)
442
450
  assert_equal 'bar', proxy.password
443
451
  assert_data_from_proxy fetcher.fetch_path(@server_uri)
444
452
  end
@@ -449,7 +457,7 @@ gems:
449
457
  fetcher = Gem::RemoteFetcher.new uri.to_s
450
458
  proxy = fetcher.instance_variable_get("@proxy_uri")
451
459
  assert_equal 'user', proxy.user
452
- assert_equal 'my pass', fetcher.unescape(proxy.password)
460
+ assert_equal 'my pass', fetcher.unescape_auth_info(proxy.password)
453
461
  assert_data_from_proxy fetcher.fetch_path(@server_uri)
454
462
  end
455
463
  end
@@ -472,8 +480,19 @@ gems:
472
480
  ENV['http_proxy_pass'] = 'my bar'
473
481
  fetcher = Gem::RemoteFetcher.new nil
474
482
  proxy = fetcher.instance_variable_get("@proxy_uri")
475
- assert_equal 'foo\user', fetcher.unescape(proxy.user)
476
- assert_equal 'my bar', fetcher.unescape(proxy.password)
483
+ assert_equal 'foo\user', fetcher.unescape_auth_info(proxy.user)
484
+ assert_equal 'my bar', fetcher.unescape_auth_info(proxy.password)
485
+ assert_data_from_proxy fetcher.fetch_path(@server_uri)
486
+ end
487
+
488
+ use_ui @ui do
489
+ ENV['http_proxy'] = @proxy_uri
490
+ ENV['http_proxy_user'] = 'foo@user'
491
+ ENV['http_proxy_pass'] = 'my@bar'
492
+ fetcher = Gem::RemoteFetcher.new nil
493
+ proxy = fetcher.instance_variable_get("@proxy_uri")
494
+ assert_equal 'foo@user', fetcher.unescape_auth_info(proxy.user)
495
+ assert_equal 'my@bar', fetcher.unescape_auth_info(proxy.password)
477
496
  assert_data_from_proxy fetcher.fetch_path(@server_uri)
478
497
  end
479
498
  end
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.0.11
4
+ version: 2.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
@@ -32,7 +32,7 @@ cert_chain:
32
32
  KDyY1VIazVgoC8XvR4h/95/iScPiuglzA+DBG1hip1xScAtw05BrXyUNrc9CEMYU
33
33
  wgF94UVoHRp6ywo8I7NP3HcwFQDFNEZPNGXsng==
34
34
  -----END CERTIFICATE-----
35
- date: 2013-10-08 00:00:00.000000000 Z
35
+ date: 2013-10-14 00:00:00.000000000 Z
36
36
  dependencies:
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: minitest
@@ -457,7 +457,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
457
457
  version: '0'
458
458
  requirements: []
459
459
  rubyforge_project: rubygems-update
460
- rubygems_version: 2.1.5
460
+ rubygems_version: 2.1.7
461
461
  signing_key:
462
462
  specification_version: 4
463
463
  summary: RubyGems is a package management framework for Ruby
metadata.gz.sig CHANGED
Binary file