a7ce40d745
[ #535 ] Support public access block operations
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2025-04-17 14:45:04 +00:00
e373f7c601
[ #691 ] Update Go and linters
...
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2025-04-16 16:21:58 +03:00
0ba6989197
[ #680 ] Move policy engine converter to s3-gw
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-04-14 12:11:54 +00:00
e788bb6ec9
[ #638 ] Return InvalidAccessKeyId when appropriate
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-04-10 16:38:06 +03:00
81b01279dc
[ #683 ] Fix fuzz tests
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2025-04-08 12:59:31 +03:00
23afaf3191
[ #673 ] Add bucket name logs
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-04-07 11:09:15 +03:00
091ec716d9
[ #673 ] Correct s3 error code
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-04-07 11:09:15 +03:00
7626b6a04a
[ #673 ] Log deleted objects in multiple removing
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-04-07 11:09:13 +03:00
7d6e20fdad
[ #604 ] Add MFADelete tests with reworked mfa.Storage implementation
...
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
Signed-off-by: Pavel Pogodaev <p.pogodaev@yadro.com>
2025-04-04 11:11:40 +03:00
7fbc69f4f5
[ #604 ] Add support of MFADelete argument and x-amz-mfa header
...
Signed-off-by: Pavel Pogodaev <p.pogodaev@yadro.com>
2025-04-03 15:36:07 +03:00
e45c1a2188
[ #672 ] Support wildcard in allowed origins and headers
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2025-04-03 12:52:39 +03:00
2ad2531d3a
[ #455 ] Use contract to get containers
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2025-04-02 11:44:31 +03:00
949fc0b484
[ #667 ] Use separate copies numbers for system containers
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-03-31 17:41:27 +03:00
42d6fc3fc6
[ #613 ] Number of bucket tags increased to 50
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-03-27 16:10:33 +03:00
c5d8e12a1c
[ #653 ] Fix lint
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-03-26 10:30:33 +03:00
396c89f7bc
[ #653 ] Support removal old combined objects
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-03-26 10:13:27 +03:00
4a430257a4
[ #653 ] Support removal old unversioned objects
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-03-25 12:49:43 +00:00
Aleksey Kravchenko
c0c99a1839
[ #665 ] Prevent ContinuationToken duplication in ListObjectsV2 result
...
Signed-off-by: Aleksey Kravchenko <al.kravchenko@yadro.com>
2025-03-24 09:57:49 +03:00
8625b6e119
[ #455 ] Allow preflight requests without auth
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2025-03-20 14:04:27 +03:00
c9c7379835
[ #534 ] Return error if bucket has no tag set
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2025-03-20 08:48:32 +00:00
01d95d8cf4
[ #641 ] Remove old CORS versions after putting new one
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2025-03-20 08:38:41 +00:00
c0c4bdb366
[ #650 ] Add Copies Numbers for PostObject operation
...
Signed-off-by: Pavel Pogodaev <p.pogodaev@yadro.com>
2025-03-14 15:57:05 +03:00
Aleksey Kravchenko
d85e5b10bb
[ #603 ] Fix GetBucketPolicyStatus case sensitivity
...
According to the AWS documentation
(https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html ),
the `IsPublic` tag value should be in uppercase. However, the `aws-cli`
utility interprets such responses as always `false`.
To avoid incorrect interpretation, we now return the tag value in lowercase.
Signed-off-by: Aleksey Kravchenko <al.kravchenko@yadro.com>
2025-03-14 09:44:38 +00:00
9edec7d573
[ #641 ] Rework CORS bucket behaviour
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2025-03-11 08:22:30 +00:00
1fac8e3ef2
[ #656 ] Don't ignore Expect header in sigv4
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-03-10 12:01:18 +03:00
07b60b15b3
[ #644 ] Support keepalive during listing
...
Send whitespaces every time as new object in list is ready
to prevent client from context cancelling.
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-02-27 09:37:04 +03:00
776fd042ef
[ #647 ] Dont send error after returning object payload
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-02-25 10:01:58 +00:00
ffe91b43a1
[ #648 ] fix: Prevent InternalError response in PostObject handler
...
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2025-02-25 09:46:54 +00:00
2c0a032966
[ #648 ] fix: Pass tags during PostObject request
...
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2025-02-25 09:46:54 +00:00
297199d885
[ #637 ] Add IO tags
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2025-02-25 12:16:32 +03:00
0fba02aadb
[ #596 ] Use zaptest.Logger
...
Use zaptest to get logs which get printed only if a test fails
or if you ran go test -v.
Dont use zaptest.Logger for fuzz otherwise ngfuzz/libfuzz crashes
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-02-21 15:53:27 +03:00
ac0140506c
[ #498 ] middleware: Add spans to detail the trace
...
Spans are added only to the following middleware:
* PolicyCheck
* Auth
* FrostfsIDValidation
This is done this way because these middleware are basic and
they interact with frostfs-storage.
Also, an explicit context has been added to many functions
so that the middleware spans do not include all subsequent spans.
Signed-off-by: Roman Loginov <r.loginov@yadro.com>
2025-02-21 11:25:08 +03:00
b5f0d0871c
[ #498 ] layer: Add spans to detail the trace
...
Signed-off-by: Roman Loginov <r.loginov@yadro.com>
2025-02-18 18:14:22 +03:00
4f0af5a0fd
[ #498 ] handler: Add spans to detail the trace
...
Signed-off-by: Roman Loginov <r.loginov@yadro.com>
2025-02-18 18:14:11 +03:00
bfec3e0a5e
[ #619 ] Fix content-length invalid check
...
Signed-off-by: Roman Loginov <r.loginov@yadro.com>
2025-02-18 14:15:23 +00:00
711d6b2c71
[ #642 ] Simplify tests
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-02-17 09:44:41 +03:00
e0a54fcbd3
[ #642 ] Fix streaming empty body
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-02-13 16:55:27 +03:00
853036e44e
[ #612 ] Make Content-Md5 header check optional
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2025-02-12 14:29:19 +03:00
ee46382a68
[ #606 ] Reorganize some log tags
...
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2025-02-11 16:47:42 +03:00
b7650e01ac
[ #606 ] Make log tags more explicit
...
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2025-02-11 16:47:30 +03:00
e7f620f137
[ #606 ] Support log tagging
...
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2025-02-11 15:12:20 +03:00
893b506c83
[ #626 ] Fix ALREADY REMOVED response status code
...
Signed-off-by: Pavel Pogodaev <p.pogodaev@yadro.com>
2025-02-10 16:10:45 +03:00
beec37797d
[ #626 ] Fix ALREADY REMOVED response status code
...
Signed-off-by: Pavel Pogodaev <p.pogodaev@yadro.com>
2025-02-07 17:37:40 +03:00
da9703ab63
[ #623 ] Fix using copy numbers during multipart
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-02-06 14:41:27 +03:00
a53e50b324
[ #607 ] Support sigV4a streaming with trailers
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-02-03 18:25:15 +03:00
5e9c562683
[ #607 ] Fix aws example test for trailing with sigv4
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-02-03 18:25:15 +03:00
49bf3c1bce
[ #607 ] Support sigV4 streaming with trailers
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-02-03 18:25:15 +03:00
a4d9658fbb
[ #607 ] Support unsigned payload streaming with trailers
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-02-03 18:25:15 +03:00
bec63026bd
[ #607 ] Support unsigned payload streaming
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-02-03 18:25:15 +03:00
3d3dd00211
[ #615 ] Use UNSIGNED_PAYLOAD
to check sign
...
Use `UNSIGNED_PAYLOAD` to check signature if x-amz-content-sha256 isn't provided as signed header
https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html
" You include the literal string UNSIGNED-PAYLOAD when constructing a canonical request, and set the same value as the x-amz-content-sha256 header value when sending the request to Amazon S3"
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2025-01-30 13:16:40 +00:00