Commit graph

873 commits

Author SHA1 Message Date
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
e7a8d4bdaf [#605] Fix panic when payload discard
Signed-off-by: Roman Loginov <r.loginov@yadro.com>
2025-01-27 17:01:50 +03:00
619385836d [#585] Add ListBuckets handler test
Modify containers field in TestFrostFS in order to get determined order of containers between test runs

Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2025-01-21 07:49:19 +00:00
65fc776dea [#585] Add ListBuckets pagination
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2025-01-21 07:49:19 +00:00
8b3252cbd0 [#589] Add LimitExceeded error
The Access Denied status may be received
from APE due to exceeding the quota. In
this situation, you need to return the
appropriate error. The Conflict status is
used because this error was made based on
the LimitExceeded error from aws iam error
https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateUser.html#API_CreateUser_Errors.

Signed-off-by: Roman Loginov <r.loginov@yadro.com>
2025-01-17 06:31:08 +00:00
Aleksey Kravchenko
d150f8ddcb [#598] Fix response code for invalid Content-Md5 header
Signed-off-by: Aleksey Kravchenko <al.kravchenko@yadro.com>
2025-01-16 12:59:17 +00:00
bc975989de [#594] Fix unmarshal cors: expected element in name space error
Signed-off-by: Pavel Pogodaev <p.pogodaev@yadro.com>
2025-01-16 12:55:53 +00:00
0cab76d01e
[#595] Add debug log when bucket settings not found
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2025-01-10 12:32:52 +03:00
Aleksey Kravchenko
e060308318 [#531] Fix the error codes when checking the ACL format
Signed-off-by: Aleksey Kravchenko <al.kravchenko@yadro.com>
2024-12-25 21:17:20 +03:00
d46f1d3bfa [#569] Support context cancellation in tree node streaming
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2024-12-24 08:05:44 +00:00