Sort subresources

This ensures deterministic signatures when requests have multiple
subresources, e.g., multipart uploads.
pull/27/head
Andrew Gaul 2014-12-21 23:11:59 -08:00
rodzic 08a7249bcf
commit 711c0821d1
1 zmienionych plików z 5 dodań i 2 usunięć

Wyświetl plik

@ -26,6 +26,7 @@ import java.security.NoSuchAlgorithmException;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
@ -1020,8 +1021,10 @@ final class S3ProxyHandler extends AbstractHandler {
builder.append(uri);
char separator = '?';
for (String subresource : Collections.list(
request.getParameterNames())) {
List<String> subresources = Collections.list(
request.getParameterNames());
Collections.sort(subresources);
for (String subresource : subresources) {
if (SIGNED_SUBRESOURCES.contains(subresource)) {
builder.append(separator).append(subresource);