ring-native 0.0.0 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (267) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGES.md +7 -0
  4. data/Makefile +5 -0
  5. data/README.md +12 -5
  6. data/Rakefile +4 -0
  7. data/ext/ring/extconf.rb +4 -5
  8. data/lib/ring/native.rb +3 -1
  9. data/lib/ring/native/version.rb +5 -1
  10. data/ring-native.gemspec +6 -6
  11. data/vendor/ring-ffi/Cargo.lock +26 -0
  12. data/vendor/ring-ffi/Cargo.toml +45 -0
  13. data/vendor/ring-ffi/LICENSE +16 -0
  14. data/vendor/ring-ffi/README.md +59 -0
  15. data/vendor/ring-ffi/src/lib.rs +79 -0
  16. metadata +10 -255
  17. data/vendor/ring/BUILDING.md +0 -40
  18. data/vendor/ring/Cargo.toml +0 -43
  19. data/vendor/ring/LICENSE +0 -185
  20. data/vendor/ring/Makefile +0 -35
  21. data/vendor/ring/PORTING.md +0 -163
  22. data/vendor/ring/README.md +0 -113
  23. data/vendor/ring/STYLE.md +0 -197
  24. data/vendor/ring/appveyor.yml +0 -27
  25. data/vendor/ring/build.rs +0 -108
  26. data/vendor/ring/crypto/aes/aes.c +0 -1142
  27. data/vendor/ring/crypto/aes/aes_test.Windows.vcxproj +0 -25
  28. data/vendor/ring/crypto/aes/aes_test.cc +0 -93
  29. data/vendor/ring/crypto/aes/asm/aes-586.pl +0 -2368
  30. data/vendor/ring/crypto/aes/asm/aes-armv4.pl +0 -1249
  31. data/vendor/ring/crypto/aes/asm/aes-x86_64.pl +0 -2246
  32. data/vendor/ring/crypto/aes/asm/aesni-x86.pl +0 -1318
  33. data/vendor/ring/crypto/aes/asm/aesni-x86_64.pl +0 -2084
  34. data/vendor/ring/crypto/aes/asm/aesv8-armx.pl +0 -675
  35. data/vendor/ring/crypto/aes/asm/bsaes-armv7.pl +0 -1364
  36. data/vendor/ring/crypto/aes/asm/bsaes-x86_64.pl +0 -1565
  37. data/vendor/ring/crypto/aes/asm/vpaes-x86.pl +0 -841
  38. data/vendor/ring/crypto/aes/asm/vpaes-x86_64.pl +0 -1116
  39. data/vendor/ring/crypto/aes/internal.h +0 -87
  40. data/vendor/ring/crypto/aes/mode_wrappers.c +0 -61
  41. data/vendor/ring/crypto/bn/add.c +0 -394
  42. data/vendor/ring/crypto/bn/asm/armv4-mont.pl +0 -694
  43. data/vendor/ring/crypto/bn/asm/armv8-mont.pl +0 -1503
  44. data/vendor/ring/crypto/bn/asm/bn-586.pl +0 -774
  45. data/vendor/ring/crypto/bn/asm/co-586.pl +0 -287
  46. data/vendor/ring/crypto/bn/asm/rsaz-avx2.pl +0 -1882
  47. data/vendor/ring/crypto/bn/asm/x86-mont.pl +0 -592
  48. data/vendor/ring/crypto/bn/asm/x86_64-gcc.c +0 -599
  49. data/vendor/ring/crypto/bn/asm/x86_64-mont.pl +0 -1393
  50. data/vendor/ring/crypto/bn/asm/x86_64-mont5.pl +0 -3507
  51. data/vendor/ring/crypto/bn/bn.c +0 -352
  52. data/vendor/ring/crypto/bn/bn_asn1.c +0 -74
  53. data/vendor/ring/crypto/bn/bn_test.Windows.vcxproj +0 -25
  54. data/vendor/ring/crypto/bn/bn_test.cc +0 -1696
  55. data/vendor/ring/crypto/bn/cmp.c +0 -200
  56. data/vendor/ring/crypto/bn/convert.c +0 -433
  57. data/vendor/ring/crypto/bn/ctx.c +0 -311
  58. data/vendor/ring/crypto/bn/div.c +0 -594
  59. data/vendor/ring/crypto/bn/exponentiation.c +0 -1335
  60. data/vendor/ring/crypto/bn/gcd.c +0 -711
  61. data/vendor/ring/crypto/bn/generic.c +0 -1019
  62. data/vendor/ring/crypto/bn/internal.h +0 -316
  63. data/vendor/ring/crypto/bn/montgomery.c +0 -516
  64. data/vendor/ring/crypto/bn/mul.c +0 -888
  65. data/vendor/ring/crypto/bn/prime.c +0 -829
  66. data/vendor/ring/crypto/bn/random.c +0 -334
  67. data/vendor/ring/crypto/bn/rsaz_exp.c +0 -262
  68. data/vendor/ring/crypto/bn/rsaz_exp.h +0 -53
  69. data/vendor/ring/crypto/bn/shift.c +0 -276
  70. data/vendor/ring/crypto/bytestring/bytestring_test.Windows.vcxproj +0 -25
  71. data/vendor/ring/crypto/bytestring/bytestring_test.cc +0 -421
  72. data/vendor/ring/crypto/bytestring/cbb.c +0 -399
  73. data/vendor/ring/crypto/bytestring/cbs.c +0 -227
  74. data/vendor/ring/crypto/bytestring/internal.h +0 -46
  75. data/vendor/ring/crypto/chacha/chacha_generic.c +0 -140
  76. data/vendor/ring/crypto/chacha/chacha_vec.c +0 -323
  77. data/vendor/ring/crypto/chacha/chacha_vec_arm.S +0 -1447
  78. data/vendor/ring/crypto/chacha/chacha_vec_arm_generate.go +0 -153
  79. data/vendor/ring/crypto/cipher/cipher_test.Windows.vcxproj +0 -25
  80. data/vendor/ring/crypto/cipher/e_aes.c +0 -390
  81. data/vendor/ring/crypto/cipher/e_chacha20poly1305.c +0 -208
  82. data/vendor/ring/crypto/cipher/internal.h +0 -173
  83. data/vendor/ring/crypto/cipher/test/aes_128_gcm_tests.txt +0 -543
  84. data/vendor/ring/crypto/cipher/test/aes_128_key_wrap_tests.txt +0 -9
  85. data/vendor/ring/crypto/cipher/test/aes_256_gcm_tests.txt +0 -475
  86. data/vendor/ring/crypto/cipher/test/aes_256_key_wrap_tests.txt +0 -23
  87. data/vendor/ring/crypto/cipher/test/chacha20_poly1305_old_tests.txt +0 -422
  88. data/vendor/ring/crypto/cipher/test/chacha20_poly1305_tests.txt +0 -484
  89. data/vendor/ring/crypto/cipher/test/cipher_test.txt +0 -100
  90. data/vendor/ring/crypto/constant_time_test.Windows.vcxproj +0 -25
  91. data/vendor/ring/crypto/constant_time_test.c +0 -304
  92. data/vendor/ring/crypto/cpu-arm-asm.S +0 -32
  93. data/vendor/ring/crypto/cpu-arm.c +0 -199
  94. data/vendor/ring/crypto/cpu-intel.c +0 -261
  95. data/vendor/ring/crypto/crypto.c +0 -151
  96. data/vendor/ring/crypto/curve25519/asm/x25519-arm.S +0 -2118
  97. data/vendor/ring/crypto/curve25519/curve25519.c +0 -4888
  98. data/vendor/ring/crypto/curve25519/x25519_test.cc +0 -128
  99. data/vendor/ring/crypto/digest/md32_common.h +0 -181
  100. data/vendor/ring/crypto/ec/asm/p256-x86_64-asm.pl +0 -2725
  101. data/vendor/ring/crypto/ec/ec.c +0 -193
  102. data/vendor/ring/crypto/ec/ec_curves.c +0 -61
  103. data/vendor/ring/crypto/ec/ec_key.c +0 -228
  104. data/vendor/ring/crypto/ec/ec_montgomery.c +0 -114
  105. data/vendor/ring/crypto/ec/example_mul.Windows.vcxproj +0 -25
  106. data/vendor/ring/crypto/ec/internal.h +0 -243
  107. data/vendor/ring/crypto/ec/oct.c +0 -253
  108. data/vendor/ring/crypto/ec/p256-64.c +0 -1794
  109. data/vendor/ring/crypto/ec/p256-x86_64-table.h +0 -9548
  110. data/vendor/ring/crypto/ec/p256-x86_64.c +0 -509
  111. data/vendor/ring/crypto/ec/simple.c +0 -1007
  112. data/vendor/ring/crypto/ec/util-64.c +0 -183
  113. data/vendor/ring/crypto/ec/wnaf.c +0 -508
  114. data/vendor/ring/crypto/ecdh/ecdh.c +0 -155
  115. data/vendor/ring/crypto/ecdsa/ecdsa.c +0 -304
  116. data/vendor/ring/crypto/ecdsa/ecdsa_asn1.c +0 -193
  117. data/vendor/ring/crypto/ecdsa/ecdsa_test.Windows.vcxproj +0 -25
  118. data/vendor/ring/crypto/ecdsa/ecdsa_test.cc +0 -327
  119. data/vendor/ring/crypto/header_removed.h +0 -17
  120. data/vendor/ring/crypto/internal.h +0 -495
  121. data/vendor/ring/crypto/libring.Windows.vcxproj +0 -101
  122. data/vendor/ring/crypto/mem.c +0 -98
  123. data/vendor/ring/crypto/modes/asm/aesni-gcm-x86_64.pl +0 -1045
  124. data/vendor/ring/crypto/modes/asm/ghash-armv4.pl +0 -517
  125. data/vendor/ring/crypto/modes/asm/ghash-x86.pl +0 -1393
  126. data/vendor/ring/crypto/modes/asm/ghash-x86_64.pl +0 -1741
  127. data/vendor/ring/crypto/modes/asm/ghashv8-armx.pl +0 -422
  128. data/vendor/ring/crypto/modes/ctr.c +0 -226
  129. data/vendor/ring/crypto/modes/gcm.c +0 -1206
  130. data/vendor/ring/crypto/modes/gcm_test.Windows.vcxproj +0 -25
  131. data/vendor/ring/crypto/modes/gcm_test.c +0 -348
  132. data/vendor/ring/crypto/modes/internal.h +0 -299
  133. data/vendor/ring/crypto/perlasm/arm-xlate.pl +0 -170
  134. data/vendor/ring/crypto/perlasm/readme +0 -100
  135. data/vendor/ring/crypto/perlasm/x86_64-xlate.pl +0 -1164
  136. data/vendor/ring/crypto/perlasm/x86asm.pl +0 -292
  137. data/vendor/ring/crypto/perlasm/x86gas.pl +0 -263
  138. data/vendor/ring/crypto/perlasm/x86masm.pl +0 -200
  139. data/vendor/ring/crypto/perlasm/x86nasm.pl +0 -187
  140. data/vendor/ring/crypto/poly1305/poly1305.c +0 -331
  141. data/vendor/ring/crypto/poly1305/poly1305_arm.c +0 -301
  142. data/vendor/ring/crypto/poly1305/poly1305_arm_asm.S +0 -2015
  143. data/vendor/ring/crypto/poly1305/poly1305_test.Windows.vcxproj +0 -25
  144. data/vendor/ring/crypto/poly1305/poly1305_test.cc +0 -80
  145. data/vendor/ring/crypto/poly1305/poly1305_test.txt +0 -52
  146. data/vendor/ring/crypto/poly1305/poly1305_vec.c +0 -892
  147. data/vendor/ring/crypto/rand/asm/rdrand-x86_64.pl +0 -75
  148. data/vendor/ring/crypto/rand/internal.h +0 -32
  149. data/vendor/ring/crypto/rand/rand.c +0 -189
  150. data/vendor/ring/crypto/rand/urandom.c +0 -219
  151. data/vendor/ring/crypto/rand/windows.c +0 -56
  152. data/vendor/ring/crypto/refcount_c11.c +0 -66
  153. data/vendor/ring/crypto/refcount_lock.c +0 -53
  154. data/vendor/ring/crypto/refcount_test.Windows.vcxproj +0 -25
  155. data/vendor/ring/crypto/refcount_test.c +0 -58
  156. data/vendor/ring/crypto/rsa/blinding.c +0 -462
  157. data/vendor/ring/crypto/rsa/internal.h +0 -108
  158. data/vendor/ring/crypto/rsa/padding.c +0 -300
  159. data/vendor/ring/crypto/rsa/rsa.c +0 -450
  160. data/vendor/ring/crypto/rsa/rsa_asn1.c +0 -261
  161. data/vendor/ring/crypto/rsa/rsa_impl.c +0 -944
  162. data/vendor/ring/crypto/rsa/rsa_test.Windows.vcxproj +0 -25
  163. data/vendor/ring/crypto/rsa/rsa_test.cc +0 -437
  164. data/vendor/ring/crypto/sha/asm/sha-armv8.pl +0 -436
  165. data/vendor/ring/crypto/sha/asm/sha-x86_64.pl +0 -2390
  166. data/vendor/ring/crypto/sha/asm/sha256-586.pl +0 -1275
  167. data/vendor/ring/crypto/sha/asm/sha256-armv4.pl +0 -735
  168. data/vendor/ring/crypto/sha/asm/sha256-armv8.pl +0 -14
  169. data/vendor/ring/crypto/sha/asm/sha256-x86_64.pl +0 -14
  170. data/vendor/ring/crypto/sha/asm/sha512-586.pl +0 -911
  171. data/vendor/ring/crypto/sha/asm/sha512-armv4.pl +0 -666
  172. data/vendor/ring/crypto/sha/asm/sha512-armv8.pl +0 -14
  173. data/vendor/ring/crypto/sha/asm/sha512-x86_64.pl +0 -14
  174. data/vendor/ring/crypto/sha/sha1.c +0 -271
  175. data/vendor/ring/crypto/sha/sha256.c +0 -204
  176. data/vendor/ring/crypto/sha/sha512.c +0 -355
  177. data/vendor/ring/crypto/test/file_test.cc +0 -326
  178. data/vendor/ring/crypto/test/file_test.h +0 -181
  179. data/vendor/ring/crypto/test/malloc.cc +0 -150
  180. data/vendor/ring/crypto/test/scoped_types.h +0 -95
  181. data/vendor/ring/crypto/test/test.Windows.vcxproj +0 -35
  182. data/vendor/ring/crypto/test/test_util.cc +0 -46
  183. data/vendor/ring/crypto/test/test_util.h +0 -41
  184. data/vendor/ring/crypto/thread_none.c +0 -55
  185. data/vendor/ring/crypto/thread_pthread.c +0 -165
  186. data/vendor/ring/crypto/thread_test.Windows.vcxproj +0 -25
  187. data/vendor/ring/crypto/thread_test.c +0 -200
  188. data/vendor/ring/crypto/thread_win.c +0 -282
  189. data/vendor/ring/examples/checkdigest.rs +0 -103
  190. data/vendor/ring/include/openssl/aes.h +0 -121
  191. data/vendor/ring/include/openssl/arm_arch.h +0 -129
  192. data/vendor/ring/include/openssl/base.h +0 -156
  193. data/vendor/ring/include/openssl/bn.h +0 -794
  194. data/vendor/ring/include/openssl/buffer.h +0 -18
  195. data/vendor/ring/include/openssl/bytestring.h +0 -235
  196. data/vendor/ring/include/openssl/chacha.h +0 -37
  197. data/vendor/ring/include/openssl/cmac.h +0 -76
  198. data/vendor/ring/include/openssl/cpu.h +0 -184
  199. data/vendor/ring/include/openssl/crypto.h +0 -43
  200. data/vendor/ring/include/openssl/curve25519.h +0 -88
  201. data/vendor/ring/include/openssl/ec.h +0 -225
  202. data/vendor/ring/include/openssl/ec_key.h +0 -129
  203. data/vendor/ring/include/openssl/ecdh.h +0 -110
  204. data/vendor/ring/include/openssl/ecdsa.h +0 -156
  205. data/vendor/ring/include/openssl/err.h +0 -201
  206. data/vendor/ring/include/openssl/mem.h +0 -101
  207. data/vendor/ring/include/openssl/obj_mac.h +0 -71
  208. data/vendor/ring/include/openssl/opensslfeatures.h +0 -68
  209. data/vendor/ring/include/openssl/opensslv.h +0 -18
  210. data/vendor/ring/include/openssl/ossl_typ.h +0 -18
  211. data/vendor/ring/include/openssl/poly1305.h +0 -51
  212. data/vendor/ring/include/openssl/rand.h +0 -70
  213. data/vendor/ring/include/openssl/rsa.h +0 -399
  214. data/vendor/ring/include/openssl/thread.h +0 -133
  215. data/vendor/ring/include/openssl/type_check.h +0 -71
  216. data/vendor/ring/mk/Common.props +0 -63
  217. data/vendor/ring/mk/Windows.props +0 -42
  218. data/vendor/ring/mk/WindowsTest.props +0 -18
  219. data/vendor/ring/mk/appveyor.bat +0 -62
  220. data/vendor/ring/mk/bottom_of_makefile.mk +0 -54
  221. data/vendor/ring/mk/ring.mk +0 -266
  222. data/vendor/ring/mk/top_of_makefile.mk +0 -214
  223. data/vendor/ring/mk/travis.sh +0 -40
  224. data/vendor/ring/mk/update-travis-yml.py +0 -229
  225. data/vendor/ring/ring.sln +0 -153
  226. data/vendor/ring/src/aead.rs +0 -682
  227. data/vendor/ring/src/agreement.rs +0 -248
  228. data/vendor/ring/src/c.rs +0 -129
  229. data/vendor/ring/src/constant_time.rs +0 -37
  230. data/vendor/ring/src/der.rs +0 -96
  231. data/vendor/ring/src/digest.rs +0 -690
  232. data/vendor/ring/src/digest_tests.txt +0 -57
  233. data/vendor/ring/src/ecc.rs +0 -28
  234. data/vendor/ring/src/ecc_build.rs +0 -279
  235. data/vendor/ring/src/ecc_curves.rs +0 -117
  236. data/vendor/ring/src/ed25519_tests.txt +0 -2579
  237. data/vendor/ring/src/exe_tests.rs +0 -46
  238. data/vendor/ring/src/ffi.rs +0 -29
  239. data/vendor/ring/src/file_test.rs +0 -187
  240. data/vendor/ring/src/hkdf.rs +0 -153
  241. data/vendor/ring/src/hkdf_tests.txt +0 -59
  242. data/vendor/ring/src/hmac.rs +0 -414
  243. data/vendor/ring/src/hmac_tests.txt +0 -97
  244. data/vendor/ring/src/input.rs +0 -312
  245. data/vendor/ring/src/lib.rs +0 -41
  246. data/vendor/ring/src/pbkdf2.rs +0 -265
  247. data/vendor/ring/src/pbkdf2_tests.txt +0 -113
  248. data/vendor/ring/src/polyfill.rs +0 -57
  249. data/vendor/ring/src/rand.rs +0 -28
  250. data/vendor/ring/src/signature.rs +0 -314
  251. data/vendor/ring/third-party/NIST/README.md +0 -9
  252. data/vendor/ring/third-party/NIST/SHAVS/SHA1LongMsg.rsp +0 -263
  253. data/vendor/ring/third-party/NIST/SHAVS/SHA1Monte.rsp +0 -309
  254. data/vendor/ring/third-party/NIST/SHAVS/SHA1ShortMsg.rsp +0 -267
  255. data/vendor/ring/third-party/NIST/SHAVS/SHA224LongMsg.rsp +0 -263
  256. data/vendor/ring/third-party/NIST/SHAVS/SHA224Monte.rsp +0 -309
  257. data/vendor/ring/third-party/NIST/SHAVS/SHA224ShortMsg.rsp +0 -267
  258. data/vendor/ring/third-party/NIST/SHAVS/SHA256LongMsg.rsp +0 -263
  259. data/vendor/ring/third-party/NIST/SHAVS/SHA256Monte.rsp +0 -309
  260. data/vendor/ring/third-party/NIST/SHAVS/SHA256ShortMsg.rsp +0 -267
  261. data/vendor/ring/third-party/NIST/SHAVS/SHA384LongMsg.rsp +0 -519
  262. data/vendor/ring/third-party/NIST/SHAVS/SHA384Monte.rsp +0 -309
  263. data/vendor/ring/third-party/NIST/SHAVS/SHA384ShortMsg.rsp +0 -523
  264. data/vendor/ring/third-party/NIST/SHAVS/SHA512LongMsg.rsp +0 -519
  265. data/vendor/ring/third-party/NIST/SHAVS/SHA512Monte.rsp +0 -309
  266. data/vendor/ring/third-party/NIST/SHAVS/SHA512ShortMsg.rsp +0 -523
  267. data/vendor/ring/third-party/NIST/sha256sums.txt +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 461c320a3ceded3e82039c266b94fb6ba358206a
