Skip to content

Commit af1f4b9

Browse files
authored
Merge pull request #81 from loadingalias/fix/funding-readiness
release: repair public readiness signals
2 parents de8cb1f + 354067d commit af1f4b9

9 files changed

Lines changed: 31 additions & 55 deletions

File tree

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"rscrypto" = "patch"
3+
---
4+
5+
Align canonical install examples and the security support matrix with rscrypto 0.8.0.

.config/nextest.toml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,14 @@ test-threads = "num-cpus"
77
slow-timeout = { period = "30s", terminate-after = 4 }
88
retries = 0
99

10+
[[profile.default.overrides]]
11+
filter = 'binary(=rsa_public_key) & test(=generated_modern_private_key_outputs_verify_and_decrypt_with_external_oracles)'
12+
slow-timeout = { period = "60s", terminate-after = 8 }
13+
14+
[[profile.default.overrides]]
15+
filter = 'binary(=rsa_wycheproof) & test(=wycheproof_rsaes_pkcs1v15_3072_decrypt_vectors_match_expected_results)'
16+
slow-timeout = { period = "60s", terminate-after = 8 }
17+
1018
[profile.commit]
1119
status-level = "fail"
1220
success-output = "never"

.github/actions/scorecard/action.yaml

Lines changed: 0 additions & 34 deletions
This file was deleted.

.github/workflows/scorecard.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
persist-credentials: false
2929

3030
- name: Run Scorecard
31-
uses: ./.github/actions/scorecard
31+
uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3
3232
with:
3333
results_file: scorecard.sarif
3434
results_format: sarif

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,14 @@ Minimal `no_std` SHA-2 build:
3939

4040
```toml
4141
[dependencies]
42-
rscrypto = { version = "0.7.8", default-features = false, features = ["sha2"] }
42+
rscrypto = { version = "0.8.0", default-features = false, features = ["sha2"] }
4343
```
4444

4545
Full primitive stack with OS randomness enabled:
4646

4747
```toml
4848
[dependencies]
49-
rscrypto = { version = "0.7.8", features = ["full", "getrandom"] }
49+
rscrypto = { version = "0.8.0", features = ["full", "getrandom"] }
5050
```
5151

5252
Use `default-features = false` for `no_std` builds. Enable `getrandom` only for

SECURITY.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,10 @@ Out of scope:
5151

5252
| Version | Supported |
5353
| ------- | --------- |
54-
| `0.7.x` | Yes |
54+
| `0.8.x` | Yes |
5555

5656
Only the latest patch release in the current minor line receives security
57-
fixes. Upgrade to the latest published `0.7.x` release before reporting an issue
57+
fixes. Upgrade to the latest published `0.8.x` release before reporting an issue
5858
that may already be fixed.
5959

6060
## Security posture

scripts/ci/check-ci-ownership-test.sh

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -185,12 +185,11 @@ yq eval '(.jobs."rail-plan".steps[] | select(.id == "rail") | .with.since) = "or
185185
"$mutable_rail_base/.github/workflows/ci.yaml"
186186
expect_failure "$mutable_rail_base" "cargo-rail-action plans from a mutable base"
187187

188-
unpinned_scorecard="$TMP_ROOT/unpinned-scorecard"
189-
make_fixture "$unpinned_scorecard"
190-
sed -i.bak 's#@sha256:[0-9a-f]*#:v2.4.3#' \
191-
"$unpinned_scorecard/.github/actions/scorecard/action.yaml"
192-
rm -f "$unpinned_scorecard/.github/actions/scorecard/action.yaml.bak"
193-
expect_failure "$unpinned_scorecard" "Scorecard container uses a mutable tag"
188+
indirect_scorecard="$TMP_ROOT/indirect-scorecard"
189+
make_fixture "$indirect_scorecard"
190+
yq eval '(.jobs.scorecard.steps[] | select(.name == "Run Scorecard") | .uses) = "./.github/actions/scorecard"' -i \
191+
"$indirect_scorecard/.github/workflows/scorecard.yaml"
192+
expect_failure "$indirect_scorecard" "Scorecard publication does not call the official action directly"
194193

