rbnacl-libsodium 1.0.8 → 1.0.9

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 (204) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +23 -0
  3. data/CHANGES.md +5 -0
  4. data/Gemfile +5 -2
  5. data/Rakefile +5 -0
  6. data/ext/rbnacl/extconf.rb +2 -1
  7. data/lib/rbnacl/libsodium.rb +8 -2
  8. data/lib/rbnacl/libsodium/version.rb +1 -1
  9. data/vendor/libsodium/AUTHORS +14 -0
  10. data/vendor/libsodium/ChangeLog +26 -0
  11. data/vendor/libsodium/LICENSE +1 -1
  12. data/vendor/libsodium/Makefile.am +1 -0
  13. data/vendor/libsodium/Makefile.in +9 -0
  14. data/vendor/libsodium/README.markdown +7 -0
  15. data/vendor/libsodium/aclocal.m4 +1 -0
  16. data/vendor/libsodium/appveyor.yml +25 -0
  17. data/vendor/libsodium/autom4te.cache/output.1 +640 -126
  18. data/vendor/libsodium/autom4te.cache/output.6 +19049 -0
  19. data/vendor/libsodium/autom4te.cache/requests +1151 -914
  20. data/vendor/libsodium/autom4te.cache/traces.1 +472 -426
  21. data/vendor/libsodium/autom4te.cache/traces.6 +3193 -0
  22. data/vendor/libsodium/builds/msvc/version.h +2 -2
  23. data/vendor/libsodium/builds/msvc/vs2010/libsodium.sln +50 -79
  24. data/vendor/libsodium/builds/msvc/vs2010/libsodium/libsodium.vcxproj +20 -8
  25. data/vendor/libsodium/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters +208 -166
  26. data/vendor/libsodium/builds/msvc/vs2012/libsodium.sln +50 -79
  27. data/vendor/libsodium/builds/msvc/vs2012/libsodium/libsodium.vcxproj +20 -8
  28. data/vendor/libsodium/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters +206 -164
  29. data/vendor/libsodium/builds/msvc/vs2013/libsodium.sln +52 -81
  30. data/vendor/libsodium/builds/msvc/vs2013/libsodium/libsodium.vcxproj +20 -8
  31. data/vendor/libsodium/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters +206 -164
  32. data/vendor/libsodium/builds/msvc/vs2015/libsodium.sln +52 -81
  33. data/vendor/libsodium/builds/msvc/vs2015/libsodium/libsodium.vcxproj +20 -8
  34. data/vendor/libsodium/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters +206 -164
  35. data/vendor/libsodium/configure +639 -125
  36. data/vendor/libsodium/configure.ac +94 -16
  37. data/vendor/libsodium/dist-build/Makefile.in +9 -0
  38. data/vendor/libsodium/dist-build/emscripten-symbols.def +370 -0
  39. data/vendor/libsodium/dist-build/emscripten.sh +9 -3
  40. data/vendor/libsodium/dist-build/generate-emscripten-symbols.sh +43 -0
  41. data/vendor/libsodium/libsodium-uninstalled.pc.in +1 -1
  42. data/vendor/libsodium/libsodium.pc.in +1 -1
  43. data/vendor/libsodium/libsodium.vcxproj +70 -66
  44. data/vendor/libsodium/libsodium.vcxproj.filters +204 -192
  45. data/vendor/libsodium/m4/ax_valgrind_check.m4 +190 -0
  46. data/vendor/libsodium/msvc-scripts/Makefile.in +9 -0
  47. data/vendor/libsodium/msvc-scripts/process.bat +2 -2
  48. data/vendor/libsodium/src/Makefile.in +9 -0
  49. data/vendor/libsodium/src/libsodium/Makefile.am +31 -6
  50. data/vendor/libsodium/src/libsodium/Makefile.in +238 -42
  51. data/vendor/libsodium/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c +234 -38
  52. data/vendor/libsodium/src/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c +208 -118
  53. data/vendor/libsodium/src/libsodium/crypto_box/crypto_box_seal.c +2 -2
  54. data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/before_curve25519xsalsa20poly1305.c +1 -4
  55. data/vendor/libsodium/src/libsodium/crypto_core/curve25519/ref10/curve25519_ref10.c +1799 -1790
  56. data/vendor/libsodium/src/libsodium/crypto_core/curve25519/ref10/curve25519_ref10.h +39 -39
  57. data/vendor/libsodium/src/libsodium/crypto_core/hchacha20/core_hchacha20.c +86 -0
  58. data/vendor/libsodium/src/libsodium/crypto_core/hchacha20/core_hchacha20.h +28 -0
  59. data/vendor/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20.c +38 -46
  60. data/vendor/libsodium/src/libsodium/crypto_core/salsa20/ref/core_salsa20.c +47 -55
  61. data/vendor/libsodium/src/libsodium/crypto_core/salsa2012/ref/core_salsa2012.c +47 -55
  62. data/vendor/libsodium/src/libsodium/crypto_core/salsa208/ref/core_salsa208.c +47 -55
  63. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/generichash_blake2_api.c +7 -0
  64. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2-impl.h +0 -89
  65. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2.h +50 -141
  66. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-avx2.c +45 -0
  67. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-avx2.h +123 -0
  68. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-ref.c +3 -2
  69. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-sse41.c +2 -2
  70. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/{blake2b-round.h → blake2b-compress-sse41.h} +2 -28
  71. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-ssse3.c +2 -4
  72. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-ssse3.h +97 -0
  73. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-load-avx2.h +339 -0
  74. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-load-sse2.h +0 -2
  75. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-load-sse41.h +0 -2
  76. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-ref.c +29 -18
  77. data/vendor/libsodium/src/libsodium/crypto_hash/sha256/cp/hash_sha256.c +4 -43
  78. data/vendor/libsodium/src/libsodium/crypto_hash/sha512/cp/hash_sha512.c +3 -32
  79. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h +1 -20
  80. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h +22 -41
  81. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h +12 -39
  82. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c +2 -4
  83. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h +1 -20
  84. data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.c +570 -0
  85. data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.h +198 -0
  86. data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-encoding.c +444 -0
  87. data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-encoding.h +32 -0
  88. data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c +229 -0
  89. data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.c +222 -0
  90. data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-impl.h +40 -0
  91. data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2.c +238 -0
  92. data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2.h +251 -0
  93. data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/blake2b-long.c +80 -0
  94. data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/blake2b-long.h +8 -0
  95. data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-ref.h +38 -0
  96. data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-ssse3.h +117 -0
  97. data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c +164 -0
  98. data/vendor/libsodium/src/libsodium/crypto_pwhash/crypto_pwhash.c +106 -0
  99. data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c +1 -1
  100. data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h +4 -4
  101. data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c +186 -186
  102. data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.c +2 -2
  103. data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c +3 -2
  104. data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c +33 -33
  105. data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c +253 -254
  106. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.c +16 -17
  107. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.h +1 -0
  108. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c +11 -11
  109. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.h +1 -0
  110. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h +1 -1
  111. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h +3 -2
  112. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h +5 -3
  113. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c +41 -41
  114. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_mul.S +10 -2
  115. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h +1 -1
  116. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_nsquare.S +4 -0
  117. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_pack.S +4 -0
  118. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c +31 -32
  119. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.S +4 -0
  120. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h +1 -1
  121. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.S +4 -0
  122. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.h +1 -1
  123. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base_namespace.h +1 -1
  124. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h +1 -1
  125. data/vendor/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c +2 -6
  126. data/vendor/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24.c +8 -28
  127. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.c +75 -0
  128. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/afternm_aes128ctr.c +6 -6
  129. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/common.h +1 -18
  130. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/int128_aes128ctr.c +20 -20
  131. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/types.h +4 -4
  132. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c +6 -6
  133. data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/ref/stream_chacha20_ref.c +56 -77
  134. data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/ref/stream_chacha20_ref.h +1 -0
  135. data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/vec/stream_chacha20_vec.h +1 -0
  136. data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/stream_salsa20_ref.c +2 -8
  137. data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/xor_salsa20_ref.c +2 -8
  138. data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012.c +2 -8
  139. data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/ref/xor_salsa2012.c +2 -8
  140. data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208.c +2 -8
  141. data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/ref/xor_salsa208.c +2 -8
  142. data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/stream_xsalsa20.c +1 -5
  143. data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/xor_xsalsa20.c +1 -5
  144. data/vendor/libsodium/src/libsodium/include/Makefile.am +3 -0
  145. data/vendor/libsodium/src/libsodium/include/Makefile.in +19 -8
  146. data/vendor/libsodium/src/libsodium/include/sodium.h +3 -0
  147. data/vendor/libsodium/src/libsodium/include/sodium/crypto_aead_aes256gcm.h +50 -0
  148. data/vendor/libsodium/src/libsodium/include/sodium/crypto_aead_chacha20poly1305.h +94 -22
  149. data/vendor/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h +6 -6
  150. data/vendor/libsodium/src/libsodium/include/sodium/crypto_core_hchacha20.h +35 -0
  151. data/vendor/libsodium/src/libsodium/include/sodium/crypto_generichash_blake2b.h +3 -0
  152. data/vendor/libsodium/src/libsodium/include/sodium/crypto_pwhash.h +89 -0
  153. data/vendor/libsodium/src/libsodium/include/sodium/crypto_pwhash_argon2i.h +86 -0
  154. data/vendor/libsodium/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h +6 -6
  155. data/vendor/libsodium/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h +0 -11
  156. data/vendor/libsodium/src/libsodium/include/sodium/runtime.h +3 -0
  157. data/vendor/libsodium/src/libsodium/randombytes/randombytes.c +3 -0
  158. data/vendor/libsodium/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c +5 -1
  159. data/vendor/libsodium/src/libsodium/sodium/common.h +150 -0
  160. data/vendor/libsodium/src/libsodium/sodium/core.c +3 -1
  161. data/vendor/libsodium/src/libsodium/sodium/runtime.c +37 -19
  162. data/vendor/libsodium/src/libsodium/sodium/utils.c +18 -9
  163. data/vendor/libsodium/test/Makefile.in +9 -0
  164. data/vendor/libsodium/test/default/Makefile.am +10 -0
  165. data/vendor/libsodium/test/default/Makefile.in +53 -20
  166. data/vendor/libsodium/test/default/aead_aes256gcm.c +43 -17
  167. data/vendor/libsodium/test/default/aead_chacha20poly1305.c +179 -86
  168. data/vendor/libsodium/test/default/auth7.c +5 -5
  169. data/vendor/libsodium/test/default/box.c +4 -4
  170. data/vendor/libsodium/test/default/box2.c +1 -1
  171. data/vendor/libsodium/test/default/core6.c +1 -1
  172. data/vendor/libsodium/test/default/generichash.c +12 -1
  173. data/vendor/libsodium/test/default/generichash2.c +2 -2
  174. data/vendor/libsodium/test/default/generichash3.c +21 -0
  175. data/vendor/libsodium/test/default/pwhash.c +186 -168
  176. data/vendor/libsodium/test/default/pwhash.exp +11 -30
  177. data/vendor/libsodium/test/default/pwhash_scrypt.c +349 -0
  178. data/vendor/libsodium/test/default/pwhash_scrypt.exp +31 -0
  179. data/vendor/libsodium/test/default/secretbox.c +1 -1
  180. data/vendor/libsodium/test/default/secretbox2.c +1 -1
  181. data/vendor/libsodium/test/default/sign.c +15 -0
  182. data/vendor/libsodium/test/default/sodium_utils2.c +8 -3
  183. data/vendor/libsodium/test/default/sodium_utils3.c +4 -2
  184. data/vendor/libsodium/test/default/verify1.c +0 -4
  185. data/vendor/libsodium/test/quirks/quirks.h +3 -0
  186. metadata +37 -22
  187. data/vendor/libsodium/builds/msvc/vs2010/test/test.props +0 -43
  188. data/vendor/libsodium/builds/msvc/vs2010/test/test.runner.bat +0 -78
  189. data/vendor/libsodium/builds/msvc/vs2010/test/test.vcxproj +0 -244
  190. data/vendor/libsodium/builds/msvc/vs2010/test/test.vcxproj.filters +0 -192
  191. data/vendor/libsodium/builds/msvc/vs2012/test/test.props +0 -43
  192. data/vendor/libsodium/builds/msvc/vs2012/test/test.runner.bat +0 -78
  193. data/vendor/libsodium/builds/msvc/vs2012/test/test.vcxproj +0 -244
  194. data/vendor/libsodium/builds/msvc/vs2012/test/test.vcxproj.filters +0 -192
  195. data/vendor/libsodium/builds/msvc/vs2013/test/test.props +0 -43
  196. data/vendor/libsodium/builds/msvc/vs2013/test/test.runner.bat +0 -78
  197. data/vendor/libsodium/builds/msvc/vs2013/test/test.vcxproj +0 -244
  198. data/vendor/libsodium/builds/msvc/vs2013/test/test.vcxproj.filters +0 -192
  199. data/vendor/libsodium/builds/msvc/vs2015/test/test.props +0 -43
  200. data/vendor/libsodium/builds/msvc/vs2015/test/test.runner.bat +0 -78
  201. data/vendor/libsodium/builds/msvc/vs2015/test/test.vcxproj +0 -244
  202. data/vendor/libsodium/builds/msvc/vs2015/test/test.vcxproj.filters +0 -192
  203. data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sysendian.h +0 -146
  204. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/common_aes128ctr.c +0 -64
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b43a97a68f14245c79b2657108fb3dd0c0843a81
4
- data.tar.gz: 8bf405595200e0b7d1a9dac2ebd317fe76d2613f
3
+ metadata.gz: b56580328c4cb767702ac03dcb1479b879bcea2c
4
+ data.tar.gz: 3e590ea6f1acb52f7c29bbd11191bdc4e8c39823
5
5
  SHA512:
