ruby-changes:67484
From: Daniel <ko1@a...>
Date: Tue, 31 Aug 2021 19:08:08 +0900 (JST)
Subject: [ruby-changes:67484] a508693f06 (master): [rubygems/rubygems] Remove defensive guards
https://git.ruby-lang.org/ruby.git/commit/?id=a508693f06 From a508693f06aefe30d2d83c9617541722ba6c8d66 Mon Sep 17 00:00:00 2001 From: Daniel Niknam <mhmd.niknam@g...> Date: Sun, 22 Aug 2021 19:55:40 +1000 Subject: [rubygems/rubygems] Remove defensive guards https://github.com/rubygems/rubygems/commit/dba130cd80 --- lib/rubygems/printable_uri.rb | 19 ++++--------------- test/rubygems/test_gem_printable_uri.rb | 8 -------- 2 files changed, 4 insertions(+), 23 deletions(-) diff --git a/lib/rubygems/printable_uri.rb b/lib/rubygems/printable_uri.rb index 53d9fb7..0837c42 100644 --- a/lib/rubygems/printable_uri.rb +++ b/lib/rubygems/printable_uri.rb @@ -16,7 +16,7 @@ class Gem::PrintableUri https://github.com/ruby/ruby/blob/trunk/lib/rubygems/printable_uri.rb#L16 def parse_uri @original_uri = Gem::UriParser.parse_uri(@original_uri) @uri = @original_uri.clone - redact_credential + redact_credential if valid_uri? self end @@ -30,8 +30,6 @@ class Gem::PrintableUri https://github.com/ruby/ruby/blob/trunk/lib/rubygems/printable_uri.rb#L30 end def original_password - return unless valid_uri? - @original_uri.password end @@ -42,40 +40,31 @@ class Gem::PrintableUri https://github.com/ruby/ruby/blob/trunk/lib/rubygems/printable_uri.rb#L40 private def redact_credential - return unless redactable_credential? - if token? @uri.user = 'REDACTED' + @credential_redacted = true elsif oauth_basic? @uri.user = 'REDACTED' + @credential_redacted = true elsif password? @uri.password = 'REDACTED' + @credential_redacted = true end - - @credential_redacted = true end def redactable_credential? - return false unless valid_uri? - password? || oauth_basic? || token? end def password? - return false unless valid_uri? - !!@uri.password end def oauth_basic? - return false unless valid_uri? - @uri.password == 'x-oauth-basic' end def token? - return false unless valid_uri? - !@uri.user.nil? && @uri.password.nil? end end diff --git a/test/rubygems/test_gem_printable_uri.rb b/test/rubygems/test_gem_printable_uri.rb index c227fe6..c9127a4 100644 --- a/test/rubygems/test_gem_printable_uri.rb +++ b/test/rubygems/test_gem_printable_uri.rb @@ -63,10 +63,6 @@ class TestPrintableUri < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem_printable_uri.rb#L63 assert_equal nil, Gem::PrintableUri.parse_uri("https://www.example.com").original_password end - def test_original_password_with_invalid_uri - assert_equal nil, Gem::PrintableUri.parse_uri("https://www.example.com:80index").original_password - end - def test_original_password_with_empty_uri_object assert_equal nil, Gem::PrintableUri.parse_uri(URI("")).original_password end @@ -75,10 +71,6 @@ class TestPrintableUri < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem_printable_uri.rb#L71 assert_equal "pass", Gem::PrintableUri.parse_uri(URI("https://user:pass@e...")).original_password end - def test_original_password_with_other_objects - assert_equal nil, Gem::PrintableUri.parse_uri(Object.new).original_password - end - def test_to_s_with_user_pass assert_equal "https://user:REDACTED@e...", Gem::PrintableUri.parse_uri("https://user:pass@e...").to_s end -- cgit v1.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/