195194
floating_codecov="$TMP_ROOT/floating-codecov"
196195
make_fixture "$floating_codecov"

scripts/ci/check-ci-ownership.sh

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ RELEASE="$WORKFLOWS/release.yaml"
2929
RSA="$WORKFLOWS/rsa.yaml"
3030
SETUP_ACTION="$ACTIONS/setup/action.yaml"
3131
TOOLCHAIN_ACTION="$ACTIONS/setup-toolchain/action.yaml"
32-
SCORECARD_ACTION="$ACTIONS/scorecard/action.yaml"
3332
MANIFEST="$ROOT/.config/target-matrix.json"
3433
TOOL_ARCHIVES="$ROOT/.config/ci-tool-archives.tsv"
3534
CARGO_CONFIG="$ROOT/.cargo/config.toml"
@@ -129,7 +128,6 @@ require_file "$RELEASE"
129128
require_file "$RSA"
130129
require_file "$SETUP_ACTION"
131130
require_file "$TOOLCHAIN_ACTION"
132-
require_file "$SCORECARD_ACTION"
133131
require_file "$MANIFEST"
134132
require_file "$TOOL_ARCHIVES"
135133
require_file "$CARGO_CONFIG"
@@ -267,7 +265,7 @@ fi
267265
bash -eu -o pipefail -c 'source "$1"; ci_tool_validate_manifest' _ "$TOOL_INTEGRITY" \
268266
|| fail "direct CI tool archive manifest is invalid"
269267
270-
if grep -ERn 'uses:[[:space:]]+(dtolnay/rust-toolchain|ossf/scorecard-action)@' \
268+
if grep -ERn 'uses:[[:space:]]+dtolnay/rust-toolchain@' \
271269
"$WORKFLOWS" "$ACTIONS" >/dev/null; then
272270
fail "CI must not delegate installation to an action with an unauthenticated executable fallback"
273271
fi
@@ -394,12 +392,12 @@ grep -Fq 'ci_tool_download codecov' "$INSTALL_CODECOV" \
394392
# shellcheck disable=SC2016 # GitHub expression is an intentional literal contract.
395393
grep -Fq 'binary: ${{ steps.codecov.outputs.binary }}' "$WEEKLY" \
396394
|| fail "Codecov action must use the repository-verified CLI"
397-
[[ $(yq eval '.jobs.scorecard.steps[] | select(.name == "Run Scorecard") | .uses' "$SCORECARD") \
398-
== "./.github/actions/scorecard" ]] \
399-
|| fail "Scorecard must use the repository-owned digest-pinned action"
400-
scorecard_image=$(yq eval -r '.runs.image' "$SCORECARD_ACTION")
401-
[[ "$scorecard_image" =~ ^docker://ghcr\.io/ossf/scorecard-action@sha256:[0-9a-f]{64}$ ]] \
402-
|| fail "Scorecard container must use an OCI digest"
395+
scorecard_action=$(yq eval '.jobs.scorecard.steps[] | select(.name == "Run Scorecard") | .uses' "$SCORECARD")
396+
[[ "$scorecard_action" =~ ^ossf/scorecard-action@[0-9a-f]{40}$ ]] \
397+
|| fail "Scorecard publication must call the official action at an immutable commit"
398+
[[ $(yq eval '.jobs.scorecard.steps[] | select(.name == "Run Scorecard") | .with.publish_results' "$SCORECARD") \
399+
== "true" ]] \
400+
|| fail "Scorecard must publish results"
403401
404402
[[ $(count_feature_sets "$FEATURE_PROFILES" COMPILE_FEATURE_SETS) -eq 58 ]] \
405403
|| fail "compile feature matrix must retain all 58 profiles"

src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
//!
1515
//! ```toml
1616
//! [dependencies]
17-
//! rscrypto = { version = "0.6.4", default-features = false, features = ["sha2"] }
17+
//! rscrypto = { version = "0.8.0", default-features = false, features = ["sha2"] }
1818
//! ```
1919
//!
2020
//! # Guides

0 commit comments

Comments
 (0)