6
- metadata.gz: 327f5c5d03ccab99de68b7878f9b0110697cba7a8360529bb4d86272df162dc07da29f79f6a625ae91551193670a2eabcac15231ae6be1f37ef22986efba959d
7
- data.tar.gz: c0694f8097587a398fa60e998fa403e3be85045ad33c609784f02ae9d2f491c50a6e90649c0196ddfeabdf7253ef1c6fa075aa469c6aaaa16286f14a782d3383
6
+ metadata.gz: 114181ce4c5f580a48ab16e6f64f38cfe3e56fc55c49f0fb157600b3cf068a01d531ef7df39a3f185dcdebcfd44af14882b560438330a4f65dd638c7cd41eacd
7
+ data.tar.gz: f0d5b3c4bd6b427052c2f80fbc85bcd440552eb1793492a19f12ce44f9deb762a023acce871bfbde0eccdd422b2fe37c7595468b2d7415e37b3a8f3278a4cfae
@@ -0,0 +1,23 @@
1
+ language: ruby
2
+ sudo: false
3
+
4
+ rvm:
5
+ - 2.0.0
6
+ - 2.1.8
7
+ - 2.2.4
8
+ - 2.3.0
9
+ - ruby-head
10
+ - jruby
11
+ - jruby-9.0.4.0
12
+ - jruby-head
13
+ - rbx-2
14
+
15
+ matrix:
16
+ fast_finish: true
17
+ allow_failures:
18
+ - rvm: ruby-head
19
+ - rvm: jruby-head
20
+ - rvm: rbx-2
21
+
22
+ notifications:
23
+ irc: "irc.freenode.org#cryptosphere"
data/CHANGES.md CHANGED
@@ -1,3 +1,8 @@
1
+ 1.0.9 (2015-04-02)
2
+ ------------------
3
+ * Update to libsodium 1.0.9
4
+ * Windows support fixups
5
+
1
6
  1.0.8 (2015-12-26)
2
7
  ------------------
3
8
  * Update to libsodium 1.0.8
data/Gemfile CHANGED
@@ -1,6 +1,9 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
+ gemspec
4
+
3
5
  gem "rbnacl", github: 'cryptosphere/rbnacl'
4
6
 
5
- # Specify your gem's dependencies in rbnacl-libsodium.gemspec
6
- gemspec
7
+ group :development, :test do
8
+ gem "rspec", "~> 3"
9
+ end
data/Rakefile CHANGED
@@ -1 +1,6 @@
1
1
  require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new
