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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/History.txt +41 -0
- data/Rakefile +1 -1
- data/lib/rubygems.rb +1 -1
- data/lib/rubygems/remote_fetcher.rb +13 -4
- data/test/rubygems/test_gem_remote_fetcher.rb +23 -4
- metadata +3 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 482de6c994fb43534deab69c45cbd1bd65e9d649
|
4
|
+
data.tar.gz: e0f8614cda95521bdf92b38da1fbc22937f1ac37
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a5efa41db38165c7ef31fcae76fb5a1d9f59a411811bbfb898524a862d9cd5258d3815fa867d65160cebe4c32d52d7369b3cb8bfb234116cda83a617f2dcbb92
|
7
|
+
data.tar.gz: 7e1f7e6a3b36f0410ec961e0352828e783f4e3ded2b16a451306e7224dfad4ff3cf5a84207b8ccc0f0824c550367cd96591697aabe9bafa29a1faf136eb02f23
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/History.txt
CHANGED
@@ -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 => [:
|
110
|
+
task :postrelease => [:upload]
|
111
111
|
|
112
112
|
pkg_dir_path = "pkg/rubygems-update-#{hoe.version}"
|
113
113
|
task :package do
|
data/lib/rubygems.rb
CHANGED
@@ -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 =
|
366
|
-
uri.password =
|
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.
|
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.
|
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.
|
476
|
-
assert_equal 'my bar', fetcher.
|
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.
|
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-
|
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.
|
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
|