S3: fix TestSignedStreamingUploadInvalidSignature test (#7421)
* Added continue statements after all state transitions in the state machine to ensure immediate state processing * simplify * remove redundant continue clause * ensure wrong signature
This commit is contained in:
@@ -369,7 +369,6 @@ func (cr *s3ChunkedReader) Read(buf []byte) (n int, err error) {
|
|||||||
// If we're at the end of a chunk.
|
// If we're at the end of a chunk.
|
||||||
if cr.n == 0 {
|
if cr.n == 0 {
|
||||||
cr.state = readChunkTrailer
|
cr.state = readChunkTrailer
|
||||||
continue
|
|
||||||
}
|
}
|
||||||
case verifyChunk:
|
case verifyChunk:
|
||||||
// Check if we have credentials for signature verification
|
// Check if we have credentials for signature verification
|
||||||
|
|||||||
@@ -285,7 +285,16 @@ func TestSignedStreamingUploadInvalidSignature(t *testing.T) {
|
|||||||
|
|
||||||
// Build the chunked payload with INTENTIONALLY WRONG chunk signature
|
// Build the chunked payload with INTENTIONALLY WRONG chunk signature
|
||||||
// We'll use a modified signature to simulate a tampered request
|
// We'll use a modified signature to simulate a tampered request
|
||||||
wrongChunkSignature := strings.Replace(chunk1Signature, "a", "b", 1)
|
wrongChunkSignatureBytes := []byte(chunk1Signature)
|
||||||
|
if len(wrongChunkSignatureBytes) > 0 {
|
||||||
|
// Flip the first hex character to guarantee a different signature
|
||||||
|
if wrongChunkSignatureBytes[0] == '0' {
|
||||||
|
wrongChunkSignatureBytes[0] = '1'
|
||||||
|
} else {
|
||||||
|
wrongChunkSignatureBytes[0] = '0'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
wrongChunkSignature := string(wrongChunkSignatureBytes)
|
||||||
payload := fmt.Sprintf("400;chunk-signature=%s\r\n%s\r\n", wrongChunkSignature, chunk1Data) +
|
payload := fmt.Sprintf("400;chunk-signature=%s\r\n%s\r\n", wrongChunkSignature, chunk1Data) +
|
||||||
fmt.Sprintf("0;chunk-signature=%s\r\n\r\n", finalSignature)
|
fmt.Sprintf("0;chunk-signature=%s\r\n\r\n", finalSignature)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user