5
+
6
+ task default: :spec
@@ -19,7 +19,8 @@ LIBSODIUM_DIR = File.expand_path(File.join(CWD, '..', '..', 'vendor', 'libsodium
19
19
  MAKE = ENV['MAKE'] || ENV['make'] || "make"
20
20
 
21
21
  Dir.chdir(LIBSODIUM_DIR) do
22
- sys("./configure --prefix=#{LIBSODIUM_DIR}/dist")
22
+ # sh is required to run configure on Windows
23
+ sys("sh -c \"./configure --prefix=#{LIBSODIUM_DIR}/dist\"")
23
24
  sys(MAKE)
24
25
  sys("#{MAKE} install")
25
26
  end
@@ -2,8 +2,14 @@ require "rbnacl/libsodium/version"
2
2
 
3
3
  module RbNaCl
4
4
  module Libsodium
5
- sodiumlib_dir = File.expand_path(File.join(File.dirname(__FILE__), "../../vendor/libsodium/dist/lib/"))
6
- sodiumlib_filename = RUBY_DESCRIPTION =~ /darwin/ ? "libsodium.dylib" : "libsodium.so"
5
+ sodiumlib_dir = File.expand_path("../../../vendor/libsodium/dist/lib/", __FILE__)
6
+
7
+ sodiumlib_filename = case RUBY_DESCRIPTION
8
+ when /darwin/ then "libsodium.dylib"
9
+ when /Windows|(win|mingw)32/ then "libsodium.dll"
10
+ else "libsodium.so"
11
+ end
12
+
7
13
  ::RBNACL_LIBSODIUM_GEM_LIB_PATH = File.join(sodiumlib_dir, sodiumlib_filename)
8
14
  end
9
15
  end
@@ -1,5 +1,5 @@
1
1
  module RbNaCl
2
2
  module Libsodium
3
- VERSION = '1.0.8'
3
+ VERSION = '1.0.9'
4
4
  end
5
5
  end
@@ -2,6 +2,10 @@
2
2
  Designers
3
3
  =========
4
4
 
5
+ argon2 Alex Biryukov
6
+ Daniel Dinu
7
+ Dmitry Khovratovich
8
+
5
9
  blake2 Jean-Philippe Aumasson
6
10
  Christian Winnerlein
7
11
  Samuel Neves
@@ -38,8 +42,12 @@ crypto_aead/aes256gcm/aesni Romain Dolbeau
38
42
 
39
43
  crypto_aead/chacha20poly1305 Frank Denis
40
44
 
45
+ crypto_core/curve25519 Daniel J. Bernstein
46
+
41
47
  crypto_box/curve25519xsalsa20poly1305 Daniel J. Bernstein
42
48
 
49
+ crypto_core/hchacha20 Frank Denis
50
+
43
51
  crypto_core/hsalsa20 Daniel J. Bernstein
44
52
  crypto_core/salsa20
45
53
  crypto_core/salsa2012
@@ -90,5 +98,11 @@ crypto_onetimeauth/poly1305/donna Andrew "floodyberry" Moon
90
98
 
91
99
  crypto_onetimeauth/poly1305/sse2 Andrew "floodyberry" Moon
92
100
 
101
+ crypto_pwhash/argon2 Samuel Neves
102
+ Dmitry Khovratovich
103
+ Jean-Philippe Aumasson
104
+ Daniel Dinu
105
+ Thomas Pornin
106
+
93
107
  crypto_pwhash/scryptsalsa208sha256 Colin Percival
94
108
  Alexander Peslyak
@@ -1,4 +1,30 @@
1
1
 
2
+ * Version 1.0.9
3
+ - The Javascript target now includes a `--sumo` option to include all
4
+ the symbols of the original C library.
5
+ - A detached API was added to the ChaCha20-Poly1305 and AES256-GCM
6
+ implementations.
7
+ - The Argon2i password hashing function was added, and is accessible
8
+ directly and through a new, high-level `crypto_pwhash` API. The scrypt
9
+ function remains available as well.
10
+ - A speed-record AVX2 implementation of BLAKE2b was added (thanks to
11
+ Samuel Neves).
12
+ - The library can now be compiled using C++Builder (thanks to @jcolli44)
13
+ - Countermeasures for Ed25519 signatures malleability have been added
14
+ to match the irtf-cfrg-eddsa draft (note that malleability is irrelevant to
15
+ the standard definition of signature security). Signatures with a small-order
16
+ `R` point are now also rejected.
17
+ - Some implementations are now slightly faster when using the Clang
18
+ compiler.
19
+ - The HChaCha20 core function was implemented (`crypto_core_hchacha20()`).
20
+ - No-op stubs were added for all AES256-GCM public functions even when
21
+ compiled on non-Intel platforms.
22
+ - `crypt_generichash_blake2b_statebytes()` was added.
23
+ - New macros were added for the IETF variant of the ChaCha20-Poly1305
24
+ construction.
25
+ - The library can now be compiled on Minix.
26
+ - HEASLR is now enabled on MinGW builds.
27
+
2
28
  * Version 1.0.8
3
29
  - Handle the case where the CPU supports AVX, but we are running
4
30
  on an hypervisor with AVX disabled/not supported.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2013-2015
2
+ * Copyright (c) 2013-2016
3
3
  * Frank Denis <j at pureftpd dot org>
4
4
  *
5
5
  * Permission to use, copy, modify, and/or distribute this software for any
@@ -17,5 +17,6 @@ SUBDIRS = \
17
17
 
18
18
  pkgconfigdir = $(libdir)/pkgconfig
19
19
  pkgconfig_DATA = @PACKAGE_NAME@.pc
20
+
20
21
  DISTCLEANFILES = $(pkgconfig_DATA)
21
22
 
@@ -93,6 +93,7 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
93
93
  am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
94
94
  $(top_srcdir)/m4/ax_check_define.m4 \
95
95
  $(top_srcdir)/m4/ax_check_link_flag.m4 \
96
+ $(top_srcdir)/m4/ax_valgrind_check.m4 \
96
97
  $(top_srcdir)/m4/ld-output-def.m4 $(top_srcdir)/m4/libtool.m4 \
97
98
  $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
98
99
  $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
@@ -264,6 +265,8 @@ CCASFLAGS = @CCASFLAGS@
264
265
  CCDEPMODE = @CCDEPMODE@
265
266
  CFLAGS = @CFLAGS@
266
267
  CFLAGS_AESNI = @CFLAGS_AESNI@
268
+ CFLAGS_AVX = @CFLAGS_AVX@
269
+ CFLAGS_AVX2 = @CFLAGS_AVX2@
267
270
  CFLAGS_MMX = @CFLAGS_MMX@
268
271
  CFLAGS_PCLMUL = @CFLAGS_PCLMUL@
269
272
  CFLAGS_SSE2 = @CFLAGS_SSE2@
@@ -336,6 +339,12 @@ SODIUM_LIBRARY_VERSION_MAJOR = @SODIUM_LIBRARY_VERSION_MAJOR@
336
339
  SODIUM_LIBRARY_VERSION_MINOR = @SODIUM_LIBRARY_VERSION_MINOR@
337
340
  STRIP = @STRIP@
338
341
  TEST_LDFLAGS = @TEST_LDFLAGS@
342
+ VALGRIND = @VALGRIND@
343
+ VALGRIND_ENABLED = @VALGRIND_ENABLED@
344
+ VALGRIND_HAVE_TOOL_drd = @VALGRIND_HAVE_TOOL_drd@
345
+ VALGRIND_HAVE_TOOL_exp_sgcheck = @VALGRIND_HAVE_TOOL_exp_sgcheck@
346
+ VALGRIND_HAVE_TOOL_helgrind = @VALGRIND_HAVE_TOOL_helgrind@
347
+ VALGRIND_HAVE_TOOL_memcheck = @VALGRIND_HAVE_TOOL_memcheck@
339
348
  VERSION = @VERSION@
340
349
  abs_builddir = @abs_builddir@
341
350
  abs_srcdir = @abs_srcdir@
@@ -1,4 +1,5 @@
1
1
  [![Build Status](https://travis-ci.org/jedisct1/libsodium.svg?branch=master)](https://travis-ci.org/jedisct1/libsodium?branch=master)
2
+ [![Windows build status](https://ci.appveyor.com/api/projects/status/fu8s2elx25il98hj?svg=true)](https://ci.appveyor.com/project/jedisct1/libsodium)
2
3
  [![Coverity Scan Build Status](https://scan.coverity.com/projects/2397/badge.svg)](https://scan.coverity.com/projects/2397)
3
4
 
4
5
  ![libsodium](https://raw.github.com/jedisct1/libsodium/master/logo.png)
@@ -27,6 +28,12 @@ online, requires Javascript.
27
28
  * [offline documentation](https://www.gitbook.com/book/jedisct1/libsodium/details)
28
29
  in PDF, MOBI and ePUB formats.
29
30
 
31
+ ## Integrity Checking
32
+
33
+ The integrity checking instructions (including the signing key for libsodium)
34
+ are available in the [installation](https://download.libsodium.org/doc/installation/index.html#integrity-checking)
35
+ section of the documentation.
36
+
30
37
  ## Community
31
38
 
32
39
  A mailing-list is available to discuss libsodium.
@@ -1209,6 +1209,7 @@ AC_SUBST([am__untar])
1209
1209
  m4_include([m4/ax_check_compile_flag.m4])
1210
1210
  m4_include([m4/ax_check_define.m4])
1211
1211
  m4_include([m4/ax_check_link_flag.m4])
1212
+ m4_include([m4/ax_valgrind_check.m4])
1212
1213
  m4_include([m4/ld-output-def.m4])
1213
1214
  m4_include([m4/libtool.m4])
1214
1215
  m4_include([m4/ltoptions.m4])
@@ -0,0 +1,25 @@
1
+ version: 1.0.9.{build}
2
+
3
+ os: Visual Studio 2015
4
+
5
+ environment:
6
+ matrix:
7
+ - platform: Win32
8
+ configuration: Debug
9
+ - platform: Win32
10
+ configuration: Release
11
+ - platform: x64
12
+ configuration: Debug
13
+ - platform: x64
14
+ configuration: Release
15
+
16
+ matrix:
17
+ fast_finish: false
18
+
19
+ init:
20
+ msbuild /version
21
+
22
+ build:
23
+ parallel: true
24
+ project: libsodium.vcxproj
25
+ verbosity: minimal
@@ -1,6 +1,6 @@
1
1
  @%:@! /bin/sh
2
2
  @%:@ Guess values for system-dependent variables and create Makefiles.
3
- @%:@ Generated by GNU Autoconf 2.69 for libsodium 1.0.8.
3
+ @%:@ Generated by GNU Autoconf 2.69 for libsodium 1.0.9.
4
4
  @%:@
5
5
  @%:@ Report bugs to <https://github.com/jedisct1/libsodium/issues>.
6
6
  @%:@
@@ -590,8 +590,8 @@ MAKEFLAGS=
590
590
  # Identity of this package.
591
591
  PACKAGE_NAME='libsodium'
592
592
  PACKAGE_TARNAME='libsodium'
593
- PACKAGE_VERSION='1.0.8'
594
- PACKAGE_STRING='libsodium 1.0.8'
593
+ PACKAGE_VERSION='1.0.9'
594
+ PACKAGE_STRING='libsodium 1.0.9'
595
595
  PACKAGE_BUGREPORT='https://github.com/jedisct1/libsodium/issues'
596
596
  PACKAGE_URL='https://github.com/jedisct1/libsodium'
597
597
 
@@ -657,6 +657,8 @@ HAVE_AMD64_ASM_FALSE
657
657
  HAVE_AMD64_ASM_TRUE
658
658
  CFLAGS_PCLMUL
659
659
  CFLAGS_AESNI
660
+ CFLAGS_AVX2
661
+ CFLAGS_AVX
660
662
  CFLAGS_SSE41
661
663
  CFLAGS_SSSE3
662
664
  CFLAGS_SSE3
@@ -705,6 +707,15 @@ CPPFLAGS
705
707
  LDFLAGS
706
708
  CFLAGS
707
709
  CC
710
+ VALGRIND_CHECK_RULES
711
+ VALGRIND_HAVE_TOOL_exp_sgcheck
712
+ VALGRIND_HAVE_TOOL_drd
713
+ VALGRIND_HAVE_TOOL_helgrind
714
+ VALGRIND_HAVE_TOOL_memcheck
715
+ VALGRIND_ENABLED
716
+ VALGRIND_ENABLED_FALSE
717
+ VALGRIND_ENABLED_TRUE
718
+ VALGRIND
708
719
  SAFECODE_HOME
709
720
  MINIMAL_FALSE
710
721
  MINIMAL_TRUE
@@ -807,6 +818,7 @@ enable_minimal
807
818
  with_safecode
808
819
  enable_debug
809
820
  enable_opt
821
+ enable_valgrind
810
822
  enable_soname_versions
811
823
  enable_shared
812
824
  enable_static
@@ -1372,7 +1384,7 @@ if test "$ac_init_help" = "long"; then
1372
1384
  # Omit some internal or obsolete options to make the list less imposing.
1373
1385
  # This message is too long to be a string in the A/UX 3.1 sh.
1374
1386
  cat <<_ACEOF
1375
- \`configure' configures libsodium 1.0.8 to adapt to many kinds of systems.
1387
+ \`configure' configures libsodium 1.0.9 to adapt to many kinds of systems.
1376
1388
 
1377
1389
  Usage: $0 [OPTION]... [VAR=VALUE]...
1378
1390
 
@@ -1442,7 +1454,7 @@ fi
1442
1454
 
1443
1455
  if test -n "$ac_init_help"; then
1444
1456
  case $ac_init_help in
1445
- short | recursive ) echo "Configuration of libsodium 1.0.8:";;
1457
+ short | recursive ) echo "Configuration of libsodium 1.0.9:";;
1446
1458
  esac
1447
1459
  cat <<\_ACEOF
1448
1460
 
@@ -1470,6 +1482,8 @@ Optional Features:
1470
1482
  --enable-debug For maintainers only - please do not use
1471
1483
  --enable-opt Optimize for the native CPU - The resulting library
1472
1484
  will be faster but not portable
1485
+ --enable-valgrind Whether to enable Valgrind on the unit tests
1486
+ (requires GNU make)
1473
1487
  --enable-soname-versions
1474
1488
  enable soname versions (must be disabled for
1475
1489
  Android) (default: enabled)
@@ -1577,7 +1591,7 @@ fi
1577
1591
  test -n "$ac_init_help" && exit $ac_status
1578
1592
  if $ac_init_version; then
1579
1593
  cat <<\_ACEOF
1580
- libsodium configure 1.0.8
1594
+ libsodium configure 1.0.9
1581
1595
  generated by GNU Autoconf 2.69
1582
1596
 
1583
1597
  Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1946,7 +1960,7 @@ cat >config.log <<_ACEOF
1946
1960
  This file contains any messages produced by compilers while
1947
1961
  running configure, to aid debugging if configure makes a mistake.
1948
1962
 
1949
- It was created by libsodium $as_me 1.0.8, which was
1963
+ It was created by libsodium $as_me 1.0.9, which was
1950
1964
  generated by GNU Autoconf 2.69. Invocation command line was
1951
1965
 
1952
1966
  $ $0 $@
@@ -2882,7 +2896,7 @@ fi
2882
2896
 
2883
2897
  # Define the identity of the package.
2884
2898
  PACKAGE='libsodium'
2885
- VERSION='1.0.8'
2899
+ VERSION='1.0.9'
2886
2900
 
2887
2901
 
2888
2902
  cat >>confdefs.h <<_ACEOF
@@ -3178,9 +3192,9 @@ ISODATE=`date +%Y-%m-%d`
3178
3192
 
3179
3193
 
3180
3194
  SODIUM_LIBRARY_VERSION_MAJOR=9
3181
- SODIUM_LIBRARY_VERSION_MINOR=1
3195
+ SODIUM_LIBRARY_VERSION_MINOR=2
3182
3196
  DLL_VERSION=8
3183
- SODIUM_LIBRARY_VERSION=18:1:0
3197
+ SODIUM_LIBRARY_VERSION=19:0:1
3184
3198
  # | | |
3185
3199
  # +------+ | +---+
3186
3200
  # | | |
@@ -3363,8 +3377,8 @@ if test "${enable_opt+set}" = set; then :
3363
3377
  enableval=$enable_opt;
3364
3378
  if test "x$enableval" = "xyes"; then :
3365
3379
 
3366
- CFLAGS="$CFLAGS -march=native -save-temps"
3367
- LDFLAGS="$LDFLAGS -march=native"
3380
+ CFLAGS="$CFLAGS -O3 -march=native"
3381
+ LDFLAGS="$LDFLAGS -O3 -march=native"
3368
3382
  fi
3369
3383
 
3370
3384
  fi
@@ -3373,6 +3387,276 @@ fi
3373
3387
 
3374
3388
 
3375
3389
 
3390
+ @%:@ Check whether --enable-valgrind was given.
3391
+ if test "${enable_valgrind+set}" = set; then :
3392
+ enableval=$enable_valgrind; enable_valgrind=$enableval
3393
+ else
3394
+ enable_valgrind=no
3395
+ fi
3396
+
3397
+
3398
+ if test "$enable_valgrind" != "no"; then :
3399
+
3400
+ # Check for Valgrind.
3401
+ # Extract the first word of "valgrind", so it can be a program name with args.
3402
+ set dummy valgrind; ac_word=$2
3403
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3404
+ $as_echo_n "checking for $ac_word... " >&6; }
3405
+ if ${ac_cv_prog_VALGRIND+:} false; then :
3406
+ $as_echo_n "(cached) " >&6
3407
+ else
3408
+ if test -n "$VALGRIND"; then
3409
+ ac_cv_prog_VALGRIND="$VALGRIND" # Let the user override the test.
3410
+ else
3411
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3412
+ for as_dir in $PATH
3413
+ do
3414
+ IFS=$as_save_IFS
3415
+ test -z "$as_dir" && as_dir=.
3416
+ for ac_exec_ext in '' $ac_executable_extensions; do
3417
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3418
+ ac_cv_prog_VALGRIND="valgrind"
3419
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3420
+ break 2
3421
+ fi
3422
+ done
3423
+ done
3424
+ IFS=$as_save_IFS
3425
+
3426
+ fi
3427
+ fi
3428
+ VALGRIND=$ac_cv_prog_VALGRIND
3429
+ if test -n "$VALGRIND"; then
3430
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VALGRIND" >&5
3431
+ $as_echo "$VALGRIND" >&6; }
3432
+ else
3433
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3434
+ $as_echo "no" >&6; }
3435
+ fi
3436
+
3437
+
3438
+ if test "$VALGRIND" = ""; then :
3439
+
3440
+ if test "$enable_valgrind" = "yes"; then :
3441
+
3442
+ as_fn_error $? "Could not find valgrind; either install it or reconfigure with --disable-valgrind" "$LINENO" 5
3443
+
3444
+ else
3445
+
3446
+ enable_valgrind=no
3447
+
3448
+ fi
3449
+
3450
+ else
3451
+
3452
+ enable_valgrind=yes
3453
+
3454
+ fi
3455
+
3456
+ fi
3457
+
3458
+ if test "$enable_valgrind" = "yes"; then
3459
+ VALGRIND_ENABLED_TRUE=
3460
+ VALGRIND_ENABLED_FALSE='#'
3461
+ else
3462
+ VALGRIND_ENABLED_TRUE='#'
3463
+ VALGRIND_ENABLED_FALSE=
3464
+ fi
3465
+
3466
+ VALGRIND_ENABLED=$enable_valgrind
3467
+
3468
+
3469
+ # Check for Valgrind tools we care about.
3470
+
3471
+
3472
+ if test "$VALGRIND" != ""; then :
3473
+
3474
+
3475
+
3476
+
3477
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Valgrind tool memcheck" >&5
3478
+ $as_echo_n "checking for Valgrind tool memcheck... " >&6; }
3479
+ if ${ax_cv_valgrind_tool_memcheck+:} false; then :
3480
+ $as_echo_n "(cached) " >&6
3481
+ else
3482
+
3483
+ ax_cv_valgrind_tool_memcheck=
3484
+ if `$VALGRIND --tool=memcheck --help >/dev/null 2>&1`; then :
3485
+
3486
+ ax_cv_valgrind_tool_memcheck="memcheck"
3487
+
3488
+ fi
3489
+
3490
+ fi
3491
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_valgrind_tool_memcheck" >&5
3492
+ $as_echo "$ax_cv_valgrind_tool_memcheck" >&6; }
3493
+
3494
+ VALGRIND_HAVE_TOOL_memcheck=$ax_cv_valgrind_tool_memcheck
3495
+
3496
+
3497
+
3498
+
3499
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Valgrind tool helgrind" >&5
3500
+ $as_echo_n "checking for Valgrind tool helgrind... " >&6; }
3501
+ if ${ax_cv_valgrind_tool_helgrind+:} false; then :
3502
+ $as_echo_n "(cached) " >&6
3503
+ else
3504
+
3505
+ ax_cv_valgrind_tool_helgrind=
3506
+ if `$VALGRIND --tool=helgrind --help >/dev/null 2>&1`; then :
3507
+
3508
+ ax_cv_valgrind_tool_helgrind="helgrind"
3509
+
3510
+ fi
3511
+
3512
+ fi
3513
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_valgrind_tool_helgrind" >&5
3514
+ $as_echo "$ax_cv_valgrind_tool_helgrind" >&6; }
3515
+
3516
+ VALGRIND_HAVE_TOOL_helgrind=$ax_cv_valgrind_tool_helgrind
3517
+
3518
+
3519
+
3520
+
3521
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Valgrind tool drd" >&5
3522
+ $as_echo_n "checking for Valgrind tool drd... " >&6; }
3523
+ if ${ax_cv_valgrind_tool_drd+:} false; then :
3524
+ $as_echo_n "(cached) " >&6
3525
+ else
3526
+
3527
+ ax_cv_valgrind_tool_drd=
3528
+ if `$VALGRIND --tool=drd --help >/dev/null 2>&1`; then :
3529
+
3530
+ ax_cv_valgrind_tool_drd="drd"
3531
+
3532
+ fi
3533
+
3534
+ fi
3535
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_valgrind_tool_drd" >&5
3536
+ $as_echo "$ax_cv_valgrind_tool_drd" >&6; }
3537
+
3538
+ VALGRIND_HAVE_TOOL_drd=$ax_cv_valgrind_tool_drd
3539
+
3540
+
3541
+
3542
+
3543
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Valgrind tool exp-sgcheck" >&5
3544
+ $as_echo_n "checking for Valgrind tool exp-sgcheck... " >&6; }
3545
+ if ${ax_cv_valgrind_tool_exp_sgcheck+:} false; then :
3546
+ $as_echo_n "(cached) " >&6
3547
+ else
3548
+
3549
+ ax_cv_valgrind_tool_exp_sgcheck=
3550
+ if `$VALGRIND --tool=exp-sgcheck --help >/dev/null 2>&1`; then :
3551
+
3552
+ ax_cv_valgrind_tool_exp_sgcheck="exp-sgcheck"
3553
+
3554
+ fi
3555
+
3556
+ fi
3557
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_valgrind_tool_exp_sgcheck" >&5
3558
+ $as_echo "$ax_cv_valgrind_tool_exp_sgcheck" >&6; }
3559
+
3560
+ VALGRIND_HAVE_TOOL_exp_sgcheck=$ax_cv_valgrind_tool_exp_sgcheck
3561
+
3562
+
3563
+
3564
+ fi
3565
+
3566
+ VALGRIND_CHECK_RULES='
3567
+ # Valgrind check
3568
+ #
3569
+ # Optional:
3570
+ # - VALGRIND_SUPPRESSIONS_FILES: Space-separated list of Valgrind suppressions
3571
+ # files to load. (Default: empty)
3572
+ # - VALGRIND_FLAGS: General flags to pass to all Valgrind tools.
3573
+ # (Default: --num-callers=30)
3574
+ # - VALGRIND_$toolname_FLAGS: Flags to pass to Valgrind $toolname (one of:
3575
+ # memcheck, helgrind, drd, sgcheck). (Default: various)
3576
+
3577
+ # Optional variables
3578
+ VALGRIND_SUPPRESSIONS ?= $(addprefix --suppressions=,$(VALGRIND_SUPPRESSIONS_FILES))
3579
+ VALGRIND_FLAGS ?= --num-callers=30
3580
+ VALGRIND_memcheck_FLAGS ?= --leak-check=full --show-reachable=no
3581
+ VALGRIND_helgrind_FLAGS ?= --history-level=approx
3582
+ VALGRIND_drd_FLAGS ?=
3583
+ VALGRIND_sgcheck_FLAGS ?=
3584
+
3585
+ # Internal use
3586
+ valgrind_tools = memcheck helgrind drd sgcheck
3587
+ valgrind_log_files = $(addprefix test-suite-,$(addsuffix .log,$(valgrind_tools)))
3588
+
3589
+ valgrind_memcheck_flags = --tool=memcheck $(VALGRIND_memcheck_FLAGS)
3590
+ valgrind_helgrind_flags = --tool=helgrind $(VALGRIND_helgrind_FLAGS)
3591
+ valgrind_drd_flags = --tool=drd $(VALGRIND_drd_FLAGS)
3592
+ valgrind_sgcheck_flags = --tool=exp-sgcheck $(VALGRIND_sgcheck_FLAGS)
3593
+
3594
+ valgrind_quiet = $(valgrind_quiet_$(V))
3595
+ valgrind_quiet_ = $(valgrind_quiet_$(AM_DEFAULT_VERBOSITY))
3596
+ valgrind_quiet_0 = --quiet
3597
+
3598
+ # Support running with and without libtool.
3599
+ ifneq ($(LIBTOOL),)
3600
+ valgrind_lt = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=execute
3601
+ else
3602
+ valgrind_lt =
3603
+ endif
3604
+
3605
+ # Use recursive makes in order to ignore errors during check
3606
+ check-valgrind:
3607
+ ifeq ($(VALGRIND_ENABLED),yes)
3608
+ -$(foreach tool,$(valgrind_tools), \
3609
+ $(if $(VALGRIND_HAVE_TOOL_$(tool))$(VALGRIND_HAVE_TOOL_exp_$(tool)), \
3610
+ $(MAKE) $(AM_MAKEFLAGS) -k check-valgrind-tool VALGRIND_TOOL=$(tool); \
3611
+ ) \
3612
+ )
3613
+ else
3614
+ @echo "Need to reconfigure with --enable-valgrind"
3615
+ endif
3616
+
3617
+ # Valgrind running
3618
+ VALGRIND_TESTS_ENVIRONMENT = \
3619
+ $(TESTS_ENVIRONMENT) \
3620
+ env VALGRIND=$(VALGRIND) \
3621
+ G_SLICE=always-malloc,debug-blocks \
3622
+ G_DEBUG=fatal-warnings,fatal-criticals,gc-friendly
3623
+
3624
+ VALGRIND_LOG_COMPILER = \
3625
+ $(valgrind_lt) \
3626
+ $(VALGRIND) $(VALGRIND_SUPPRESSIONS) --error-exitcode=1 $(VALGRIND_FLAGS)
3627
+
3628
+ check-valgrind-tool:
3629
+ ifeq ($(VALGRIND_ENABLED),yes)
3630
+ $(MAKE) check-TESTS \
3631
+ TESTS_ENVIRONMENT="$(VALGRIND_TESTS_ENVIRONMENT)" \
3632
+ LOG_COMPILER="$(VALGRIND_LOG_COMPILER)" \
3633
+ LOG_FLAGS="$(valgrind_$(VALGRIND_TOOL)_flags)" \
3634
+ TEST_SUITE_LOG=test-suite-$(VALGRIND_TOOL).log
3635
+ else
3636
+ @echo "Need to reconfigure with --enable-valgrind"
3637
+ endif
3638
+
3639
+ A''M_DISTCHECK_CONFIGURE_FLAGS ?=
3640
+ A''M_DISTCHECK_CONFIGURE_FLAGS += --disable-valgrind
3641
+
3642
+ MOSTLYCLEANFILES ?=
3643
+ MOSTLYCLEANFILES += $(valgrind_log_files)
3644
+
3645
+ .PHONY: check-valgrind check-valgrind-tool
3646
+ '
3647
+
3648
+ if test "$enable_valgrind" != "yes"; then :
3649
+
3650
+ VALGRIND_CHECK_RULES='
3651
+ check-valgrind:
3652
+ @echo "Need to use GNU make and reconfigure with --enable-valgrind"'
3653
+
3654
+ fi
3655
+
3656
+
3657
+
3658
+
3659
+
3376
3660
  DEPDIR="${am__leading_dot}deps"
3377
3661
 
3378
3662
  ac_config_commands="$ac_config_commands depfiles"
@@ -5611,6 +5895,70 @@ fi
5611
5895
  fi
5612
5896
 
5613
5897
 
5898
+ if test "$GCC" = "yes" ; then :
5899
+
5900
+ case $host_cpu in @%:@(
5901
+ i?86|amd64|x86_64) :
5902
+
5903
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5904
+ /* end confdefs.h. */
5905
+
5906
+ #if !defined(__clang__) && defined(__GNUC__) && ((__GNUC__ << 8) | __GNUC_MINOR__) < 0x403
5907
+ # error old gcc
5908
+ #endif
5909
+ int main(void) { return 0; }
5910
+
5911
+ _ACEOF
5912
+ if ac_fn_c_try_compile "$LINENO"; then :
5913
+
5914
+ else
5915
+
5916
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -flax-vector-conversions" >&5
5917
+ $as_echo_n "checking whether C compiler accepts -flax-vector-conversions... " >&6; }
5918
+ if ${ax_cv_check_cflags___flax_vector_conversions+:} false; then :
5919
+ $as_echo_n "(cached) " >&6
5920
+ else
5921
+
5922
+ ax_check_save_flags=$CFLAGS
5923
+ CFLAGS="$CFLAGS -flax-vector-conversions"
5924
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5925
+ /* end confdefs.h. */
5926
+ #include <stdio.h>
5927
+ int
5928
+ main ()
5929
+ {
5930
+ char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
5931
+ ;
5932
+ return 0;
5933
+ }
5934
+ _ACEOF
5935
+ if ac_fn_c_try_compile "$LINENO"; then :
5936
+ ax_cv_check_cflags___flax_vector_conversions=yes
5937
+ else
5938
+ ax_cv_check_cflags___flax_vector_conversions=no
5939
+ fi
5940
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5941
+ CFLAGS=$ax_check_save_flags
5942
+ fi
5943
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___flax_vector_conversions" >&5
5944
+ $as_echo "$ax_cv_check_cflags___flax_vector_conversions" >&6; }
5945
+ if test "x$ax_cv_check_cflags___flax_vector_conversions" = xyes; then :
5946
+ CFLAGS="$CFLAGS -flax-vector-conversions"
5947
+ else
5948
+ :
5949
+ fi
5950
+
5951
+
5952
+ fi
5953
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5954
+
5955
+ ;; @%:@(
5956
+ *) :
5957
+ ;;
5958
+ esac
5959
+
5960
+ fi
5961
+
5614
5962
  LIBTOOL_OLD_FLAGS="$LIBTOOL_EXTRA_FLAGS"
5615
5963
  LIBTOOL_EXTRA_FLAGS="$LIBTOOL_EXTRA_FLAGS -version-info $SODIUM_LIBRARY_VERSION"
5616
5964
  @%:@ Check whether --enable-soname-versions was given.
@@ -5665,6 +6013,42 @@ else
5665
6013
  :
5666
6014
  fi
5667
6015
 
6016
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,--high-entropy-va" >&5
6017
+ $as_echo_n "checking whether the linker accepts -Wl,--high-entropy-va... " >&6; }
6018
+ if ${ax_cv_check_ldflags___Wl___high_entropy_va+:} false; then :
6019
+ $as_echo_n "(cached) " >&6
6020
+ else
6021
+
6022
+ ax_check_save_flags=$LDFLAGS
6023
+ LDFLAGS="$LDFLAGS -Wl,--high-entropy-va"
6024
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6025
+ /* end confdefs.h. */
6026
+ #include <stdio.h>
6027
+ int
6028
+ main ()
6029
+ {
6030
+ char x[42U];if (fgets(x,1000,stdin)) puts(x)
6031
+ ;
6032
+ return 0;
6033
+ }
6034
+ _ACEOF
6035
+ if ac_fn_c_try_link "$LINENO"; then :
6036
+ ax_cv_check_ldflags___Wl___high_entropy_va=yes
6037
+ else
6038
+ ax_cv_check_ldflags___Wl___high_entropy_va=no
6039
+ fi
6040
+ rm -f core conftest.err conftest.$ac_objext \
6041
+ conftest$ac_exeext conftest.$ac_ext
6042
+ LDFLAGS=$ax_check_save_flags
6043
+ fi
6044
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl___high_entropy_va" >&5
6045
+ $as_echo "$ax_cv_check_ldflags___Wl___high_entropy_va" >&6; }
6046
+ if test "x$ax_cv_check_ldflags___Wl___high_entropy_va" = xyes; then :
6047
+ LDFLAGS="$LDFLAGS -Wl,--high-entropy-va"
6048
+ else
6049
+ :
6050
+ fi
6051
+
5668
6052
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,--nxcompat" >&5
5669
6053
  $as_echo_n "checking whether the linker accepts -Wl,--nxcompat... " >&6; }
5670
6054
  if ${ax_cv_check_ldflags___Wl___nxcompat+:} false; then :
@@ -5794,41 +6178,6 @@ esac
5794
6178
 
5795
6179
  fi
5796
6180
 
5797
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Winit-self" >&5
5798
- $as_echo_n "checking whether C compiler accepts -Winit-self... " >&6; }
5799
- if ${ax_cv_check_cflags___Winit_self+:} false; then :
5800
- $as_echo_n "(cached) " >&6
5801
- else
5802
-
5803
- ax_check_save_flags=$CFLAGS
5804
- CFLAGS="$CFLAGS -Winit-self"
5805
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5806
- /* end confdefs.h. */
5807
- #include <stdio.h>
5808
- int
5809
- main ()
5810
- {
5811
- char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
5812
- ;
5813
- return 0;
5814
- }
5815
- _ACEOF
5816
- if ac_fn_c_try_compile "$LINENO"; then :
5817
- ax_cv_check_cflags___Winit_self=yes
5818
- else
5819
- ax_cv_check_cflags___Winit_self=no
5820
- fi
5821
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5822
- CFLAGS=$ax_check_save_flags
5823
- fi
5824
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Winit_self" >&5
5825
- $as_echo "$ax_cv_check_cflags___Winit_self" >&6; }
5826
- if test "x$ax_cv_check_cflags___Winit_self" = xyes; then :
5827
- CFLAGS="$CFLAGS -Winit-self"
5828
- else
5829
- :
5830
- fi
5831
-
5832
6181
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wwrite-strings" >&5
5833
6182
  $as_echo_n "checking whether C compiler accepts -Wwrite-strings... " >&6; }
5834
6183
  if ${ax_cv_check_cflags___Wwrite_strings+:} false; then :
@@ -6188,15 +6537,15 @@ else
6188
6537
  :
6189
6538
  fi
6190
6539
 
6191
- as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wchar-subscripts" | $as_tr_sh`
6192
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wchar-subscripts" >&5
6193
- $as_echo_n "checking whether C compiler accepts $CWFLAGS -Wchar-subscripts... " >&6; }
6540
+ as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wduplicated-cond" | $as_tr_sh`
6541
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wduplicated-cond" >&5
6542
+ $as_echo_n "checking whether C compiler accepts $CWFLAGS -Wduplicated-cond... " >&6; }
6194
6543
  if eval \${$as_CACHEVAR+:} false; then :
6195
6544
  $as_echo_n "(cached) " >&6
6196
6545
  else
6197
6546
 
6198
6547
  ax_check_save_flags=$CFLAGS
6199
- CFLAGS="$CFLAGS $CWFLAGS -Wchar-subscripts"
6548
+ CFLAGS="$CFLAGS $CWFLAGS -Wduplicated-cond"
6200
6549
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6201
6550
  /* end confdefs.h. */
6202
6551
  #include <stdio.h>
@@ -6220,44 +6569,7 @@ eval ac_res=\$$as_CACHEVAR
6220
6569
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
6221
6570
  $as_echo "$ac_res" >&6; }
6222
6571
  if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
6223
- CWFLAGS="$CWFLAGS -Wchar-subscripts"
6224
- else
6225
- :
6226
- fi
6227
-
6228
- as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wcomment" | $as_tr_sh`
6229
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wcomment" >&5
6230
- $as_echo_n "checking whether C compiler accepts $CWFLAGS -Wcomment... " >&6; }
6231
- if eval \${$as_CACHEVAR+:} false; then :
6232
- $as_echo_n "(cached) " >&6
6233
- else
6234
-
6235
- ax_check_save_flags=$CFLAGS
6236
- CFLAGS="$CFLAGS $CWFLAGS -Wcomment"
6237
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6238
- /* end confdefs.h. */
6239
- #include <stdio.h>
6240
- int
6241
- main ()
6242
- {
6243
- char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
6244
- ;
6245
- return 0;
6246
- }
6247
- _ACEOF
6248
- if ac_fn_c_try_compile "$LINENO"; then :
6249
- eval "$as_CACHEVAR=yes"
6250
- else
6251
- eval "$as_CACHEVAR=no"
6252
- fi
6253
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6254
- CFLAGS=$ax_check_save_flags
6255
- fi
6256
- eval ac_res=\$$as_CACHEVAR
6257
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
6258
- $as_echo "$ac_res" >&6; }
6259
- if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
6260
- CWFLAGS="$CWFLAGS -Wcomment"
6572
+ CWFLAGS="$CWFLAGS -Wduplicated-cond"
6261
6573
  else
6262
6574
  :
6263
6575
  fi
@@ -6336,15 +6648,15 @@ else
6336
6648
  :
6337
6649
  fi
6338
6650
 
6339
- as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wimplicit" | $as_tr_sh`
6340
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wimplicit" >&5
6341
- $as_echo_n "checking whether C compiler accepts $CWFLAGS -Wimplicit... " >&6; }
6651
+ as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wmissing-declarations" | $as_tr_sh`
6652
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wmissing-declarations" >&5
6653
+ $as_echo_n "checking whether C compiler accepts $CWFLAGS -Wmissing-declarations... " >&6; }
6342
6654
  if eval \${$as_CACHEVAR+:} false; then :
6343
6655
  $as_echo_n "(cached) " >&6
6344
6656
  else
6345
6657
 
6346
6658
  ax_check_save_flags=$CFLAGS
6347
- CFLAGS="$CFLAGS $CWFLAGS -Wimplicit"
6659
+ CFLAGS="$CFLAGS $CWFLAGS -Wmissing-declarations"
6348
6660
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6349
6661
  /* end confdefs.h. */
6350
6662
  #include <stdio.h>
@@ -6368,20 +6680,20 @@ eval ac_res=\$$as_CACHEVAR
6368
6680
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
6369
6681
  $as_echo "$ac_res" >&6; }
6370
6682
  if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
6371
- CWFLAGS="$CWFLAGS -Wimplicit"
6683
+ CWFLAGS="$CWFLAGS -Wmissing-declarations"
6372
6684
  else
6373
6685
  :
6374
6686
  fi
6375
6687
 
6376
- as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wmissing-declarations" | $as_tr_sh`
6377
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wmissing-declarations" >&5
6378
- $as_echo_n "checking whether C compiler accepts $CWFLAGS -Wmissing-declarations... " >&6; }
6688
+ as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wmissing-prototypes" | $as_tr_sh`
6689
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wmissing-prototypes" >&5
6690
+ $as_echo_n "checking whether C compiler accepts $CWFLAGS -Wmissing-prototypes... " >&6; }
6379
6691
  if eval \${$as_CACHEVAR+:} false; then :
6380
6692
  $as_echo_n "(cached) " >&6
6381
6693
  else
6382
6694
 
6383
6695
  ax_check_save_flags=$CFLAGS
6384
- CFLAGS="$CFLAGS $CWFLAGS -Wmissing-declarations"
6696
+ CFLAGS="$CFLAGS $CWFLAGS -Wmissing-prototypes"
6385
6697
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6386
6698
  /* end confdefs.h. */
6387
6699
  #include <stdio.h>
@@ -6405,20 +6717,20 @@ eval ac_res=\$$as_CACHEVAR
6405
6717
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
6406
6718
  $as_echo "$ac_res" >&6; }
