-
Notifications
You must be signed in to change notification settings - Fork 14
Switch to new vsss-rs 5.x stable version #502
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The Based on some initial debugging, this is actually not a new problem introduced by the dependency changes, but an existing problem introduced in 9082021 which affects the current main ae94332 unrelated to this PR.
I think this bug is normally hidden by the fact that the @r-n-o Can you take a look at this and confirm the above? I'm not sure why the test didn't fail back when we introduced #449 , but perhaps the stagex container behavior/action was different back then. |
@cr-tk I checked out your branch and ran I have no idea why this didn't surface earlier. Your assessment is correct, when default features are disabled, iff --git a/src/qos_net/src/main.rs b/src/qos_net/src/main.rs
index 76ebae57..c4398422 100644
--- a/src/qos_net/src/main.rs
+++ b/src/qos_net/src/main.rs
@@ -1,5 +1,14 @@
+#[cfg(feature = "proxy")]
use qos_net::cli::CLI;
+#[cfg(feature = "proxy")]
pub fn main() {
CLI::execute();
}
+
+
+#[cfg(not(feature = "proxy"))]
+pub fn main() {
+ panic!("Cannot run qos_net CLI without proxy feature enabled")
+} |
@r-n-o thanks for looking into this! Should we bring in this patch via a separate PR to fast-track, or include it here? I have a slight preference for a separate simple PR, and can create it based on your patch 🙂 |
Separate PR sounds good! Here it is: #504 |
@cr-tk the fix has been merged, you should be able to rebase your PR and get a clean build now! |
a6ddbe1
to
98bfca3
Compare
@r-n-o thanks, I pushed the rebased version. Looks good locally - I think this is ready for review if the CI tests succeed. |
98bfca3
to
a486f05
Compare
We identified the second CI problem. Let's see if this change resolves it. |
The CI issues are now resolved. @r-n-o this PR is ready for review by a second person. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Had a look at both lock files and looked at them myself. I relied on the internal analysis if a crate was already listed there. Basically my review is a check which ensures all crates listed in lock files are accounted for.
My guess is that the analysis was run against the workspace's Cargo.lock
file (src/Cargo.lock
) and didn't account for changes in src/init/Cargo.lock
? Luckily there's a lot of overlap so most new crates were already covered, and what I looked at manually was all safe-looking and without surprises.
[[package]] | ||
name = "stable_deref_trait" | ||
version = "1.2.0" | ||
source = "registry+https://github.com/rust-lang/crates.io-index" | ||
checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't see it reviewed in the internal analysis. Reviewed it (it's short: https://github.com/Storyyeller/stable_deref_trait/tree/master) and it looks safe to include indeed.
dependencies = [ | ||
"lock_api", | ||
] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's interesting that there is a new dependency for "spin" but we didn't update this package at all.
[[package]] | ||
name = "scopeguard" | ||
version = "1.2.0" | ||
source = "registry+https://github.com/rust-lang/crates.io-index" | ||
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see this in the analysis either, but looks safe / minimal: https://github.com/bluss/scopeguard/blob/master/src/lib.rs
[[package]] | ||
name = "num-iter" | ||
version = "0.1.45" | ||
source = "registry+https://github.com/rust-lang/crates.io-index" | ||
checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" | ||
dependencies = [ | ||
"autocfg", | ||
"num-integer", | ||
"num-traits", | ||
] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for the sake of completeness: don't see this in the analysis either, but it's in the same family as num-rational
or num-complex
, both of which are in.
[[package]] | ||
name = "num-conv" | ||
version = "0.1.0" | ||
source = "registry+https://github.com/rust-lang/crates.io-index" | ||
checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" | ||
|
||
[[package]] | ||
name = "num-integer" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Likewise for num-integer
. Not explicitly in the analysis but looks good to me: https://github.com/rust-num/num-integer (all of these num-*
libs are under rust-num)
] | ||
|
||
[[package]] | ||
name = "num-bigint" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
likewise here. Looks good, just another RustNum project lib.
[[package]] | ||
name = "lock_api" | ||
version = "0.4.12" | ||
source = "registry+https://github.com/rust-lang/crates.io-index" | ||
checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" | ||
dependencies = [ | ||
"autocfg", | ||
"scopeguard", | ||
] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't see this in the analysis so I looked: Link: https://github.com/Amanieu/parking_lot/tree/master/lock_api -- looks good to me.
[[package]] | ||
name = "byteorder" | ||
version = "1.5.0" | ||
source = "registry+https://github.com/rust-lang/crates.io-index" | ||
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also not included. Had a quick look: big files but look okay: https://github.com/BurntSushi/byteorder/blob/master/src/lib.rs, https://github.com/BurntSushi/byteorder/blob/master/src/io.rs
@r-n-o and I investigated this further, and this turned out to be a non-issue. While the crate versions in question are new to the |
Summary & Motivation (Problem vs. Solution)
vsss-rs
is an important cryptography library for us.Based on the Michael Lodder's feedback, he's primarily planning to maintain the latest major version, which is now
5.x
. This is a motivation for us to move over to it from the current4.x
pinning.Switch to vsss-rs
5.1
, which is the newest currently available stable version.The new major version also has a new
zeroize
target, which we want to use for security hardening.How I Tested These Changes
This change is not extensively tested yet.
Local
cargo test
and some fuzz testing viaqos_crypto
did not uncover issues.Pre merge check list