Radish alpha
h
rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
Radicle Heartwood Protocol & Stack
Radicle
Git
fetch: update gix-pack and gix-odb
Merged fintohaps opened 1 year ago

The gix-fs crate was flagged as vulnerable[0]. To update it to >=0.11.0, it was necessary to update the gix-pack and gix-odb crate versions to 0.51 and 0.61, respectively.

This in turn updated fastrand which changed its algorithm[1], which meant that some test outputs were reordered or matched new values.

10 files changed +53 -56 86a04439 86a04439
modified Cargo.lock
@@ -674,9 +674,9 @@ checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183"

[[package]]
name = "fastrand"
-
version = "2.0.2"
+
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984"
+
checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a"

[[package]]
name = "ff"
@@ -808,9 +808,9 @@ dependencies = [

[[package]]
name = "gix-actor"
-
version = "0.31.1"
+
version = "0.31.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "45c3a3bde455ad2ee8ba8a195745241ce0b770a8a26faae59fcf409d01b28c46"
+
checksum = "a0e454357e34b833cc3a00b6efbbd3dd4d18b24b9fb0c023876ec2645e8aa3f2"
dependencies = [
 "bstr",
 "gix-date",
@@ -843,9 +843,9 @@ dependencies = [

[[package]]
name = "gix-commitgraph"
-
version = "0.24.2"
+
version = "0.24.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "f7b102311085da4af18823413b5176d7c500fb2272eaf391cfa8635d8bcb12c4"
+
checksum = "133b06f67f565836ec0c473e2116a60fb74f80b6435e21d88013ac0e3c60fc78"
dependencies = [
 "bstr",
 "gix-chunk",
@@ -887,9 +887,9 @@ dependencies = [

[[package]]
name = "gix-date"
-
version = "0.8.5"
+
version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "180b130a4a41870edfbd36ce4169c7090bca70e195da783dea088dd973daa59c"
+
checksum = "9eed6931f21491ee0aeb922751bd7ec97b4b2fe8fbfedcb678e2a2dce5f3b8c0"
dependencies = [
 "bstr",
 "itoa",
@@ -899,9 +899,9 @@ dependencies = [

[[package]]
name = "gix-diff"
-
version = "0.43.0"
+
version = "0.44.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "a5fbc24115b957346cd23fb0f47d830eb799c46c89cdcf2f5acc9bf2938c2d01"
+
checksum = "1996d5c8a305b59709467d80617c9fde48d9d75fd1f4179ea970912630886c9d"
dependencies = [
 "bstr",
 "gix-hash",
@@ -911,9 +911,9 @@ dependencies = [

[[package]]
name = "gix-features"
-
version = "0.38.1"
+
version = "0.38.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "db4254037d20a247a0367aa79333750146a369719f0c6617fec4f5752cc62b37"
+
checksum = "ac7045ac9fe5f9c727f38799d002a7ed3583cd777e3322a7c4b43e3cf437dc69"
dependencies = [
 "crc32fast",
 "flate2",
@@ -929,10 +929,11 @@ dependencies = [

[[package]]
name = "gix-fs"
-
version = "0.10.2"
+
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "e2184c40e7910529677831c8b481acf788ffd92427ed21fad65b6aa637e631b8"
+
checksum = "6adf99c27cdf17b1c4d77680c917e0d94d8783d4e1c73d3be0d1d63107163d7a"
dependencies = [
+
 "fastrand",
 "gix-features",
 "gix-utils",
]
@@ -960,9 +961,9 @@ dependencies = [

[[package]]
name = "gix-object"
-
version = "0.42.1"
+
version = "0.42.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "3d4f8efae72030df1c4a81d02dbe2348e748d9b9a11e108ed6efbd846326e051"
+
checksum = "25da2f46b4e7c2fa7b413ce4dffb87f69eaf89c2057e386491f4c55cadbfe386"
dependencies = [
 "bstr",
 "gix-actor",
@@ -979,9 +980,9 @@ dependencies = [

[[package]]
name = "gix-odb"
-
version = "0.60.0"
+
version = "0.61.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "e8bbb43d2fefdc4701ffdf9224844d05b136ae1b9a73c2f90710c8dd27a93503"
+
checksum = "20d384fe541d93d8a3bb7d5d5ef210780d6df4f50c4e684ccba32665a5e3bc9b"
dependencies = [
 "arc-swap",
 "gix-date",
@@ -999,9 +1000,9 @@ dependencies = [

[[package]]
name = "gix-pack"
-
version = "0.50.0"
+
version = "0.51.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "b58bad27c7677fa6b587aab3a1aca0b6c97373bd371a0a4290677c838c9bcaf1"
+
checksum = "3e0594491fffe55df94ba1c111a6566b7f56b3f8d2e1efc750e77d572f5f5229"
dependencies = [
 "gix-chunk",
 "gix-diff",
@@ -1032,9 +1033,9 @@ dependencies = [

[[package]]
name = "gix-path"
-
version = "0.10.7"
+
version = "0.10.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "23623cf0f475691a6d943f898c4d0b89f5c1a2a64d0f92bce0e0322ee6528783"
+
checksum = "8d23d5bbda31344d8abc8de7c075b3cf26e5873feba7c4a15d916bce67382bd9"
dependencies = [
 "bstr",
 "gix-trace",
@@ -1087,9 +1088,9 @@ dependencies = [

[[package]]
name = "gix-revwalk"
-
version = "0.13.0"
+
version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "e0a7d393ae814eeaae41a333c0ff684b243121cc61ccdc5bbe9897094588047d"
+
checksum = "1b030ccaab71af141f537e0225f19b9e74f25fefdba0372246b844491cab43e0"
dependencies = [
 "gix-commitgraph",
 "gix-date",
@@ -1114,9 +1115,9 @@ dependencies = [

[[package]]
name = "gix-tempfile"
-
version = "13.1.1"
+
version = "14.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "a761d76594f4443b675e85928e4902dec333273836bd386906f01e7e346a0d11"
+
checksum = "006acf5a613e0b5cf095d8e4b3f48c12a60d9062aa2b2dd105afaf8344a5600c"
dependencies = [
 "gix-fs",
 "libc",
@@ -1149,9 +1150,9 @@ dependencies = [

[[package]]
name = "gix-traverse"
-
version = "0.39.0"
+
version = "0.39.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "f4029ec209b0cc480d209da3837a42c63801dd8548f09c1f4502c60accb62aeb"
+
checksum = "e499a18c511e71cf4a20413b743b9f5bcf64b3d9e81e9c3c6cd399eae55a8840"
dependencies = [
 "bitflags 2.5.0",
 "gix-commitgraph",
@@ -1190,9 +1191,9 @@ dependencies = [

[[package]]
name = "gix-validate"
-
version = "0.8.4"
+
version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "e39fc6e06044985eac19dd34d474909e517307582e462b2eb4c8fa51b6241545"
+
checksum = "82c27dd34a49b1addf193c92070bcbf3beaf6e10f16a78544de6372e146a0acf"
dependencies = [
 "bstr",
 "thiserror",
modified radicle-cli/examples/git/git-push-converge.md
@@ -14,8 +14,8 @@ responsibilities:

``` ~bob
$ rad sync --fetch
-
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z..
+
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
✓ Fetched repository from 2 seed(s)
```

@@ -58,14 +58,14 @@ found` error is showing up:
``` ~alice
$ rad remote add did:key:z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk --name bob
✓ Follow policy updated for z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk (bob)
-
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
-
✗ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z.. error: no quorum was found
+
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z..
+
✗ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk.. error: no quorum was found
✓ Remote bob added
✓ Remote-tracking branch bob/master created for z6Mkt67…v4N1tRk
$ rad remote add did:key:z6Mkux1aUQD2voWWukVb5nNUR7thrHveQG4pDQua8nVhib7Z --name eve
✓ Follow policy updated for z6Mkux1aUQD2voWWukVb5nNUR7thrHveQG4pDQua8nVhib7Z (eve)
-
✗ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk.. error: no quorum was found
✗ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z.. error: no quorum was found
+
✗ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk.. error: no quorum was found
✓ Remote eve added
✓ Remote-tracking branch eve/master created for z6Mkux1…nVhib7Z
```
@@ -99,8 +99,8 @@ To rad://z42hL2jL4XNk6K8oHQaSWfMgCL7ji/z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkE
``` ~bob
$ rad remote add did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi --name alice
✓ Follow policy updated for z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi (alice)
-
✗ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi.. error: no quorum was found
✗ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z.. error: no quorum was found
+
✗ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi.. error: no quorum was found
✓ Remote alice added
✓ Remote-tracking branch alice/master created for z6MknSL…StBU8Vi
$ git reset --hard alice/master
modified radicle-cli/examples/rad-clone-connect.md
@@ -4,10 +4,10 @@ automatically connect to the necessary seeds.
```
$ rad clone rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji
✓ Seeding policy updated for rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji with scope 'all'
-
✓ Connecting to z6MknSL…StBU8Vi@[..]
-
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
✓ Connecting to z6Mkt67…v4N1tRk@[..]
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
+
✓ Connecting to z6MknSL…StBU8Vi@[..]
+
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
✓ Creating checkout in ./heartwood..
✓ Remote alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi added
✓ Remote-tracking branch alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi/master created for z6MknSL…StBU8Vi
modified radicle-cli/examples/rad-clone-partial-fail.md
@@ -16,8 +16,8 @@ still returns successfully.
```
$ rad clone rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --timeout 3
✓ Seeding policy updated for rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji with scope 'all'
-
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
✗ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk.. error: failed to perform fetch handshake
+
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
✗ Connecting to z6MksFq…bS9wzpT@[..].. error: connection reset
✓ Creating checkout in ./heartwood..
✓ Remote alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi added
modified radicle-cli/examples/rad-id-multi-delegate.md
@@ -57,8 +57,8 @@ $ rad id update --repo rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --title "Add Eve" --des

``` ~alice
$ rad sync --fetch rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji
-
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z..
+
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
✓ Fetched repository from 2 seed(s)
$ rad inspect rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --delegates
did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi (alice)
modified radicle-cli/examples/rad-id-threshold.md
@@ -169,8 +169,8 @@ sync` and fetch his references:
``` ~bob
$ rad clone rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji
✓ Seeding policy updated for rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji with scope 'all'
-
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z..
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z..
✓ Creating checkout in ./heartwood..
✓ Remote alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi added
✓ Remote-tracking branch alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi/master created for z6MknSL…StBU8Vi
@@ -191,8 +191,8 @@ $ rad fork

``` ~alice
$ rad sync -f
-
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z..
+
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
✓ Fetched repository from 2 seed(s)
$ rad inspect --sigrefs
z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi 7ffed605e4871bb0640ee1538181640e239b182c
modified radicle-cli/examples/rad-sync.md
@@ -55,8 +55,8 @@ We can also use the `--fetch` option to only fetch objects:

```
$ rad sync --fetch
-
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z..
+
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
✓ Fetched repository from 2 seed(s)
```

@@ -64,8 +64,8 @@ Specifying both `--fetch` and `--announce` is equivalent to specifying none:

```
$ rad sync --fetch --announce
-
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z..
+
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
✓ Fetched repository from 2 seed(s)
✓ Nothing to announce, already in sync with 2 node(s) (see `rad sync status`)
```
@@ -87,7 +87,7 @@ $ rad issue open --title "Test `rad sync --replicas`" --description "Check that

```
$ rad sync --replicas 1
-
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
+
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z..
✓ Fetched repository from 1 seed(s)
✓ Synced with 1 node(s)
```
modified radicle-crdt/src/clock.rs
@@ -146,14 +146,10 @@ impl std::ops::Add<u64> for Physical {

impl Bounded for Physical {
    fn min_value() -> Self {
-
        Self {
-
            seconds: u64::MIN,
-
        }
+
        Self { seconds: u64::MIN }
    }

    fn max_value() -> Self {
-
        Self {
-
            seconds: u64::MAX,
-
        }
+
        Self { seconds: u64::MAX }
    }
}
modified radicle-crdt/src/test.rs
@@ -104,8 +104,8 @@ fn test_generator() {
    let c = values.iter().filter(|c| **c == 'c').count();
    let d = values.iter().filter(|c| **c == 'd').count();

-
    assert_eq!(a, 77);
-
    assert_eq!(b, 120);
-
    assert_eq!(c, 285);
-
    assert_eq!(d, 518);
+
    assert_eq!(a, 63);
+
    assert_eq!(b, 151);
+
    assert_eq!(c, 255);
+
    assert_eq!(d, 531);
}
modified radicle-fetch/Cargo.toml
@@ -13,8 +13,8 @@ either = { version = "1.9.0" }
gix-actor = { version = "0.31.1" }
gix-features = { version = "0.38.1", features = ["progress"] }
gix-hash = { version = "0.14.2" }
-
gix-odb = { version = "0.60.0" }
-
gix-pack = { version = "0.50.0" }
+
gix-odb = { version = "0.61.0" }
+
gix-pack = { version = "0.51.0" }
gix-protocol = { version = "0.45", features = ["blocking-client"] }
gix-transport = { version = "0.42", features = ["blocking-client"] }
log = { version = "0.4.17", features = ["std"] }