Skip to content

Commit c0c1d30

Browse files
committed
Merge branch 'main' of https://github.com/ZcashFoundation/frost into update-deps
2 parents e6eec3f + ca1df5f commit c0c1d30

File tree

13 files changed

+37
-51
lines changed

13 files changed

+37
-51
lines changed

.github/dependabot.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ updates:
88
open-pull-requests-limit: 10
99
- package-ecosystem: cargo
1010
directory: "/"
11+
# Update only the lockfile. We shouldn't update Cargo.toml unless it's for
12+
# a security issue, or if we need a new feature of the dependency.
13+
versioning-strategy: lockfile-only
1114
schedule:
1215
interval: monthly
1316
timezone: America/New_York

.github/workflows/main.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,15 @@ jobs:
1818
- uses: dtolnay/rust-toolchain@beta
1919
- run: cargo build
2020

21+
build_latest:
22+
name: build with latest versions of dependencies
23+
runs-on: ubuntu-latest
24+
25+
steps:
26+
- uses: actions/checkout@v6.0.0
27+
- uses: dtolnay/rust-toolchain@stable
28+
- run: cargo update && cargo build --all-features
29+
2130
build_msrv:
2231
name: build with MSRV (1.81)
2332
runs-on: ubuntu-latest

frost-core/CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@
22

33
Entries are listed in reverse chronological order.
44

5+
## Unreleases
6+
7+
### Breaking Changes
8+
9+
* The `cheater-detection` feature was removed. If you relied on it (either by
10+
using the default features, or by explicitly enabling it), then you don't have
11+
to do anything (other than not enabling it explicitly if you were doing so);
12+
the default behaviour is now as if `cheater-detection` was enabled. If you
13+
explicitly *did not enable* it, you can avoid cheater detection by calling
14+
`aggregate_custom()` with `CheaterDetection::Disabled`.
15+
516
## 2.2.0
617

718
### Security Fixes

frost-core/Cargo.toml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ rand_chacha.workspace = true
4646
serde_json.workspace = true
4747

4848
[features]
49-
default = ["serialization", "cheater-detection", "std"]
49+
default = ["serialization", "std"]
5050
# No longer needed. Kept for retrocompatibility until 3.0.0
5151
std = []
5252
#! ## Features
@@ -61,8 +61,6 @@ serde = ["dep:serde", "dep:serdect"]
6161
serialization = ["serde", "dep:postcard"]
6262
# Exposes ciphersuite-generic tests for other crates to use
6363
test-impl = ["dep:proptest", "dep:serde_json", "dep:criterion", "dep:debugless-unwrap"]
64-
# Enable cheater detection
65-
cheater-detection = []
6664

6765
[lib]
6866
bench = false

