blake3-rb 1.5.6.rc1 → 1.8.3.0
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.
- checksums.yaml +4 -4
- data/Cargo.lock +92 -125
- data/ext/digest/blake3_ext/Cargo.toml +5 -5
- data/ext/digest/blake3_ext/src/bindings.rs +19 -13
- data/ext/digest/blake3_ext/src/lib.rs +21 -17
- data/lib/digest/blake3.rb +5 -1
- metadata +7 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c89b1137da421aca8471a87e45065bdfb51aaf349d38f86f9abd0983ab30665e
|
|
4
|
+
data.tar.gz: 83021ab6fa5e3e456e2fdefc5465e37a4ed08e2968a80e38151816ac2f0c77b7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 942a19117bbf634cecb6d997070403a9cfa0325e56a7a69754a020d34014083e75d91fecd7bcfcab39e96d9f05a8897ed0dfacc1b26da9fc092e6cfa4c570b8d
|
|
7
|
+
data.tar.gz: ec27a90e727511eee541eae5ece8c4ecb785614b65f6c13750196e7cae58deb6bb1a9e71f20415a8b35fdece5133fe2fc5faa5a0213066c6bebb107276359635
|
data/Cargo.lock
CHANGED
|
@@ -4,9 +4,9 @@ version = 4
|
|
|
4
4
|
|
|
5
5
|
[[package]]
|
|
6
6
|
name = "aho-corasick"
|
|
7
|
-
version = "1.1.
|
|
7
|
+
version = "1.1.4"
|
|
8
8
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
9
|
-
checksum = "
|
|
9
|
+
checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
|
|
10
10
|
dependencies = [
|
|
11
11
|
"memchr",
|
|
12
12
|
]
|
|
@@ -45,21 +45,22 @@ dependencies = [
|
|
|
45
45
|
|
|
46
46
|
[[package]]
|
|
47
47
|
name = "bitflags"
|
|
48
|
-
version = "2.
|
|
48
|
+
version = "2.11.0"
|
|
49
49
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
50
|
-
checksum = "
|
|
50
|
+
checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
|
|
51
51
|
|
|
52
52
|
[[package]]
|
|
53
53
|
name = "blake3"
|
|
54
|
-
version = "1.
|
|
54
|
+
version = "1.8.3"
|
|
55
55
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
56
|
-
checksum = "
|
|
56
|
+
checksum = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d"
|
|
57
57
|
dependencies = [
|
|
58
58
|
"arrayref",
|
|
59
59
|
"arrayvec",
|
|
60
60
|
"cc",
|
|
61
61
|
"cfg-if",
|
|
62
62
|
"constant_time_eq",
|
|
63
|
+
"cpufeatures",
|
|
63
64
|
]
|
|
64
65
|
|
|
65
66
|
[[package]]
|
|
@@ -74,18 +75,13 @@ dependencies = [
|
|
|
74
75
|
"rb-sys-test-helpers",
|
|
75
76
|
]
|
|
76
77
|
|
|
77
|
-
[[package]]
|
|
78
|
-
name = "byteorder"
|
|
79
|
-
version = "1.5.0"
|
|
80
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
81
|
-
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
|
|
82
|
-
|
|
83
78
|
[[package]]
|
|
84
79
|
name = "cc"
|
|
85
|
-
version = "1.2.
|
|
80
|
+
version = "1.2.56"
|
|
86
81
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
87
|
-
checksum = "
|
|
82
|
+
checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2"
|
|
88
83
|
dependencies = [
|
|
84
|
+
"find-msvc-tools",
|
|
89
85
|
"shlex",
|
|
90
86
|
]
|
|
91
87
|
|
|
@@ -100,9 +96,9 @@ dependencies = [
|
|
|
100
96
|
|
|
101
97
|
[[package]]
|
|
102
98
|
name = "cfg-if"
|
|
103
|
-
version = "1.0.
|
|
99
|
+
version = "1.0.4"
|
|
104
100
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
105
|
-
checksum = "
|
|
101
|
+
checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
|
|
106
102
|
|
|
107
103
|
[[package]]
|
|
108
104
|
name = "clang-sys"
|
|
@@ -117,32 +113,48 @@ dependencies = [
|
|
|
117
113
|
|
|
118
114
|
[[package]]
|
|
119
115
|
name = "constant_time_eq"
|
|
120
|
-
version = "0.
|
|
116
|
+
version = "0.4.2"
|
|
117
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
118
|
+
checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b"
|
|
119
|
+
|
|
120
|
+
[[package]]
|
|
121
|
+
name = "cpufeatures"
|
|
122
|
+
version = "0.2.17"
|
|
121
123
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
122
|
-
checksum = "
|
|
124
|
+
checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
|
|
125
|
+
dependencies = [
|
|
126
|
+
"libc",
|
|
127
|
+
]
|
|
123
128
|
|
|
124
129
|
[[package]]
|
|
125
130
|
name = "either"
|
|
126
|
-
version = "1.
|
|
131
|
+
version = "1.15.0"
|
|
127
132
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
128
|
-
checksum = "
|
|
133
|
+
checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
|
|
134
|
+
|
|
135
|
+
[[package]]
|
|
136
|
+
name = "find-msvc-tools"
|
|
137
|
+
version = "0.1.9"
|
|
138
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
139
|
+
checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
|
|
129
140
|
|
|
130
141
|
[[package]]
|
|
131
142
|
name = "getrandom"
|
|
132
|
-
version = "0.
|
|
143
|
+
version = "0.3.4"
|
|
133
144
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
134
|
-
checksum = "
|
|
145
|
+
checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
|
|
135
146
|
dependencies = [
|
|
136
147
|
"cfg-if",
|
|
137
148
|
"libc",
|
|
138
|
-
"
|
|
149
|
+
"r-efi",
|
|
150
|
+
"wasip2",
|
|
139
151
|
]
|
|
140
152
|
|
|
141
153
|
[[package]]
|
|
142
154
|
name = "glob"
|
|
143
|
-
version = "0.3.
|
|
155
|
+
version = "0.3.3"
|
|
144
156
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
145
|
-
checksum = "
|
|
157
|
+
checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280"
|
|
146
158
|
|
|
147
159
|
[[package]]
|
|
148
160
|
name = "hex"
|
|
@@ -173,25 +185,25 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
|
|
|
173
185
|
|
|
174
186
|
[[package]]
|
|
175
187
|
name = "libc"
|
|
176
|
-
version = "0.2.
|
|
188
|
+
version = "0.2.182"
|
|
177
189
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
178
|
-
checksum = "
|
|
190
|
+
checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112"
|
|
179
191
|
|
|
180
192
|
[[package]]
|
|
181
193
|
name = "libloading"
|
|
182
|
-
version = "0.8.
|
|
194
|
+
version = "0.8.9"
|
|
183
195
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
184
|
-
checksum = "
|
|
196
|
+
checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55"
|
|
185
197
|
dependencies = [
|
|
186
198
|
"cfg-if",
|
|
187
|
-
"windows-
|
|
199
|
+
"windows-link",
|
|
188
200
|
]
|
|
189
201
|
|
|
190
202
|
[[package]]
|
|
191
203
|
name = "memchr"
|
|
192
|
-
version = "2.
|
|
204
|
+
version = "2.8.0"
|
|
193
205
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
194
|
-
checksum = "
|
|
206
|
+
checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
|
|
195
207
|
|
|
196
208
|
[[package]]
|
|
197
209
|
name = "minimal-lexical"
|
|
@@ -211,47 +223,52 @@ dependencies = [
|
|
|
211
223
|
|
|
212
224
|
[[package]]
|
|
213
225
|
name = "ppv-lite86"
|
|
214
|
-
version = "0.2.
|
|
226
|
+
version = "0.2.21"
|
|
215
227
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
216
|
-
checksum = "
|
|
228
|
+
checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
|
|
217
229
|
dependencies = [
|
|
218
230
|
"zerocopy",
|
|
219
231
|
]
|
|
220
232
|
|
|
221
233
|
[[package]]
|
|
222
234
|
name = "proc-macro2"
|
|
223
|
-
version = "1.0.
|
|
235
|
+
version = "1.0.106"
|
|
224
236
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
225
|
-
checksum = "
|
|
237
|
+
checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
|
|
226
238
|
dependencies = [
|
|
227
239
|
"unicode-ident",
|
|
228
240
|
]
|
|
229
241
|
|
|
230
242
|
[[package]]
|
|
231
243
|
name = "quote"
|
|
232
|
-
version = "1.0.
|
|
244
|
+
version = "1.0.44"
|
|
233
245
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
234
|
-
checksum = "
|
|
246
|
+
checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4"
|
|
235
247
|
dependencies = [
|
|
236
248
|
"proc-macro2",
|
|
237
249
|
]
|
|
238
250
|
|
|
251
|
+
[[package]]
|
|
252
|
+
name = "r-efi"
|
|
253
|
+
version = "5.3.0"
|
|
254
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
255
|
+
checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
|
|
256
|
+
|
|
239
257
|
[[package]]
|
|
240
258
|
name = "rand"
|
|
241
|
-
version = "0.
|
|
259
|
+
version = "0.9.2"
|
|
242
260
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
243
|
-
checksum = "
|
|
261
|
+
checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
|
|
244
262
|
dependencies = [
|
|
245
|
-
"libc",
|
|
246
263
|
"rand_chacha",
|
|
247
264
|
"rand_core",
|
|
248
265
|
]
|
|
249
266
|
|
|
250
267
|
[[package]]
|
|
251
268
|
name = "rand_chacha"
|
|
252
|
-
version = "0.
|
|
269
|
+
version = "0.9.0"
|
|
253
270
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
254
|
-
checksum = "
|
|
271
|
+
checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
|
|
255
272
|
dependencies = [
|
|
256
273
|
"ppv-lite86",
|
|
257
274
|
"rand_core",
|
|
@@ -259,9 +276,9 @@ dependencies = [
|
|
|
259
276
|
|
|
260
277
|
[[package]]
|
|
261
278
|
name = "rand_core"
|
|
262
|
-
version = "0.
|
|
279
|
+
version = "0.9.5"
|
|
263
280
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
264
|
-
checksum = "
|
|
281
|
+
checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c"
|
|
265
282
|
dependencies = [
|
|
266
283
|
"getrandom",
|
|
267
284
|
]
|
|
@@ -298,9 +315,9 @@ checksum = "cca7ad6a7e21e72151d56fe2495a259b5670e204c3adac41ee7ef676ea08117a"
|
|
|
298
315
|
|
|
299
316
|
[[package]]
|
|
300
317
|
name = "rb-sys-test-helpers"
|
|
301
|
-
version = "0.
|
|
318
|
+
version = "0.3.0"
|
|
302
319
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
303
|
-
checksum = "
|
|
320
|
+
checksum = "ccc637c53cad6a6b49ad51c5857c64e36bd70c955ffafe9dc9cc5bc9dd0b3b18"
|
|
304
321
|
dependencies = [
|
|
305
322
|
"rb-sys",
|
|
306
323
|
"rb-sys-env",
|
|
@@ -309,9 +326,9 @@ dependencies = [
|
|
|
309
326
|
|
|
310
327
|
[[package]]
|
|
311
328
|
name = "rb-sys-test-helpers-macros"
|
|
312
|
-
version = "0.
|
|
329
|
+
version = "0.3.0"
|
|
313
330
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
314
|
-
checksum = "
|
|
331
|
+
checksum = "b1c1fce35d9ac77a2745e539232fb82a75856675a5daf4ef8b1ca994d89f8b3f"
|
|
315
332
|
dependencies = [
|
|
316
333
|
"quote",
|
|
317
334
|
"syn",
|
|
@@ -319,9 +336,9 @@ dependencies = [
|
|
|
319
336
|
|
|
320
337
|
[[package]]
|
|
321
338
|
name = "regex"
|
|
322
|
-
version = "1.
|
|
339
|
+
version = "1.12.3"
|
|
323
340
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
324
|
-
checksum = "
|
|
341
|
+
checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276"
|
|
325
342
|
dependencies = [
|
|
326
343
|
"aho-corasick",
|
|
327
344
|
"memchr",
|
|
@@ -331,9 +348,9 @@ dependencies = [
|
|
|
331
348
|
|
|
332
349
|
[[package]]
|
|
333
350
|
name = "regex-automata"
|
|
334
|
-
version = "0.4.
|
|
351
|
+
version = "0.4.14"
|
|
335
352
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
336
|
-
checksum = "
|
|
353
|
+
checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f"
|
|
337
354
|
dependencies = [
|
|
338
355
|
"aho-corasick",
|
|
339
356
|
"memchr",
|
|
@@ -342,9 +359,9 @@ dependencies = [
|
|
|
342
359
|
|
|
343
360
|
[[package]]
|
|
344
361
|
name = "regex-syntax"
|
|
345
|
-
version = "0.8.
|
|
362
|
+
version = "0.8.9"
|
|
346
363
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
347
|
-
checksum = "
|
|
364
|
+
checksum = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c"
|
|
348
365
|
|
|
349
366
|
[[package]]
|
|
350
367
|
name = "rustc-hash"
|
|
@@ -354,9 +371,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
|
|
|
354
371
|
|
|
355
372
|
[[package]]
|
|
356
373
|
name = "shell-words"
|
|
357
|
-
version = "1.1.
|
|
374
|
+
version = "1.1.1"
|
|
358
375
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
359
|
-
checksum = "
|
|
376
|
+
checksum = "dc6fe69c597f9c37bfeeeeeb33da3530379845f10be461a66d16d03eca2ded77"
|
|
360
377
|
|
|
361
378
|
[[package]]
|
|
362
379
|
name = "shlex"
|
|
@@ -366,9 +383,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
|
|
366
383
|
|
|
367
384
|
[[package]]
|
|
368
385
|
name = "syn"
|
|
369
|
-
version = "2.0.
|
|
386
|
+
version = "2.0.117"
|
|
370
387
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
371
|
-
checksum = "
|
|
388
|
+
checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
|
|
372
389
|
dependencies = [
|
|
373
390
|
"proc-macro2",
|
|
374
391
|
"quote",
|
|
@@ -377,95 +394,45 @@ dependencies = [
|
|
|
377
394
|
|
|
378
395
|
[[package]]
|
|
379
396
|
name = "unicode-ident"
|
|
380
|
-
version = "1.0.
|
|
381
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
382
|
-
checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83"
|
|
383
|
-
|
|
384
|
-
[[package]]
|
|
385
|
-
name = "wasi"
|
|
386
|
-
version = "0.11.0+wasi-snapshot-preview1"
|
|
397
|
+
version = "1.0.24"
|
|
387
398
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
388
|
-
checksum = "
|
|
399
|
+
checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
|
|
389
400
|
|
|
390
401
|
[[package]]
|
|
391
|
-
name = "
|
|
392
|
-
version = "0.
|
|
402
|
+
name = "wasip2"
|
|
403
|
+
version = "1.0.2+wasi-0.2.9"
|
|
393
404
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
394
|
-
checksum = "
|
|
405
|
+
checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5"
|
|
395
406
|
dependencies = [
|
|
396
|
-
"
|
|
397
|
-
"windows_aarch64_msvc",
|
|
398
|
-
"windows_i686_gnu",
|
|
399
|
-
"windows_i686_gnullvm",
|
|
400
|
-
"windows_i686_msvc",
|
|
401
|
-
"windows_x86_64_gnu",
|
|
402
|
-
"windows_x86_64_gnullvm",
|
|
403
|
-
"windows_x86_64_msvc",
|
|
407
|
+
"wit-bindgen",
|
|
404
408
|
]
|
|
405
409
|
|
|
406
410
|
[[package]]
|
|
407
|
-
name = "
|
|
408
|
-
version = "0.
|
|
409
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
410
|
-
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
|
|
411
|
-
|
|
412
|
-
[[package]]
|
|
413
|
-
name = "windows_aarch64_msvc"
|
|
414
|
-
version = "0.52.6"
|
|
415
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
416
|
-
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
|
|
417
|
-
|
|
418
|
-
[[package]]
|
|
419
|
-
name = "windows_i686_gnu"
|
|
420
|
-
version = "0.52.6"
|
|
421
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
422
|
-
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
|
|
423
|
-
|
|
424
|
-
[[package]]
|
|
425
|
-
name = "windows_i686_gnullvm"
|
|
426
|
-
version = "0.52.6"
|
|
427
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
428
|
-
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
|
|
429
|
-
|
|
430
|
-
[[package]]
|
|
431
|
-
name = "windows_i686_msvc"
|
|
432
|
-
version = "0.52.6"
|
|
433
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
434
|
-
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
|
|
435
|
-
|
|
436
|
-
[[package]]
|
|
437
|
-
name = "windows_x86_64_gnu"
|
|
438
|
-
version = "0.52.6"
|
|
439
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
440
|
-
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
|
|
441
|
-
|
|
442
|
-
[[package]]
|
|
443
|
-
name = "windows_x86_64_gnullvm"
|
|
444
|
-
version = "0.52.6"
|
|
411
|
+
name = "windows-link"
|
|
412
|
+
version = "0.2.1"
|
|
445
413
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
446
|
-
checksum = "
|
|
414
|
+
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
|
|
447
415
|
|
|
448
416
|
[[package]]
|
|
449
|
-
name = "
|
|
450
|
-
version = "0.
|
|
417
|
+
name = "wit-bindgen"
|
|
418
|
+
version = "0.51.0"
|
|
451
419
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
452
|
-
checksum = "
|
|
420
|
+
checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5"
|
|
453
421
|
|
|
454
422
|
[[package]]
|
|
455
423
|
name = "zerocopy"
|
|
456
|
-
version = "0.
|
|
424
|
+
version = "0.8.39"
|
|
457
425
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
458
|
-
checksum = "
|
|
426
|
+
checksum = "db6d35d663eadb6c932438e763b262fe1a70987f9ae936e60158176d710cae4a"
|
|
459
427
|
dependencies = [
|
|
460
|
-
"byteorder",
|
|
461
428
|
"zerocopy-derive",
|
|
462
429
|
]
|
|
463
430
|
|
|
464
431
|
[[package]]
|
|
465
432
|
name = "zerocopy-derive"
|
|
466
|
-
version = "0.
|
|
433
|
+
version = "0.8.39"
|
|
467
434
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
468
|
-
checksum = "
|
|
435
|
+
checksum = "4122cd3169e94605190e77839c9a40d40ed048d305bfdc146e7df40ab0f3e517"
|
|
469
436
|
dependencies = [
|
|
470
437
|
"proc-macro2",
|
|
471
438
|
"quote",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "blake3_ext"
|
|
3
3
|
version = "0.1.0"
|
|
4
|
-
edition = "
|
|
4
|
+
edition = "2024"
|
|
5
5
|
authors = ["Ian Ker-Seymer <ian.kerseymer@shopify.com>"]
|
|
6
6
|
license = "MIT"
|
|
7
7
|
publish = false
|
|
@@ -10,16 +10,16 @@ publish = false
|
|
|
10
10
|
crate-type = ["cdylib"]
|
|
11
11
|
|
|
12
12
|
[dependencies]
|
|
13
|
-
rb-sys = { version = "0.9", features = ["stable-api-compiled-fallback"] }
|
|
13
|
+
rb-sys = { version = "0.9.124", features = ["stable-api-compiled-fallback"] }
|
|
14
14
|
blake3 = { version = "1.5" }
|
|
15
15
|
|
|
16
16
|
[dev-dependencies]
|
|
17
17
|
hex = "0.4.3"
|
|
18
|
-
rand = "0.
|
|
19
|
-
rb-sys-test-helpers = "0.
|
|
18
|
+
rand = "0.9.2"
|
|
19
|
+
rb-sys-test-helpers = "0.3.0"
|
|
20
20
|
|
|
21
21
|
[build-dependencies]
|
|
22
|
-
rb-sys-env = "0.2.
|
|
22
|
+
rb-sys-env = "0.2.3"
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
[lints.rust]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
use rb_sys::{
|
|
1
|
+
use rb_sys::{VALUE, size_t};
|
|
2
2
|
use std::ffi::{c_int, c_uchar, c_void};
|
|
3
3
|
|
|
4
4
|
pub const RUBY_DIGEST_API_VERSION: c_int = 3;
|
|
@@ -36,19 +36,23 @@ pub unsafe fn rb_digest_make_metadata(meta: &'static RbDigestMetadataT) -> VALUE
|
|
|
36
36
|
INIT.call_once(|| {
|
|
37
37
|
let lib_name = "digest.so\0".as_ptr() as *const c_char;
|
|
38
38
|
let symbol_name = "rb_digest_wrap_metadata\0".as_ptr() as *const c_char;
|
|
39
|
-
let symbol_ptr = rb_ext_resolve_symbol(lib_name, symbol_name);
|
|
39
|
+
let symbol_ptr = unsafe { rb_ext_resolve_symbol(lib_name, symbol_name) };
|
|
40
40
|
|
|
41
41
|
if !symbol_ptr.is_null() {
|
|
42
|
-
|
|
42
|
+
unsafe {
|
|
43
|
+
WRAPPER = Some(std::mem::transmute::<*mut c_void, WrapperType>(symbol_ptr));
|
|
44
|
+
}
|
|
43
45
|
} else {
|
|
44
46
|
panic!("Failed to resolve rb_digest_wrap_metadata");
|
|
45
47
|
}
|
|
46
48
|
});
|
|
47
49
|
}
|
|
48
50
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
unsafe {
|
|
52
|
+
load_wrapper();
|
|
53
|
+
if let Some(wrapper) = WRAPPER {
|
|
54
|
+
return wrapper(meta);
|
|
55
|
+
}
|
|
52
56
|
}
|
|
53
57
|
panic!("Failed to resolve rb_digest_wrap_metadata");
|
|
54
58
|
}
|
|
@@ -56,11 +60,13 @@ pub unsafe fn rb_digest_make_metadata(meta: &'static RbDigestMetadataT) -> VALUE
|
|
|
56
60
|
#[cfg(not(any(digest_use_rb_ext_resolve_symbol, ruby_gte_3_4)))]
|
|
57
61
|
pub unsafe fn rb_digest_make_metadata(meta: &'static RbDigestMetadataT) -> VALUE {
|
|
58
62
|
use rb_sys::{rb_data_object_wrap, rb_obj_freeze};
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
unsafe {
|
|
64
|
+
let data = rb_data_object_wrap(
|
|
65
|
+
0 as VALUE,
|
|
66
|
+
meta as *const RbDigestMetadataT as *mut c_void,
|
|
67
|
+
None,
|
|
68
|
+
None,
|
|
69
|
+
);
|
|
70
|
+
rb_obj_freeze(data)
|
|
71
|
+
}
|
|
66
72
|
}
|
|
@@ -9,7 +9,7 @@ use std::ffi::{c_int, c_uchar, c_void};
|
|
|
9
9
|
use std::mem::MaybeUninit;
|
|
10
10
|
use std::os::raw::c_char;
|
|
11
11
|
|
|
12
|
-
use bindings::{
|
|
12
|
+
use bindings::{RUBY_DIGEST_API_VERSION, RbDigestMetadataT, rb_digest_make_metadata};
|
|
13
13
|
|
|
14
14
|
#[repr(C)]
|
|
15
15
|
#[derive(Debug, Default)]
|
|
@@ -66,26 +66,30 @@ impl Blake3 {
|
|
|
66
66
|
|
|
67
67
|
/// # Safety
|
|
68
68
|
/// This function is called by Ruby, so it must be safe.
|
|
69
|
-
#[no_mangle]
|
|
69
|
+
#[unsafe(no_mangle)]
|
|
70
70
|
pub unsafe extern "C" fn Init_blake3_ext() {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
71
|
+
unsafe {
|
|
72
|
+
rb_require("digest\0".as_ptr() as *const c_char);
|
|
73
|
+
let digest_module =
|
|
74
|
+
rb_const_get(rb_cObject, rb_intern("Digest\0".as_ptr() as *const c_char));
|
|
75
|
+
let digest_base =
|
|
76
|
+
rb_const_get(digest_module, rb_intern("Base\0".as_ptr() as *const c_char));
|
|
77
|
+
let klass = rb_define_class_under(
|
|
78
|
+
digest_module,
|
|
79
|
+
"Blake3\0".as_ptr() as *const c_char,
|
|
80
|
+
digest_base,
|
|
81
|
+
);
|
|
82
|
+
let meta = rb_digest_make_metadata(Blake3::digest_metadata());
|
|
83
|
+
let metadata_id = rb_intern("metadata\0".as_ptr() as *const c_char);
|
|
84
|
+
rb_ivar_set(klass, metadata_id, meta);
|
|
85
|
+
}
|
|
82
86
|
}
|
|
83
87
|
|
|
84
88
|
#[cfg(test)]
|
|
85
89
|
mod tests {
|
|
86
90
|
use rb_sys::{
|
|
87
|
-
rb_cObject, rb_const_get, rb_enc_set_index, rb_funcallv_public,
|
|
88
|
-
|
|
91
|
+
RSTRING_LEN, RSTRING_PTR, rb_cObject, rb_const_get, rb_enc_set_index, rb_funcallv_public,
|
|
92
|
+
rb_intern, rb_str_new, rb_utf8_encindex,
|
|
89
93
|
};
|
|
90
94
|
use rb_sys_test_helpers::{protect, ruby_test};
|
|
91
95
|
|
|
@@ -126,12 +130,12 @@ mod tests {
|
|
|
126
130
|
}
|
|
127
131
|
|
|
128
132
|
fn gen_random_bytes(max_len: usize) -> Vec<u8> {
|
|
129
|
-
let size = rand::
|
|
133
|
+
let size = rand::random_range(0..max_len);
|
|
130
134
|
(0..size).map(|_| rand::random::<u8>()).collect()
|
|
131
135
|
}
|
|
132
136
|
|
|
133
137
|
fn gen_random_string(max_len: usize) -> String {
|
|
134
|
-
let size = rand::
|
|
138
|
+
let size = rand::random_range(0..max_len);
|
|
135
139
|
(0..size)
|
|
136
140
|
.map(|_| rand::random::<char>())
|
|
137
141
|
.collect::<String>()
|
data/lib/digest/blake3.rb
CHANGED
|
@@ -12,5 +12,9 @@ begin
|
|
|
12
12
|
RUBY_VERSION =~ /(\d+\.\d+)/
|
|
13
13
|
require "digest/blake3/#{Regexp.last_match(1)}/blake3_ext"
|
|
14
14
|
rescue LoadError
|
|
15
|
-
|
|
15
|
+
begin
|
|
16
|
+
require_relative "blake3/blake3_ext"
|
|
17
|
+
rescue LoadError
|
|
18
|
+
require "digest/blake3/blake3_ext"
|
|
19
|
+
end
|
|
16
20
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: blake3-rb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.8.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ian Ker-Seymer
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: rb_sys
|
|
@@ -16,16 +15,15 @@ dependencies:
|
|
|
16
15
|
requirements:
|
|
17
16
|
- - "~>"
|
|
18
17
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
18
|
+
version: 0.9.124
|
|
20
19
|
type: :runtime
|
|
21
20
|
prerelease: false
|
|
22
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
22
|
requirements:
|
|
24
23
|
- - "~>"
|
|
25
24
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
25
|
+
version: 0.9.124
|
|
27
26
|
description: Provides native bindings to the Blake3 hash function for Ruby.
|
|
28
|
-
email:
|
|
29
27
|
executables: []
|
|
30
28
|
extensions:
|
|
31
29
|
- ext/digest/blake3_ext/extconf.rb
|
|
@@ -49,7 +47,6 @@ metadata:
|
|
|
49
47
|
allowed_push_host: https://rubygems.org
|
|
50
48
|
homepage_uri: https://github.com/Shopify/blake3-ruby
|
|
51
49
|
source_code_uri: https://github.com/Shopify/blake3-ruby
|
|
52
|
-
post_install_message:
|
|
53
50
|
rdoc_options: []
|
|
54
51
|
require_paths:
|
|
55
52
|
- lib
|
|
@@ -60,12 +57,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
60
57
|
version: 3.2.0
|
|
61
58
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
62
59
|
requirements:
|
|
63
|
-
- - "
|
|
60
|
+
- - ">="
|
|
64
61
|
- !ruby/object:Gem::Version
|
|
65
|
-
version:
|
|
62
|
+
version: '0'
|
|
66
63
|
requirements: []
|
|
67
|
-
rubygems_version: 3.
|
|
68
|
-
signing_key:
|
|
64
|
+
rubygems_version: 3.6.9
|
|
69
65
|
specification_version: 4
|
|
70
66
|
summary: Blake3 hash function bindings for Ruby.
|
|
71
67
|
test_files: []
|