Age | Commit message (Collapse) | Author |
|
|
|
|
|
- Fixes #563
- With an MSRV >= 1.40.0, we can use #[non_exhaustive], as mentioned
in #406.
- This is also a clippy lint:
https://rust-lang.github.io/rust-clippy/master/index.html#manual_non_exhaustive
|
|
|
|
|
|
|
|
Almost every Windows path contains a (percent-encoded) colon coupled
with a drive letter (e.g. C:), so this needs to be done to properly decode
a path.
|
|
|
|
|
|
|
|
|
|
|
|
- See #480.
|
|
- See #480.
|
|
Cargo features are inherently additive, which means that if:
- package A walts to build package C with features ABC,
- package B walts to build package C with features BCD,
the package C will be built with *both* ABC and BCD enabled.
There is currently no way to specify mutually exclusive features
and these have to be implemented using existing, additive, ones.
That's problematic for us, because currently the cryptographic
backend in sequoia-openpgp is selected globally at build-time and
thus at most one can be selected for the compilation to succeed.
It's worth noting that we can't use Cargo build scripts to emit
the `--cfg`-passing [directive] because it does *not* affect
Cargo's dependency resolution and that's needed in order to skip
unbuildable backends on certain OSes (e.g. nettle when using Windows MSVC ABI).
To allow for other local crates, most notably sequoia-openpgp-ffi, to
build with different backends, we expose and forward any features that
may be used by the crates they transitively depend on.
At the time of writing, these different features seem to be implemented:
- buffered-reader: compression support
- openpgp: compression support and cryptographic backend
- store: background-services feature
[directive](https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-cfgkeyvalue)
|
|
We only ever use {memset, memzero, memeq, memcmp} anyway - don't pull
OS-specific functions like mlock.
|
|
|
|
|
|
|
|
- Adjust code to test for `cfg(test)` only,
- Remove `quickcheck` and `rand` from dependencies so that they stay
only in dev-dependencies,
- Remove mention of `x-quickcheck` feature from the documentation,
- Fixes #545.
|
|
|
|
|
|
|
|
|
|
- This allows us to move Keygrip to a different crate.
|
|
|
|
- This is only used to communicate with the GnuPG agent, so it
should not be in the openpgp crate.
|
|
|
|
|
|
|
|
- Returning rich errors from this function may compromise secret key
material due to Bleichenbacher-style attacks. Change the API to
prevent this.
- Hat tip to Hanno Böck.
- Fixes #507.
|
|
- Returning rich errors from this function may compromise secret key
material due to Bleichenbacher-style attacks. Change the API to
prevent this.
- Hat tip to Hanno Böck.
- See #507.
|
|
|
|
- See #498.
|
|
- See #498.
|
|
- Add a new constructor that takes headers. This allows us to make
the header argument polymorphic.
|
|
- Change `mark_role_primary` to `role_into_primary`.
- Change `mark_role_primary_ref` to `role_as_primary`.
- Change `mark_role_subordinate` to `role_into_subordinate`.
- Change `mark_role_subordinate_ref` to `role_as_subordinate`.
- Change `mark_role_unspecified` to `role_into_unspecified`.
- Change `mark_role_unspecified_ref` to `role_as_unspecified`.
- Fixes #452.
|
|
To be consistent; we don't use plural forms for modules anywhere else
and Rust always uses singular forms.
|
|
|
|
|
|
- Our previous approach of constraining the version using "< 0.1.10"
no longer worked, and resulted in two versions of the crate being
selected, one of which exceeded our MSRV.
- Same for socket2.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Since around Rust 1.40 the unused parens lint is more aggressive. Since
all of these warnings are from generated code (effectively false
positives), let's just silence the warnings.
|
|
- Replace all usages of `to_hex` with formatting string with :X
specifier.
- Fixes #456.
|
|
|