6407
6719
  if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
6408
- CWFLAGS="$CWFLAGS -Wmissing-declarations"
6720
+ CWFLAGS="$CWFLAGS -Wmissing-prototypes"
6409
6721
  else
6410
6722
  :
6411
6723
  fi
6412
6724
 
6413
- as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wmissing-prototypes" | $as_tr_sh`
6414
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wmissing-prototypes" >&5
6415
- $as_echo_n "checking whether C compiler accepts $CWFLAGS -Wmissing-prototypes... " >&6; }
6725
+ as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wnested-externs" | $as_tr_sh`
6726
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wnested-externs" >&5
6727
+ $as_echo_n "checking whether C compiler accepts $CWFLAGS -Wnested-externs... " >&6; }
6416
6728
  if eval \${$as_CACHEVAR+:} false; then :
6417
6729
  $as_echo_n "(cached) " >&6
6418
6730
  else
6419
6731
 
6420
6732
  ax_check_save_flags=$CFLAGS
6421
- CFLAGS="$CFLAGS $CWFLAGS -Wmissing-prototypes"
6733
+ CFLAGS="$CFLAGS $CWFLAGS -Wnested-externs"
6422
6734
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6423
6735
  /* end confdefs.h. */
6424
6736
  #include <stdio.h>
@@ -6442,20 +6754,20 @@ eval ac_res=\$$as_CACHEVAR
6442
6754
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
6443
6755
  $as_echo "$ac_res" >&6; }
