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 +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
|