From 061e01ee5088b491ab702a567eb0d5bed1c5d429 Mon Sep 17 00:00:00 2001 From: Jenny Shen Date: Tue, 16 May 2023 14:27:35 -0400 Subject: [PATCH] [rubygems/rubygems] Remove forward slash in key regardless if it contains __ https://github.com/rubygems/rubygems/commit/33a02eec00 --- lib/rubygems/config_file.rb | 2 +- test/rubygems/test_gem_config_file.rb | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/rubygems/config_file.rb b/lib/rubygems/config_file.rb index 3f26e8de8e..d90ec9f92c 100644 --- a/lib/rubygems/config_file.rb +++ b/lib/rubygems/config_file.rb @@ -535,7 +535,7 @@ if you believe they were disclosed to a third party. content.transform_keys! do |k| if k.match?(/\A:(.*)\Z/) k[1..-1].to_sym - elsif k.include?("__") + elsif k.include?("__") || k.match?(%r{/\Z}) if k.is_a?(Symbol) k.to_s.gsub(/__/,".").gsub(%r{/\Z}, "").to_sym else diff --git a/test/rubygems/test_gem_config_file.rb b/test/rubygems/test_gem_config_file.rb index d15a0fb793..f53125cc0c 100644 --- a/test/rubygems/test_gem_config_file.rb +++ b/test/rubygems/test_gem_config_file.rb @@ -324,14 +324,19 @@ if you believe they were disclosed to a third party. temp_cred = File.join Gem.user_home, ".gem", "credentials" FileUtils.mkdir_p File.dirname(temp_cred) File.open temp_cred, "w", 0o600 do |fp| - fp.puts ":rubygems_api_key: 701229f217cdf23b1344c7b4b54ca97" - fp.puts ":other: a5fdbb6ba150cbb83aad2bb2fede64c" + fp.puts ":rubygems_api_key: rubygems_b9ce70c306b3a2e248679fbbbd66722d408d3c8c4f00566c" + fp.puts ":other: rubygems_9636a120106ea8b81fbc792188251738665711d2ece160c5" + fp.puts "http://localhost:3000: rubygems_be293ad9dd71550a012b17d848893b41960b811ce9312b47" end util_config_file - assert_equal({ :rubygems => "701229f217cdf23b1344c7b4b54ca97", - :other => "a5fdbb6ba150cbb83aad2bb2fede64c" }, @cfg.api_keys) + assert_equal( + { :rubygems => "rubygems_b9ce70c306b3a2e248679fbbbd66722d408d3c8c4f00566c", + :other => "rubygems_9636a120106ea8b81fbc792188251738665711d2ece160c5", + "http://localhost:3000" => "rubygems_be293ad9dd71550a012b17d848893b41960b811ce9312b47" }, + @cfg.api_keys + ) end def test_load_api_keys_bad_permission