Charles Hall
|
b7a853b01f
|
ignore checksums with empty/whitespace-only bodies
aws-sdk-cpp was observed to send request bodies like this via Lix:
```xml
<?xml version="1.0"?>
<CompleteMultipartUpload xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Part>
<ETag>"8a5031bda169553d6a232e6c11068774"</ETag>
<ChecksumCRC32></ChecksumCRC32>
<PartNumber>1</PartNumber>
</Part>
<Part>
<ETag>"da977cc58b75bd17749c1ff460ba301a"</ETag>
<ChecksumCRC32></ChecksumCRC32>
<PartNumber>2</PartNumber>
</Part>
</CompleteMultipartUpload>
```
|
2025-07-31 11:15:33 -07:00 |
|
Charles Hall
|
66faef9fb6
|
factor out repetitive else-if chain into macro
|
2025-07-30 18:44:51 -07:00 |
|
Charles Hall
|
13f67b6cd8
|
log incorrect multipart completion body
|
2025-07-30 17:08:43 -07:00 |
|
Niklas Mollenhauer
|
708a84f1d6
|
fix: return 204 on successful AbortMultipartUpload
Docs state that 204 should be returned on success:
https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
```http
HTTP/1.1 204
x-amz-request-charged: RequestCharged
```
|
2025-07-11 16:19:51 +02:00 |
|
Alex Auvolat
|
c13af97b81
|
return ChecksumType in CompleteMultipartUpload result
|
2025-05-22 18:24:29 +02:00 |
|
Alex Auvolat
|
d1d5c67ba7
|
fix test-smoke for CompleteMultipartUpload
|
2025-05-22 18:14:53 +02:00 |
|
Alex Auvolat
|
fbb40c4ea0
|
object_table: merge checksum_algorithm and checksum_type for Uploading state
|
2025-05-22 17:07:10 +02:00 |
|
Alex Auvolat
|
e475c7f802
|
api: switch to crc_fast for checksumming and implement full-object mpu checksums
|
2025-05-22 17:03:54 +02:00 |
|
Alex Auvolat
|
589a992af8
|
api: parse x-amz-checksum-type and validate combination with algo
|
2025-05-22 17:03:54 +02:00 |
|
Alex Auvolat
|
abe0546ab0
|
model: store x-amz-checksum-type (full_object | composite)
|
2025-05-22 17:03:54 +02:00 |
|
Alex Auvolat
|
a826c361a9
|
add crc64nvme checksumming algorithm (fix #963)
|
2025-03-19 15:51:06 +01:00 |
|
Alex Auvolat
|
cfd259190f
|
sse-c: use different object encryption key for each object
|
2025-03-18 16:23:37 +01:00 |
|
Alex Auvolat
|
bf27a3ec98
|
web: implement x-amz-website-redirect-location
|
2025-02-19 17:04:10 +01:00 |
|
Alex Auvolat
|
f6e805e7db
|
api: various fixes
|
2025-02-18 21:47:53 +01:00 |
|
Alex Auvolat
|
21c0dda16a
|
api: refactor: move checksumming code around again
|
2025-02-17 20:11:06 +01:00 |
|
Alex Auvolat
|
658541d812
|
api: use checksumming in api_common::signature for put/putpart
|
2025-02-17 19:54:25 +01:00 |
|
Alex Auvolat
|
c5df820e2c
|
api: start refactor of signature to calculate checksums earlier
|
2025-02-17 18:47:06 +01:00 |
|
Alex Auvolat
|
cee7560fc1
|
api: refactor: move checksum algorithms to common
|
2025-02-16 17:25:55 +01:00 |
|
Alex Auvolat
|
165f9316e2
|
s3api: return Location in CompleteMultipartUpload (fix #852)
NB. The location returned is not guaranteed to work in all cases.
This already fixes the parse issue in #852.
|
2025-02-14 18:05:07 +01:00 |
|
Alex Auvolat
|
84f1db91c4
|
fix things up
|
2025-01-31 18:34:57 +01:00 |
|
Alex Auvolat
|
9fa20d45be
|
wip: split garage_api into garage_api_{common,s3,k2v,admin}
|
2025-01-31 18:18:29 +01:00 |
|
Alex Auvolat
|
74949c69cb
|
[s3-checksum] implement x-amz-checksum-* headers
|
2024-03-26 15:01:34 +01:00 |
|
Alex Auvolat
|
57acc60082
|
[sse-c] Implement SSE-C encryption
|
2024-03-07 15:43:47 +01:00 |
|
Yureka
|
fb55682c66
|
add request context helper
|
2024-03-04 13:26:39 +01:00 |
|
Alex Auvolat
|
3fe94cc14f
|
[refactor-put] rewrite read_and_put_block as a series of steps with channels
|
2024-02-26 17:55:37 +01:00 |
|
Alex Auvolat
|
e011941964
|
[dep-upgrade-202402] refactor use of BodyStream
|
2024-02-07 15:32:51 +01:00 |
|
Alex Auvolat
|
0bb5b77530
|
[dep-upgrade-202402] wip: port to http/hyper crates v1
|
2024-02-05 18:49:54 +01:00 |
|
Alex Auvolat
|
6e69a1fffc
|
[dep-upgrade-202402] prepare migration to http/hyper 1.0
|
2024-02-05 14:44:12 +01:00 |
|
Alex Auvolat
|
c82d91c6bc
|
DeleteObject: always insert a deletion marker with a bigger timestamp than everything before
|
2023-10-20 13:56:35 +02:00 |
|
Alex Auvolat
|
8686cfd0b1
|
s3 api: also ensure increasing timestamps for create_multipart_upload
|
2023-10-20 13:37:37 +02:00 |
|
Alex Auvolat
|
c6cde1f143
|
remove now-unused key parameter in check_quotas
|
2023-10-20 13:20:47 +02:00 |
|
Alex Auvolat
|
d146cdd5b6
|
cargo fmt
|
2023-10-18 16:38:26 +02:00 |
|
Alex Auvolat
|
3d6ed63824
|
check_quotas: avoid re-fetching object from object table
|
2023-10-18 16:36:48 +02:00 |
|
Alex Auvolat
|
942c1f1bfe
|
multipart uploads: save timestamp
|
2023-06-13 10:48:22 +02:00 |
|
Alex Auvolat
|
a6cc563bdd
|
UploadPart: automatic cleanup of version (and reference blocked) when interrupted
|
2023-06-09 16:23:37 +02:00 |
|
Alex Auvolat
|
c14d3735e5
|
Add test for multipart uploads and fix part renumbering
|
2023-06-09 16:23:37 +02:00 |
|
Alex Auvolat
|
412ab77b08
|
comments and clippy lint fixes
|
2023-06-09 16:23:37 +02:00 |
|
Alex Auvolat
|
82e75c0e29
|
Adapt S3 API code to use new multipart upload models
- Create and PutPart
- completemultipartupload
- upload part copy
- list_parts
|
2023-06-09 16:23:37 +02:00 |
|