Unfortunately the alias doesn't allow passing in custom arguments like
`--all` or `--manifest-path`. Doing so in the manner we tried before
results in output like:
```
> Run cargo fmt-unstable --all --manifest-path=connect-tests/Cargo.toml -- --check
Unrecognized option: 'all'
```
This commit switches to the full `cargo fmt` invocation in each case.
The docs.rs environment has golang installed, but doesn't have
the environment variables needed to make it actually work:
https://github.com/rust-lang/docs.rs/issues/1303
So avoid that entirely.
This relies on `cargo test --all-targets` not including doctests
(mysterious, but explicitly documented).
We don't have any platform-specific doctests in this crate, so this
is probably inconsequential.
This hides a bunch of mess underlying `cargo update -Z direct-minimal-versions`:
mainly the ability to exclude workspace crates with publish=false from
version resolution (`--ignore-private` flag).
Of `-Z minimal-versions` it is said:
> Note: It is not recommended to use this feature. Because it enforces minimal
> versions for all transitive dependencies, its usefulness is limited since not
> all external dependencies declare proper lower version bounds.
`-Z direct-minimal-versions` appears to be its replacement, which means our
CI is checking things only within our control.
Provide shims for limited number of places where ring 0.17 and
aws-lc-rs (ring 0.16-era) APIs have diverged. This is a
short-term fix, as they are likely to diverge more over time.
Eventually we'll have to stop sharing the code like this.
For unit-like tests, export a `test_provider` alias that resolves
to a provider module, for use in these tests.
This resolves to:
- *ring* if cfg(feature = "ring"), else
- aws-lc-rs if cfg(feature = "aws_lc_rs"), else
- is absent
Add Bug report, Feature request, and Dependency update issue templates to help prompt users into providing the information that will get them the best help.
As of cargo-check-external-types v0.1.9 the tool can read its
configuration from the crate `Cargo.toml` metadata, removing the need
for a standalone TOML file and the `--config` arg. This commit switches
to that style of configuration.
This needs nightly, which is affixed as the version documneted as working by
cargo-check-external-types.
external-types.toml is a config file as a starting point: it allows all types from
pki-types.
This currently fails due to some `impl From<ExternalType>` on public types.
Running `cargo hack check --locked --feature-powerset` seems to be
failing, as it detects that the lockfile needs to be updated. Updating
the lockfile and re-running causes the same error. It looks as though
it is removing items from the lockfile based on which features it's
testing.
To prevent this test from failing, let's remove `--locked` and test the
feature powerset with relaxed handling of the `Cargo.lock` file.
Now that we're checking in `Cargo.lock` files we'll be getting more
Dependabot PRs for semver compatible Cargo dependency updates. This
commit switches the tool to run weekly instead of daily so that we don't
have to spend as much time triaging these on a day-by-day basis.
This is an example that builds a mostly-unchanged rustls example
(simpleclient), but only using crypto from the rust-crypto project
and elsewhere.
This is intended to be minimalistic, and not a complete replacement
for *ring*.
It implements:
- TLS1.3 TLS13_CHACHA20_POLY1305_SHA256 cipher suite.
- TLS1.2 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 cipher suite.
- X25519 key exchange.
- RSA-PSS-SHA256 and RSA-PKCS1-SHA256 signature verification for
verifying the server, integrated into the webpki crate.
- random generation using `rand_core`.
This means it can fetch www.rust-lang.org.
TLS1.2 is not strictly necessary for this server, but serves to
demonstrate that part of the API.