6444
6756
  if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
6445
- CWFLAGS="$CWFLAGS -Wmissing-prototypes"
6757
+ CWFLAGS="$CWFLAGS -Wnested-externs"
6446
6758
  else
6447
6759
  :
6448
6760
  fi
6449
6761
 
6450
- as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wnormalized=id" | $as_tr_sh`
6451
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wnormalized=id" >&5
6452
- $as_echo_n "checking whether C compiler accepts $CWFLAGS -Wnormalized=id... " >&6; }
6762
+ as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wno-unknown-pragmas" | $as_tr_sh`
6763
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wno-unknown-pragmas" >&5
6764
+ $as_echo_n "checking whether C compiler accepts $CWFLAGS -Wno-unknown-pragmas... " >&6; }
6453
6765
  if eval \${$as_CACHEVAR+:} false; then :
6454
6766
  $as_echo_n "(cached) " >&6
6455
6767
  else
6456
6768
 
6457
6769
  ax_check_save_flags=$CFLAGS
6458
- CFLAGS="$CFLAGS $CWFLAGS -Wnormalized=id"
6770
+ CFLAGS="$CFLAGS $CWFLAGS -Wno-unknown-pragmas"
6459
6771
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6460
6772
  /* end confdefs.h. */
6461
6773
  #include <stdio.h>
