Commit graph

1040 commits

Author SHA1 Message Date
asonix 4990460808 Store original-cased query keys alongside query values 2024-03-03 16:26:57 -06:00
asonix 6a57827da9 Lowercase query parameter keys when parsing 2024-03-03 14:35:01 -06:00
Alex 6a7623e90d
[rel-0.9.2] Bump version to v0.9.2 2024-03-01 16:54:39 +01:00
Alex a36248a169
[fix-signed-headers] aws signatures v4: don't actually check Content-Type is signed
This page of the AWS docs indicate that Content-Type should be part of
the CanonicalHeaders (and therefore SignedHeaders) strings in signature
calculation:

https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html

However, testing with Minio Client revealed that it did not sign the
Content-Type header, and therefore we broke CI by expecting it to be
signed. With this commit, we don't mandate Content-Type to be signed
anymore, for better compatibility with the ecosystem. Testing against
the official behavior of S3 on AWS has not been done.
2024-03-01 13:12:18 +01:00
Alex 6d33e721c4
[fix-auth-ct-eq] use consant time comparison for awsv4 signature verification 2024-02-29 13:07:18 +01:00
Alex eaac4924ef
[fix-auth-ct-eq] use argon2 hashing and verification for admin/metrics token checking 2024-02-29 13:07:15 +01:00
Alex 90cab5b8f2
[fix-presigned] add comments and reorganize 2024-02-28 12:24:21 +01:00
Alex e9f759d4cb
[fix-presigned] presigned requests: allow x-amz-* query parameters to stand in for equivalent headers 2024-02-28 12:24:21 +01:00
Alex a5e4bfeae9
[fix-presigned] write comments 2024-02-28 12:24:21 +01:00
Alex 4c1d42cc5f
[fix-presigned] add back anonymous request code path + refactoring 2024-02-28 12:24:21 +01:00
Alex 2efa9c5a1a
[fix-presigned] PostObject: verify X-Amz-Algorithm 2024-02-28 12:24:20 +01:00
Alex a8cb8e8a8b
[fix-presigned] split presigned/normal signature verification 2024-02-28 12:24:13 +01:00
Alex b76c0c102e
[refactor-put] add ordering tag to blocks being sent to storage nodes 2024-02-26 18:35:11 +01:00
Alex babccd2ad3
[refactor-put] send several blocks in parallel to storage nodes 2024-02-26 18:22:37 +01:00
Alex 3fe94cc14f
[refactor-put] rewrite read_and_put_block as a series of steps with channels 2024-02-26 17:55:37 +01:00
Alex d640102b76
[split_getobject] GetObject: split out handle_get_full 2024-02-23 18:14:50 +01:00
Alex 6ee691e65f
[refactor-block] simplify some more 2024-02-23 12:50:10 +01:00
Alex e9c42bca34
[refactor-block] add DataBlockStream type 2024-02-23 12:22:29 +01:00
Alex cd1069c1d4
[refactor-block] refactor DataBlock and DataBlockPath 2024-02-23 12:15:52 +01:00
Alex 07c7895948
[refactor-block] simplify rpc_get_block 2024-02-23 11:54:40 +01:00
Alex 9b41f4ff20
[refactor-block] move read_stream_to_end to garage_net 2024-02-23 11:46:57 +01:00
Alex 93552b9275
[refactor-block] Remove redundant BlockStream type 2024-02-23 11:33:38 +01:00
Alex cff702a951
[lock-createbucket] Add node-global lock for bucket/key operations (fix #723) 2024-02-22 12:28:21 +01:00
Alex 885405d944 Merge pull request 'system metrics improvements' (#726) from peer-metrics into main
Reviewed-on: Deuxfleurs/garage#726
2024-02-20 15:35:12 +00:00
Alex b868493da9
[peer-metrics] add basic cluster node status metrics (fix #545) 2024-02-20 14:50:24 +01:00
Alex 182a23cc12
[peer-metrics] refactor SystemMetrics to hold a reference to System 2024-02-20 14:20:58 +01:00
Alex 3cdf69f079
[peer-metrics] Add metrics for cluster health, like GetClusterHealth admin API 2024-02-20 13:50:45 +01:00
Alex 00d479358d
[peer-metrics] refactor/simplify SystemMetrics 2024-02-20 13:50:45 +01:00
Alex 203bb10035 Merge pull request 'Filter nodes Garage tries to connect to' (#719) from reconnect-only-current into main
Reviewed-on: Deuxfleurs/garage#719
2024-02-20 10:37:11 +00:00
Alex e91576677e
[reconnect-only-current] filter nodes to reconnect to
do not try reconnecting to nodes received from consul/kubernetes
discovery if they are not currently in the layout
2024-02-20 11:07:10 +01:00
Alex 95e3a39b4d
[networking-fixes] small refactoring in garage_net peering 2024-02-19 18:12:21 +01:00
Alex 66fe893023
[networking-fixes] garage_net: retry connecting when new IP is learned 2024-02-19 18:12:21 +01:00
Alex b96f84b894
[networking-fixes] add option to bind outgoing RPC sockets (fix #638)
Thanks to yuka for the original patch.
2024-02-19 11:45:44 +01:00
Alex f0bbad2db9
[networking-fixes] use rpc_public_addr in netapp's HelloMessage 2024-02-19 11:45:44 +01:00
Alex 125c662860
[import-netapp] move and rename FullMeshPeeringSrategy to PeeringManager 2024-02-15 12:15:35 +01:00
Alex 5766befb24
[import-netapp] fix tests 2024-02-15 12:15:33 +01:00
Alex 5ea24254a9
[import-netapp] import Netapp code into Garage codebase 2024-02-15 12:15:07 +01:00
Alex 1b0f167d2f
[fix-cargo-toml] fix cargo warnings in Cargo.toml files 2024-02-15 10:54:58 +01:00
Alex bf283c9924
[fix-secrets-695] config: replace String by PathBuf for *_file 2024-02-12 15:36:43 +01:00
Alex 25e5738568
[fix-secrets-695] take into account rpc secret from file for cli commands (fix #695) 2024-02-12 10:42:17 +01:00
Alex 198188017c Merge pull request 'Implement header overriding in GetObject (fix #650)' (#713) from header-override-650 into main
Reviewed-on: Deuxfleurs/garage#713
2024-02-09 15:40:18 +00:00
Alex 02e98e2d10
[header-override-650] implement header overriding in GetObject (fix #650) 2024-02-09 15:58:46 +01:00
Alex fe175fa8e2 Merge pull request 'garage block info: find blocks by prefix (fix #682)' (#712) from block-info-short-682 into main
Reviewed-on: Deuxfleurs/garage#712
2024-02-09 14:07:29 +00:00
Alex 8da67b3aa2
[block-info-short-682] garage block info: find blocks by prefix (fix #682) 2024-02-09 14:35:53 +01:00
Alex 10bc2ead60
[multi-char-delimiter-692] allow multi-character delimiters in List* (fix #692) 2024-02-09 14:15:29 +01:00
Alex 5c63193d1d
[dep-upgrade-202402] fix shutdown issue introduced when upgrading hyper 2024-02-08 23:43:59 +01:00
Alex bcbd15da84
[dep-upgrade-202402] cargo clippy fixes 2024-02-08 23:29:57 +01:00
Alex ad5ce968d2
[dep-upgrade-202402] remove useless mut 2024-02-08 23:29:57 +01:00
Alex e011941964
[dep-upgrade-202402] refactor use of BodyStream 2024-02-07 15:32:51 +01:00
Alex 53746b59e5
[dep-upgrade-202402] slightly more explicit error management 2024-02-07 14:53:13 +01:00