Gwen Lg
f59a8b7f62
style: corrects the use of ';' to improve readability
...
- remove unnecessary semicolon
and enable lint warning: unnecessary semicolon
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.93.0/index.html#unnecessary_semicolon
- add `;` to the last statement for consitent formatting
and enable lint `clippy::semicolon_if_nothing_returned`
warning: consider adding a `;` to the last statement for consistent formatting
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.93.0/index.html#semicolon_if_nothing_returned
2026-02-17 18:38:44 +00:00
Gwen Lg
08fd6e659f
docs: add missing backticks in documentation
...
this improve readability of documentation.
enable associated clippy lint `doc_markdown`
2026-02-17 18:38:44 +00:00
Gwen Lg
6cde00073f
chore: enable workspace configuration of lints in Cargo.toml
...
and use workspace configuration in each package.
This allow to customize clippy and rust lint configuration for project.
No particular configuration in this commit.
2026-02-17 18:38:44 +00:00
Gwen Lg
c82015f6cf
chore: update nom dependency to 0.8
...
update syntax with :
- add explicit call of `parse` method
- add ref slice management for `tag` fn
2026-02-14 19:25:49 +00:00
Gwen Lg
a426b00e87
style: collapse nested if block
...
lint message: this `if` statement can be collapsed
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#collapsible_if
2026-01-29 20:49:28 +01:00
Gwen Lg
8772db8228
refactor: rename method to avoid confusion
...
- rename SqliteDb::new to `_::open` as it's not return Self
lint message: methods called `new` usually return `Self`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#new_ret_no_self
- rename method `add` to `add_calgorithm`
The semantics of this has nothing to do with an `add` operation in the sense of the `Add` trait.
And method `add` can be confused for the standard trait method std::ops::Add::add
lint https://rust-lang.github.io/rust-clippy/rust-1.93.0/index.html#should_implement_trait
2026-01-29 20:49:28 +01:00
Gwen Lg
6dbcdcd784
style: improve use of std api
...
- replace get(0) by first()
lint message: accessing first element with `objs.get(0)`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#get_first
- use io::Error::other method available since Rust 1.87
lint message: this can be `std::io::Error::other(_)`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#io_other_error
- implement From<_> instead of Into<_>
lint message: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true
help: `impl From<Local> for Foreign` is allowed by the orphan rules, for more information see
https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#from_over_into
- use next_back instead of rev + next
lint message: manual backwards iteration
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#manual_next_back
- use saturating_sub instead of manual implement it
lint message: manual arithmetic check found
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#implicit_saturating_sub
- add Default implementation for Checksummer
use derived Default ans use it in new, as new set all value to None
lint message: you should consider adding a `Default` implementation for `Checksummer`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#new_without_default
- use `any` instead of `find` + `is_some`
lint message: called `is_some()` after searching an `Iterator` with `find`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#search_is_some
- replace `and_then` + `Some(_)` with `map`
lint message: using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#bind_instead_of_map
- replace `skip_while` + `next` with `find`
lint message: called `skip_while(<p>).next()` on an `Iterator`
help: this is more succinctly expressed by calling `.find(!<p>)` instead
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#skip_while_next
- use `matches!` instead of manual implementation
lint message: match expression looks like `matches!` macro
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#match_like_matches_macro
- use `keys` and `values methods insteads of iterating and ignoring either the keys or values.
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#iter_kv_map
2026-01-29 20:49:28 +01:00
Gwen Lg
21db7a4d4b
chore: remove various useless code
...
- call expect directly on Result
lint message: called `ok().expect()` on a `Result` value
help: you can call `expect()` directly on the `Result`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#ok_expect
- use assign operation instead of manual implementation
lint message: manual implementation of an assign operation
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#assign_op_pattern
- remove useless call to format
lint message: useless use of `format!`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#useless_format
- remove useless `?Sized`
lint message: `?Sized` bound is ignored because of a `Sized` requirement
note: ...because `Deserialize` has the bound `Sized`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#needless_maybe_sized
- use is_some instead of pattern maching with Some(_)
lint message: redundant pattern matching, consider using `is_some()`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#redundant_pattern_matching
- remove unneeded unit return type
lint message: unneeded unit return type
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#unused_unit
- remove redundant closure
lint message: redundant closure
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#redundant_closure
- use derive Default instead of manual implementation
lint message: this `impl` can be derived
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#derivable_impls
- remove unneeded `return` statement
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#needless_return
- remove empty string from println call
lint message: empty string literal in `println!`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#println_empty_string
- remove clone() on type than implement Copy
lint message: using `clone` on type `Option<ChecksumValue>` which implements the `Copy` trait
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#clone_on_copy
- remove useless let binding
lint message: this let-binding has unit value
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#let_unit_value
- remove useless len comparison to zero, already test of empty
lint message: length comparison to zero
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#len_zero
- remove useless `as_deref` call
lint message: derefed type is same as origin
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#needless_option_as_deref
- remove useless conversion of the same type
lint message: useless conversion to the same type: `replication_mode::ReplicationFactor`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#useless_conversion
- remove useless bool_comparison
lint message: equality checks against false can be replaced by a negation
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#bool_comparison
- remove useless to_string
lint message: unnecessary use of `to_string`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#unnecessary_to_owned
Signed-off-by: Gwen Lg <me@gwenlg.fr >
2026-01-29 20:49:28 +01:00
Gwen Lg
141b3f24f1
chore: clean relative to references and borrows
...
- lint message: the borrowed expression implements the required traits
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#needless_borrows_for_generic_args
- lint message: this expression creates a reference which is immediately dereferenced by the compiler
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#needless_borrow
- lint message: you don't need to add `&` to all patterns
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#match_ref_pat
- remove useless taken reference
lint message: needlessly taken reference of left operand
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#op_ref
- use &Path instead of &PathBuf as fn parameters
lint message: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#ptr_arg
2026-01-29 20:49:28 +01:00
Gwen Lg
e331f88c85
chore: fix typos in rust code comment or error message
2026-01-29 14:53:27 +01:00
Alex Auvolat
582b168b6a
bump version to v2.2.0
2026-01-24 12:32:22 +01:00
Alex Auvolat
cd641a9ed2
Merge branch 'main-v1' into merge-v1
2026-01-24 09:56:02 +01:00
Alex
58bc65b9a8
Merge pull request 'migrate to this error, garage-v1' ( #1218 ) from thiserror into main-v1
...
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1218
Reviewed-by: Alex <lx@deuxfleurs.fr >
2025-11-12 08:05:32 +00:00
trinity-1686a
ef913843f7
fmt
2025-11-01 19:35:11 +01:00
trinity-1686a
ac851d6dee
fmt
2025-11-01 18:04:54 +01:00
trinity-1686a
1fe932d07f
migrate to this error
...
it doesn't generate a bazillion warning at compile time
2025-11-01 17:25:23 +01:00
trinity-1686a
82297371bf
migrate to this error
...
it doesn't generate a bazillion warning at compile time
2025-11-01 17:20:39 +01:00
Alex Auvolat
1c29d04cc5
sigv4: don't enforce x-amz-content-sha256 to be in signed headers list ( fix #770 )
...
From the following page:
https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html
> In both cases, because the x-amz-content-sha256 header value is already
> part of your HashedPayload, you are not required to include the
> x-amz-content-sha256 header as a canonical header.
2025-10-14 11:18:25 +02:00
Alex Auvolat
006fb18aea
fix compilation warning
2025-09-15 15:52:53 +02:00
Alex Auvolat
b43f309ec7
bump version to v2.1.0
2025-09-15 15:50:02 +02:00
Alex Auvolat
4b1fdbef55
bump version to v1.3.0
2025-09-14 21:36:33 +02:00
Alex Auvolat
0f1b488be0
fix rust warnings
2025-09-14 21:25:37 +02:00
Alex Auvolat
909359ca4c
Merge branch 'main-v1' into sync-v2-to-v1
2025-09-14 17:02:34 +02:00
Alex
d64498c3d3
Merge pull request 'log access keys' ( #1122 ) from 1686a/log-access-key into main-v1
...
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1122
2025-08-27 16:18:16 +00:00
trinity-1686a
6f9d6919a9
log access keys
2025-08-03 15:31:51 +02:00
trinity-1686a
b340599e68
log access keys
2025-08-03 15:30:56 +02:00
trinity-1686a
5469c95877
handle ECONNABORTED
2025-08-02 13:14:01 +02:00
Xavier Stouder
7bbb3ff9cf
api: add instrospect endpoint
...
Fixes #1091
2025-07-01 23:14:09 +02:00
Alex Auvolat
fbf03e9378
bump version to v1.2.0
2025-06-13 14:21:28 +02:00
Alex Auvolat
7ab1d176d4
Merge branch 'main' into next-v2
2025-05-23 16:33:07 +02:00
Alex Auvolat
c13af97b81
return ChecksumType in CompleteMultipartUpload result
2025-05-22 18:24:29 +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
trinity-1686a
a605a80806
support punnycode in api/web endpoint
2025-05-19 18:11:55 +02:00
Alex Auvolat
d38d62f4d7
bump version to v2.0.0
2025-04-17 12:36:41 +02:00
Alex Auvolat
c56b7e20c3
add creation date and expiration date to access keys
2025-04-17 11:28:44 +02:00
Alex Auvolat
1e13a66b42
rework bucket helper functions to use local access where relevant
2025-03-25 13:00:48 +01:00
Alex Auvolat
a826c361a9
add crc64nvme checksumming algorithm ( fix #963 )
2025-03-19 15:51:06 +01:00
Alex Auvolat
29ce490dd6
Merge branch 'main' into next-v2
2025-03-05 14:50:22 +01:00
Alex Auvolat
12f15c4c2b
fix readme paths in cargo.toml for new crates
2025-03-05 11:00:19 +01:00
Alex Auvolat
4689b10448
bump version to v1.1.0
2025-03-05 10:19:51 +01:00
Alex Auvolat
f6e805e7db
api: various fixes
2025-02-18 21:47:53 +01:00
Alex Auvolat
730bfee753
api: validate trailing checksum + add test for unsigned-paylad-trailer
2025-02-18 15:33:42 +01:00
Alex Auvolat
ccab0e4ae5
api: fix optional \n after trailer checksum header
2025-02-18 15:33:42 +01:00
Alex Auvolat
abb60dcf7e
api: remove content-encoding: aws-chunked for streaming payload
2025-02-18 15:33:42 +01:00
Alex Auvolat
f8b0817ddc
api: streaming signature: fix trailer parsing
2025-02-18 12:00:41 +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
a04d6cd5b8
api: streaming: parse unsigned streaming bodies and payload trailers
2025-02-17 16:23:24 +01:00