@@ -6479,20 +6791,20 @@ eval ac_res=\$$as_CACHEVAR
6479
6791
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
6480
6792
  $as_echo "$ac_res" >&6; }
6481
6793
  if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
6482
- CWFLAGS="$CWFLAGS -Wnormalized=id"
6794
+ CWFLAGS="$CWFLAGS -Wno-unknown-pragmas"
6483
6795
  else
6484
6796
  :
6485
6797
  fi
6486
6798
 
6487
- as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Woverride-init" | $as_tr_sh`
6488
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Woverride-init" >&5
6489
- $as_echo_n "checking whether C compiler accepts $CWFLAGS -Woverride-init... " >&6; }
6799
+ as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wnormalized=id" | $as_tr_sh`
6800
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wnormalized=id" >&5
6801
+ $as_echo_n "checking whether C compiler accepts $CWFLAGS -Wnormalized=id... " >&6; }
6490
6802
  if eval \${$as_CACHEVAR+:} false; then :
6491
6803
  $as_echo_n "(cached) " >&6
6492
6804
  else
6493
6805
 
6494
6806
  ax_check_save_flags=$CFLAGS
6495
- CFLAGS="$CFLAGS $CWFLAGS -Woverride-init"
6807
+ CFLAGS="$CFLAGS $CWFLAGS -Wnormalized=id"
6496
6808
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6497
6809
  /* end confdefs.h. */
