-
Notifications
You must be signed in to change notification settings - Fork 714
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
[WIP][Build] Libsodium upgrade & sanity checks #2358
base: master
Are you sure you want to change the base?
[WIP][Build] Libsodium upgrade & sanity checks #2358
Commits on Jul 7, 2021
-
Add test vectors for small-order Ed25519 pubkeys
Not adding test vectors for non-canonical pubkeys, as that would require grinding to find a private key corresponding to one of the 19 pubkeys that can be non-canonical. Adapted for PIVX unit test framework.
Configuration menu - View commit details
-
Copy full SHA for 9635c73 - Browse repository at this point
Copy the full SHA 9635c73View commit details -
Configuration menu - View commit details
-
Copy full SHA for 01b9aae - Browse repository at this point
Copy the full SHA 01b9aaeView commit details -
Configuration menu - View commit details
-
Copy full SHA for d49aece - Browse repository at this point
Copy the full SHA d49aeceView commit details -
Configuration menu - View commit details
-
Copy full SHA for d39e0f0 - Browse repository at this point
Copy the full SHA d39e0f0View commit details -
Configuration menu - View commit details
-
Copy full SHA for cd2e210 - Browse repository at this point
Copy the full SHA cd2e210View commit details -
libsodium sanity check connected to app init.
Abort at node startup if it is running a non-patched version of the libsodium library. libsodium <= 1.0.15 accepts valid signatures for a non-zero pubkey with small order; this is currently part of our consensus rules. libsodium >= 1.0.16 rejects all pubkeys with small order.
Configuration menu - View commit details
-
Copy full SHA for 21d221b - Browse repository at this point
Copy the full SHA 21d221bView commit details -
Use libsodium's s < L check, instead checking that libsodium checks t…
…hat. Adaptation coming from zcash@2902ac7ce8e754d09a5137cba82d8af10c172977
Configuration menu - View commit details
-
Copy full SHA for 69cd9f8 - Browse repository at this point
Copy the full SHA 69cd9f8View commit details -
build: new script for building own libsodium version.
Plus connected to GA.
Configuration menu - View commit details
-
Copy full SHA for a1818df - Browse repository at this point
Copy the full SHA a1818dfView commit details -
Pass DO_NOT_UPDATE_CONFIG_SCRIPTS=1 to autogen.sh in libsodium depend…
…ency, to avoid updating config scripts over the network.
Configuration menu - View commit details
-
Copy full SHA for 3f09b2c - Browse repository at this point
Copy the full SHA 3f09b2cView commit details -
Depends: Hard set sodium library minor version
This allows us to do some compile time checking to see if we are using a compatible version
Configuration menu - View commit details
-
Copy full SHA for e20e216 - Browse repository at this point
Copy the full SHA e20e216View commit details -
GA: Only build/install patched sodium for no_depends jobs
Otherwise it is already supplied by the previous depends stage
Configuration menu - View commit details
-
Copy full SHA for 809ad8c - Browse repository at this point
Copy the full SHA 809ad8cView commit details -
GA: Remove syslib installed sodium
GA builds that intend to use syslibs instead of depends (CMake and no_depends jobs) end up installing libsodium syslib, so remove that prior to installing our patched version. This also moves the installation of the patched version of sodium to the environment setup stage.
Configuration menu - View commit details
-
Copy full SHA for b132f68 - Browse repository at this point
Copy the full SHA b132f68View commit details -
Build: Detect and error for unsupported Sodium versions
We require the use of libsodium <= 1.0.15, or a patched version of 1.0.17, which is supplied by depends or the `install_sodium.sh` shell script. This change will look at the libsodium version header's `SODIUM_LIBRARY_VERSION_MAJOR` and `SODIUM_LIBRARY_VERSION_MINOR` values to determine if it is a valid version. For reference, Sodium 1.0.15 used `10` and `0`, respectively. Earlier versions used a different major value, and later versions used a different minor value, so this combination of values is unique to v1.0.15 (and our patched version of v1.0.17)
Configuration menu - View commit details
-
Copy full SHA for faa5450 - Browse repository at this point
Copy the full SHA faa5450View commit details -
Configuration menu - View commit details
-
Copy full SHA for 625e7ac - Browse repository at this point
Copy the full SHA 625e7acView commit details -
Configuration menu - View commit details
-
Copy full SHA for 89aa2a7 - Browse repository at this point
Copy the full SHA 89aa2a7View commit details -
Configuration menu - View commit details
-
Copy full SHA for ff19755 - Browse repository at this point
Copy the full SHA ff19755View commit details -
Configuration menu - View commit details
-
Copy full SHA for 80e8493 - Browse repository at this point
Copy the full SHA 80e8493View commit details