4
- data.tar.gz: b6b41a976430779509ad441fcbbf5d976ba639c7
3
+ metadata.gz: 591119fb8a2ee805dd336bb0b8d0e3b5e7e2e4e9
4
+ data.tar.gz: 28f0db203c9a43dedf8b95f2aa6c0c2c3db42927
5
5
  SHA512:
6
- metadata.gz: d0b2953cafbd07ffb6a96ea9676ff47a4b40e12452f05a5b4970f8afccfc56cd1bb2b6c6f57d1b3131b94b731e5e7e5f5ead068b4306128281ad284d49b85152
7
- data.tar.gz: 471388e5ba6ee776b31076f2a86f2e2145525cb3dae649e937968259b7adcdb05469d50d5d5cfe346886661a17a366b115ac523b7edc154f5a01ebe14119d963
6
+ metadata.gz: 587399deae2869d05176531cdaeb13f890479d6031ba3609b5ad34a9e9922826d20a523e2032d8a28ffb1b07c4a98f421edae657aa9d5d369be86c2532ebdc37
7
+ data.tar.gz: b72452bbd9e634bfc7708f708ee850fe295bbd32267723f2ab36870c8aec1d37794971b4bb8c75717c061dbc9c9b74d5de37d04529180f6be74734773ec68df3
data/.gitignore CHANGED
@@ -7,3 +7,4 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+ /lib/ring/native/libringffi.*
@@ -0,0 +1,7 @@
1
+ 0.1.0 (2016-01-24)
2
+ ------------------
3
+ * Switch to ring-ffi
4
+
5
+ 0.0.0 (2016-01-04)
6
+ ------------------
7
+ * Initial (pre-)release with *ring* 2df11d1fb
@@ -0,0 +1,5 @@
1
+ install:
2
+ @echo "Nothing to do"
3
+
4
+ clean:
5
+ @echo "Nothing to do"
data/README.md CHANGED
@@ -1,11 +1,15 @@
1
1
  ring-native