frost-core/src/lib.rs

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -570,24 +570,12 @@ pub fn aggregate<C>(
570570
where
571571
C: Ciphersuite,
572572
{
573-
#[cfg(feature = "cheater-detection")]
574-
{
575-
aggregate_custom(
576-
signing_package,
577-
signature_shares,
578-
pubkeys,
579-
CheaterDetection::FirstCheater,
580-
)
581-
}
582-
#[cfg(not(feature = "cheater-detection"))]
583-
{
584-
aggregate_custom(
585-
signing_package,
586-
signature_shares,
587-
pubkeys,
588-
CheaterDetection::Disabled,
589-
)
590-
}
573+
aggregate_custom(
574+
signing_package,
575+
signature_shares,
576+
pubkeys,
577+
CheaterDetection::FirstCheater,
578+
)
591579
}
592580

593581
/// The type of cheater detection to use.

frost-core/src/tests/ciphersuite_generic.rs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -315,14 +315,6 @@ fn check_aggregate_errors<C: Ciphersuite + PartialEq>(
315315
signature_shares: BTreeMap<frost::Identifier<C>, frost::round2::SignatureShare<C>>,
316316
pubkey_package: frost::keys::PublicKeyPackage<C>,
317317
) {
318-
#[cfg(not(feature = "cheater-detection"))]
319-
let pubkey_package = PublicKeyPackage {
320-
header: pubkey_package.header,
321-
verifying_shares: BTreeMap::new(),
322-
verifying_key: pubkey_package.verifying_key,
323-
};
324-
325-
#[cfg(feature = "cheater-detection")]
326318
check_aggregate_corrupted_share(
327319
signing_package.clone(),
328320
signature_shares.clone(),
@@ -336,7 +328,6 @@ fn check_aggregate_errors<C: Ciphersuite + PartialEq>(
336328
);
337329
}
338330

339-
#[cfg(feature = "cheater-detection")]
340331
fn check_aggregate_corrupted_share<C: Ciphersuite + PartialEq>(
341332
signing_package: frost::SigningPackage<C>,
342333
mut signature_shares: BTreeMap<frost::Identifier<C>, frost::round2::SignatureShare<C>>,

frost-ed25519/Cargo.toml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ rand_chacha.workspace = true
3737
serde_json.workspace = true
3838

3939
[features]
40-
default = ["serialization", "cheater-detection", "std"]
40+
default = ["serialization", "std"]
4141
# No longer needed. Kept for retrocompatibility until 3.0.0
4242
std = []
4343
#! ## Features
@@ -47,8 +47,6 @@ std = []
4747
serde = ["frost-core/serde"]
4848
## Enable a default serialization format. Enables `serde`.
4949
serialization = ["serde", "frost-core/serialization", "frost-rerandomized/serialization"]
50-
## Enable cheater detection
51-
cheater-detection = ["frost-core/cheater-detection", "frost-rerandomized/cheater-detection"]
5250

5351
[lib]
5452
# Disables non-criterion benchmark which is not used; prevents errors

frost-ed448/Cargo.toml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ rand_chacha.workspace = true
3636
serde_json.workspace = true
3737

3838
[features]
39-
default = ["serialization", "cheater-detection", "std"]
39+
default = ["serialization", "std"]
4040
# No longer needed. Kept for retrocompatibility until 3.0.0
4141
std = []
4242
#! ## Features
@@ -46,8 +46,6 @@ std = []
4646
serde = ["frost-core/serde"]
4747
## Enable a default serialization format. Enables `serde`.
4848
serialization = ["serde", "frost-core/serialization", "frost-rerandomized/serialization"]
49-
## Enable cheater detection
50-
cheater-detection = ["frost-core/cheater-detection", "frost-rerandomized/cheater-detection"]
5149

5250
[lib]
5351
# Disables non-criterion benchmark which is not used; prevents errors

frost-p256/Cargo.toml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ rand_chacha.workspace = true
3636
serde_json.workspace = true
3737

3838
[features]
39-
default = ["serialization", "cheater-detection", "std"]
39+
default = ["serialization", "std"]
4040
# No longer needed. Kept for retrocompatibility until 3.0.0
4141
std = []
4242
#! ## Features
@@ -46,8 +46,6 @@ std = []
4646
serde = ["frost-core/serde"]
4747
## Enable a default serialization format. Enables `serde`.
4848
serialization = ["serde", "frost-core/serialization", "frost-rerandomized/serialization"]
49-
## Enable cheater detection
50-
cheater-detection = ["frost-core/cheater-detection", "frost-rerandomized/cheater-detection"]
5149

5250
[lib]
5351
# Disables non-criterion benchmark which is not used; prevents errors

frost-rerandomized/Cargo.toml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ rand_core.workspace = true
2525
[dev-dependencies]
2626

2727
[features]
28-
default = ["serialization", "cheater-detection", "std"]
28+
default = ["serialization", "std"]
2929
# No longer needed. Kept for retrocompatibility until 3.0.0
3030
std = []
3131
#! ## Features
@@ -35,7 +35,5 @@ std = []
3535
serde = ["frost-core/serde"]
3636
# Exposes ciphersuite-generic tests for other crates to use
3737
test-impl = ["frost-core/test-impl", "serialization"]
38-
## Enable cheater detection
39-
cheater-detection = ["frost-core/cheater-detection"]
4038
## Enable a default serialization format. Enables `serde`.
4139
serialization = ["serde", "frost-core/serialization"]

0 commit comments

Comments
 (0)