rbnacl-libsodium 1.0.15.1 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +4 -6
  3. data/CHANGES.md +50 -42
  4. data/Gemfile +1 -1
  5. data/README.md +3 -1
  6. data/Rakefile +46 -0
  7. data/ext/rbnacl/extconf.rb +16 -1
  8. data/lib/rbnacl/libsodium.rb +16 -8
  9. data/lib/rbnacl/libsodium/version.rb +1 -1
  10. data/rbnacl-libsodium.gemspec +3 -0
  11. data/vendor/libsodium/AUTHORS +20 -5
  12. data/vendor/libsodium/ChangeLog +25 -0
  13. data/vendor/libsodium/Makefile.in +3 -1
  14. data/vendor/libsodium/README.markdown +2 -1
  15. data/vendor/libsodium/aclocal.m4 +1 -0
  16. data/vendor/libsodium/autom4te.cache/output.1 +836 -123
  17. data/vendor/libsodium/autom4te.cache/output.4 +21342 -0
  18. data/vendor/libsodium/autom4te.cache/requests +801 -554
  19. data/vendor/libsodium/autom4te.cache/traces.1 +717 -596
  20. data/vendor/libsodium/autom4te.cache/traces.4 +4355 -0
  21. data/vendor/libsodium/builds/Makefile.in +3 -1
  22. data/vendor/libsodium/builds/msvc/resource.h +1 -1
  23. data/vendor/libsodium/builds/msvc/resource.rc +2 -2
  24. data/vendor/libsodium/builds/msvc/version.h +2 -2
  25. data/vendor/libsodium/builds/msvc/vs2010/libsodium/libsodium.vcxproj +17 -8
  26. data/vendor/libsodium/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters +60 -24
  27. data/vendor/libsodium/builds/msvc/vs2012/libsodium/libsodium.vcxproj +17 -8
  28. data/vendor/libsodium/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters +60 -24
  29. data/vendor/libsodium/builds/msvc/vs2013/libsodium/libsodium.vcxproj +17 -8
  30. data/vendor/libsodium/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters +60 -24
  31. data/vendor/libsodium/builds/msvc/vs2015/libsodium/libsodium.vcxproj +17 -8
  32. data/vendor/libsodium/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters +60 -24
  33. data/vendor/libsodium/builds/msvc/vs2017/libsodium/libsodium.vcxproj +17 -8
  34. data/vendor/libsodium/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters +60 -24
  35. data/vendor/libsodium/configure +834 -121
  36. data/vendor/libsodium/configure.ac +55 -13
  37. data/vendor/libsodium/contrib/Findsodium.cmake +22 -3
  38. data/vendor/libsodium/contrib/Makefile.in +3 -1
  39. data/vendor/libsodium/dist-build/Makefile.in +3 -1
  40. data/vendor/libsodium/dist-build/android-build.sh +2 -2
  41. data/vendor/libsodium/dist-build/emscripten-symbols.def +38 -26
  42. data/vendor/libsodium/dist-build/emscripten.sh +23 -8
  43. data/vendor/libsodium/dist-build/msys2-win32.sh +1 -1
  44. data/vendor/libsodium/dist-build/msys2-win64.sh +1 -1
  45. data/vendor/libsodium/libsodium.vcxproj +17 -8
  46. data/vendor/libsodium/libsodium.vcxproj.filters +41 -14
  47. data/vendor/libsodium/m4/ax_tls.m4 +74 -0
  48. data/vendor/libsodium/msvc-scripts/Makefile.in +3 -1
  49. data/vendor/libsodium/msvc-scripts/process.bat +2 -2
  50. data/vendor/libsodium/packaging/dotnet-core/README.md +5 -5
  51. data/vendor/libsodium/packaging/dotnet-core/prepare.py +7 -7
  52. data/vendor/libsodium/packaging/nuget/package.config +1 -1
  53. data/vendor/libsodium/regen-msvc/libsodium.vcxproj +326 -0
  54. data/vendor/libsodium/regen-msvc/libsodium.vcxproj.filters +23 -0
  55. data/vendor/libsodium/regen-msvc/libsodium.vcxproj.filters.tpl +35 -0
  56. data/vendor/libsodium/regen-msvc/libsodium.vcxproj.tpl +93 -0
  57. data/vendor/libsodium/regen-msvc/regen-msvc.py +136 -0
  58. data/vendor/libsodium/regen-msvc/tl_libsodium.vcxproj.filters.tpl +23 -0
  59. data/vendor/libsodium/regen-msvc/tl_libsodium.vcxproj.tpl +331 -0
  60. data/vendor/libsodium/src/Makefile.in +3 -1
  61. data/vendor/libsodium/src/libsodium/Makefile.am +40 -24
  62. data/vendor/libsodium/src/libsodium/Makefile.in +238 -180
  63. data/vendor/libsodium/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c +10 -2
  64. data/vendor/libsodium/src/libsodium/crypto_core/ed25519/core_ed25519.c +79 -0
  65. data/vendor/libsodium/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c +2031 -0
  66. data/vendor/libsodium/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base.h +1344 -0
  67. data/vendor/libsodium/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base2.h +40 -0
  68. data/vendor/libsodium/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/constants.h +20 -0
  69. data/vendor/libsodium/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/fe.h +220 -0
  70. data/vendor/libsodium/src/libsodium/crypto_core/ed25519/ref10/fe_51/base.h +1344 -0
  71. data/vendor/libsodium/src/libsodium/crypto_core/ed25519/ref10/fe_51/base2.h +40 -0
  72. data/vendor/libsodium/src/libsodium/crypto_core/ed25519/ref10/fe_51/constants.h +21 -0
  73. data/vendor/libsodium/src/libsodium/crypto_core/ed25519/ref10/fe_51/fe.h +116 -0
  74. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2.h +1 -1
  75. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c +2 -1
  76. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c +14 -82
  77. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c +1 -0
  78. data/vendor/libsodium/src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c +3 -3
  79. data/vendor/libsodium/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c +3 -3
  80. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h +1 -7
  81. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c +1 -0
  82. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c +0 -6
  83. data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.c +19 -92
  84. data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.h +72 -4
  85. data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2.c +5 -1
  86. data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2.h +1 -1
  87. data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c +10 -7
  88. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c +108 -231
  89. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.h +1 -1
  90. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c +27 -27
  91. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c +2 -1
  92. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c +6 -3
  93. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c +3 -11
  94. data/vendor/libsodium/src/libsodium/crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c +86 -0
  95. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.c +28 -26
  96. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c +32 -30
  97. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.c +14 -115
  98. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.c +56 -13
  99. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/{ed25519_ref10.h → sign_ed25519_ref10.h} +2 -5
  100. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/sign_ed25519.c +1 -1
  101. data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.c +1 -0
  102. data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20.c +1 -0
  103. data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u8.h +1 -1
  104. data/vendor/libsodium/src/libsodium/include/Makefile.am +2 -0
  105. data/vendor/libsodium/src/libsodium/include/Makefile.in +13 -9
  106. data/vendor/libsodium/src/libsodium/include/sodium.h +2 -0
  107. data/vendor/libsodium/src/libsodium/include/sodium/crypto_core_ed25519.h +37 -0
  108. data/vendor/libsodium/src/libsodium/include/sodium/crypto_scalarmult.h +8 -0
  109. data/vendor/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h +8 -0
  110. data/vendor/libsodium/src/libsodium/include/sodium/crypto_scalarmult_ed25519.h +41 -0
  111. data/vendor/libsodium/src/libsodium/include/sodium/private/common.h +18 -0
  112. data/vendor/libsodium/src/libsodium/include/sodium/private/ed25519_ref10.h +125 -0
  113. data/vendor/libsodium/src/libsodium/include/sodium/private/ed25519_ref10_fe_25_5.h +1050 -0
  114. data/vendor/libsodium/src/libsodium/include/sodium/private/ed25519_ref10_fe_51.h +518 -0
  115. data/vendor/libsodium/src/libsodium/include/sodium/runtime.h +3 -0
  116. data/vendor/libsodium/src/libsodium/include/sodium/utils.h +3 -0
  117. data/vendor/libsodium/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c +182 -102
  118. data/vendor/libsodium/src/libsodium/sodium/core.c +30 -2
  119. data/vendor/libsodium/src/libsodium/sodium/runtime.c +14 -0
  120. data/vendor/libsodium/src/libsodium/sodium/utils.c +46 -0
  121. data/vendor/libsodium/test/Makefile.in +3 -1
  122. data/vendor/libsodium/test/default/Makefile.am +16 -0
  123. data/vendor/libsodium/test/default/Makefile.in +71 -23
  124. data/vendor/libsodium/test/default/aead_aes256gcm.c +1 -1
  125. data/vendor/libsodium/test/default/cmptest.h +4 -0
  126. data/vendor/libsodium/test/default/core3.c +44 -4
  127. data/vendor/libsodium/test/default/core3.exp +2 -0
  128. data/vendor/libsodium/test/default/core4.c +1 -1
  129. data/vendor/libsodium/test/default/core_ed25519.c +151 -0
  130. data/vendor/libsodium/test/default/core_ed25519.exp +1 -0
  131. data/vendor/libsodium/test/default/ed25519_convert.c +9 -1
  132. data/vendor/libsodium/test/default/index.html.tpl +17 -3
  133. data/vendor/libsodium/test/default/kdf.c +4 -2
  134. data/vendor/libsodium/test/default/metamorphic.c +8 -8
  135. data/vendor/libsodium/test/default/misuse.c +29 -1
  136. data/vendor/libsodium/test/default/pwhash_argon2i.c +9 -3
  137. data/vendor/libsodium/test/default/pwhash_argon2i.exp +2 -2
  138. data/vendor/libsodium/test/default/pwhash_argon2id.c +7 -2
  139. data/vendor/libsodium/test/default/pwhash_argon2id.exp +2 -2
  140. data/vendor/libsodium/test/default/scalarmult.c +0 -2
  141. data/vendor/libsodium/test/default/scalarmult.exp +0 -1
  142. data/vendor/libsodium/test/default/scalarmult_ed25519.c +90 -0
  143. data/vendor/libsodium/test/default/scalarmult_ed25519.exp +1 -0
  144. data/vendor/libsodium/test/default/secretbox_easy2.c +1 -1
  145. data/vendor/libsodium/test/default/secretstream.c +52 -3
  146. data/vendor/libsodium/test/default/sign.c +16 -0
  147. data/vendor/libsodium/test/default/sodium_core.c +1 -0
  148. data/vendor/libsodium/test/default/sodium_utils.c +2 -1
  149. data/vendor/libsodium/test/default/xchacha20.c +2 -1
  150. metadata +63 -12
  151. data/vendor/libsodium/src/libsodium/crypto_core/curve25519/ref10/base.h +0 -1344
  152. data/vendor/libsodium/src/libsodium/crypto_core/curve25519/ref10/base2.h +0 -40
  153. data/vendor/libsodium/src/libsodium/crypto_core/curve25519/ref10/curve25519_ref10.c +0 -2797
  154. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.c +0 -545
  155. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.h +0 -10
  156. data/vendor/libsodium/src/libsodium/include/sodium/private/curve25519_ref10.h +0 -132
  157. data/vendor/libsodium/test/default/index-wasm.html.tpl +0 -118
