react-native-quick-crypto 1.1.2 → 1.1.3
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.
- package/cpp/utils/HybridUtils.cpp +60 -10
- package/cpp/utils/HybridUtils.hpp +4 -0
- package/lib/commonjs/expo-plugin/withXCode.js +3 -3
- package/lib/commonjs/utils/conversion.js +8 -6
- package/lib/commonjs/utils/conversion.js.map +1 -1
- package/lib/module/expo-plugin/withXCode.js +3 -3
- package/lib/module/utils/conversion.js +8 -6
- package/lib/module/utils/conversion.js.map +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/utils/conversion.d.ts +5 -3
- package/lib/typescript/utils/conversion.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/expo-plugin/withXCode.ts +3 -3
- package/src/utils/conversion.ts +8 -6
|
@@ -142,11 +142,12 @@ namespace {
|
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
size_t offset = result.size();
|
|
145
|
-
result.
|
|
145
|
+
result.reserve(offset + (num * 2)); // Allocate buffer conservatively
|
|
146
146
|
|
|
147
|
-
auto* dst = result.data() + offset;
|
|
148
147
|
if (isAscii) {
|
|
149
148
|
// Widen ASCII characters from char into char16_t
|
|
149
|
+
result.resize(offset + (num * 2)); // This fills the buffer with '\0'
|
|
150
|
+
auto* dst = result.data() + offset;
|
|
150
151
|
const auto* asciiSrc = reinterpret_cast<const char*>(data);
|
|
151
152
|
for (size_t i = 0; i < num; i++, dst += 2) {
|
|
152
153
|
*dst = asciiSrc[i];
|
|
@@ -155,13 +156,16 @@ namespace {
|
|
|
155
156
|
return;
|
|
156
157
|
}
|
|
157
158
|
|
|
158
|
-
const auto* utf16Src = reinterpret_cast<const char16_t*>(data);
|
|
159
159
|
if constexpr (kCanDirectCopyUtf16) {
|
|
160
160
|
// Fast&direct copy path
|
|
161
|
-
|
|
161
|
+
const auto* byteSrc = reinterpret_cast<const uint8_t*>(data);
|
|
162
|
+
result.insert(result.end(), byteSrc, byteSrc + num * 2);
|
|
162
163
|
return;
|
|
163
164
|
}
|
|
164
165
|
// Slow path for unexpected endianness/char16_t size
|
|
166
|
+
result.resize(offset + (num * 2));
|
|
167
|
+
const auto* utf16Src = reinterpret_cast<const char16_t*>(data);
|
|
168
|
+
auto* dst = result.data() + offset;
|
|
165
169
|
for (size_t i = 0; i < num; i++) {
|
|
166
170
|
const uint16_t codeUnit = static_cast<uint16_t>(utf16Src[i]);
|
|
167
171
|
dst[i * 2 + 0] = static_cast<uint8_t>(codeUnit & 0xFFu);
|
|
@@ -175,7 +179,7 @@ namespace {
|
|
|
175
179
|
throw std::runtime_error("Unsupported encoding: utf16le");
|
|
176
180
|
}
|
|
177
181
|
|
|
178
|
-
std::vector<uint8_t>
|
|
182
|
+
std::vector<uint8_t> decodeLatin1FromUtf8(const std::string& str) {
|
|
179
183
|
std::vector<uint8_t> result;
|
|
180
184
|
result.reserve(str.size());
|
|
181
185
|
size_t i = 0;
|
|
@@ -204,6 +208,43 @@ namespace {
|
|
|
204
208
|
return result;
|
|
205
209
|
}
|
|
206
210
|
|
|
211
|
+
template <typename JSIString = facebook::jsi::String>
|
|
212
|
+
std::vector<uint8_t> decodeLatin1(facebook::jsi::Runtime& runtime, bool isHermes, const JSIString& str) {
|
|
213
|
+
if constexpr (HasStringGetStringData<JSIString>) {
|
|
214
|
+
if (isHermes) {
|
|
215
|
+
std::vector<uint8_t> result;
|
|
216
|
+
auto chunkCallback = [&result](bool isAscii, const void* data, size_t num) {
|
|
217
|
+
if (num == 0) {
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
size_t offset = result.size();
|
|
222
|
+
result.reserve(offset + num); // Allocate buffer conservatively
|
|
223
|
+
|
|
224
|
+
if (isAscii) {
|
|
225
|
+
// Fast&direct copy path
|
|
226
|
+
const auto* asciiSrc = reinterpret_cast<const uint8_t*>(data);
|
|
227
|
+
result.insert(result.end(), asciiSrc, asciiSrc + num);
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
result.resize(offset + num);
|
|
232
|
+
const auto* utf16Src = reinterpret_cast<const char16_t*>(data);
|
|
233
|
+
auto* dst = result.data() + offset;
|
|
234
|
+
for (size_t i = 0; i < num; i++) {
|
|
235
|
+
// Node.js-like behavior
|
|
236
|
+
dst[i] = static_cast<uint8_t>(utf16Src[i] & 0xFFu);
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
str.getStringData(runtime, chunkCallback);
|
|
241
|
+
return result;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
// Slow path for non-Hermes runtime/old RN versions
|
|
245
|
+
return decodeLatin1FromUtf8(str.utf8(runtime));
|
|
246
|
+
}
|
|
247
|
+
|
|
207
248
|
std::string encodeLatin1(const uint8_t* data, size_t len) {
|
|
208
249
|
if (len == 0) {
|
|
209
250
|
return {};
|
|
@@ -231,6 +272,15 @@ bool HybridUtils::timingSafeEqual(const std::shared_ptr<ArrayBuffer>& a, const s
|
|
|
231
272
|
return CRYPTO_memcmp(a->data(), b->data(), aLen) == 0;
|
|
232
273
|
}
|
|
233
274
|
|
|
275
|
+
bool HybridUtils::isHermesRuntime(facebook::jsi::Runtime& runtime) {
|
|
276
|
+
// Cache assumes runtimes are long-lived and calls happen on the JS thread.
|
|
277
|
+
if (cachedRuntime_ != &runtime) [[unlikely]] {
|
|
278
|
+
cachedRuntime_ = &runtime;
|
|
279
|
+
cachedIsHermesRuntime_ = runtime.global().hasProperty(runtime, "HermesInternal");
|
|
280
|
+
}
|
|
281
|
+
return cachedIsHermesRuntime_;
|
|
282
|
+
}
|
|
283
|
+
|
|
234
284
|
facebook::jsi::Value HybridUtils::bufferToJsiString(facebook::jsi::Runtime& runtime, const facebook::jsi::Value&,
|
|
235
285
|
const facebook::jsi::Value* args, size_t argCount) {
|
|
236
286
|
// Runtime argument check from react-native-nitro-modules/cpp/core/HybridFunction.hpp
|
|
@@ -261,13 +311,13 @@ facebook::jsi::Value HybridUtils::bufferToJsiString(facebook::jsi::Runtime& runt
|
|
|
261
311
|
const auto* data = reinterpret_cast<const uint8_t*>(buffer->data() + offset);
|
|
262
312
|
|
|
263
313
|
if (encoding == "hex") {
|
|
264
|
-
return facebook::jsi::String::
|
|
314
|
+
return facebook::jsi::String::createFromAscii(runtime, encodeHex(data, length));
|
|
265
315
|
}
|
|
266
316
|
if (encoding == "base64") {
|
|
267
|
-
return facebook::jsi::String::
|
|
317
|
+
return facebook::jsi::String::createFromAscii(runtime, encodeBase64(data, length));
|
|
268
318
|
}
|
|
269
319
|
if (encoding == "base64url") {
|
|
270
|
-
return facebook::jsi::String::
|
|
320
|
+
return facebook::jsi::String::createFromAscii(runtime, encodeBase64Url(data, length));
|
|
271
321
|
}
|
|
272
322
|
if (encoding == "utf8" || encoding == "utf-8") {
|
|
273
323
|
return facebook::jsi::String::createFromUtf8(runtime, data, length);
|
|
@@ -280,7 +330,7 @@ facebook::jsi::Value HybridUtils::bufferToJsiString(facebook::jsi::Runtime& runt
|
|
|
280
330
|
for (auto& c : result) {
|
|
281
331
|
c &= 0x7F;
|
|
282
332
|
}
|
|
283
|
-
return facebook::jsi::String::
|
|
333
|
+
return facebook::jsi::String::createFromAscii(runtime, result);
|
|
284
334
|
}
|
|
285
335
|
if (encoding == "utf16le") {
|
|
286
336
|
return createUtf16LeString(runtime, data, length);
|
|
@@ -322,7 +372,7 @@ facebook::jsi::Value HybridUtils::jsiStringToBuffer(facebook::jsi::Runtime& runt
|
|
|
322
372
|
runtime, ArrayBuffer::copy(reinterpret_cast<const uint8_t*>(utf8Str.data()), utf8Str.size()));
|
|
323
373
|
}
|
|
324
374
|
if (encoding == "latin1" || encoding == "binary" || encoding == "ascii") {
|
|
325
|
-
auto decoded = decodeLatin1(
|
|
375
|
+
auto decoded = decodeLatin1(runtime, isHermesRuntime(runtime), str);
|
|
326
376
|
return JSIConverter<std::shared_ptr<ArrayBuffer>>::toJSI(runtime, ArrayBuffer::move(std::move(decoded)));
|
|
327
377
|
}
|
|
328
378
|
if (encoding == "utf16le") {
|
|
@@ -15,6 +15,10 @@ class HybridUtils : public HybridUtilsSpec {
|
|
|
15
15
|
void loadHybridMethods() override;
|
|
16
16
|
|
|
17
17
|
private:
|
|
18
|
+
facebook::jsi::Runtime* cachedRuntime_ = nullptr;
|
|
19
|
+
bool cachedIsHermesRuntime_ = false;
|
|
20
|
+
|
|
21
|
+
bool isHermesRuntime(facebook::jsi::Runtime& runtime);
|
|
18
22
|
facebook::jsi::Value bufferToJsiString(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& thisArg,
|
|
19
23
|
const facebook::jsi::Value* args, size_t argCount);
|
|
20
24
|
facebook::jsi::Value jsiStringToBuffer(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& thisArg,
|
|
@@ -18,10 +18,10 @@ const withXCode = config => {
|
|
|
18
18
|
// Use expo-build-properties to bump iOS deployment target
|
|
19
19
|
config = (0, _expoBuildProperties.withBuildProperties)(config, {
|
|
20
20
|
ios: {
|
|
21
|
-
deploymentTarget: '16.
|
|
21
|
+
deploymentTarget: '16.4'
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
-
// Patch the generated Podfile fallback to ensure platform is always 16.
|
|
24
|
+
// Patch the generated Podfile fallback to ensure platform is always 16.4
|
|
25
25
|
config = (0, _configPlugins.withDangerousMod)(config, ['ios', modConfig => {
|
|
26
26
|
const podfilePath = _path.default.join(modConfig.modRequest.platformProjectRoot, 'Podfile');
|
|
27
27
|
let contents = _fs.default.readFileSync(podfilePath, 'utf-8');
|
|
@@ -37,7 +37,7 @@ const withXCode = config => {
|
|
|
37
37
|
# https://github.com/mrousavy/nitro/issues/422#issuecomment-2545988256
|
|
38
38
|
installer.pods_project.targets.each do |target|
|
|
39
39
|
target.build_configurations.each do |config|
|
|
40
|
-
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.
|
|
40
|
+
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.4'
|
|
41
41
|
end
|
|
42
42
|
end
|
|
43
43
|
$2`);
|
|
@@ -93,7 +93,7 @@ function rejectSharedArrayBuffer(buf) {
|
|
|
93
93
|
* Only use this when the caller separately tracks `byteOffset`/`byteLength`
|
|
94
94
|
* and the native receiver needs to write back into the original memory
|
|
95
95
|
* (e.g. `randomFill`). For data that will be read by native crypto, use
|
|
96
|
-
* `binaryLikeToArrayBuffer`/`toArrayBuffer` instead — those
|
|
96
|
+
* `binaryLikeToArrayBuffer`/`toArrayBuffer` instead — those return only the
|
|
97
97
|
* view's region and won't leak unrelated bytes from the backing buffer.
|
|
98
98
|
*/
|
|
99
99
|
const abvToArrayBuffer = buf => {
|
|
@@ -108,18 +108,20 @@ const abvToArrayBuffer = buf => {
|
|
|
108
108
|
};
|
|
109
109
|
|
|
110
110
|
/**
|
|
111
|
-
* Converts supplied argument to an ArrayBuffer.
|
|
112
|
-
*
|
|
111
|
+
* Converts supplied argument to an ArrayBuffer. Note this copies data
|
|
112
|
+
* only when the supplied view represents a subrange of the underlying
|
|
113
|
+
* ArrayBuffer; otherwise the backing buffer is returned directly
|
|
114
|
+
* (aliased — do not mutate after passing).
|
|
113
115
|
* @param buf
|
|
114
116
|
* @returns ArrayBuffer
|
|
115
117
|
*/
|
|
116
118
|
exports.abvToArrayBuffer = abvToArrayBuffer;
|
|
117
119
|
function toArrayBuffer(buf) {
|
|
118
120
|
if (_reactNativeBuffer.Buffer.isBuffer(buf) || ArrayBuffer.isView(buf)) {
|
|
119
|
-
if (buf
|
|
120
|
-
return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
|
|
121
|
-
} else {
|
|
121
|
+
if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {
|
|
122
122
|
return buf.buffer;
|
|
123
|
+
} else {
|
|
124
|
+
return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
|
|
123
125
|
}
|
|
124
126
|
}
|
|
125
127
|
const ab = new ArrayBuffer(buf.length);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeBuffer","require","_safeBuffer","_reactNativeNitroModules","_reactNative","_noble","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","utils","NitroModules","createHybridObject","isHermes","global","HermesInternal","canGetU16StringFromJsiString","Platform","constants","reactNativeVersion","major","minor","canCreateJsiStringFromUtf16","baseNativeEncodings","nativeStringToBufferEncodings","Set","nativeBufferToStringEncodings","add","rejectSharedArrayBuffer","buf","SharedArrayBuffer","TypeError","ArrayBuffer","isView","buffer","abvToArrayBuffer","CraftzdogBuffer","isBuffer","toArrayBuffer","
|
|
1
|
+
{"version":3,"names":["_reactNativeBuffer","require","_safeBuffer","_reactNativeNitroModules","_reactNative","_noble","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","utils","NitroModules","createHybridObject","isHermes","global","HermesInternal","canGetU16StringFromJsiString","Platform","constants","reactNativeVersion","major","minor","canCreateJsiStringFromUtf16","baseNativeEncodings","nativeStringToBufferEncodings","Set","nativeBufferToStringEncodings","add","rejectSharedArrayBuffer","buf","SharedArrayBuffer","TypeError","ArrayBuffer","isView","buffer","abvToArrayBuffer","CraftzdogBuffer","isBuffer","toArrayBuffer","byteOffset","byteLength","slice","ab","length","view","Uint8Array","i","SafeBuffer","readUInt8","bufferLikeToArrayBuffer","binaryLikeToArrayBuffer","input","encoding","Error","has","stringToBuffer","from","toString","handle","exportKey","ab2str","start","end","bufferToString","undefined","Math","trunc","str","kEmptyObject","freeze","create"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,10 +14,10 @@ export const withXCode = config => {
|
|
|
14
14
|
// Use expo-build-properties to bump iOS deployment target
|
|
15
15
|
config = withBuildProperties(config, {
|
|
16
16
|
ios: {
|
|
17
|
-
deploymentTarget: '16.
|
|
17
|
+
deploymentTarget: '16.4'
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
|
-
// Patch the generated Podfile fallback to ensure platform is always 16.
|
|
20
|
+
// Patch the generated Podfile fallback to ensure platform is always 16.4
|
|
21
21
|
config = withDangerousMod(config, ['ios', modConfig => {
|
|
22
22
|
const podfilePath = path.join(modConfig.modRequest.platformProjectRoot, 'Podfile');
|
|
23
23
|
let contents = fs.readFileSync(podfilePath, 'utf-8');
|
|
@@ -33,7 +33,7 @@ export const withXCode = config => {
|
|
|
33
33
|
# https://github.com/mrousavy/nitro/issues/422#issuecomment-2545988256
|
|
34
34
|
installer.pods_project.targets.each do |target|
|
|
35
35
|
target.build_configurations.each do |config|
|
|
36
|
-
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.
|
|
36
|
+
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.4'
|
|
37
37
|
end
|
|
38
38
|
end
|
|
39
39
|
$2`);
|
|
@@ -58,7 +58,7 @@ export function rejectSharedArrayBuffer(buf) {
|
|
|
58
58
|
* Only use this when the caller separately tracks `byteOffset`/`byteLength`
|
|
59
59
|
* and the native receiver needs to write back into the original memory
|
|
60
60
|
* (e.g. `randomFill`). For data that will be read by native crypto, use
|
|
61
|
-
* `binaryLikeToArrayBuffer`/`toArrayBuffer` instead — those
|
|
61
|
+
* `binaryLikeToArrayBuffer`/`toArrayBuffer` instead — those return only the
|
|
62
62
|
* view's region and won't leak unrelated bytes from the backing buffer.
|
|
63
63
|
*/
|
|
64
64
|
export const abvToArrayBuffer = buf => {
|
|
@@ -73,17 +73,19 @@ export const abvToArrayBuffer = buf => {
|
|
|
73
73
|
};
|
|
74
74
|
|
|
75
75
|
/**
|
|
76
|
-
* Converts supplied argument to an ArrayBuffer.
|
|
77
|
-
*
|
|
76
|
+
* Converts supplied argument to an ArrayBuffer. Note this copies data
|
|
77
|
+
* only when the supplied view represents a subrange of the underlying
|
|
78
|
+
* ArrayBuffer; otherwise the backing buffer is returned directly
|
|
79
|
+
* (aliased — do not mutate after passing).
|
|
78
80
|
* @param buf
|
|
79
81
|
* @returns ArrayBuffer
|
|
80
82
|
*/
|
|
81
83
|
export function toArrayBuffer(buf) {
|
|
82
84
|
if (CraftzdogBuffer.isBuffer(buf) || ArrayBuffer.isView(buf)) {
|
|
83
|
-
if (buf
|
|
84
|
-
return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
|
|
85
|
-
} else {
|
|
85
|
+
if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {
|
|
86
86
|
return buf.buffer;
|
|
87
|
+
} else {
|
|
88
|
+
return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
|
|
87
89
|
}
|
|
88
90
|
}
|
|
89
91
|
const ab = new ArrayBuffer(buf.length);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Buffer","CraftzdogBuffer","SafeBuffer","NitroModules","Platform","utils","createHybridObject","isHermes","global","HermesInternal","canGetU16StringFromJsiString","constants","reactNativeVersion","major","minor","canCreateJsiStringFromUtf16","baseNativeEncodings","nativeStringToBufferEncodings","Set","nativeBufferToStringEncodings","add","rejectSharedArrayBuffer","buf","SharedArrayBuffer","TypeError","ArrayBuffer","isView","buffer","abvToArrayBuffer","isBuffer","toArrayBuffer","
|
|
1
|
+
{"version":3,"names":["Buffer","CraftzdogBuffer","SafeBuffer","NitroModules","Platform","utils","createHybridObject","isHermes","global","HermesInternal","canGetU16StringFromJsiString","constants","reactNativeVersion","major","minor","canCreateJsiStringFromUtf16","baseNativeEncodings","nativeStringToBufferEncodings","Set","nativeBufferToStringEncodings","add","rejectSharedArrayBuffer","buf","SharedArrayBuffer","TypeError","ArrayBuffer","isView","buffer","abvToArrayBuffer","isBuffer","toArrayBuffer","byteOffset","byteLength","slice","ab","length","view","Uint8Array","i","readUInt8","bufferLikeToArrayBuffer","binaryLikeToArrayBuffer","input","encoding","Error","has","stringToBuffer","from","Object","prototype","toString","call","handle","exportKey","ab2str","start","end","bufferToString","undefined","Math","trunc","str","kEmptyObject","freeze","create"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAGxD,OAAO,KAAK,YAAY,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAG3B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAIjC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAGxD,OAAO,KAAK,YAAY,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAG3B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAIjC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAiFomB,cAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA5DrnB,yCAKC,EAAC,YAAe;qBAeH,0BACjB,EAAC,2BAAsB;qBAiCW,oCAEzB,EAAC,2BAAwB;;;;;;qIAIw7E,CAAC;mKAA85B,CAAC;;;;;;;;;;;;;;+DAN11G,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA7CmB,CAAC;gBAAkB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAP5E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,YAUnB,CAAC;AAYF,eAAe,WAAW,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACxE,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC;AACrB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -10,13 +10,15 @@ export declare function rejectSharedArrayBuffer(buf: unknown): void;
|
|
|
10
10
|
* Only use this when the caller separately tracks `byteOffset`/`byteLength`
|
|
11
11
|
* and the native receiver needs to write back into the original memory
|
|
12
12
|
* (e.g. `randomFill`). For data that will be read by native crypto, use
|
|
13
|
-
* `binaryLikeToArrayBuffer`/`toArrayBuffer` instead — those
|
|
13
|
+
* `binaryLikeToArrayBuffer`/`toArrayBuffer` instead — those return only the
|
|
14
14
|
* view's region and won't leak unrelated bytes from the backing buffer.
|
|
15
15
|
*/
|
|
16
16
|
export declare const abvToArrayBuffer: (buf: ABV) => ArrayBuffer;
|
|
17
17
|
/**
|
|
18
|
-
* Converts supplied argument to an ArrayBuffer.
|
|
19
|
-
*
|
|
18
|
+
* Converts supplied argument to an ArrayBuffer. Note this copies data
|
|
19
|
+
* only when the supplied view represents a subrange of the underlying
|
|
20
|
+
* ArrayBuffer; otherwise the backing buffer is returned directly
|
|
21
|
+
* (aliased — do not mutate after passing).
|
|
20
22
|
* @param buf
|
|
21
23
|
* @returns ArrayBuffer
|
|
22
24
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../../src/utils/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAoE/D,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAa1D;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,GAAI,KAAK,GAAG,gBASxC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../../src/utils/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAoE/D,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAa1D;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,GAAI,KAAK,GAAG,gBASxC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,eAAe,GAAG,UAAU,GAAG,eAAe,GAClD,WAAW,CAiBb;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,UAAU,GAAG,WAAW,CAoBpE;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,cAAc,EAAE,wCAAwC;AAC/D,QAAQ,GAAE,MAAgB,GACzB,WAAW,CAmEb;AAED,wBAAgB,MAAM,CACpB,GAAG,EAAE,WAAW,EAChB,QAAQ,GAAE,MAAc,EACxB,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,GACX,MAAM,CAMR;AAED,8DAA8D;AAC9D,wBAAgB,cAAc,CAC5B,GAAG,EAAE,WAAW,EAChB,QAAQ,GAAE,MAAc,EACxB,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,GACX,MAAM,CAqBR;AAED,6DAA6D;AAC7D,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,MAAgB,GACzB,WAAW,CAEb;AAED,eAAO,MAAM,YAAY,KAAqC,CAAC;AAE/D,cAAc,SAAS,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-quick-crypto",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
4
4
|
"description": "A fast implementation of Node's `crypto` module written in C/C++ JSI",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
"dependencies": {
|
|
109
109
|
"@craftzdog/react-native-buffer": "6.1.0",
|
|
110
110
|
"events": "3.3.0",
|
|
111
|
-
"readable-stream": "4.
|
|
111
|
+
"readable-stream": "4.7.0",
|
|
112
112
|
"safe-buffer": "^5.2.1",
|
|
113
113
|
"string_decoder": "^1.3.0",
|
|
114
114
|
"util": "0.12.5"
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
"@types/jest": "29.5.11",
|
|
118
118
|
"@types/node": "24.3.0",
|
|
119
119
|
"@types/react": "18.3.3",
|
|
120
|
-
"@types/readable-stream": "4.0.
|
|
120
|
+
"@types/readable-stream": "4.0.23",
|
|
121
121
|
"del-cli": "7.0.0",
|
|
122
122
|
"dpdm": "^4.0.1",
|
|
123
123
|
"expo": "^54.0.25",
|
|
@@ -12,8 +12,8 @@ import path from 'path';
|
|
|
12
12
|
*/
|
|
13
13
|
export const withXCode: ConfigPlugin<ConfigProps> = config => {
|
|
14
14
|
// Use expo-build-properties to bump iOS deployment target
|
|
15
|
-
config = withBuildProperties(config, { ios: { deploymentTarget: '16.
|
|
16
|
-
// Patch the generated Podfile fallback to ensure platform is always 16.
|
|
15
|
+
config = withBuildProperties(config, { ios: { deploymentTarget: '16.4' } });
|
|
16
|
+
// Patch the generated Podfile fallback to ensure platform is always 16.4
|
|
17
17
|
config = withDangerousMod(config, [
|
|
18
18
|
'ios',
|
|
19
19
|
modConfig => {
|
|
@@ -40,7 +40,7 @@ export const withXCode: ConfigPlugin<ConfigProps> = config => {
|
|
|
40
40
|
# https://github.com/mrousavy/nitro/issues/422#issuecomment-2545988256
|
|
41
41
|
installer.pods_project.targets.each do |target|
|
|
42
42
|
target.build_configurations.each do |config|
|
|
43
|
-
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.
|
|
43
|
+
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.4'
|
|
44
44
|
end
|
|
45
45
|
end
|
|
46
46
|
$2`,
|
package/src/utils/conversion.ts
CHANGED
|
@@ -93,7 +93,7 @@ export function rejectSharedArrayBuffer(buf: unknown): void {
|
|
|
93
93
|
* Only use this when the caller separately tracks `byteOffset`/`byteLength`
|
|
94
94
|
* and the native receiver needs to write back into the original memory
|
|
95
95
|
* (e.g. `randomFill`). For data that will be read by native crypto, use
|
|
96
|
-
* `binaryLikeToArrayBuffer`/`toArrayBuffer` instead — those
|
|
96
|
+
* `binaryLikeToArrayBuffer`/`toArrayBuffer` instead — those return only the
|
|
97
97
|
* view's region and won't leak unrelated bytes from the backing buffer.
|
|
98
98
|
*/
|
|
99
99
|
export const abvToArrayBuffer = (buf: ABV) => {
|
|
@@ -108,8 +108,10 @@ export const abvToArrayBuffer = (buf: ABV) => {
|
|
|
108
108
|
};
|
|
109
109
|
|
|
110
110
|
/**
|
|
111
|
-
* Converts supplied argument to an ArrayBuffer.
|
|
112
|
-
*
|
|
111
|
+
* Converts supplied argument to an ArrayBuffer. Note this copies data
|
|
112
|
+
* only when the supplied view represents a subrange of the underlying
|
|
113
|
+
* ArrayBuffer; otherwise the backing buffer is returned directly
|
|
114
|
+
* (aliased — do not mutate after passing).
|
|
113
115
|
* @param buf
|
|
114
116
|
* @returns ArrayBuffer
|
|
115
117
|
*/
|
|
@@ -117,13 +119,13 @@ export function toArrayBuffer(
|
|
|
117
119
|
buf: CraftzdogBuffer | SafeBuffer | ArrayBufferView,
|
|
118
120
|
): ArrayBuffer {
|
|
119
121
|
if (CraftzdogBuffer.isBuffer(buf) || ArrayBuffer.isView(buf)) {
|
|
120
|
-
if (buf
|
|
122
|
+
if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {
|
|
123
|
+
return buf.buffer as ArrayBuffer;
|
|
124
|
+
} else {
|
|
121
125
|
return buf.buffer.slice(
|
|
122
126
|
buf.byteOffset,
|
|
123
127
|
buf.byteOffset + buf.byteLength,
|
|
124
128
|
) as ArrayBuffer;
|
|
125
|
-
} else {
|
|
126
|
-
return buf.buffer as ArrayBuffer;
|
|
127
129
|
}
|
|
128
130
|
}
|
|
129
131
|
const ab = new ArrayBuffer(buf.length);
|