2
2
  ===========
3
- [![Gem Version](https://badge.fury.io/rb/ring-native.png)](http://badge.fury.io/rb/ring-native)
3
+ [![Gem Version](https://badge.fury.io/rb/ring-native.svg)](http://badge.fury.io/rb/ring-native)
4
+ [![OpenSSL licensed](https://img.shields.io/badge/license-OpenSSL-blue.svg)](https://github.com/briansmith/ring/blob/master/LICENSE)
4
5
 
5
- The [*ring* cryptography library][ring] packaged as a RubyGem. Since *ring* has
6
- no upstream releases, this gem will be released as periodic snapshots with
7
- version numbers corresponding to the date the snapshot was taken until such time
8
- as *ring* has versioned releases.
6
+ The [*ring* cryptography library][ring] packaged as a RubyGem. This library
7
+ specifically bundles [ring-ffi], which builds *ring* as a dynamic library
8
+ intended for libffi bindings.
9
+
10
+ Since *ring* has no upstream releases, this gem will be released as periodic
11
+ snapshots with version numbers corresponding to the date the snapshot was taken
12
+ until such time as *ring* has versioned releases.
9
13
 
10
14
  The boilerplate code in the ring-native gem is MIT along with the rest of the
11
15
  ruby-ring gem, however *ring* itself is a fork of BoringSSL and therefore
@@ -15,8 +19,11 @@ For more information on the licensing of *ring* itself, please see the
15
19
  [*ring* LICENSE][license].
16
20
 
17
21
  [ring]: https://github.com/briansmith/ring/
22
+ [ring-ffi]: https://github.com/briansmith/ring-ffi
18
23
  [license]: https://github.com/briansmith/ring/blob/master/LICENSE
19
24
 
20
25
  # Usage
21
26
 
22
27
  This gem is automatically installed along with the *ring* gem.
28
+
29
+ You will need rustc and cargo installed for *ring* to compile.
data/Rakefile CHANGED
@@ -1 +1,5 @@
1
1
  require "bundler/gem_tasks"
2
+
3
+ task :compile do
4
+ load("ext/ring/extconf.rb")
5
+ end
@@ -2,16 +2,15 @@ require "fileutils"
2
2
 
3
3
  def sys(cmd)
4
4
  puts " -- #{cmd}"
5
- unless ret = system(cmd)
6
- raise "ERROR: '#{cmd}' failed"
5
+ system(cmd).tap do |ret|
6
+ fail "ERROR: '#{cmd}' failed" unless ret
7
7
  end
8
- ret
9
8
  end
10
9
 
11
- ring_src = File.expand_path("../../../vendor/ring", __FILE__)
10
+ ring_src = File.expand_path("../../../vendor/ring-ffi", __FILE__)
12
11
  ring_dst = File.expand_path("../../../lib/ring/native", __FILE__)
13
12
 
14
- filename = RUBY_DESCRIPTION[/darwin/] ? "libring.dylib" : "libring.so"
13
+ filename = RUBY_DESCRIPTION[/darwin/] ? "libringffi.dylib" : "libringffi.so"
15
14
 
16
15
  Dir.chdir(ring_src) do
17
16
  sys("cargo build --release")
@@ -1,8 +1,10 @@
1
1
  require "ring/native/version"
2
2
 
3
+ # The *ring* cryptography library
3
4
  module Ring
5
+ # Native library binding
4
6
  module Native
5
- filename = RUBY_DESCRIPTION[/darwin/] ? "libring.dylib" : "libring.so"
7
+ filename = RUBY_DESCRIPTION[/darwin/] ? "libringffi.dylib" : "libringffi.so"
6
8
  LIB_PATH = File.expand_path("../native/#{filename}", __FILE__)
7
9
  end
8
10
  end
@@ -1,5 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ # The *ring* cryptography library
1
4
  module Ring
5
+ # Native library binding
2
6
  module Native
3
- VERSION = "0.0.0"
7
+ VERSION = "0.1.0".freeze
4
8
  end
5
9
  end
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
2
+ lib = File.expand_path("../lib", __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'ring/native/version'
4
+ require "ring/native/version"
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "ring-native"
@@ -10,16 +10,16 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["bascule@gmail.com"]
11
11
 
12
12
  spec.summary = "The *ring* cryptography library, packaged as a RubyGem"
13
- spec.description = "Snapshots of the *ring* cryptography library, packaged in RubyGem format"
13
+ spec.description = "Snapshots of the *ring* cryptography library (ring-ffi) packages as gems"
14
14
  spec.homepage = "https://github.com/cryptosphere/ruby-ring"
15
15
  spec.license = "OpenSSL"
16
16
 
17
17
  spec.files = `git ls-files -z`.split("\x0")
18
- spec.files += Dir.glob("vendor/ring/**/*")
19
- spec.require_paths = ["lib"]
18
+ spec.files += Dir.glob("vendor/ring-ffi/**/*")
20
19
 
20
+ spec.require_paths = ["lib"]
21
21
  spec.extensions = ["ext/ring/extconf.rb"]
22
22
 
23
23
  spec.add_development_dependency "bundler", "~> 1.11"
24
- spec.add_development_dependency "rake", "~> 10.0"
24
+ spec.add_development_dependency "rake", "~> 10.0"
25
25
  end
@@ -0,0 +1,26 @@
1
+ [root]
2
+ name = "ring-ffi"
3
+ version = "0.1.0"
4
+ dependencies = [
5
+ "ring 0.1.0 (git+https://github.com/briansmith/ring)",
6
+ ]
7
+
8
+ [[package]]
9
+ name = "num"
10
+ version = "0.1.30"
11
+ source = "registry+https://github.com/rust-lang/crates.io-index"
12
+
13
+ [[package]]
14
+ name = "ring"
15
+ version = "0.1.0"
16
+ source = "git+https://github.com/briansmith/ring#c882c2c3ec837f14267991122dc20e6aba5700bc"
17
+ dependencies = [
18
+ "num 0.1.30 (registry+https://github.com/rust-lang/crates.io-index)",
19
+ "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
20
+ ]
21
+
22
+ [[package]]
23
+ name = "rustc-serialize"
24
+ version = "0.3.16"
25
+ source = "registry+https://github.com/rust-lang/crates.io-index"
26
+
@@ -0,0 +1,45 @@
1
+ # Copyright 2015 Brian Smith.
2
+ #
3
+ # Permission to use, copy, modify, and/or distribute this software for any
4
+ # purpose with or without fee is hereby granted, provided that the above
5
+ # copyright notice and this permission notice appear in all copies.
6
+ #
7
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
8
+ # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
+ # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
10
+ # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
+ # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12
+ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13
+ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14
+
15
+ [package]
16
+ authors = ["Brian Smith <brian@briansmith.org>"]
17
+ description = "FFI wrapper for *ring* to be used by non-Rust code."
18
+ license-file = "LICENSE"
19
+ name = "ring-ffi"
20
+ readme = "README.md"
21
+ repository = "https://github.com/briansmith/ring-ffi"
22
+ version = "0.1.0"
23
+
24
+ [lib]
25
+ name = "ringffi"
26
+ crate-type = ["dylib"]
27
+
28
+ [dependencies.ring]
29
+ git = "https://github.com/briansmith/ring"
30
+
31
+ [profile.bench]
32
+ opt-level = 3
33
+ debug = false
34
+ rpath = false
35
+ lto = true
36
+ debug-assertions = false
37
+ codegen-units = 1
38
+
39
+ [profile.release]
40
+ opt-level = 3
41
+ debug = false
42
+ rpath = false
43
+ lto = true
44
+ debug-assertions = false
45
+ codegen-units = 1
@@ -0,0 +1,16 @@
1
+ Except as otherwise noted, this project is licensed under the following
2
+ (ISC-style) terms:
3
+
4
+ Copyright 2016 Brian Smith.
5
+
6
+ Permission to use, copy, modify, and/or distribute this software for any
7
+ purpose with or without fee is hereby granted, provided that the above
8
+ copyright notice and this permission notice appear in all copies.
9
+
10
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
11
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
13
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
@@ -0,0 +1,59 @@
1
+ THE SOFTWARE IS PROVIDED "AS IS" AND BRIAN SMITH AND THE AUTHORS DISCLAIM
2
+ ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
3
+ OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL BRIAN SMITH OR THE AUTHORS
4
+ BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY
5
+ DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
6
+ AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
7
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
8
+
9
+
10
+
11
+ ring-ffi
12
+ ========
13
+
14
+ [*ring*](https://github.com/briansmith/ring) is a crypto library in Rust based
15
+ on BoringSSL's crypto primitive implementations.
16
+
17
+ ring-ffi is a wrapper around *ring* that packages it in a shared library with a
18
+ libffi-compatible API. The goal is to use ring-ffi as the foundation for
19
+ *ring* bindings to Ruby, Python, Node.js, etc.
20
+
21
+
22
+
23
+ Language Bindings Being Developed
24
+ ---------------------------------
25
+
26
+ Language | Bindings
27
+ ------------ | --------
28
+ Ruby | [ruby-ring](https://github.com/cryptosphere/ruby-ring)
29
+ Rust | Just use the native [*ring*](https://github.com/briansmith/ring) API.
30
+ Python | [cryptography-ring](https://github.com/reaperhulk/cryptography-ring)
31
+
32
+
33
+ Contributing
34
+ ------------
35
+
36
+ Patches Welcome! Suggestions:
37
+
38
+ * Map more *ring* functionality to the libffi-compatible API.
39
+ * Improve the bindings for existing languages.
40
+ * Create bindings for new languages. (If you do so, please send a PR here to
41
+ add your binding to the table above.
42
+
43
+
44
+
45
+ License
46
+ -------
47
+
48
+ See [LICENSE](LICENSE).
49
+
50
+
51
+
52
+ Bug Reporting
53
+ -------------
54
+
55
+ Please file bugs in the
56
+ [issue tracker](https://github.com/briansmith/ring-ffi/issues). Yes, even
57
+ security vulnerabilities should be reported in the public issue tracker. **Do
58
+ NOT report any security vulnerability privately to
59
+ the *ring-ffi* developers.**
@@ -0,0 +1,79 @@
1
+ extern crate ring;
2
+
3
+ /// Moves `x` onto the heap and returns a mutable pointer to it.
4
+ fn heap_mut_ptr<T>(x: T) -> *mut T {
5
+ Box::into_raw(Box::new(x))
6
+ }
7
+
8
+ /// Clones `*x` onto the heap and returns a mutable pointer to it.
9
+ unsafe fn clone_heap_mut_ptr<T: Clone>(x: *const T) -> *mut T {
10
+ heap_mut_ptr((*x).clone())
11
+ }
12
+
13
+
14
+ macro_rules! wrap_algorithm {
15
+ ( $wrapper_name:ident, $t:ty, $alg:expr ) => {
16
+ /// Do NOT free the resulting pointer.
17
+ #[no_mangle]
18
+ pub unsafe fn $wrapper_name() -> *const $t {
19
+ $alg as *const $t
20
+ }
21
+ }
22
+ }
23
+
24
+ wrap_algorithm!(ring_digest_algorithm_sha1, ring::digest::Algorithm,
25
+ &ring::digest::SHA1);
26
+ wrap_algorithm!(ring_digest_algorithm_sha256, ring::digest::Algorithm,
27
+ &ring::digest::SHA256);
28
+ wrap_algorithm!(ring_digest_algorithm_sha384, ring::digest::Algorithm,
29
+ &ring::digest::SHA384);
30
+ wrap_algorithm!(ring_digest_algorithm_sha512, ring::digest::Algorithm,
31
+ &ring::digest::SHA512);
32
+
33
+ /// Returns a pointer to a heap-allocated `ring::digest::Context`. You must
34
+ /// call `ring_digest_context_finish` to free the returned context.
35
+ #[no_mangle]
36
+ pub unsafe fn ring_digest_context_new(algorithm: *const ring::digest::Algorithm)
37
+ -> *mut ring::digest::Context {
38
+ if algorithm.is_null() {
39
+ return std::ptr::null_mut();
40
+ }
41
+ heap_mut_ptr(ring::digest::Context::new(&*algorithm))
42
+ }
43
+
44
+ /// Calls `ctx.update()` with the given data.
45
+ #[no_mangle]
46
+ pub unsafe fn ring_digest_context_update(ctx: *mut ring::digest::Context,
47
+ p: *const u8, len: usize) {
48
+ (*ctx).update(std::slice::from_raw_parts(p, len))
49
+ }
50
+
51
+ /// Frees a context created by `ring_digest_context_new`.
52
+ #[no_mangle]
53
+ pub unsafe fn ring_digest_context_finish(ctx: *mut ring::digest::Context,
54
+ out: *mut u8, out_capacity: usize)
55
+ -> usize {
56
+ // We can't call `finish` on (*ctx). `x.finish()` consumes `x` but in the
57
+ // FFI interface we can't rely on the caller honoring Rust's move semantics.
58
+ let copy = (*ctx).clone();
59
+ let digest = copy.finish();
60
+ let digest = digest.as_ref();
61
+ let len = digest.len();
62
+ if len > out_capacity {
63
+ return 0;
64
+ }
65
+ std::ptr::copy_nonoverlapping(digest.as_ptr(), out, len);
66
+ len
67
+ }
68
+
69
+ #[no_mangle]
70
+ pub unsafe fn ring_digest_context_delete(ctx: *mut ring::digest::Context) {
71
+ let _ = Box::from_raw(ctx);
72
+ }
73
+
74
+ /// Clones a digest context, returning a pointer to the clone.
75
+ #[no_mangle]
76
+ pub unsafe fn ring_digest_context_clone(ctx: *mut ring::digest::Context)
77
+ -> *mut ring::digest::Context {
78
+ clone_heap_mut_ptr(ctx)
79
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ring-native
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tony Arcieri
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-04 00:00:00.000000000 Z
11
+ date: 2016-01-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,7 +38,7 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
- description: Snapshots of the *ring* cryptography library, packaged in RubyGem format
41
+ description: Snapshots of the *ring* cryptography library (ring-ffi) packages as gems
42
42
  email:
43
43
  - bascule@gmail.com
44
44
  executables: []
@@ -47,264 +47,20 @@ extensions:
47
47
  extra_rdoc_files: []
48
48
  files:
49
49
  - ".gitignore"
50
+ - CHANGES.md
50
51
  - Gemfile
52
+ - Makefile
51
53
  - README.md
52
54
  - Rakefile
53
55
  - ext/ring/extconf.rb
54
56
  - lib/ring/native.rb
55
57
  - lib/ring/native/version.rb
56
58
  - ring-native.gemspec
57
- - vendor/ring/BUILDING.md
58
- - vendor/ring/Cargo.toml
59
- - vendor/ring/LICENSE
60
- - vendor/ring/Makefile
61
- - vendor/ring/PORTING.md
62
- - vendor/ring/README.md
63
- - vendor/ring/STYLE.md
64
- - vendor/ring/appveyor.yml
65
- - vendor/ring/build.rs
66
- - vendor/ring/crypto/aes/aes.c
67
- - vendor/ring/crypto/aes/aes_test.Windows.vcxproj
68
- - vendor/ring/crypto/aes/aes_test.cc
69
- - vendor/ring/crypto/aes/asm/aes-586.pl
70
- - vendor/ring/crypto/aes/asm/aes-armv4.pl
71
- - vendor/ring/crypto/aes/asm/aes-x86_64.pl
72
- - vendor/ring/crypto/aes/asm/aesni-x86.pl
73
- - vendor/ring/crypto/aes/asm/aesni-x86_64.pl
74
- - vendor/ring/crypto/aes/asm/aesv8-armx.pl
75
- - vendor/ring/crypto/aes/asm/bsaes-armv7.pl
76
- - vendor/ring/crypto/aes/asm/bsaes-x86_64.pl
77
- - vendor/ring/crypto/aes/asm/vpaes-x86.pl
78
- - vendor/ring/crypto/aes/asm/vpaes-x86_64.pl
79
- - vendor/ring/crypto/aes/internal.h
80
- - vendor/ring/crypto/aes/mode_wrappers.c
81
- - vendor/ring/crypto/bn/add.c
82
- - vendor/ring/crypto/bn/asm/armv4-mont.pl
83
- - vendor/ring/crypto/bn/asm/armv8-mont.pl
84
- - vendor/ring/crypto/bn/asm/bn-586.pl
85
- - vendor/ring/crypto/bn/asm/co-586.pl
86
- - vendor/ring/crypto/bn/asm/rsaz-avx2.pl
87
- - vendor/ring/crypto/bn/asm/x86-mont.pl
88
- - vendor/ring/crypto/bn/asm/x86_64-gcc.c
89
- - vendor/ring/crypto/bn/asm/x86_64-mont.pl
90
- - vendor/ring/crypto/bn/asm/x86_64-mont5.pl
91
- - vendor/ring/crypto/bn/bn.c
92
- - vendor/ring/crypto/bn/bn_asn1.c
93
- - vendor/ring/crypto/bn/bn_test.Windows.vcxproj
94
- - vendor/ring/crypto/bn/bn_test.cc
95
- - vendor/ring/crypto/bn/cmp.c
96
- - vendor/ring/crypto/bn/convert.c
97
- - vendor/ring/crypto/bn/ctx.c
98
- - vendor/ring/crypto/bn/div.c
99
- - vendor/ring/crypto/bn/exponentiation.c
100
- - vendor/ring/crypto/bn/gcd.c
101
- - vendor/ring/crypto/bn/generic.c
102
- - vendor/ring/crypto/bn/internal.h
103
- - vendor/ring/crypto/bn/montgomery.c
104
- - vendor/ring/crypto/bn/mul.c
105
- - vendor/ring/crypto/bn/prime.c
106
- - vendor/ring/crypto/bn/random.c
107
- - vendor/ring/crypto/bn/rsaz_exp.c
108
- - vendor/ring/crypto/bn/rsaz_exp.h
109
- - vendor/ring/crypto/bn/shift.c
110
- - vendor/ring/crypto/bytestring/bytestring_test.Windows.vcxproj
111
- - vendor/ring/crypto/bytestring/bytestring_test.cc
112
- - vendor/ring/crypto/bytestring/cbb.c
113
- - vendor/ring/crypto/bytestring/cbs.c
114
- - vendor/ring/crypto/bytestring/internal.h
115
- - vendor/ring/crypto/chacha/chacha_generic.c
116
- - vendor/ring/crypto/chacha/chacha_vec.c
117
- - vendor/ring/crypto/chacha/chacha_vec_arm.S
118
- - vendor/ring/crypto/chacha/chacha_vec_arm_generate.go
119
- - vendor/ring/crypto/cipher/cipher_test.Windows.vcxproj
120
- - vendor/ring/crypto/cipher/e_aes.c
121
- - vendor/ring/crypto/cipher/e_chacha20poly1305.c
122
- - vendor/ring/crypto/cipher/internal.h
123
- - vendor/ring/crypto/cipher/test/aes_128_gcm_tests.txt
124
- - vendor/ring/crypto/cipher/test/aes_128_key_wrap_tests.txt
125
- - vendor/ring/crypto/cipher/test/aes_256_gcm_tests.txt
126
- - vendor/ring/crypto/cipher/test/aes_256_key_wrap_tests.txt
127
- - vendor/ring/crypto/cipher/test/chacha20_poly1305_old_tests.txt
128
- - vendor/ring/crypto/cipher/test/chacha20_poly1305_tests.txt
129
- - vendor/ring/crypto/cipher/test/cipher_test.txt
130
- - vendor/ring/crypto/constant_time_test.Windows.vcxproj
131
- - vendor/ring/crypto/constant_time_test.c
132
- - vendor/ring/crypto/cpu-arm-asm.S
133
- - vendor/ring/crypto/cpu-arm.c
134
- - vendor/ring/crypto/cpu-intel.c
135
- - vendor/ring/crypto/crypto.c
136
- - vendor/ring/crypto/curve25519/asm/x25519-arm.S
137
- - vendor/ring/crypto/curve25519/curve25519.c
138
- - vendor/ring/crypto/curve25519/x25519_test.cc
139
- - vendor/ring/crypto/digest/md32_common.h
140
- - vendor/ring/crypto/ec/asm/p256-x86_64-asm.pl
141
- - vendor/ring/crypto/ec/ec.c
142
- - vendor/ring/crypto/ec/ec_curves.c
143
- - vendor/ring/crypto/ec/ec_key.c
144
- - vendor/ring/crypto/ec/ec_montgomery.c
145
- - vendor/ring/crypto/ec/example_mul.Windows.vcxproj
146
- - vendor/ring/crypto/ec/internal.h
147
- - vendor/ring/crypto/ec/oct.c
148
- - vendor/ring/crypto/ec/p256-64.c
149
- - vendor/ring/crypto/ec/p256-x86_64-table.h
150
- - vendor/ring/crypto/ec/p256-x86_64.c
151
- - vendor/ring/crypto/ec/simple.c
152
- - vendor/ring/crypto/ec/util-64.c
153
- - vendor/ring/crypto/ec/wnaf.c
154
- - vendor/ring/crypto/ecdh/ecdh.c
155
- - vendor/ring/crypto/ecdsa/ecdsa.c
156
- - vendor/ring/crypto/ecdsa/ecdsa_asn1.c
157
- - vendor/ring/crypto/ecdsa/ecdsa_test.Windows.vcxproj
158
- - vendor/ring/crypto/ecdsa/ecdsa_test.cc
159
- - vendor/ring/crypto/header_removed.h
160
- - vendor/ring/crypto/internal.h
161
- - vendor/ring/crypto/libring.Windows.vcxproj
162
- - vendor/ring/crypto/mem.c
163
- - vendor/ring/crypto/modes/asm/aesni-gcm-x86_64.pl
164
- - vendor/ring/crypto/modes/asm/ghash-armv4.pl
165
- - vendor/ring/crypto/modes/asm/ghash-x86.pl
166
- - vendor/ring/crypto/modes/asm/ghash-x86_64.pl
167
- - vendor/ring/crypto/modes/asm/ghashv8-armx.pl
168
- - vendor/ring/crypto/modes/ctr.c
169
- - vendor/ring/crypto/modes/gcm.c
170
- - vendor/ring/crypto/modes/gcm_test.Windows.vcxproj
171
- - vendor/ring/crypto/modes/gcm_test.c
172
- - vendor/ring/crypto/modes/internal.h
173
- - vendor/ring/crypto/perlasm/arm-xlate.pl
174
- - vendor/ring/crypto/perlasm/readme
175
- - vendor/ring/crypto/perlasm/x86_64-xlate.pl
176
- - vendor/ring/crypto/perlasm/x86asm.pl
177
- - vendor/ring/crypto/perlasm/x86gas.pl
178
- - vendor/ring/crypto/perlasm/x86masm.pl
179
- - vendor/ring/crypto/perlasm/x86nasm.pl
180
- - vendor/ring/crypto/poly1305/poly1305.c
181
- - vendor/ring/crypto/poly1305/poly1305_arm.c
182
- - vendor/ring/crypto/poly1305/poly1305_arm_asm.S
183
- - vendor/ring/crypto/poly1305/poly1305_test.Windows.vcxproj
184
- - vendor/ring/crypto/poly1305/poly1305_test.cc
185
- - vendor/ring/crypto/poly1305/poly1305_test.txt
186
- - vendor/ring/crypto/poly1305/poly1305_vec.c
187
- - vendor/ring/crypto/rand/asm/rdrand-x86_64.pl
188
- - vendor/ring/crypto/rand/internal.h
189
- - vendor/ring/crypto/rand/rand.c
190
- - vendor/ring/crypto/rand/urandom.c
191
- - vendor/ring/crypto/rand/windows.c
192
- - vendor/ring/crypto/refcount_c11.c
193
- - vendor/ring/crypto/refcount_lock.c
194
- - vendor/ring/crypto/refcount_test.Windows.vcxproj
195
- - vendor/ring/crypto/refcount_test.c
196
- - vendor/ring/crypto/rsa/blinding.c
197
- - vendor/ring/crypto/rsa/internal.h
198
- - vendor/ring/crypto/rsa/padding.c
199
- - vendor/ring/crypto/rsa/rsa.c
200
- - vendor/ring/crypto/rsa/rsa_asn1.c
201
- - vendor/ring/crypto/rsa/rsa_impl.c
202
- - vendor/ring/crypto/rsa/rsa_test.Windows.vcxproj
203
- - vendor/ring/crypto/rsa/rsa_test.cc
204
- - vendor/ring/crypto/sha/asm/sha-armv8.pl
205
- - vendor/ring/crypto/sha/asm/sha-x86_64.pl
206
- - vendor/ring/crypto/sha/asm/sha256-586.pl
207
- - vendor/ring/crypto/sha/asm/sha256-armv4.pl
208
- - vendor/ring/crypto/sha/asm/sha256-armv8.pl
209
- - vendor/ring/crypto/sha/asm/sha256-x86_64.pl
210
- - vendor/ring/crypto/sha/asm/sha512-586.pl
211
- - vendor/ring/crypto/sha/asm/sha512-armv4.pl
212
- - vendor/ring/crypto/sha/asm/sha512-armv8.pl
213
- - vendor/ring/crypto/sha/asm/sha512-x86_64.pl
214
- - vendor/ring/crypto/sha/sha1.c
215
- - vendor/ring/crypto/sha/sha256.c
216
- - vendor/ring/crypto/sha/sha512.c
217
- - vendor/ring/crypto/test/file_test.cc
218
- - vendor/ring/crypto/test/file_test.h
219
- - vendor/ring/crypto/test/malloc.cc
220
- - vendor/ring/crypto/test/scoped_types.h
221
- - vendor/ring/crypto/test/test.Windows.vcxproj
222
- - vendor/ring/crypto/test/test_util.cc
223
- - vendor/ring/crypto/test/test_util.h
224
- - vendor/ring/crypto/thread_none.c
225
- - vendor/ring/crypto/thread_pthread.c
226
- - vendor/ring/crypto/thread_test.Windows.vcxproj
227
- - vendor/ring/crypto/thread_test.c
228
- - vendor/ring/crypto/thread_win.c
229
- - vendor/ring/examples/checkdigest.rs
230
- - vendor/ring/include/openssl/aes.h
231
- - vendor/ring/include/openssl/arm_arch.h
232
- - vendor/ring/include/openssl/base.h
233
- - vendor/ring/include/openssl/bn.h
234
- - vendor/ring/include/openssl/buffer.h
235
- - vendor/ring/include/openssl/bytestring.h
236
- - vendor/ring/include/openssl/chacha.h
237
- - vendor/ring/include/openssl/cmac.h
238
- - vendor/ring/include/openssl/cpu.h
239
- - vendor/ring/include/openssl/crypto.h
240
- - vendor/ring/include/openssl/curve25519.h
241
- - vendor/ring/include/openssl/ec.h
242
- - vendor/ring/include/openssl/ec_key.h
243
- - vendor/ring/include/openssl/ecdh.h
244
- - vendor/ring/include/openssl/ecdsa.h
245
- - vendor/ring/include/openssl/err.h
246
- - vendor/ring/include/openssl/mem.h
247
- - vendor/ring/include/openssl/obj_mac.h
248
- - vendor/ring/include/openssl/opensslfeatures.h
249
- - vendor/ring/include/openssl/opensslv.h
250
- - vendor/ring/include/openssl/ossl_typ.h
251
- - vendor/ring/include/openssl/poly1305.h
252
- - vendor/ring/include/openssl/rand.h
253
- - vendor/ring/include/openssl/rsa.h
254
- - vendor/ring/include/openssl/thread.h
255
- - vendor/ring/include/openssl/type_check.h
256
- - vendor/ring/mk/Common.props
257
- - vendor/ring/mk/Windows.props
258
- - vendor/ring/mk/WindowsTest.props
259
- - vendor/ring/mk/appveyor.bat
260
- - vendor/ring/mk/bottom_of_makefile.mk
261
- - vendor/ring/mk/ring.mk
262
- - vendor/ring/mk/top_of_makefile.mk
263
- - vendor/ring/mk/travis.sh
264
- - vendor/ring/mk/update-travis-yml.py
265
- - vendor/ring/ring.sln
266
- - vendor/ring/src/aead.rs
267
- - vendor/ring/src/agreement.rs
268
- - vendor/ring/src/c.rs
269
- - vendor/ring/src/constant_time.rs
270
- - vendor/ring/src/der.rs
271
- - vendor/ring/src/digest.rs
272
- - vendor/ring/src/digest_tests.txt
273
- - vendor/ring/src/ecc.rs
274
- - vendor/ring/src/ecc_build.rs
275
- - vendor/ring/src/ecc_curves.rs
276
- - vendor/ring/src/ed25519_tests.txt
277
- - vendor/ring/src/exe_tests.rs
278
- - vendor/ring/src/ffi.rs
279
- - vendor/ring/src/file_test.rs
280
- - vendor/ring/src/hkdf.rs
281
- - vendor/ring/src/hkdf_tests.txt
282
- - vendor/ring/src/hmac.rs
283
- - vendor/ring/src/hmac_tests.txt
284
- - vendor/ring/src/input.rs
285
- - vendor/ring/src/lib.rs
286
- - vendor/ring/src/pbkdf2.rs
287
- - vendor/ring/src/pbkdf2_tests.txt
288
- - vendor/ring/src/polyfill.rs
289
- - vendor/ring/src/rand.rs
290
- - vendor/ring/src/signature.rs
291
- - vendor/ring/third-party/NIST/README.md
292
- - vendor/ring/third-party/NIST/SHAVS/SHA1LongMsg.rsp
293
- - vendor/ring/third-party/NIST/SHAVS/SHA1Monte.rsp
294
- - vendor/ring/third-party/NIST/SHAVS/SHA1ShortMsg.rsp
295
- - vendor/ring/third-party/NIST/SHAVS/SHA224LongMsg.rsp
296
- - vendor/ring/third-party/NIST/SHAVS/SHA224Monte.rsp
297
- - vendor/ring/third-party/NIST/SHAVS/SHA224ShortMsg.rsp
298
- - vendor/ring/third-party/NIST/SHAVS/SHA256LongMsg.rsp
299
- - vendor/ring/third-party/NIST/SHAVS/SHA256Monte.rsp
300
- - vendor/ring/third-party/NIST/SHAVS/SHA256ShortMsg.rsp
301
- - vendor/ring/third-party/NIST/SHAVS/SHA384LongMsg.rsp
302
- - vendor/ring/third-party/NIST/SHAVS/SHA384Monte.rsp
303
- - vendor/ring/third-party/NIST/SHAVS/SHA384ShortMsg.rsp
304
- - vendor/ring/third-party/NIST/SHAVS/SHA512LongMsg.rsp
305
- - vendor/ring/third-party/NIST/SHAVS/SHA512Monte.rsp
306
- - vendor/ring/third-party/NIST/SHAVS/SHA512ShortMsg.rsp
307
- - vendor/ring/third-party/NIST/sha256sums.txt
59
+ - vendor/ring-ffi/Cargo.lock
60
+ - vendor/ring-ffi/Cargo.toml
61
+ - vendor/ring-ffi/LICENSE
62
+ - vendor/ring-ffi/README.md
63
+ - vendor/ring-ffi/src/lib.rs
308
64
  homepage: https://github.com/cryptosphere/ruby-ring
309
65
  licenses:
310
66
  - OpenSSL
@@ -330,4 +86,3 @@ signing_key:
330
86
  specification_version: 4
331
87
  summary: The *ring* cryptography library, packaged as a RubyGem
332
88
  test_files: []
333
- has_rdoc: