mirror of
https://github.com/minio/minio.git
synced 2026-02-04 18:00:15 -05:00
fix: normalize object layer inputs (#11534)
Cases where we have applications making request for `//` in object names make sure that all are normalized to `/` and all such requests that are prefixed '/' are removed. To ensure a consistent view from all operations.
This commit is contained in:
@@ -36,8 +36,19 @@ func getListObjectsV1Args(values url.Values) (prefix, marker, delimiter string,
|
||||
maxkeys = maxObjectList
|
||||
}
|
||||
|
||||
prefix = values.Get("prefix")
|
||||
marker = values.Get("marker")
|
||||
var err error
|
||||
prefix, err = unescapePath(values.Get("prefix"))
|
||||
if err != nil {
|
||||
errCode = ErrInvalidRequest
|
||||
return
|
||||
}
|
||||
|
||||
marker, err = unescapePath(values.Get("marker"))
|
||||
if err != nil {
|
||||
errCode = ErrInvalidRequest
|
||||
return
|
||||
}
|
||||
|
||||
delimiter = values.Get("delimiter")
|
||||
encodingType = values.Get("encoding-type")
|
||||
return
|
||||
@@ -56,8 +67,19 @@ func getListBucketObjectVersionsArgs(values url.Values) (prefix, marker, delimit
|
||||
maxkeys = maxObjectList
|
||||
}
|
||||
|
||||
prefix = values.Get("prefix")
|
||||
marker = values.Get("key-marker")
|
||||
var err error
|
||||
prefix, err = unescapePath(values.Get("prefix"))
|
||||
if err != nil {
|
||||
errCode = ErrInvalidRequest
|
||||
return
|
||||
}
|
||||
|
||||
marker, err = unescapePath(values.Get("key-marker"))
|
||||
if err != nil {
|
||||
errCode = ErrInvalidRequest
|
||||
return
|
||||
}
|
||||
|
||||
delimiter = values.Get("delimiter")
|
||||
encodingType = values.Get("encoding-type")
|
||||
versionIDMarker = values.Get("version-id-marker")
|
||||
@@ -86,8 +108,19 @@ func getListObjectsV2Args(values url.Values) (prefix, token, startAfter, delimit
|
||||
maxkeys = maxObjectList
|
||||
}
|
||||
|
||||
prefix = values.Get("prefix")
|
||||
startAfter = values.Get("start-after")
|
||||
var err error
|
||||
prefix, err = unescapePath(values.Get("prefix"))
|
||||
if err != nil {
|
||||
errCode = ErrInvalidRequest
|
||||
return
|
||||
}
|
||||
|
||||
startAfter, err = unescapePath(values.Get("start-after"))
|
||||
if err != nil {
|
||||
errCode = ErrInvalidRequest
|
||||
return
|
||||
}
|
||||
|
||||
delimiter = values.Get("delimiter")
|
||||
fetchOwner = values.Get("fetch-owner") == "true"
|
||||
encodingType = values.Get("encoding-type")
|
||||
@@ -117,8 +150,19 @@ func getBucketMultipartResources(values url.Values) (prefix, keyMarker, uploadID
|
||||
maxUploads = maxUploadsList
|
||||
}
|
||||
|
||||
prefix = values.Get("prefix")
|
||||
keyMarker = values.Get("key-marker")
|
||||
var err error
|
||||
prefix, err = unescapePath(values.Get("prefix"))
|
||||
if err != nil {
|
||||
errCode = ErrInvalidRequest
|
||||
return
|
||||
}
|
||||
|
||||
keyMarker, err = unescapePath(values.Get("key-marker"))
|
||||
if err != nil {
|
||||
errCode = ErrInvalidRequest
|
||||
return
|
||||
}
|
||||
|
||||
uploadIDMarker = values.Get("upload-id-marker")
|
||||
delimiter = values.Get("delimiter")
|
||||
encodingType = values.Get("encoding-type")
|
||||
|
||||
Reference in New Issue
Block a user