6498
6810
  #include <stdio.h>
@@ -6516,20 +6828,20 @@ eval ac_res=\$$as_CACHEVAR
6516
6828
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
6517
6829
  $as_echo "$ac_res" >&6; }
6518
6830
  if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
6519
- CWFLAGS="$CWFLAGS -Woverride-init"
6831
+ CWFLAGS="$CWFLAGS -Wnormalized=id"
6520
6832
  else
6521
6833
  :
6522
6834
  fi
6523
6835
 
6524
- as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wparentheses" | $as_tr_sh`
6525
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wparentheses" >&5
6526
- $as_echo_n "checking whether C compiler accepts $CWFLAGS -Wparentheses... " >&6; }
6836
+ as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wnull-dereference" | $as_tr_sh`
6837
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wnull-dereference" >&5
6838
+ $as_echo_n "checking whether C compiler accepts $CWFLAGS -Wnull-dereference... " >&6; }
6527
6839
  if eval \${$as_CACHEVAR+:} false; then :
6528
6840
  $as_echo_n "(cached) " >&6
6529
6841
  else
6530
6842
 
6531
6843
  ax_check_save_flags=$CFLAGS
6532
- CFLAGS="$CFLAGS $CWFLAGS -Wparentheses"
6844
+ CFLAGS="$CFLAGS $CWFLAGS -Wnull-dereference"
6533
6845
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6534
6846
  /* end confdefs.h. */
6535
6847
  #include <stdio.h>
@@ -6553,7 +6865,7 @@ eval ac_res=\$$as_CACHEVAR
6553
6865
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
6554
6866
  $as_echo "$ac_res" >&6; }
6555
6867
  if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
6556
- CWFLAGS="$CWFLAGS -Wparentheses"
6868
+ CWFLAGS="$CWFLAGS -Wnull-dereference"
6557
6869
  else
6558
6870
  :
6559
6871
  fi
@@ -14703,7 +15015,8 @@ fi
14703
15015
  int
14704
15016
  main ()
14705
15017
  {
14706
- __m128d x = _mm_setzero_pd();
15018
+ __m128d x = _mm_setzero_pd();
15019
+ __m128i y = _mm_srli_epi64(_mm_setzero_si128(), 26);
14707
15020
  ;
14708
15021
  return 0;
14709
15022
  }
@@ -15150,6 +15463,106 @@ else
15150
15463
  :
15151
15464
  fi
15152
15465
 
15466
+ else
15467
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15468
+ $as_echo "no" >&6; }
15469
+ fi
15470
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15471
+ CFLAGS="$oldcflags"
15472
+
15473
+ oldcflags="$CFLAGS"
15474
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -mavx2" >&5
15475
+ $as_echo_n "checking whether C compiler accepts -mavx2... " >&6; }
15476
+ if ${ax_cv_check_cflags___mavx2+:} false; then :
15477
+ $as_echo_n "(cached) " >&6
15478
+ else
15479
+
15480
+ ax_check_save_flags=$CFLAGS
15481
+ CFLAGS="$CFLAGS -mavx2"
15482
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15483
+ /* end confdefs.h. */
15484
+ #include <stdio.h>
15485
+ int
15486
+ main ()
15487
+ {
15488
+ char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
15489
+ ;
15490
+ return 0;
15491
+ }
15492
+ _ACEOF
15493
+ if ac_fn_c_try_compile "$LINENO"; then :
15494
+ ax_cv_check_cflags___mavx2=yes
15495
+ else
15496
+ ax_cv_check_cflags___mavx2=no
15497
+ fi
15498
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15499
+ CFLAGS=$ax_check_save_flags
15500
+ fi
15501
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___mavx2" >&5
15502
+ $as_echo "$ax_cv_check_cflags___mavx2" >&6; }
15503
+ if test "x$ax_cv_check_cflags___mavx2" = xyes; then :
15504
+ CFLAGS="$CFLAGS -mavx2"
15505
+ else
15506
+ :
15507
+ fi
15508
+
15509
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVX2 instructions set" >&5
15510
+ $as_echo_n "checking for AVX2 instructions set... " >&6; }
15511
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15512
+ /* end confdefs.h. */
15513
+
15514
+ #pragma GCC target("avx2")
15515
+ #include <immintrin.h>
15516
+
15517
+ int
15518
+ main ()
15519
+ {
15520
+ __m256i x = _mm256_abs_epi8(_mm256_setzero_si256());
15521
+ ;
15522
+ return 0;
15523
+ }
15524
+ _ACEOF
15525
+ if ac_fn_c_try_compile "$LINENO"; then :
15526
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15527
+ $as_echo "yes" >&6; }
15528
+
15529
+ $as_echo "@%:@define HAVE_AVX2INTRIN_H 1" >>confdefs.h
15530
+
15531
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -mavx2" >&5
15532
+ $as_echo_n "checking whether C compiler accepts -mavx2... " >&6; }
15533
+ if ${ax_cv_check_cflags___mavx2+:} false; then :
15534
+ $as_echo_n "(cached) " >&6
15535
+ else
15536
+
15537
+ ax_check_save_flags=$CFLAGS
15538
+ CFLAGS="$CFLAGS -mavx2"
15539
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15540
+ /* end confdefs.h. */
15541
+ #include <stdio.h>
15542
+ int
15543
+ main ()
15544
+ {
15545
+ char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
15546
+ ;
15547
+ return 0;
15548
+ }
15549
+ _ACEOF
15550
+ if ac_fn_c_try_compile "$LINENO"; then :
15551
+ ax_cv_check_cflags___mavx2=yes
15552
+ else
15553
+ ax_cv_check_cflags___mavx2=no
15554
+ fi
15555
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15556
+ CFLAGS=$ax_check_save_flags
15557
+ fi
15558
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___mavx2" >&5
15559
+ $as_echo "$ax_cv_check_cflags___mavx2" >&6; }
15560
+ if test "x$ax_cv_check_cflags___mavx2" = xyes; then :
15561
+ CFLAGS_AVX="-mavx2"
15562
+ else
15563
+ :
15564
+ fi
15565
+
15153
15566
  else
