Skip to content

Commit af6012b

Browse files
rye-stripehsbt
authored andcommitted
[rubygems/rubygems] Fix date format in S3 URI signer
%M is minute of the hour. %m is month of year. We want the former, not the latter. ruby/rubygems@d7ca3fa279
1 parent c6da019 commit af6012b

2 files changed

Lines changed: 12 additions & 12 deletions

File tree

lib/rubygems/s3_uri_signer.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def sign(expiration = 86_400)
3838
s3_config = fetch_s3_config
3939

4040
current_time = Time.now.utc
41-
date_time = current_time.strftime("%Y%m%dT%H%m%SZ")
41+
date_time = current_time.strftime("%Y%m%dT%H%M%SZ")
4242
date = date_time[0,8]
4343

4444
credential_info = "#{date}/#{s3_config.region}/s3/aws4_request"

test/rubygems/test_gem_remote_fetcher_s3.rb

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def s3_uri_signer.ec2_metadata_credentials_json
4747

4848
data = fetcher.fetch_s3 Gem::URI.parse(url)
4949

50-
assert_equal "https://my-bucket.s3.#{region}.amazonaws.com/gems/specs.4.8.gz?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=testuser%2F20190624%2F#{region}%2Fs3%2Faws4_request&X-Amz-Date=20190624T050641Z&X-Amz-Expires=86400#{token ? "&X-Amz-Security-Token=" + token : ""}&X-Amz-SignedHeaders=host&X-Amz-Signature=#{signature}", $fetched_uri.to_s
50+
assert_equal "https://my-bucket.s3.#{region}.amazonaws.com/gems/specs.4.8.gz?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=testuser%2F20190624%2F#{region}%2Fs3%2Faws4_request&X-Amz-Date=20190624T051941Z&X-Amz-Expires=86400#{token ? "&X-Amz-Security-Token=" + token : ""}&X-Amz-SignedHeaders=host&X-Amz-Signature=#{signature}", $fetched_uri.to_s
5151
assert_equal "success", data
5252
ensure
5353
$fetched_uri = nil
@@ -59,7 +59,7 @@ def test_fetch_s3_config_creds
5959
}
6060
url = "s3://my-bucket/gems/specs.4.8.gz"
6161
Time.stub :now, Time.at(1_561_353_581) do
62-
assert_fetch_s3 url, "20f974027db2f3cd6193565327a7c73457a138efb1a63ea248d185ce6827d41b"
62+
assert_fetch_s3 url, "b5cb80c1301f7b1c50c4af54f1f6c034f80b56d32f000a855f0a903dc5a8413c"
6363
end
6464
ensure
6565
Gem.configuration[:s3_source] = nil
@@ -71,7 +71,7 @@ def test_fetch_s3_config_creds_with_region
7171
}
7272
url = "s3://my-bucket/gems/specs.4.8.gz"
7373
Time.stub :now, Time.at(1_561_353_581) do
74-
assert_fetch_s3 url, "4afc3010757f1fd143e769f1d1dabd406476a4fc7c120e9884fd02acbb8f26c9", nil, "us-west-2"
74+
assert_fetch_s3 url, "ef07487bfd8e3ca594f8fc29775b70c0a0636f51318f95d4f12b2e6e1fd8c716", nil, "us-west-2"
7575
end
7676
ensure
7777
Gem.configuration[:s3_source] = nil
@@ -83,7 +83,7 @@ def test_fetch_s3_config_creds_with_token
8383
}
8484
url = "s3://my-bucket/gems/specs.4.8.gz"
8585
Time.stub :now, Time.at(1_561_353_581) do
86-
assert_fetch_s3 url, "935160a427ef97e7630f799232b8f208c4a4e49aad07d0540572a2ad5fe9f93c", "testtoken"
86+
assert_fetch_s3 url, "e709338735f9077edf8f6b94b247171c266a9605975e08e4a519a123c3322625", "testtoken"
8787
end
8888
ensure
8989
Gem.configuration[:s3_source] = nil
@@ -98,7 +98,7 @@ def test_fetch_s3_env_creds
9898
}
9999
url = "s3://my-bucket/gems/specs.4.8.gz"
100100
Time.stub :now, Time.at(1_561_353_581) do
101-
assert_fetch_s3 url, "20f974027db2f3cd6193565327a7c73457a138efb1a63ea248d185ce6827d41b"
101+
assert_fetch_s3 url, "b5cb80c1301f7b1c50c4af54f1f6c034f80b56d32f000a855f0a903dc5a8413c"
102102
end
103103
ensure
104104
ENV.each_key {|key| ENV.delete(key) if key.start_with?("AWS") }
@@ -114,7 +114,7 @@ def test_fetch_s3_env_creds_with_region
114114
}
115115
url = "s3://my-bucket/gems/specs.4.8.gz"
116116
Time.stub :now, Time.at(1_561_353_581) do
117-
assert_fetch_s3 url, "4afc3010757f1fd143e769f1d1dabd406476a4fc7c120e9884fd02acbb8f26c9", nil, "us-west-2"
117+
assert_fetch_s3 url, "ef07487bfd8e3ca594f8fc29775b70c0a0636f51318f95d4f12b2e6e1fd8c716", nil, "us-west-2"
118118
end
119119
ensure
120120
ENV.each_key {|key| ENV.delete(key) if key.start_with?("AWS") }
@@ -130,7 +130,7 @@ def test_fetch_s3_env_creds_with_token
130130
}
131131
url = "s3://my-bucket/gems/specs.4.8.gz"
132132
Time.stub :now, Time.at(1_561_353_581) do
133-
assert_fetch_s3 url, "935160a427ef97e7630f799232b8f208c4a4e49aad07d0540572a2ad5fe9f93c", "testtoken"
133+
assert_fetch_s3 url, "e709338735f9077edf8f6b94b247171c266a9605975e08e4a519a123c3322625", "testtoken"
134134
end
135135
ensure
136136
ENV.each_key {|key| ENV.delete(key) if key.start_with?("AWS") }
@@ -140,7 +140,7 @@ def test_fetch_s3_env_creds_with_token
140140
def test_fetch_s3_url_creds
141141
url = "s3://testuser:testpass@my-bucket/gems/specs.4.8.gz"
142142
Time.stub :now, Time.at(1_561_353_581) do
143-
assert_fetch_s3 url, "20f974027db2f3cd6193565327a7c73457a138efb1a63ea248d185ce6827d41b"
143+
assert_fetch_s3 url, "b5cb80c1301f7b1c50c4af54f1f6c034f80b56d32f000a855f0a903dc5a8413c"
144144
end
145145
end
146146

