From a508693f06aefe30d2d83c9617541722ba6c8d66 Mon Sep 17 00:00:00 2001 From: Daniel Niknam Date: Sun, 22 Aug 2021 19:55:40 +1000 Subject: [PATCH] [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 53d9fb7685..0837c42b50 100644 --- a/lib/rubygems/printable_uri.rb +++ b/lib/rubygems/printable_uri.rb @@ -16,7 +16,7 @@ class Gem::PrintableUri 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 end def original_password - return unless valid_uri? - @original_uri.password end @@ -42,40 +40,31 @@ class Gem::PrintableUri 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 c227fe683a..c9127a42df 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 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 assert_equal "pass", Gem::PrintableUri.parse_uri(URI("https://user:pass@example.com")).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@example.com", Gem::PrintableUri.parse_uri("https://user:pass@example.com").to_s end