Patch libsodium 1.0.15 pubkey validation onto 1.0.18

This commit is contained in:
Jack Grigg 2020-02-17 23:52:10 +00:00
parent d4644e7ed0
commit 4fe5969157
2 changed files with 19 additions and 0 deletions

View File

@ -4,9 +4,11 @@ $(package)_download_path=https://download.libsodium.org/libsodium/releases/
$(package)_file_name=$(package)-$($(package)_version).tar.gz
$(package)_sha256_hash=6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1
$(package)_dependencies=
$(package)_patches=1.0.15-pubkey-validation.diff
$(package)_config_opts=
define $(package)_preprocess_cmds
patch -p1 < $($(package)_patch_dir)/1.0.15-pubkey-validation.diff && \
cd $($(package)_build_subdir); ./autogen.sh
endef

View File

@ -0,0 +1,17 @@
diff -ur libsodium-1.0.18-orig/src/libsodium/crypto_sign/ed25519/ref10/open.c libsodium-1.0.18/src/libsodium/crypto_sign/ed25519/ref10/open.c
--- libsodium-1.0.18-orig/src/libsodium/crypto_sign/ed25519/ref10/open.c 2019-05-18 16:32:11.000000000 -0400
+++ libsodium-1.0.18/src/libsodium/crypto_sign/ed25519/ref10/open.c 2020-01-21 18:55:22.474233831 -0500
@@ -32,8 +32,11 @@
ge25519_has_small_order(sig) != 0) {
return -1;
}
- if (ge25519_is_canonical(pk) == 0 ||
- ge25519_has_small_order(pk) != 0) {
+ unsigned char d = 0;
+ for (int i = 0; i < 32; ++i) {
+ d |= pk[i];
+ }
+ if (d == 0) {
return -1;
}
#endif