@@ -151,7 +151,7 @@ def test_fetch_s3_instance_profile_creds
151151

152152
url = "s3://my-bucket/gems/specs.4.8.gz"
153153
Time.stub :now, Time.at(1_561_353_581) do
154-
assert_fetch_s3 url, "20f974027db2f3cd6193565327a7c73457a138efb1a63ea248d185ce6827d41b", nil, "us-east-1",
154+
assert_fetch_s3 url, "b5cb80c1301f7b1c50c4af54f1f6c034f80b56d32f000a855f0a903dc5a8413c", nil, "us-east-1",
155155
'{"AccessKeyId": "testuser", "SecretAccessKey": "testpass"}'
156156
end
157157
ensure
@@ -165,7 +165,7 @@ def test_fetch_s3_instance_profile_creds_with_region
165165

166166
url = "s3://my-bucket/gems/specs.4.8.gz"
167167
Time.stub :now, Time.at(1_561_353_581) do
168-
assert_fetch_s3 url, "4afc3010757f1fd143e769f1d1dabd406476a4fc7c120e9884fd02acbb8f26c9", nil, "us-west-2",
168+
assert_fetch_s3 url, "ef07487bfd8e3ca594f8fc29775b70c0a0636f51318f95d4f12b2e6e1fd8c716", nil, "us-west-2",
169169
'{"AccessKeyId": "testuser", "SecretAccessKey": "testpass"}'
170170
end
171171
ensure
@@ -179,7 +179,7 @@ def test_fetch_s3_instance_profile_creds_with_token
179179

180180
url = "s3://my-bucket/gems/specs.4.8.gz"
181181
Time.stub :now, Time.at(1_561_353_581) do
182-
assert_fetch_s3 url, "935160a427ef97e7630f799232b8f208c4a4e49aad07d0540572a2ad5fe9f93c", "testtoken", "us-east-1",
182+
assert_fetch_s3 url, "e709338735f9077edf8f6b94b247171c266a9605975e08e4a519a123c3322625", "testtoken", "us-east-1",
183183
'{"AccessKeyId": "testuser", "SecretAccessKey": "testpass", "Token": "testtoken"}'
184184
end
185185
ensure

0 commit comments

Comments
 (0)