rubygems-update 2.0.11 → 2.0.12

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.

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