Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge upstream 4.1.2 #12

Closed
wants to merge 22 commits into from
Closed

Merge upstream 4.1.2 #12

wants to merge 22 commits into from

Conversation

jrose-signal
Copy link
Contributor

@jrose-signal jrose-signal commented May 13, 2024

Clean merge, no changes, libsignal tests continue to pass. However, I had to tweak one of our added benchmarks - see final commit for more info.

nategraf and others added 22 commits October 3, 2023 12:51
The `signature` crate contains unstable, minor version-gated
functionality.

The v2.1 release did not change any of that, and only added new
functionality. So it's safe to relax the requirement for `signature` to
`>=2.0, <2.2`.
Uses `finish_non_exhaustive` in lieu of printing the `secret_key`
component of a `SigningKey`, only showing the corresponding
`verifying_key` field which can be used to identify the public key.

Closes #591
To avoid nightly regressions breaking the build, the CI configuration
has been updated to *only* use nightly for resolving Cargo.lock by using
`cargo update -Z minimal-versions`.

Previously, it was running `cargo check` which would attempt to compile
all of the dependencies and the code, which is why the diagnostic bug
was triggered. By avoiding any kind of code compilation using nightly we
can avoid such regressions in the future.

Additionally, the clippy job has been changed to run on the latest
stable release (1.73.0) rather than nightly, which will prevent future
clippy lints from breaking the build. Instead, they can be addressed
when clippy is updated.
* derive: Bump version to 0.1.1

* Added changelog
This image duplicates the `curve25519-dalek` table entry below.

It also doesn't actually link to anything, making README.md look broken.
Like #582, there is a new release of `signature` (v2.2.0) which contains
no breaking changes from ed25519-dalek's perspective. The main notable
one is it bumps MSRV to 1.60, which so also happens to also be
ed25519-dalek's MSRV.

This commit loosens the version requirement to allow `>=2.0, <2.3` to
allow the `signature` 2.2 series.
* Brought back SigningKey::to_scalar_bytes; added regression test

* Updated SigningKey::to_scalar docs and tests
* Fix nightly build

* Add nightly feature constraint so AVX-512 requires either x86 or x86_64

Co-authored-by: Tony Arcieri <[email protected]>

* fmt

---------

Co-authored-by: Michael Rosenberg <[email protected]>
Co-authored-by: Tony Arcieri <[email protected]>
Co-authored-by: Michael Rosenberg <[email protected]>
An Elligator benchmark was added for the "lizard" extensions, and it
made sure it was only measuring the Elligator part of the work by
expanding a set of bytes into a FieldElement ahead of time. However,
this requires the FieldElement alias to be pub, and depends on the
elligator_ristretto_flavor helper function being pub as well. Changing
it to test the lizard-based entry point means we're diverging less
from upstream, and it's more realistic anyway.
@jrose-signal jrose-signal force-pushed the jrose/upstream-4.1.2 branch from 527ec6c to 28aa518 Compare May 13, 2024 23:14
@jrose-signal
Copy link
Contributor Author

jrose-signal commented May 13, 2024

Remaining failures have been fixed upstream (https://github.com/dalek-cryptography/curve25519-dalek/commits/main/curve25519-dalek) but haven't been officially tagged yet. They're all warnings though; it's just that CI is promoting them to errors. But that does mean we're not getting full runs of tests.

@jrose-signal
Copy link
Contributor Author

Superseded by #13.

@jrose-signal jrose-signal deleted the jrose/upstream-4.1.2 branch June 18, 2024 23:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

9 participants