15154
15567
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15155
15568
  $as_echo "no" >&6; }
@@ -15341,6 +15754,8 @@ fi
15341
15754
 
15342
15755
 
15343
15756
 
15757
+
15758
+
15344
15759
  for ac_header in sys/mman.h
15345
15760
  do :
15346
15761
  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
@@ -15397,6 +15812,13 @@ _ACEOF
15397
15812
  ;;
15398
15813
  esac
15399
15814
 
15815
+ case $host_cpu in @%:@(
15816
+ i?86|amd64|x86_64) :
15817
+ ac_cv_c_bigendian=no
15818
+ ;; @%:@(
15819
+ *) :
15820
+ ;;
15821
+ esac
15400
15822
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
15401
15823
  $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
15402
15824
  if ${ac_cv_c_bigendian+:} false; then :
@@ -15615,11 +16037,11 @@ $as_echo "@%:@define NATIVE_BIG_ENDIAN 1" >>confdefs.h
15615
16037
  $as_echo "@%:@define NATIVE_LITTLE_ENDIAN 1" >>confdefs.h
15616
16038
  ;; #(
15617
16039
  universal)
15618
- as_fn_error $? "universal endianess is not supported - compile separately and use lipo(1)" "$LINENO" 5
16040
+ as_fn_error $? "universal endianness is not supported - compile separately and use lipo(1)" "$LINENO" 5
15619
16041
 
15620
16042
  ;; #(
15621
16043
  *)
15622
- as_fn_error $? "unknown endianess" "$LINENO" 5 ;;
16044
+ as_fn_error $? "unknown endianness" "$LINENO" 5 ;;
15623
16045
  esac
15624
16046
 
15625
16047
 
@@ -15861,6 +16283,94 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15861
16283
  fi
15862
16284
 
15863
16285
 
16286
+ asm_hide_symbol="unsupported"
16287
+ if test "$enable_asm" != "no"; then :
16288
+
16289
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the .private_extern asm directive is supported" >&5
16290
+ $as_echo_n "checking if the .private_extern asm directive is supported... " >&6; }
16291
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16292
+ /* end confdefs.h. */
16293
+
16294
+ int
16295
+ main ()
16296
+ {
16297
+
16298
+ __asm__ __volatile__ (".private_extern dummy_symbol \n"
16299
+ ".private_extern _dummy_symbol \n"
16300
+ ".globl dummy_symbol \n"
16301
+ ".globl _dummy_symbol \n"
16302
+ "dummy_symbol: \n"
16303
+ "_dummy_symbol: \n"
16304
+ " nop \n"
16305
+ );
16306
+
16307
+ ;
16308
+ return 0;
16309
+ }
16310
+ _ACEOF
16311
+ if ac_fn_c_try_link "$LINENO"; then :
16312
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
16313
+ $as_echo "yes" >&6; }
16314
+ asm_hide_symbol=".private_extern"
16315
+ else
16316
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16317
+ $as_echo "no" >&6; }
16318
+ fi
16319
+ rm -f core conftest.err conftest.$ac_objext \
16320
+ conftest$ac_exeext conftest.$ac_ext
16321
+
16322
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the .hidden asm directive is supported" >&5
16323
+ $as_echo_n "checking if the .hidden asm directive is supported... " >&6; }
16324
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16325
+ /* end confdefs.h. */
16326
+
16327
+ int
16328
+ main ()
16329
+ {
16330
+
16331
+ __asm__ __volatile__ (".hidden dummy_symbol \n"
16332
+ ".hidden _dummy_symbol \n"
16333
+ ".globl dummy_symbol \n"
16334
+ ".globl _dummy_symbol \n"
16335
+ "dummy_symbol: \n"
16336
+ "_dummy_symbol: \n"
16337
+ " nop \n"
16338
+ );
16339
+
16340
+ ;
16341
+ return 0;
16342
+ }
16343
+ _ACEOF
16344
+ if ac_fn_c_try_link "$LINENO"; then :
16345
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
16346
+ $as_echo "yes" >&6; }
16347
+ if test "$asm_hide_symbol" = "unsupported"; then :
16348
+ asm_hide_symbol=".hidden"
16349
+ else
16350
+ { $as_echo "$as_me:${as_lineno-$LINENO}: unable to reliably tag symbols as private" >&5
16351
+ $as_echo "$as_me: unable to reliably tag symbols as private" >&6;}
16352
+ asm_hide_symbol="unsupported"
16353
+ fi
16354
+
16355
+ else
16356
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16357
+ $as_echo "no" >&6; }
16358
+ fi
16359
+ rm -f core conftest.err conftest.$ac_objext \
16360
+ conftest$ac_exeext conftest.$ac_ext
16361
+
16362
+ if test "$asm_hide_symbol" != "unsupported"; then :
16363
+
16364
+
16365
+ cat >>confdefs.h <<_ACEOF
16366
+ @%:@define ASM_HIDE_SYMBOL $asm_hide_symbol
16367
+ _ACEOF
16368
+
16369
+
16370
+ fi
16371
+
16372
+ fi
16373
+
15864
16374
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if weak symbols are supported" >&5
15865
16375
  $as_echo_n "checking if weak symbols are supported... " >&6; }
15866
16376
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15895,7 +16405,7 @@ rm -f core conftest.err conftest.$ac_objext \
15895
16405
  $as_echo_n "checking if data alignment is required... " >&6; }
15896
16406
  aligned_access_required=yes
15897
16407
  case $host_cpu in @%:@(
15898
- i*86 | x86_64 | powerpc* | s390*) :
16408
+ i?86|amd64|x86_64|powerpc*|s390*) :
15899
16409
  aligned_access_required=no ;; @%:@(
15900
16410
  arm*) :
15901
16411
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15980,7 +16490,7 @@ TEST_LDFLAGS=''
15980
16490
  if test "x$EMSCRIPTEN" != "x"; then :
15981
16491
 
15982
16492
  EXEEXT=.js
15983
- TEST_LDFLAGS='--memory-init-file 0 --pre-js pre.js.inc -s NO_BROWSER=1 -s RESERVED_FUNCTION_POINTERS=8'
16493
+ TEST_LDFLAGS='--memory-init-file 0 --pre-js pre.js.inc -s RESERVED_FUNCTION_POINTERS=8'
15984
16494
 
15985
16495
  fi
15986
16496
 
@@ -16524,6 +17034,10 @@ if test -z "${MINIMAL_TRUE}" && test -z "${MINIMAL_FALSE}"; then
16524
17034
  as_fn_error $? "conditional \"MINIMAL\" was never defined.
16525
17035
  Usually this means the macro was only invoked conditionally." "$LINENO" 5
16526
17036
  fi
17037
+ if test -z "${VALGRIND_ENABLED_TRUE}" && test -z "${VALGRIND_ENABLED_FALSE}"; then
17038
+ as_fn_error $? "conditional \"VALGRIND_ENABLED\" was never defined.
17039
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
17040
+ fi
16527
17041
  if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
16528
17042
  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
16529
17043
  Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -16953,7 +17467,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
16953
17467
  # report actual input values of CONFIG_FILES etc. instead of their
16954
17468
  # values after options handling.
16955
17469
  ac_log="
16956
- This file was extended by libsodium $as_me 1.0.8, which was
17470
+ This file was extended by libsodium $as_me 1.0.9, which was
16957
17471
  generated by GNU Autoconf 2.69. Invocation command line was
16958
17472
 
16959
17473
  CONFIG_FILES = $CONFIG_FILES
@@ -17011,7 +17525,7 @@ _ACEOF
17011
17525
  cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
17012
17526
  ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
17013
17527
  ac_cs_version="\\
17014
- libsodium config.status 1.0.8
17528
+ libsodium config.status 1.0.9
17015
17529
  configured by $0, generated by GNU Autoconf 2.69,
17016
17530
  with options \\"\$ac_cs_config\\"
17017
17531