@@ -1,4 +1,5 @@
1
1
 
2
+ #include <assert.h>
2
3
  #include <stdlib.h>
3
4
  #include <string.h>
4
5
  #include <time.h>
@@ -36,6 +37,7 @@
36
37
  #endif
37
38
 
38
39
  static volatile int initialized;
40
+ static volatile int locked;
39
41
 
40
42
  int
41
43
  sodium_init(void)
@@ -98,6 +100,8 @@ sodium_crit_enter(void)
98
100
  return -1; /* LCOV_EXCL_LINE */
99
101
  }
100
102
  EnterCriticalSection(&_sodium_lock);
103
+ assert(locked == 0);
104
+ locked = 1;
101
105
 
102
106
  return 0;
103
107
  }
@@ -105,6 +109,13 @@ sodium_crit_enter(void)
105
109
  int
106
110
  sodium_crit_leave(void)
107
111
  {
112
+ if (locked == 0) {
113
+ # ifdef EPERM
114
+ errno = EPERM;
115
+ # endif
116
+ return -1;
117
+ }
118
+ locked = 0;
108
119
  LeaveCriticalSection(&_sodium_lock);
109
120
 
110
121
  return 0;
@@ -117,12 +128,28 @@ static pthread_mutex_t _sodium_lock = PTHREAD_MUTEX_INITIALIZER;
117
128
  int
118
129
  sodium_crit_enter(void)
119
130
  {
120
- return pthread_mutex_lock(&_sodium_lock);
131
+ int ret;
132
+
133
+ if ((ret = pthread_mutex_lock(&_sodium_lock)) == 0) {
134
+ assert(locked == 0);
135
+ locked = 1;
136
+ }
137
+ return ret;
121
138
  }
122
139
 
123
140
  int
124
141
  sodium_crit_leave(void)
125
142
  {
143
+ int ret;
144
+
145
+ if (locked == 0) {
146
+ # ifdef EPERM
147
+ errno = EPERM;
148
+ # endif
149
+ return -1;
150
+ }
151
+ locked = 0;
152
+
126
153
  return pthread_mutex_unlock(&_sodium_lock);
127
154
  }
128
155
 
@@ -178,9 +205,10 @@ sodium_misuse(void)
178
205
  {
179
206
  void (*handler)(void);
180
207
 
208
+ (void) sodium_crit_leave();
181
209
  if (sodium_crit_enter() == 0) {
182
210
  handler = _misuse_handler;
183
- if (sodium_crit_leave() == 0 && handler != NULL) {
211
+ if (handler != NULL) {
184
212
  handler();
185
213
  }
186
214
  }
@@ -19,6 +19,7 @@ typedef struct CPUFeatures_ {
19
19
  int has_avx512f;
20
20
  int has_pclmul;
21
21
  int has_aesni;
22
+ int has_rdrand;
22
23
  } CPUFeatures;
23
24
 
24
25
  static CPUFeatures _cpu_features;
@@ -34,6 +35,7 @@ static CPUFeatures _cpu_features;
34
35
  #define CPUID_ECX_XSAVE 0x04000000
35
36
  #define CPUID_ECX_OSXSAVE 0x08000000
36
37
  #define CPUID_ECX_AVX 0x10000000
38
+ #define CPUID_ECX_RDRAND 0x40000000
37
39
 
38
40
  #define CPUID_EDX_SSE2 0x04000000
39
41
 
@@ -196,6 +198,12 @@ _sodium_runtime_intel_cpu_features(CPUFeatures * const cpu_features)
196
198
  cpu_features->has_aesni = 0;
197
199
  #endif
198
200
 
201
+ #ifdef HAVE_RDRAND
202
+ cpu_features->has_rdrand = ((cpu_info[2] & CPUID_ECX_RDRAND) != 0x0);
203
+ #else
204
+ cpu_features->has_rdrand = 0;
205
+ #endif
206
+
199
207
  return 0;
200
208
  }
201
209
 
@@ -270,3 +278,9 @@ sodium_runtime_has_aesni(void)
270
278
  {
271
279
  return _cpu_features.has_aesni;
272
280
  }
281
+
282
+ int
283
+ sodium_runtime_has_rdrand(void)
284
+ {
285
+ return _cpu_features.has_rdrand;
286
+ }
@@ -21,6 +21,27 @@
21
21
  # include <unistd.h>
22
22
  #endif
23
23
 
24
+ #ifndef HAVE_C_VARARRAYS
25
+ # ifdef HAVE_ALLOCA_H
26
+ # include <alloca.h>
27
+ # elif !defined(alloca)
28
+ # if defined(__GNUC__)
29
+ # define alloca __builtin_alloca
30
+ # elif defined _AIX
31
+ # define alloca __alloca
32
+ # elif defined _MSC_VER
33
+ # include <malloc.h>
34
+ # define alloca _alloca
35
+ # else
36
+ # include <stddef.h>
37
+ # ifdef __cplusplus
38
+ extern "C"
39
+ # endif
40
+ void *alloca (size_t);
41
+ # endif
42
+ # endif
43
+ #endif
44
+
24
45
  #include "core.h"
25
46
  #include "randombytes.h"
26
47
  #include "utils.h"
@@ -66,6 +87,9 @@ static unsigned char canary[CANARY_SIZE];
66
87
  /* LCOV_EXCL_START */
67
88
  #ifdef HAVE_WEAK_SYMBOLS
68
89
  __attribute__((weak)) void
90
+ _sodium_dummy_symbol_to_prevent_memzero_lto(void *const pnt,
91
+ const size_t len);
92
+ __attribute__((weak)) void
69
93
  _sodium_dummy_symbol_to_prevent_memzero_lto(void *const pnt,
70
94
  const size_t len)
71
95
  {
@@ -89,6 +113,9 @@ sodium_memzero(void *const pnt, const size_t len)
89
113
  #elif HAVE_WEAK_SYMBOLS
90
114
  memset(pnt, 0, len);
91
115
  _sodium_dummy_symbol_to_prevent_memzero_lto(pnt, len);
116
+ # ifdef HAVE_AMD64_ASM
117
+ __asm__ __volatile__ ("" : : "p"(pnt));
118
+ # endif
92
119
  #else
93
120
  volatile unsigned char *volatile pnt_ =
94
121
  (volatile unsigned char *volatile) pnt;
@@ -100,8 +127,23 @@ sodium_memzero(void *const pnt, const size_t len)
100
127
  #endif
101
128
  }
102
129
 
130
+ void
131
+ sodium_stackzero(const size_t len)
132
+ {
133
+ #ifdef HAVE_C_VARARRAYS
134
+ unsigned char fodder[len];
135
+ sodium_memzero(fodder, len);
136
+ #elif HAVE_ALLOCA
137
+ sodium_memzero(alloca(len), len);
138
+ #endif
139
+ }
140
+
103
141
  #ifdef HAVE_WEAK_SYMBOLS
104
142
  __attribute__((weak)) void
143
+ _sodium_dummy_symbol_to_prevent_memcmp_lto(const unsigned char *b1,
144
+ const unsigned char *b2,
145
+ const size_t len);
146
+ __attribute__((weak)) void
105
147
  _sodium_dummy_symbol_to_prevent_memcmp_lto(const unsigned char *b1,
106
148
  const unsigned char *b2,
107
149
  const size_t len)
@@ -138,6 +180,10 @@ sodium_memcmp(const void *const b1_, const void *const b2_, size_t len)
138
180
 
139
181
  #ifdef HAVE_WEAK_SYMBOLS
140
182
  __attribute__((weak)) void
183
+ _sodium_dummy_symbol_to_prevent_compare_lto(const unsigned char *b1,
184
+ const unsigned char *b2,
185
+ const size_t len);
186
+ __attribute__((weak)) void
141
187
  _sodium_dummy_symbol_to_prevent_compare_lto(const unsigned char *b1,
142
188
  const unsigned char *b2,
143
189
  const size_t len)
@@ -94,7 +94,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_catchable_abrt.m4 \
94
94
  $(top_srcdir)/m4/ax_check_compile_flag.m4 \
95
95
  $(top_srcdir)/m4/ax_check_define.m4 \
96
96
  $(top_srcdir)/m4/ax_check_link_flag.m4 \
97
- $(top_srcdir)/m4/ax_pthread.m4 \
97
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/ax_tls.m4 \
98
98
  $(top_srcdir)/m4/ax_valgrind_check.m4 \
99
99
  $(top_srcdir)/m4/ld-output-def.m4 $(top_srcdir)/m4/libtool.m4 \
100
100
  $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -189,6 +189,7 @@ am__relativize = \
189
189
  done; \
190
190
  reldir="$$dir2"
191
191
  ACLOCAL = @ACLOCAL@
192
+ ALLOCA = @ALLOCA@
192
193
  AMTAR = @AMTAR@
193
194
  AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
194
195
  AR = @AR@
@@ -209,6 +210,7 @@ CFLAGS_AVX2 = @CFLAGS_AVX2@
209
210
  CFLAGS_AVX512F = @CFLAGS_AVX512F@
210
211
  CFLAGS_MMX = @CFLAGS_MMX@
211
212
  CFLAGS_PCLMUL = @CFLAGS_PCLMUL@
213
+ CFLAGS_RDRAND = @CFLAGS_RDRAND@
212
214
  CFLAGS_SSE2 = @CFLAGS_SSE2@
213
215
  CFLAGS_SSE3 = @CFLAGS_SSE3@
214
216
  CFLAGS_SSE41 = @CFLAGS_SSE41@
@@ -22,6 +22,7 @@ EXTRA_DIST = \
22
22
  box_seed.exp \
23
23
  chacha20.exp \
24
24
  codecs.exp \
25
+ core_ed25519.exp \
25
26
  core1.exp \
26
27
  core2.exp \
27
28
  core3.exp \
@@ -49,6 +50,7 @@ EXTRA_DIST = \
49
50
  pwhash_scrypt_ll.exp \
50
51
  randombytes.exp \
51
52
  scalarmult.exp \
53
+ scalarmult_ed25519.exp \
52
54
  scalarmult2.exp \
53
55
  scalarmult5.exp \
54
56
  scalarmult6.exp \
@@ -95,6 +97,7 @@ DISTCLEANFILES = \
95
97
  box_seed.res \
96
98
  chacha20.res \
97
99
  codecs.res \
100
+ core_ed25519.res \
98
101
  core1.res \
99
102
  core2.res \
100
103
  core3.res \
@@ -122,6 +125,7 @@ DISTCLEANFILES = \
122
125
  pwhash_scrypt_ll.res \
123
126
  randombytes.res \
124
127
  scalarmult.res \
128
+ scalarmult_ed25519.res \
125
129
  scalarmult2.res \
126
130
  scalarmult5.res \
127
131
  scalarmult6.res \
@@ -169,6 +173,7 @@ CLEANFILES = \
169
173
  box_seed.final \
170
174
  chacha20.final \
171
175
  codecs.final \
176
+ core_ed25519.final \
172
177
  core1.final \
173
178
  core2.final \
174
179
  core3.final \
@@ -196,6 +201,7 @@ CLEANFILES = \
196
201
  pwhash_scrypt_ll.final \
197
202
  randombytes.final \
198
203
  scalarmult.final \
204
+ scalarmult_ed25519.final \
199
205
  scalarmult2.final \
200
206
  scalarmult5.final \
201
207
  scalarmult6.final \
@@ -238,6 +244,7 @@ CLEANFILES = \
238
244
  box_seed.nexe \
239
245
  chacha20.nexe \
240
246
  codecs.nexe \
247
+ core_ed25519.nexe \
241
248
  core1.nexe \
242
249
  core2.nexe \
243
250
  core3.nexe \
@@ -265,6 +272,7 @@ CLEANFILES = \
265
272
  pwhash_scrypt_ll.nexe \
266
273
  randombytes.nexe \
267
274
  scalarmult.nexe \
275
+ scalarmult_ed25519.nexe \
268
276
  scalarmult2.nexe \
269
277
  scalarmult5.nexe \
270
278
  scalarmult6.nexe \
@@ -438,6 +446,9 @@ chacha20_LDADD = $(TESTS_LDADD)
438
446
  codecs_SOURCE = cmptest.h codecs.c
439
447
  codecs_LDADD = $(TESTS_LDADD)
440
448
 
449
+ core_ed25519_SOURCE = cmptest.h core_ed25519.c
450
+ core_ed25519_LDADD = $(TESTS_LDADD)
451
+
441
452
  core1_SOURCE = cmptest.h core1.c
442
453
  core1_LDADD = $(TESTS_LDADD)
443
454
 
@@ -516,6 +527,9 @@ randombytes_LDADD = $(TESTS_LDADD)
516
527
  scalarmult_SOURCE = cmptest.h scalarmult.c
517
528
  scalarmult_LDADD = $(TESTS_LDADD)
518
529
 
530
+ scalarmult_ed25519_SOURCE = cmptest.h scalarmult_ed25519.c
531
+ scalarmult_ed25519_LDADD = $(TESTS_LDADD)
532
+
519
533
  scalarmult2_SOURCE = cmptest.h scalarmult2.c
520
534
  scalarmult2_LDADD = $(TESTS_LDADD)
521
535
 
@@ -593,8 +607,10 @@ xchacha20_LDADD = $(TESTS_LDADD)
593
607
 
594
608
  if !MINIMAL
595
609
  TESTS_TARGETS += \
610
+ core_ed25519 \
596
611
  pwhash_scrypt \
597
612
  pwhash_scrypt_ll \
613
+ scalarmult_ed25519 \
598
614
  siphashx24 \
599
615
  xchacha20
600
616
  endif
@@ -94,8 +94,10 @@ host_triplet = @host@
94
94
  check_PROGRAMS = $(am__EXEEXT_3)
95
95
  TESTS = $(am__EXEEXT_3)
96
96
  @MINIMAL_FALSE@am__append_2 = \
97
+ @MINIMAL_FALSE@ core_ed25519 \
97
98
  @MINIMAL_FALSE@ pwhash_scrypt \
98
99
  @MINIMAL_FALSE@ pwhash_scrypt_ll \
100
+ @MINIMAL_FALSE@ scalarmult_ed25519 \
99
101
  @MINIMAL_FALSE@ siphashx24 \
100
102
  @MINIMAL_FALSE@ xchacha20
101
103
 
@@ -106,7 +108,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_catchable_abrt.m4 \
106
108
  $(top_srcdir)/m4/ax_check_compile_flag.m4 \
107
109
  $(top_srcdir)/m4/ax_check_define.m4 \
108
110
  $(top_srcdir)/m4/ax_check_link_flag.m4 \
109
- $(top_srcdir)/m4/ax_pthread.m4 \
111
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/ax_tls.m4 \
110
112
  $(top_srcdir)/m4/ax_valgrind_check.m4 \
111
113
  $(top_srcdir)/m4/ld-output-def.m4 $(top_srcdir)/m4/libtool.m4 \
112
114
  $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -121,8 +123,10 @@ CONFIG_CLEAN_VPATH_FILES =
121
123
  @EMSCRIPTEN_FALSE@@NATIVECLIENT_FALSE@am__EXEEXT_1 = \
122
124
  @EMSCRIPTEN_FALSE@@NATIVECLIENT_FALSE@ sodium_utils2$(EXEEXT) \
123
125
  @EMSCRIPTEN_FALSE@@NATIVECLIENT_FALSE@ sodium_utils3$(EXEEXT)
124
- @MINIMAL_FALSE@am__EXEEXT_2 = pwhash_scrypt$(EXEEXT) \
125
- @MINIMAL_FALSE@ pwhash_scrypt_ll$(EXEEXT) siphashx24$(EXEEXT) \
126
+ @MINIMAL_FALSE@am__EXEEXT_2 = core_ed25519$(EXEEXT) \
127
+ @MINIMAL_FALSE@ pwhash_scrypt$(EXEEXT) \
128
+ @MINIMAL_FALSE@ pwhash_scrypt_ll$(EXEEXT) \
129
+ @MINIMAL_FALSE@ scalarmult_ed25519$(EXEEXT) siphashx24$(EXEEXT) \
126
130
  @MINIMAL_FALSE@ xchacha20$(EXEEXT)
127
131
  am__EXEEXT_3 = aead_aes256gcm$(EXEEXT) aead_chacha20poly1305$(EXEEXT) \
128
132
  aead_xchacha20poly1305$(EXEEXT) auth$(EXEEXT) auth2$(EXEEXT) \
@@ -226,6 +230,9 @@ core5_DEPENDENCIES = $(TESTS_LDADD)
226
230
  core6_SOURCES = core6.c
227
231
  core6_OBJECTS = core6.$(OBJEXT)
228
232
  core6_DEPENDENCIES = $(TESTS_LDADD)
233
+ core_ed25519_SOURCES = core_ed25519.c
234
+ core_ed25519_OBJECTS = core_ed25519.$(OBJEXT)
235
+ core_ed25519_DEPENDENCIES = $(TESTS_LDADD)
229
236
  ed25519_convert_SOURCES = ed25519_convert.c
230
237
  ed25519_convert_OBJECTS = ed25519_convert.$(OBJEXT)
231
238
  ed25519_convert_DEPENDENCIES = $(TESTS_LDADD)
@@ -298,6 +305,9 @@ scalarmult6_DEPENDENCIES = $(TESTS_LDADD)
298
305
  scalarmult7_SOURCES = scalarmult7.c
299
306
  scalarmult7_OBJECTS = scalarmult7.$(OBJEXT)
300
307
  scalarmult7_DEPENDENCIES = $(TESTS_LDADD)
308
+ scalarmult_ed25519_SOURCES = scalarmult_ed25519.c
309
+ scalarmult_ed25519_OBJECTS = scalarmult_ed25519.$(OBJEXT)
310
+ scalarmult_ed25519_DEPENDENCIES = $(TESTS_LDADD)
301
311
  secretbox_SOURCES = secretbox.c
302
312
  secretbox_OBJECTS = secretbox.$(OBJEXT)
303
313
  secretbox_DEPENDENCIES = $(TESTS_LDADD)
@@ -399,34 +409,34 @@ SOURCES = aead_aes256gcm.c aead_chacha20poly1305.c \
399
409
  aead_xchacha20poly1305.c auth.c auth2.c auth3.c auth5.c \
400
410
  auth6.c auth7.c box.c box2.c box7.c box8.c box_easy.c \
401
411
  box_easy2.c box_seal.c box_seed.c chacha20.c codecs.c core1.c \
402
- core2.c core3.c core4.c core5.c core6.c ed25519_convert.c \
403
- generichash.c generichash2.c generichash3.c hash.c hash3.c \
404
- kdf.c keygen.c kx.c metamorphic.c misuse.c onetimeauth.c \
405
- onetimeauth2.c onetimeauth7.c pwhash_argon2i.c \
412
+ core2.c core3.c core4.c core5.c core6.c core_ed25519.c \
413
+ ed25519_convert.c generichash.c generichash2.c generichash3.c \
414
+ hash.c hash3.c kdf.c keygen.c kx.c metamorphic.c misuse.c \
415
+ onetimeauth.c onetimeauth2.c onetimeauth7.c pwhash_argon2i.c \
406
416
  pwhash_argon2id.c pwhash_scrypt.c pwhash_scrypt_ll.c \
407
417
  randombytes.c scalarmult.c scalarmult2.c scalarmult5.c \
408
- scalarmult6.c scalarmult7.c secretbox.c secretbox2.c \
409
- secretbox7.c secretbox8.c secretbox_easy.c secretbox_easy2.c \
410
- secretstream.c shorthash.c sign.c siphashx24.c sodium_core.c \
411
- sodium_utils.c sodium_utils2.c sodium_utils3.c \
412
- sodium_version.c stream.c stream2.c stream3.c stream4.c \
413
- verify1.c xchacha20.c
418
+ scalarmult6.c scalarmult7.c scalarmult_ed25519.c secretbox.c \
419
+ secretbox2.c secretbox7.c secretbox8.c secretbox_easy.c \
420
+ secretbox_easy2.c secretstream.c shorthash.c sign.c \
421
+ siphashx24.c sodium_core.c sodium_utils.c sodium_utils2.c \
422
+ sodium_utils3.c sodium_version.c stream.c stream2.c stream3.c \
423
+ stream4.c verify1.c xchacha20.c
414
424
  DIST_SOURCES = aead_aes256gcm.c aead_chacha20poly1305.c \
415
425
  aead_xchacha20poly1305.c auth.c auth2.c auth3.c auth5.c \
416
426
  auth6.c auth7.c box.c box2.c box7.c box8.c box_easy.c \
417
427
  box_easy2.c box_seal.c box_seed.c chacha20.c codecs.c core1.c \
418
- core2.c core3.c core4.c core5.c core6.c ed25519_convert.c \
419
- generichash.c generichash2.c generichash3.c hash.c hash3.c \
420
- kdf.c keygen.c kx.c metamorphic.c misuse.c onetimeauth.c \
421
- onetimeauth2.c onetimeauth7.c pwhash_argon2i.c \
428
+ core2.c core3.c core4.c core5.c core6.c core_ed25519.c \
429
+ ed25519_convert.c generichash.c generichash2.c generichash3.c \
430
+ hash.c hash3.c kdf.c keygen.c kx.c metamorphic.c misuse.c \
431
+ onetimeauth.c onetimeauth2.c onetimeauth7.c pwhash_argon2i.c \
422
432
  pwhash_argon2id.c pwhash_scrypt.c pwhash_scrypt_ll.c \
423
433
  randombytes.c scalarmult.c scalarmult2.c scalarmult5.c \
424
- scalarmult6.c scalarmult7.c secretbox.c secretbox2.c \
425
- secretbox7.c secretbox8.c secretbox_easy.c secretbox_easy2.c \
426
- secretstream.c shorthash.c sign.c siphashx24.c sodium_core.c \
427
- sodium_utils.c sodium_utils2.c sodium_utils3.c \
428
- sodium_version.c stream.c stream2.c stream3.c stream4.c \
429
- verify1.c xchacha20.c
434
+ scalarmult6.c scalarmult7.c scalarmult_ed25519.c secretbox.c \
435
+ secretbox2.c secretbox7.c secretbox8.c secretbox_easy.c \
436
+ secretbox_easy2.c secretstream.c shorthash.c sign.c \
437
+ siphashx24.c sodium_core.c sodium_utils.c sodium_utils2.c \
438
+ sodium_utils3.c sodium_version.c stream.c stream2.c stream3.c \
439
+ stream4.c verify1.c xchacha20.c
430
440
  am__can_run_installinfo = \
431
441
  case $$AM_UPDATE_INFO_DIR in \
432
442
  n|no|NO) false;; \
@@ -660,6 +670,7 @@ am__DIST_COMMON = $(srcdir)/Makefile.in \
660
670
  $(top_srcdir)/build-aux/test-driver
661
671
  DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
662
672
  ACLOCAL = @ACLOCAL@
673
+ ALLOCA = @ALLOCA@
663
674
  AMTAR = @AMTAR@
664
675
  AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
665
676
  AR = @AR@
@@ -680,6 +691,7 @@ CFLAGS_AVX2 = @CFLAGS_AVX2@
680
691
  CFLAGS_AVX512F = @CFLAGS_AVX512F@
681
692
  CFLAGS_MMX = @CFLAGS_MMX@
682
693
  CFLAGS_PCLMUL = @CFLAGS_PCLMUL@
694
+ CFLAGS_RDRAND = @CFLAGS_RDRAND@
683
695
  CFLAGS_SSE2 = @CFLAGS_SSE2@
684
696
  CFLAGS_SSE3 = @CFLAGS_SSE3@
685
697
  CFLAGS_SSE41 = @CFLAGS_SSE41@
@@ -839,6 +851,7 @@ EXTRA_DIST = \
839
851
  box_seed.exp \
840
852
  chacha20.exp \
841
853
  codecs.exp \
854
+ core_ed25519.exp \
842
855
  core1.exp \
843
856
  core2.exp \
844
857
  core3.exp \
@@ -866,6 +879,7 @@ EXTRA_DIST = \
866
879
  pwhash_scrypt_ll.exp \
867
880
  randombytes.exp \
868
881
  scalarmult.exp \
882
+ scalarmult_ed25519.exp \
869
883
  scalarmult2.exp \
870
884
  scalarmult5.exp \
871
885
  scalarmult6.exp \
@@ -912,6 +926,7 @@ DISTCLEANFILES = \
912
926
  box_seed.res \
913
927
  chacha20.res \
914
928
  codecs.res \
929
+ core_ed25519.res \
915
930
  core1.res \
916
931
  core2.res \
917
932
  core3.res \
@@ -939,6 +954,7 @@ DISTCLEANFILES = \
939
954
  pwhash_scrypt_ll.res \
940
955
  randombytes.res \
941
956
  scalarmult.res \
957
+ scalarmult_ed25519.res \
942
958
  scalarmult2.res \
943
959
  scalarmult5.res \
944
960
  scalarmult6.res \
@@ -985,6 +1001,7 @@ DISTCLEANFILES = \
985
1001
  @NATIVECLIENT_TRUE@ box_seed.final \
986
1002
  @NATIVECLIENT_TRUE@ chacha20.final \
987
1003
  @NATIVECLIENT_TRUE@ codecs.final \
1004
+ @NATIVECLIENT_TRUE@ core_ed25519.final \
988
1005
  @NATIVECLIENT_TRUE@ core1.final \
989
1006
  @NATIVECLIENT_TRUE@ core2.final \
990
1007
  @NATIVECLIENT_TRUE@ core3.final \
@@ -1012,6 +1029,7 @@ DISTCLEANFILES = \
1012
1029
  @NATIVECLIENT_TRUE@ pwhash_scrypt_ll.final \
1013
1030
  @NATIVECLIENT_TRUE@ randombytes.final \
1014
1031
  @NATIVECLIENT_TRUE@ scalarmult.final \
1032
+ @NATIVECLIENT_TRUE@ scalarmult_ed25519.final \
1015
1033
  @NATIVECLIENT_TRUE@ scalarmult2.final \
1016
1034
  @NATIVECLIENT_TRUE@ scalarmult5.final \
1017
1035
  @NATIVECLIENT_TRUE@ scalarmult6.final \
@@ -1054,6 +1072,7 @@ DISTCLEANFILES = \
1054
1072
  @NATIVECLIENT_TRUE@ box_seed.nexe \
1055
1073
  @NATIVECLIENT_TRUE@ chacha20.nexe \
1056
1074
  @NATIVECLIENT_TRUE@ codecs.nexe \
1075
+ @NATIVECLIENT_TRUE@ core_ed25519.nexe \
1057
1076
  @NATIVECLIENT_TRUE@ core1.nexe \
1058
1077
  @NATIVECLIENT_TRUE@ core2.nexe \
1059
1078
  @NATIVECLIENT_TRUE@ core3.nexe \
@@ -1081,6 +1100,7 @@ DISTCLEANFILES = \
1081
1100
  @NATIVECLIENT_TRUE@ pwhash_scrypt_ll.nexe \
1082
1101
  @NATIVECLIENT_TRUE@ randombytes.nexe \
1083
1102
  @NATIVECLIENT_TRUE@ scalarmult.nexe \
1103
+ @NATIVECLIENT_TRUE@ scalarmult_ed25519.nexe \
1084
1104
  @NATIVECLIENT_TRUE@ scalarmult2.nexe \
1085
1105
  @NATIVECLIENT_TRUE@ scalarmult5.nexe \
1086
1106
  @NATIVECLIENT_TRUE@ scalarmult6.nexe \
@@ -1167,6 +1187,8 @@ chacha20_SOURCE = cmptest.h chacha20.c
1167
1187
  chacha20_LDADD = $(TESTS_LDADD)
1168
1188
  codecs_SOURCE = cmptest.h codecs.c
1169
1189
  codecs_LDADD = $(TESTS_LDADD)
1190
+ core_ed25519_SOURCE = cmptest.h core_ed25519.c
1191
+ core_ed25519_LDADD = $(TESTS_LDADD)
1170
1192
  core1_SOURCE = cmptest.h core1.c
1171
1193
  core1_LDADD = $(TESTS_LDADD)
1172
1194
  core2_SOURCE = cmptest.h core2.c
@@ -1219,6 +1241,8 @@ randombytes_SOURCE = cmptest.h randombytes.c
1219
1241
  randombytes_LDADD = $(TESTS_LDADD)
1220
1242
  scalarmult_SOURCE = cmptest.h scalarmult.c
1221
1243
  scalarmult_LDADD = $(TESTS_LDADD)
1244
+ scalarmult_ed25519_SOURCE = cmptest.h scalarmult_ed25519.c
1245
+ scalarmult_ed25519_LDADD = $(TESTS_LDADD)
1222
1246
  scalarmult2_SOURCE = cmptest.h scalarmult2.c
1223
1247
  scalarmult2_LDADD = $(TESTS_LDADD)
1224
1248
  scalarmult5_SOURCE = cmptest.h scalarmult5.c
@@ -1413,6 +1437,10 @@ core6$(EXEEXT): $(core6_OBJECTS) $(core6_DEPENDENCIES) $(EXTRA_core6_DEPENDENCIE
1413
1437
  @rm -f core6$(EXEEXT)
1414
1438
  $(AM_V_CCLD)$(LINK) $(core6_OBJECTS) $(core6_LDADD) $(LIBS)
1415
1439
 
1440
+ core_ed25519$(EXEEXT): $(core_ed25519_OBJECTS) $(core_ed25519_DEPENDENCIES) $(EXTRA_core_ed25519_DEPENDENCIES)
1441
+ @rm -f core_ed25519$(EXEEXT)
1442
+ $(AM_V_CCLD)$(LINK) $(core_ed25519_OBJECTS) $(core_ed25519_LDADD) $(LIBS)
1443
+
1416
1444
  ed25519_convert$(EXEEXT): $(ed25519_convert_OBJECTS) $(ed25519_convert_DEPENDENCIES) $(EXTRA_ed25519_convert_DEPENDENCIES)
1417
1445
  @rm -f ed25519_convert$(EXEEXT)
1418
1446
  $(AM_V_CCLD)$(LINK) $(ed25519_convert_OBJECTS) $(ed25519_convert_LDADD) $(LIBS)
@@ -1509,6 +1537,10 @@ scalarmult7$(EXEEXT): $(scalarmult7_OBJECTS) $(scalarmult7_DEPENDENCIES) $(EXTRA
1509
1537
  @rm -f scalarmult7$(EXEEXT)
1510
1538
  $(AM_V_CCLD)$(LINK) $(scalarmult7_OBJECTS) $(scalarmult7_LDADD) $(LIBS)
1511
1539
 
1540
+ scalarmult_ed25519$(EXEEXT): $(scalarmult_ed25519_OBJECTS) $(scalarmult_ed25519_DEPENDENCIES) $(EXTRA_scalarmult_ed25519_DEPENDENCIES)
1541
+ @rm -f scalarmult_ed25519$(EXEEXT)
1542
+ $(AM_V_CCLD)$(LINK) $(scalarmult_ed25519_OBJECTS) $(scalarmult_ed25519_LDADD) $(LIBS)
1543
+
1512
1544
  secretbox$(EXEEXT): $(secretbox_OBJECTS) $(secretbox_DEPENDENCIES) $(EXTRA_secretbox_DEPENDENCIES)
1513
1545
  @rm -f secretbox$(EXEEXT)
1514
1546
  $(AM_V_CCLD)$(LINK) $(secretbox_OBJECTS) $(secretbox_LDADD) $(LIBS)
@@ -1624,6 +1656,7 @@ distclean-compile:
1624
1656
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/core4.Po@am__quote@
1625
1657
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/core5.Po@am__quote@
1626
1658
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/core6.Po@am__quote@
1659
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/core_ed25519.Po@am__quote@
1627
1660
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ed25519_convert.Po@am__quote@
1628
1661
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/generichash.Po@am__quote@
1629
1662
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/generichash2.Po@am__quote@
@@ -1648,6 +1681,7 @@ distclean-compile:
1648
1681
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scalarmult5.Po@am__quote@
1649
1682
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scalarmult6.Po@am__quote@
1650
1683
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scalarmult7.Po@am__quote@
1684
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scalarmult_ed25519.Po@am__quote@
1651
1685
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secretbox.Po@am__quote@
1652
1686
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secretbox2.Po@am__quote@
1653
1687
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secretbox7.Po@am__quote@
@@ -2355,6 +2389,13 @@ sodium_utils3.log: sodium_utils3$(EXEEXT)
2355
2389
  --log-file $$b.log --trs-file $$b.trs \
2356
2390
  $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
2357
2391
  "$$tst" $(AM_TESTS_FD_REDIRECT)
2392
+ core_ed25519.log: core_ed25519$(EXEEXT)
2393
+ @p='core_ed25519$(EXEEXT)'; \
2394
+ b='core_ed25519'; \
2395
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
2396
+ --log-file $$b.log --trs-file $$b.trs \
2397
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
2398
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
2358
2399
  pwhash_scrypt.log: pwhash_scrypt$(EXEEXT)
2359
2400
  @p='pwhash_scrypt$(EXEEXT)'; \
2360
2401
  b='pwhash_scrypt'; \
@@ -2369,6 +2410,13 @@ pwhash_scrypt_ll.log: pwhash_scrypt_ll$(EXEEXT)
2369
2410
  --log-file $$b.log --trs-file $$b.trs \
2370
2411
  $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
2371
2412
  "$$tst" $(AM_TESTS_FD_REDIRECT)
2413
+ scalarmult_ed25519.log: scalarmult_ed25519$(EXEEXT)
2414
+ @p='scalarmult_ed25519$(EXEEXT)'; \
2415
+ b='scalarmult_ed25519'; \
2416
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
2417
+ --log-file $$b.log --trs-file $$b.trs \
2418
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
2419
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
2372
2420
  siphashx24.log: siphashx24$(EXEEXT)
2373
2421
  @p='siphashx24$(EXEEXT)'; \
2374
2422
  b='siphashx24'; \