freerasp-react-native 2.0.3 → 3.0.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.
package/README.md CHANGED
@@ -94,7 +94,19 @@ or
94
94
 
95
95
  ### Android
96
96
 
97
- _All dependencies of freeRASP for Android are resolved automatically._
97
+ freeRASP for Android requires a minimum **SDK** level of **23**. React Native projects, by default, support even lower levels of minimum SDK. This creates an inconsistency we must solve by updating the minimum SDK level of the application:
98
+
99
+ 1. From the root of your project, go to **android > build.gradle**.
100
+ 1. In **buildscript**, update **minSdkVersion** to at least **23** (Android 6.0) or higher.
101
+
102
+ ```groovy
103
+ buildscript {
104
+ ext {
105
+ minSdkVersion 23
106
+ ...
107
+ }
108
+ }
109
+ ```
98
110
 
99
111
  ### iOS
100
112
 
@@ -222,9 +234,9 @@ const actions = {
222
234
  deviceID: () => {
223
235
  console.log('deviceID');
224
236
  },
225
- // iOS only
226
- passcodeChange: () => {
227
- console.log('passcodeChange');
237
+ // Android only
238
+ obfuscationIssues: () => {
239
+ console.log('obfuscationIssues');
228
240
  },
229
241
  };
230
242
 
@@ -273,23 +285,15 @@ _You can override this default behavior by extending the `actions` object with `
273
285
 
274
286
  ## Step 5: Additional note about obfuscation
275
287
 
276
- The freeRASP contains public API, so the integration process is as simple as possible. Unfortunately, this public API also creates opportunities for the attacker to use publicly available information to interrupt freeRASP operations or modify your custom reaction implementation in threat callbacks. In order for freeRASP to be as effective as possible, it is highly recommended to apply obfuscation to the final package/application, making the public API more difficult to find and also partially randomized for each application so it cannot be automatically abused by generic hooking scripts.
288
+ The freeRASP contains public API, so the integration process is as simple as possible. Unfortunately, this public API also creates opportunities for the attacker to use publicly available information to interrupt freeRASP operations or modify your custom reaction implementation in threat callbacks. In order to provide as much protection as possible, freeRASP obfuscates its source code. However, if all other code is not obfuscated, one can easily deduct that the obfuscated code belongs to a security library. We, therefore, encourage you to apply code obfuscation to your app, making the public API more difficult to find and also partially randomized for each application so it cannot be automatically abused by generic hooking scripts.
277
289
 
278
- ### Android
290
+ Probably the easiest way to obfuscate your app is via code minification, a technique that reduces the size of the compiled code by removing unnecessary characters, whitespace, and renaming variables and functions to shorter names. It can be configured for Android devices in **android/app/build.gradle** like so:
279
291
 
280
- The majority of Android projects support code shrinking and obfuscation without any additional need for setup. The owner of the project can define the set of rules that are usually automatically used when the application is built in the release mode. For more information, please visit the official documentation
281
-
282
- - https://developer.android.com/studio/build/shrink-code
283
- - https://www.guardsquare.com/manual/configuration/usage
284
-
285
- You can make sure, that the obfuscation is enabled by checking the value of **minifyEnabled** property in your **module's build.gradle** file.
286
-
287
- ```gradle
292
+ ```groovy
288
293
  android {
289
- ...
290
-
291
294
  buildTypes {
292
295
  release {
296
+ ...
293
297
  minifyEnabled true
294
298
  shrinkResources true
295
299
  proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
@@ -298,6 +302,15 @@ android {
298
302
  }
299
303
  ```
300
304
 
305
+ Please note that some other modules in your app may rely on reflection, therefore it may be necessary to add corresponding keep rules into proguard-rules.pro file.
306
+
307
+ If there is a problem with the obfuscation, freeRASP will notify you about it via `obfuscationIssues` callback.
308
+
309
+ You can read more about Android obfuscation in the official documentation:
310
+
311
+ - https://developer.android.com/studio/build/shrink-code
312
+ - https://www.guardsquare.com/manual/configuration/usage
313
+
301
314
  ## Step 6: User Data Policies
302
315
 
303
316
  See the generic info about freeRASP data collection [here](https://github.com/talsec/Free-RASP-Community/tree/master#data-collection-processing-and-gdpr-compliance).
@@ -400,25 +413,25 @@ freeRASP is freemium software i.e. there is a Fair Usage Policy (FUP) that impos
400
413
  <td colspan=5><strong>Runtime App Self Protection (RASP, app shielding)</strong></td>
401
414
  </tr>
402
415
  <tr>
403
- <td>Advanced root/jailbreak protections</td>
416
+ <td>Advanced root/jailbreak protections (including Magisk)</td>
404
417
  <td>basic</td>
405
418
  <td>advanced</td>
406
419
  </tr>
407
420
  <tr>
408
- <td>Runtime reverse engineering controls
421
+ <td>Runtime reverse engineering controls
409
422
  <ul>
410
- <li>Debug</li>
411
- <li>Emulator</li>
412
- <li>Hooking protections (e.g. Frida)</li>
423
+ <li>Debugger</li>
424
+ <li>Emulator / Simulator</li>
425
+ <li>Hooking and reversing frameworks (e.g. Frida, Magisk, XPosed, Cydia Substrate and more)</li>
413
426
  </ul>
414
427
  </td>
415
428
  <td>basic</td>
416
429
  <td>advanced</td>
417
430
  </tr>
418
431
  <tr>
419
- <td>Runtime integrity controls
432
+ <td>Runtime integrity controls
420
433
  <ul>
421
- <li>Tamper protection</li>
434
+ <li>Tampering protection</li>
422
435
  <li>Repackaging / Cloning protection</li>
423
436
  <li>Device binding protection</li>
424
437
  <li>Unofficial store detection</li>
@@ -428,20 +441,22 @@ freeRASP is freemium software i.e. there is a Fair Usage Policy (FUP) that impos
428
441
  <td>advanced</td>
429
442
  </tr>
430
443
  <tr>
431
- <td>Device OS security status check
444
+ <td>Device OS security status check
432
445
  <ul>
433
446
  <li>HW security module control</li>
434
447
  <li>Screen lock control</li>
448
+ <li>Google Play Services enabled/disabled</li>
449
+ <li>Last security patch update</li>
435
450
  </ul>
436
451
  </td>
437
452
  <td>yes</td>
438
453
  <td>yes</td>
439
454
  </tr>
440
455
  <tr>
441
- <td>UI protection
456
+ <td>UI protection
442
457
  <ul>
443
458
  <li>Overlay protection</li>
444
- <li>Accessibility services protection</li>
459
+ <li>Accessibility services misuse protection</li>
445
460
  </ul>
446
461
  </td>
447
462
  <td>no</td>
@@ -451,12 +466,11 @@ freeRASP is freemium software i.e. there is a Fair Usage Policy (FUP) that impos
451
466
  <td colspan=5><strong>Hardening suite</strong></td>
452
467
  </tr>
453
468
  <tr>
454
- <td>Security hardening suite
455
- <ul>
456
- <li>Customer Data Encryption (local storage)</li>
469
+ <td>Security hardening suite
470
+ <ul>
457
471
  <li>End-to-end encryption</li>
458
472
  <li>Strings protection (e.g. API keys)</li>
459
- <li>Dynamic certificate pinning</li>
473
+ <li>Dynamic TLS certificate pinning</li>
460
474
  </ul>
461
475
  </td>
462
476
  <td>no</td>
@@ -471,33 +485,41 @@ freeRASP is freemium software i.e. there is a Fair Usage Policy (FUP) that impos
471
485
  <td>yes</td>
472
486
  </tr>
473
487
  <tr>
474
- <td colspan=5><strong>Monitoring</strong></td>
488
+ <td colspan=5><strong>Security events data collection, Auditing and Monitoring tools</strong></td>
475
489
  </tr>
476
490
  <tr>
477
- <td>AppSec regular email reporting</td>
491
+ <td>Threat events data collection from SDK</td>
492
+ <td>yes</td>
493
+ <td>configurable</td>
494
+ </tr>
495
+ <tr>
496
+ <td>AppSec regular email reporting service</td>
478
497
  <td>yes (up to 100k devices)</td>
479
498
  <td>yes</td>
480
499
  </tr>
481
500
  <tr>
482
- <td>Data insights and auditing portal</td>
501
+ <td>UI portal for Logging, Data analytics and auditing</td>
483
502
  <td>no</td>
484
503
  <td>yes</td>
485
504
  </tr>
505
+ <tr>
506
+ <td colspan=5><strong>Support and Maintenance</strong></td>
507
+ </tr>
486
508
  <tr>
487
- <td>Embed code to integrate with portal</td>
488
- <td>no</td>
509
+ <td>SLA</td>
510
+ <td>Not committed</td>
489
511
  <td>yes</td>
490
512
  </tr>
491
513
  <tr>
492
- <td>API data access</td>
493
- <td>no</td>
514
+ <td>Maintenance updates</td>
515
+ <td>Not committed</td>
494
516
  <td>yes</td>
495
517
  </tr>
496
518
  <tr>
497
- <td colspan=5><strong>Fair usage policy</strong></td>
519
+ <td colspan=5><strong>Fair usage policy</strong></td>
498
520
  </tr>
499
521
  <tr>
500
- <td>Mentioning of the App name and logo in the marketing communications of Talsec (e.g. "Trusted by" section of the Talsec web or in the social media).</td>
522
+ <td>Mentioning of the App name and logo in the marketing communications of Talsec (e.g. "Trusted by" section on the web).</td>
501
523
  <td>over 100k downloads</td>
502
524
  <td>no</td>
503
525
  </tr>
@@ -33,17 +33,21 @@ def getExtOrIntegerDefault(name) {
33
33
  return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["FreeraspReactNative_" + name]).toInteger()
34
34
  }
35
35
 
36
+ def getIntegerDefault(name) {
37
+ return (project.properties["FreeraspReactNative_" + name]).toInteger()
38
+ }
39
+
36
40
  android {
37
41
  compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
38
42
 
39
43
  defaultConfig {
40
- minSdkVersion getExtOrIntegerDefault("minSdkVersion")
44
+ minSdkVersion getIntegerDefault("minSdkVersion")
41
45
  targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
42
46
  buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
43
47
  }
44
48
  buildTypes {
45
49
  release {
46
- minifyEnabled false
50
+ minifyEnabled true
47
51
  }
48
52
  }
49
53
 
@@ -78,7 +82,7 @@ dependencies {
78
82
  //noinspection GradleDynamicVersion
79
83
  implementation "com.facebook.react:react-native"
80
84
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
81
- implementation "com.aheaditec.talsec.security:TalsecSecurity-Community-ReactNative:7.0.0"
85
+ implementation "com.aheaditec.talsec.security:TalsecSecurity-Community-ReactNative:8.0.1"
82
86
  }
83
87
 
84
88
  if (isNewArchitectureEnabled()) {
@@ -1,5 +1,5 @@
1
1
  FreeraspReactNative_kotlinVersion=1.7.0
2
- FreeraspReactNative_minSdkVersion=21
2
+ FreeraspReactNative_minSdkVersion=23
3
3
  FreeraspReactNative_targetSdkVersion=31
4
4
  FreeraspReactNative_compileSdkVersion=31
5
5
  FreeraspReactNative_ndkversion=21.4.7075529
@@ -79,6 +79,10 @@ class FreeraspReactNativeModule(val reactContext: ReactApplicationContext) :
79
79
  sendOngoingPluginResult("deviceBinding", null)
80
80
  }
81
81
 
82
+ override fun onObfuscationIssuesDetected() {
83
+ sendOngoingPluginResult("obfuscationIssues", null)
84
+ }
85
+
82
86
  override fun deviceStateChangeDetected(threatType: String) {
83
87
  sendOngoingPluginResult(threatType, null)
84
88
  }
@@ -97,7 +97,7 @@ def enableSeparateBuildPerCPUArchitecture = false
97
97
  /**
98
98
  * Run Proguard to shrink the Java bytecode in release builds.
99
99
  */
100
- def enableProguardInReleaseBuilds = false
100
+ def enableProguardInReleaseBuilds = true
101
101
 
102
102
  /**
103
103
  * The preferred build flavor of JavaScriptCore.
@@ -226,7 +226,15 @@ android {
226
226
  // Caution! In production, you need to generate your own keystore file.
227
227
  // see https://reactnative.dev/docs/signed-apk-android.
228
228
  signingConfig signingConfigs.debug
229
+ // Enables code shrinking, obfuscation, and optimization for only
230
+ // your project's release build type. Make sure to use a build
231
+ // variant with `debuggable false`.
229
232
  minifyEnabled enableProguardInReleaseBuilds
233
+ // Enables resource shrinking, which is performed by the
234
+ // Android Gradle plugin.
235
+ shrinkResources true
236
+ // Includes the default ProGuard rules files that are packaged with
237
+ // the Android Gradle plugin.
230
238
  proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
231
239
  }
232
240
  }
@@ -3,7 +3,7 @@
3
3
  buildscript {
4
4
  ext {
5
5
  buildToolsVersion = "31.0.0"
6
- minSdkVersion = 21
6
+ minSdkVersion = 23
7
7
  compileSdkVersion = 31
8
8
  targetSdkVersion = 31
9
9
 
@@ -3,12 +3,12 @@ import * as React from 'react';
3
3
  import { Platform } from 'react-native';
4
4
  import { useFreeRasp } from 'freerasp-react-native';
5
5
  import { DemoApp } from './DemoApp';
6
- import { commonChecks, iosChecks } from './checks';
6
+ import { commonChecks, iosChecks, androidChecks } from './checks';
7
7
 
8
8
  const App = () => {
9
9
  const [appChecks, setAppChecks] = React.useState([
10
10
  ...commonChecks,
11
- ...(Platform.OS === 'ios' ? iosChecks : []),
11
+ ...(Platform.OS === 'ios' ? iosChecks : androidChecks),
12
12
  ]);
13
13
 
14
14
  const config = {
@@ -116,11 +116,11 @@ const App = () => {
116
116
  )
117
117
  );
118
118
  },
119
- // iOS only
120
- passcodeChange: () => {
119
+ // Android only
120
+ obfuscationIssues: () => {
121
121
  setAppChecks((currentState) =>
122
122
  currentState.map((threat) =>
123
- threat.name === 'Passcode Change'
123
+ threat.name === 'Obfuscation Issues'
124
124
  ? { ...threat, status: 'nok' }
125
125
  : threat
126
126
  )
@@ -10,7 +10,6 @@ export const commonChecks = [
10
10
  { name: 'Passcode', status: 'ok' },
11
11
  ];
12
12
 
13
- export const iosChecks = [
14
- { name: 'Device ID', status: 'ok' },
15
- { name: 'Passcode Change', status: 'ok' },
16
- ];
13
+ export const iosChecks = [{ name: 'Device ID', status: 'ok' }];
14
+
15
+ export const androidChecks = [{ name: 'Obfuscation Issues', status: 'ok' }];
@@ -48,15 +48,18 @@ class FreeraspReactNative: RCTEventEmitter {
48
48
  }
49
49
 
50
50
  extension SecurityThreatCenter: SecurityThreatHandler {
51
+
52
+
53
+ static let threatEventMap: [String: String] = [
54
+ "missingSecureEnclave": "secureHardwareNotAvailable",
55
+ "device binding": "deviceBinding",
56
+ ]
57
+
51
58
  public func threatDetected(_ securityThreat: TalsecRuntime.SecurityThreat) {
52
- // It is better to implement security reactions (e.g. killing the app) here.
53
- switch securityThreat.rawValue {
54
- case "missingSecureEnclave":
55
- FreeraspReactNative.shared!.sendEvent(withName: "secureHardwareNotAvailable", body: "secureHardwareNotAvailable")
56
- case "device binding":
57
- FreeraspReactNative.shared!.sendEvent(withName: "deviceBinding", body: "deviceBinding")
58
- default:
59
- FreeraspReactNative.shared!.sendEvent(withName: securityThreat.rawValue, body: securityThreat.rawValue)
59
+ let threatName = SecurityThreatCenter.threatEventMap[securityThreat.rawValue] ?? securityThreat.rawValue
60
+ if (threatName == "passcodeChange") {
61
+ return
60
62
  }
63
+ FreeraspReactNative.shared!.sendEvent(withName: threatName, body: threatName)
61
64
  }
62
65
  }
@@ -19,6 +19,9 @@ const setThreatListeners = config => {
19
19
  console.warn(`Error during Talsec Native plugin initialization - ${e.message}`);
20
20
  }));
21
21
  for (const [threat, action] of Object.entries(config)) {
22
+ if (threat === 'obfuscationIssues' && _reactNative.Platform.OS === 'ios') {
23
+ continue;
24
+ }
22
25
  activeListeners.push(eventEmitter.addListener(threat, action));
23
26
  }
24
27
  };
@@ -1 +1 @@
1
- {"version":3,"names":["FreeraspReactNative","NativeModules","eventEmitter","NativeEventEmitter","activeListeners","setThreatListeners","config","push","addListener","console","log","e","warn","message","threat","action","Object","entries","removeThreatListeners","forEach","listener","remove","talsecStart","options","useFreeRasp","actions","useEffect"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;AAAA;AACA;AAoCA,MAAM;EAAEA;AAAoB,CAAC,GAAGC,0BAAa;AAE7C,MAAMC,YAAY,GAAG,IAAIC,+BAAkB,CAACH,mBAAmB,CAAC;AAChE,MAAMI,eAAsC,GAAG,EAAE;AAE1C,MAAMC,kBAAkB,GAC7BC,MAAyE,IACtE;EACHF,eAAe,CAACG,IAAI,CAClBL,YAAY,CAACM,WAAW,CAAC,SAAS,EAAE,MAAM;IACxCC,OAAO,CAACC,GAAG,CAAC,qBAAqB,CAAC;EACpC,CAAC,CAAC,CACH;EAEDN,eAAe,CAACG,IAAI,CAClBL,YAAY,CAACM,WAAW,CACtB,qBAAqB,EACpBG,CAAsB,IAAK;IAC1BF,OAAO,CAACG,IAAI,CACT,sDAAqDD,CAAC,CAACE,OAAQ,EAAC,CAClE;EACH,CAAC,CACF,CACF;EAED,KAAK,MAAM,CAACC,MAAM,EAAEC,MAAM,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACX,MAAM,CAAC,EAAE;IACrDF,eAAe,CAACG,IAAI,CAACL,YAAY,CAACM,WAAW,CAACM,MAAM,EAAEC,MAAM,CAAC,CAAC;EAChE;AACF,CAAC;AAAC;AAEK,MAAMG,qBAAqB,GAAG,MAAM;EACzCd,eAAe,CAACe,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,MAAM,EAAE,CAAC;AAC1D,CAAC;AAAC;AAEK,MAAMC,WAAW,GAAIC,OAAqB,IAAW;EAC1D,OAAOvB,mBAAmB,CAACsB,WAAW,CAACC,OAAO,CAAC;AACjD,CAAC;AAAC;AAEK,MAAMC,WAAW,GAAG,CACzBlB,MAAoB,EACpBmB,OAA0E,KACvE;EACH,IAAAC,gBAAS,EAAC,MAAM;IACdrB,kBAAkB,CAACoB,OAAO,CAAC;IAC3BH,WAAW,CAAChB,MAAM,CAAC;IAEnB,OAAO,MAAM;MACXY,qBAAqB,EAAE;IACzB,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAAC;AAAA,eAEalB,mBAAmB;AAAA"}
1
+ {"version":3,"names":["FreeraspReactNative","NativeModules","eventEmitter","NativeEventEmitter","activeListeners","setThreatListeners","config","push","addListener","console","log","e","warn","message","threat","action","Object","entries","Platform","OS","removeThreatListeners","forEach","listener","remove","talsecStart","options","useFreeRasp","actions","useEffect"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;AAAA;AACA;AAqCA,MAAM;EAAEA;AAAoB,CAAC,GAAGC,0BAAa;AAE7C,MAAMC,YAAY,GAAG,IAAIC,+BAAkB,CAACH,mBAAmB,CAAC;AAChE,MAAMI,eAAsC,GAAG,EAAE;AAE1C,MAAMC,kBAAkB,GAC7BC,MAAyE,IACtE;EACHF,eAAe,CAACG,IAAI,CAClBL,YAAY,CAACM,WAAW,CAAC,SAAS,EAAE,MAAM;IACxCC,OAAO,CAACC,GAAG,CAAC,qBAAqB,CAAC;EACpC,CAAC,CAAC,CACH;EAEDN,eAAe,CAACG,IAAI,CAClBL,YAAY,CAACM,WAAW,CACtB,qBAAqB,EACpBG,CAAsB,IAAK;IAC1BF,OAAO,CAACG,IAAI,CACT,sDAAqDD,CAAC,CAACE,OAAQ,EAAC,CAClE;EACH,CAAC,CACF,CACF;EAED,KAAK,MAAM,CAACC,MAAM,EAAEC,MAAM,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACX,MAAM,CAAC,EAAE;IACrD,IAAIQ,MAAM,KAAK,mBAAmB,IAAII,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MAC3D;IACF;IACAf,eAAe,CAACG,IAAI,CAACL,YAAY,CAACM,WAAW,CAACM,MAAM,EAAEC,MAAM,CAAC,CAAC;EAChE;AACF,CAAC;AAAC;AAEK,MAAMK,qBAAqB,GAAG,MAAM;EACzChB,eAAe,CAACiB,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,MAAM,EAAE,CAAC;AAC1D,CAAC;AAAC;AAEK,MAAMC,WAAW,GAAIC,OAAqB,IAAW;EAC1D,OAAOzB,mBAAmB,CAACwB,WAAW,CAACC,OAAO,CAAC;AACjD,CAAC;AAAC;AAEK,MAAMC,WAAW,GAAG,CACzBpB,MAAoB,EACpBqB,OAA0E,KACvE;EACH,IAAAC,gBAAS,EAAC,MAAM;IACdvB,kBAAkB,CAACsB,OAAO,CAAC;IAC3BH,WAAW,CAAClB,MAAM,CAAC;IAEnB,OAAO,MAAM;MACXc,qBAAqB,EAAE;IACzB,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAAC;AAAA,eAEapB,mBAAmB;AAAA"}
@@ -1,5 +1,5 @@
1
1
  import { useEffect } from 'react';
2
- import { NativeEventEmitter, NativeModules } from 'react-native';
2
+ import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
3
3
  const {
4
4
  FreeraspReactNative
5
5
  } = NativeModules;
@@ -13,6 +13,9 @@ export const setThreatListeners = config => {
13
13
  console.warn(`Error during Talsec Native plugin initialization - ${e.message}`);
14
14
  }));
15
15
  for (const [threat, action] of Object.entries(config)) {
16
+ if (threat === 'obfuscationIssues' && Platform.OS === 'ios') {
17
+ continue;
18
+ }
16
19
  activeListeners.push(eventEmitter.addListener(threat, action));
17
20
  }
18
21
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","NativeEventEmitter","NativeModules","FreeraspReactNative","eventEmitter","activeListeners","setThreatListeners","config","push","addListener","console","log","e","warn","message","threat","action","Object","entries","removeThreatListeners","forEach","listener","remove","talsecStart","options","useFreeRasp","actions"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAEEC,kBAAkB,EAClBC,aAAa,QACR,cAAc;AAgCrB,MAAM;EAAEC;AAAoB,CAAC,GAAGD,aAAa;AAE7C,MAAME,YAAY,GAAG,IAAIH,kBAAkB,CAACE,mBAAmB,CAAC;AAChE,MAAME,eAAsC,GAAG,EAAE;AAEjD,OAAO,MAAMC,kBAAkB,GAC7BC,MAAyE,IACtE;EACHF,eAAe,CAACG,IAAI,CAClBJ,YAAY,CAACK,WAAW,CAAC,SAAS,EAAE,MAAM;IACxCC,OAAO,CAACC,GAAG,CAAC,qBAAqB,CAAC;EACpC,CAAC,CAAC,CACH;EAEDN,eAAe,CAACG,IAAI,CAClBJ,YAAY,CAACK,WAAW,CACtB,qBAAqB,EACpBG,CAAsB,IAAK;IAC1BF,OAAO,CAACG,IAAI,CACT,sDAAqDD,CAAC,CAACE,OAAQ,EAAC,CAClE;EACH,CAAC,CACF,CACF;EAED,KAAK,MAAM,CAACC,MAAM,EAAEC,MAAM,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACX,MAAM,CAAC,EAAE;IACrDF,eAAe,CAACG,IAAI,CAACJ,YAAY,CAACK,WAAW,CAACM,MAAM,EAAEC,MAAM,CAAC,CAAC;EAChE;AACF,CAAC;AAED,OAAO,MAAMG,qBAAqB,GAAG,MAAM;EACzCd,eAAe,CAACe,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,MAAM,EAAE,CAAC;AAC1D,CAAC;AAED,OAAO,MAAMC,WAAW,GAAIC,OAAqB,IAAW;EAC1D,OAAOrB,mBAAmB,CAACoB,WAAW,CAACC,OAAO,CAAC;AACjD,CAAC;AAED,OAAO,MAAMC,WAAW,GAAG,CACzBlB,MAAoB,EACpBmB,OAA0E,KACvE;EACH1B,SAAS,CAAC,MAAM;IACdM,kBAAkB,CAACoB,OAAO,CAAC;IAC3BH,WAAW,CAAChB,MAAM,CAAC;IAEnB,OAAO,MAAM;MACXY,qBAAqB,EAAE;IACzB,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAED,eAAehB,mBAAmB"}
1
+ {"version":3,"names":["useEffect","NativeEventEmitter","NativeModules","Platform","FreeraspReactNative","eventEmitter","activeListeners","setThreatListeners","config","push","addListener","console","log","e","warn","message","threat","action","Object","entries","OS","removeThreatListeners","forEach","listener","remove","talsecStart","options","useFreeRasp","actions"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAEEC,kBAAkB,EAClBC,aAAa,EACbC,QAAQ,QACH,cAAc;AAgCrB,MAAM;EAAEC;AAAoB,CAAC,GAAGF,aAAa;AAE7C,MAAMG,YAAY,GAAG,IAAIJ,kBAAkB,CAACG,mBAAmB,CAAC;AAChE,MAAME,eAAsC,GAAG,EAAE;AAEjD,OAAO,MAAMC,kBAAkB,GAC7BC,MAAyE,IACtE;EACHF,eAAe,CAACG,IAAI,CAClBJ,YAAY,CAACK,WAAW,CAAC,SAAS,EAAE,MAAM;IACxCC,OAAO,CAACC,GAAG,CAAC,qBAAqB,CAAC;EACpC,CAAC,CAAC,CACH;EAEDN,eAAe,CAACG,IAAI,CAClBJ,YAAY,CAACK,WAAW,CACtB,qBAAqB,EACpBG,CAAsB,IAAK;IAC1BF,OAAO,CAACG,IAAI,CACT,sDAAqDD,CAAC,CAACE,OAAQ,EAAC,CAClE;EACH,CAAC,CACF,CACF;EAED,KAAK,MAAM,CAACC,MAAM,EAAEC,MAAM,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACX,MAAM,CAAC,EAAE;IACrD,IAAIQ,MAAM,KAAK,mBAAmB,IAAIb,QAAQ,CAACiB,EAAE,KAAK,KAAK,EAAE;MAC3D;IACF;IACAd,eAAe,CAACG,IAAI,CAACJ,YAAY,CAACK,WAAW,CAACM,MAAM,EAAEC,MAAM,CAAC,CAAC;EAChE;AACF,CAAC;AAED,OAAO,MAAMI,qBAAqB,GAAG,MAAM;EACzCf,eAAe,CAACgB,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,MAAM,EAAE,CAAC;AAC1D,CAAC;AAED,OAAO,MAAMC,WAAW,GAAIC,OAAqB,IAAW;EAC1D,OAAOtB,mBAAmB,CAACqB,WAAW,CAACC,OAAO,CAAC;AACjD,CAAC;AAED,OAAO,MAAMC,WAAW,GAAG,CACzBnB,MAAoB,EACpBoB,OAA0E,KACvE;EACH5B,SAAS,CAAC,MAAM;IACdO,kBAAkB,CAACqB,OAAO,CAAC;IAC3BH,WAAW,CAACjB,MAAM,CAAC;IAEnB,OAAO,MAAM;MACXa,qBAAqB,EAAE;IACzB,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAED,eAAejB,mBAAmB"}
@@ -20,9 +20,9 @@ type NativeEventEmitterActions = {
20
20
  hooks?: () => any;
21
21
  deviceBinding?: () => any;
22
22
  deviceID?: () => any;
23
- passcodeChange?: () => any;
24
23
  passcode?: () => any;
25
24
  secureHardwareNotAvailable?: () => any;
25
+ obfuscationIssues?: () => any;
26
26
  started?: () => any;
27
27
  initializationError?: (reason: {
28
28
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAOA,KAAK,YAAY,GAAG;IAClB,aAAa,CAAC,EAAE;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;KACvC,CAAC;IACF,SAAS,CAAC,EAAE;QACV,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC;IACrB,0BAA0B,CAAC,EAAE,MAAM,GAAG,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC;IACpB,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,CAAC;CAC5D,CAAC;AAEF,QAAA,MAAQ,mBAAmB,KAAkB,CAAC;AAK9C,eAAO,MAAM,kBAAkB,0HAuB9B,CAAC;AAEF,eAAO,MAAM,qBAAqB,YAEjC,CAAC;AAEF,eAAO,MAAM,WAAW,YAAa,YAAY,KAAG,IAEnD,CAAC;AAEF,eAAO,MAAM,WAAW,gDACd,YAAY,qFAYrB,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAQA,KAAK,YAAY,GAAG;IAClB,aAAa,CAAC,EAAE;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;KACvC,CAAC;IACF,SAAS,CAAC,EAAE;QACV,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC;IACrB,0BAA0B,CAAC,EAAE,MAAM,GAAG,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,GAAG,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC;IACpB,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,CAAC;CAC5D,CAAC;AAEF,QAAA,MAAQ,mBAAmB,KAAkB,CAAC;AAK9C,eAAO,MAAM,kBAAkB,0HA0B9B,CAAC;AAEF,eAAO,MAAM,qBAAqB,YAEjC,CAAC;AAEF,eAAO,MAAM,WAAW,YAAa,YAAY,KAAG,IAEnD,CAAC;AAEF,eAAO,MAAM,WAAW,gDACd,YAAY,qFAYrB,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "freerasp-react-native",
3
- "version": "2.0.3",
3
+ "version": "3.0.0",
4
4
  "description": "React Native plugin for improving app security and threat monitoring on Android and iOS mobile devices.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
package/src/index.tsx CHANGED
@@ -3,6 +3,7 @@ import {
3
3
  EmitterSubscription,
4
4
  NativeEventEmitter,
5
5
  NativeModules,
6
+ Platform,
6
7
  } from 'react-native';
7
8
 
8
9
  type TalsecConfig = {
@@ -28,9 +29,9 @@ type NativeEventEmitterActions = {
28
29
  hooks?: () => any;
29
30
  deviceBinding?: () => any;
30
31
  deviceID?: () => any;
31
- passcodeChange?: () => any;
32
32
  passcode?: () => any;
33
33
  secureHardwareNotAvailable?: () => any;
34
+ obfuscationIssues?: () => any;
34
35
  started?: () => any;
35
36
  initializationError?: (reason: { message: string }) => any;
36
37
  };
@@ -61,6 +62,9 @@ export const setThreatListeners = <T extends NativeEventEmitterActions>(
61
62
  );
62
63
 
63
64
  for (const [threat, action] of Object.entries(config)) {
65
+ if (threat === 'obfuscationIssues' && Platform.OS === 'ios') {
66
+ continue;
67
+ }
64
68
  activeListeners.push(eventEmitter.addListener(threat, action));
65
69
  }
66
70
  };
@@ -1,590 +0,0 @@
1
- PODS:
2
- - boost (1.76.0)
3
- - CocoaAsyncSocket (7.6.5)
4
- - DoubleConversion (1.1.6)
5
- - FBLazyVector (0.70.6)
6
- - FBReactNativeSpec (0.70.6):
7
- - RCT-Folly (= 2021.07.22.00)
8
- - RCTRequired (= 0.70.6)
9
- - RCTTypeSafety (= 0.70.6)
10
- - React-Core (= 0.70.6)
11
- - React-jsi (= 0.70.6)
12
- - ReactCommon/turbomodule/core (= 0.70.6)
13
- - Flipper (0.125.0):
14
- - Flipper-Folly (~> 2.6)
15
- - Flipper-RSocket (~> 1.4)
16
- - Flipper-Boost-iOSX (1.76.0.1.11)
17
- - Flipper-DoubleConversion (3.2.0.1)
18
- - Flipper-Fmt (7.1.7)
19
- - Flipper-Folly (2.6.10):
20
- - Flipper-Boost-iOSX
21
- - Flipper-DoubleConversion
22
- - Flipper-Fmt (= 7.1.7)
23
- - Flipper-Glog
24
- - libevent (~> 2.1.12)
25
- - OpenSSL-Universal (= 1.1.1100)
26
- - Flipper-Glog (0.5.0.5)
27
- - Flipper-PeerTalk (0.0.4)
28
- - Flipper-RSocket (1.4.3):
29
- - Flipper-Folly (~> 2.6)
30
- - FlipperKit (0.125.0):
31
- - FlipperKit/Core (= 0.125.0)
32
- - FlipperKit/Core (0.125.0):
33
- - Flipper (~> 0.125.0)
34
- - FlipperKit/CppBridge
35
- - FlipperKit/FBCxxFollyDynamicConvert
36
- - FlipperKit/FBDefines
37
- - FlipperKit/FKPortForwarding
38
- - SocketRocket (~> 0.6.0)
39
- - FlipperKit/CppBridge (0.125.0):
40
- - Flipper (~> 0.125.0)
41
- - FlipperKit/FBCxxFollyDynamicConvert (0.125.0):
42
- - Flipper-Folly (~> 2.6)
43
- - FlipperKit/FBDefines (0.125.0)
44
- - FlipperKit/FKPortForwarding (0.125.0):
45
- - CocoaAsyncSocket (~> 7.6)
46
- - Flipper-PeerTalk (~> 0.0.4)
47
- - FlipperKit/FlipperKitHighlightOverlay (0.125.0)
48
- - FlipperKit/FlipperKitLayoutHelpers (0.125.0):
49
- - FlipperKit/Core
50
- - FlipperKit/FlipperKitHighlightOverlay
51
- - FlipperKit/FlipperKitLayoutTextSearchable
52
- - FlipperKit/FlipperKitLayoutIOSDescriptors (0.125.0):
53
- - FlipperKit/Core
54
- - FlipperKit/FlipperKitHighlightOverlay
55
- - FlipperKit/FlipperKitLayoutHelpers
56
- - YogaKit (~> 1.18)
57
- - FlipperKit/FlipperKitLayoutPlugin (0.125.0):
58
- - FlipperKit/Core
59
- - FlipperKit/FlipperKitHighlightOverlay
60
- - FlipperKit/FlipperKitLayoutHelpers
61
- - FlipperKit/FlipperKitLayoutIOSDescriptors
62
- - FlipperKit/FlipperKitLayoutTextSearchable
63
- - YogaKit (~> 1.18)
64
- - FlipperKit/FlipperKitLayoutTextSearchable (0.125.0)
65
- - FlipperKit/FlipperKitNetworkPlugin (0.125.0):
66
- - FlipperKit/Core
67
- - FlipperKit/FlipperKitReactPlugin (0.125.0):
68
- - FlipperKit/Core
69
- - FlipperKit/FlipperKitUserDefaultsPlugin (0.125.0):
70
- - FlipperKit/Core
71
- - FlipperKit/SKIOSNetworkPlugin (0.125.0):
72
- - FlipperKit/Core
73
- - FlipperKit/FlipperKitNetworkPlugin
74
- - fmt (6.2.1)
75
- - freerasp-react-native (1.1.0):
76
- - React-Core
77
- - glog (0.3.5)
78
- - hermes-engine (0.70.6)
79
- - libevent (2.1.12)
80
- - OpenSSL-Universal (1.1.1100)
81
- - RCT-Folly (2021.07.22.00):
82
- - boost
83
- - DoubleConversion
84
- - fmt (~> 6.2.1)
85
- - glog
86
- - RCT-Folly/Default (= 2021.07.22.00)
87
- - RCT-Folly/Default (2021.07.22.00):
88
- - boost
89
- - DoubleConversion
90
- - fmt (~> 6.2.1)
91
- - glog
92
- - RCT-Folly/Futures (2021.07.22.00):
93
- - boost
94
- - DoubleConversion
95
- - fmt (~> 6.2.1)
96
- - glog
97
- - libevent
98
- - RCTRequired (0.70.6)
99
- - RCTTypeSafety (0.70.6):
100
- - FBLazyVector (= 0.70.6)
101
- - RCTRequired (= 0.70.6)
102
- - React-Core (= 0.70.6)
103
- - React (0.70.6):
104
- - React-Core (= 0.70.6)
105
- - React-Core/DevSupport (= 0.70.6)
106
- - React-Core/RCTWebSocket (= 0.70.6)
107
- - React-RCTActionSheet (= 0.70.6)
108
- - React-RCTAnimation (= 0.70.6)
109
- - React-RCTBlob (= 0.70.6)
110
- - React-RCTImage (= 0.70.6)
111
- - React-RCTLinking (= 0.70.6)
112
- - React-RCTNetwork (= 0.70.6)
113
- - React-RCTSettings (= 0.70.6)
114
- - React-RCTText (= 0.70.6)
115
- - React-RCTVibration (= 0.70.6)
116
- - React-bridging (0.70.6):
117
- - RCT-Folly (= 2021.07.22.00)
118
- - React-jsi (= 0.70.6)
119
- - React-callinvoker (0.70.6)
120
- - React-Codegen (0.70.6):
121
- - FBReactNativeSpec (= 0.70.6)
122
- - RCT-Folly (= 2021.07.22.00)
123
- - RCTRequired (= 0.70.6)
124
- - RCTTypeSafety (= 0.70.6)
125
- - React-Core (= 0.70.6)
126
- - React-jsi (= 0.70.6)
127
- - React-jsiexecutor (= 0.70.6)
128
- - ReactCommon/turbomodule/core (= 0.70.6)
129
- - React-Core (0.70.6):
130
- - glog
131
- - RCT-Folly (= 2021.07.22.00)
132
- - React-Core/Default (= 0.70.6)
133
- - React-cxxreact (= 0.70.6)
134
- - React-jsi (= 0.70.6)
135
- - React-jsiexecutor (= 0.70.6)
136
- - React-perflogger (= 0.70.6)
137
- - Yoga
138
- - React-Core/CoreModulesHeaders (0.70.6):
139
- - glog
140
- - RCT-Folly (= 2021.07.22.00)
141
- - React-Core/Default
142
- - React-cxxreact (= 0.70.6)
143
- - React-jsi (= 0.70.6)
144
- - React-jsiexecutor (= 0.70.6)
145
- - React-perflogger (= 0.70.6)
146
- - Yoga
147
- - React-Core/Default (0.70.6):
148
- - glog
149
- - RCT-Folly (= 2021.07.22.00)
150
- - React-cxxreact (= 0.70.6)
151
- - React-jsi (= 0.70.6)
152
- - React-jsiexecutor (= 0.70.6)
153
- - React-perflogger (= 0.70.6)
154
- - Yoga
155
- - React-Core/DevSupport (0.70.6):
156
- - glog
157
- - RCT-Folly (= 2021.07.22.00)
158
- - React-Core/Default (= 0.70.6)
159
- - React-Core/RCTWebSocket (= 0.70.6)
160
- - React-cxxreact (= 0.70.6)
161
- - React-jsi (= 0.70.6)
162
- - React-jsiexecutor (= 0.70.6)
163
- - React-jsinspector (= 0.70.6)
164
- - React-perflogger (= 0.70.6)
165
- - Yoga
166
- - React-Core/RCTActionSheetHeaders (0.70.6):
167
- - glog
168
- - RCT-Folly (= 2021.07.22.00)
169
- - React-Core/Default
170
- - React-cxxreact (= 0.70.6)
171
- - React-jsi (= 0.70.6)
172
- - React-jsiexecutor (= 0.70.6)
173
- - React-perflogger (= 0.70.6)
174
- - Yoga
175
- - React-Core/RCTAnimationHeaders (0.70.6):
176
- - glog
177
- - RCT-Folly (= 2021.07.22.00)
178
- - React-Core/Default
179
- - React-cxxreact (= 0.70.6)
180
- - React-jsi (= 0.70.6)
181
- - React-jsiexecutor (= 0.70.6)
182
- - React-perflogger (= 0.70.6)
183
- - Yoga
184
- - React-Core/RCTBlobHeaders (0.70.6):
185
- - glog
186
- - RCT-Folly (= 2021.07.22.00)
187
- - React-Core/Default
188
- - React-cxxreact (= 0.70.6)
189
- - React-jsi (= 0.70.6)
190
- - React-jsiexecutor (= 0.70.6)
191
- - React-perflogger (= 0.70.6)
192
- - Yoga
193
- - React-Core/RCTImageHeaders (0.70.6):
194
- - glog
195
- - RCT-Folly (= 2021.07.22.00)
196
- - React-Core/Default
197
- - React-cxxreact (= 0.70.6)
198
- - React-jsi (= 0.70.6)
199
- - React-jsiexecutor (= 0.70.6)
200
- - React-perflogger (= 0.70.6)
201
- - Yoga
202
- - React-Core/RCTLinkingHeaders (0.70.6):
203
- - glog
204
- - RCT-Folly (= 2021.07.22.00)
205
- - React-Core/Default
206
- - React-cxxreact (= 0.70.6)
207
- - React-jsi (= 0.70.6)
208
- - React-jsiexecutor (= 0.70.6)
209
- - React-perflogger (= 0.70.6)
210
- - Yoga
211
- - React-Core/RCTNetworkHeaders (0.70.6):
212
- - glog
213
- - RCT-Folly (= 2021.07.22.00)
214
- - React-Core/Default
215
- - React-cxxreact (= 0.70.6)
216
- - React-jsi (= 0.70.6)
217
- - React-jsiexecutor (= 0.70.6)
218
- - React-perflogger (= 0.70.6)
219
- - Yoga
220
- - React-Core/RCTSettingsHeaders (0.70.6):
221
- - glog
222
- - RCT-Folly (= 2021.07.22.00)
223
- - React-Core/Default
224
- - React-cxxreact (= 0.70.6)
225
- - React-jsi (= 0.70.6)
226
- - React-jsiexecutor (= 0.70.6)
227
- - React-perflogger (= 0.70.6)
228
- - Yoga
229
- - React-Core/RCTTextHeaders (0.70.6):
230
- - glog
231
- - RCT-Folly (= 2021.07.22.00)
232
- - React-Core/Default
233
- - React-cxxreact (= 0.70.6)
234
- - React-jsi (= 0.70.6)
235
- - React-jsiexecutor (= 0.70.6)
236
- - React-perflogger (= 0.70.6)
237
- - Yoga
238
- - React-Core/RCTVibrationHeaders (0.70.6):
239
- - glog
240
- - RCT-Folly (= 2021.07.22.00)
241
- - React-Core/Default
242
- - React-cxxreact (= 0.70.6)
243
- - React-jsi (= 0.70.6)
244
- - React-jsiexecutor (= 0.70.6)
245
- - React-perflogger (= 0.70.6)
246
- - Yoga
247
- - React-Core/RCTWebSocket (0.70.6):
248
- - glog
249
- - RCT-Folly (= 2021.07.22.00)
250
- - React-Core/Default (= 0.70.6)
251
- - React-cxxreact (= 0.70.6)
252
- - React-jsi (= 0.70.6)
253
- - React-jsiexecutor (= 0.70.6)
254
- - React-perflogger (= 0.70.6)
255
- - Yoga
256
- - React-CoreModules (0.70.6):
257
- - RCT-Folly (= 2021.07.22.00)
258
- - RCTTypeSafety (= 0.70.6)
259
- - React-Codegen (= 0.70.6)
260
- - React-Core/CoreModulesHeaders (= 0.70.6)
261
- - React-jsi (= 0.70.6)
262
- - React-RCTImage (= 0.70.6)
263
- - ReactCommon/turbomodule/core (= 0.70.6)
264
- - React-cxxreact (0.70.6):
265
- - boost (= 1.76.0)
266
- - DoubleConversion
267
- - glog
268
- - RCT-Folly (= 2021.07.22.00)
269
- - React-callinvoker (= 0.70.6)
270
- - React-jsi (= 0.70.6)
271
- - React-jsinspector (= 0.70.6)
272
- - React-logger (= 0.70.6)
273
- - React-perflogger (= 0.70.6)
274
- - React-runtimeexecutor (= 0.70.6)
275
- - React-hermes (0.70.6):
276
- - DoubleConversion
277
- - glog
278
- - hermes-engine
279
- - RCT-Folly (= 2021.07.22.00)
280
- - RCT-Folly/Futures (= 2021.07.22.00)
281
- - React-cxxreact (= 0.70.6)
282
- - React-jsi (= 0.70.6)
283
- - React-jsiexecutor (= 0.70.6)
284
- - React-jsinspector (= 0.70.6)
285
- - React-perflogger (= 0.70.6)
286
- - React-jsi (0.70.6):
287
- - boost (= 1.76.0)
288
- - DoubleConversion
289
- - glog
290
- - RCT-Folly (= 2021.07.22.00)
291
- - React-jsi/Default (= 0.70.6)
292
- - React-jsi/Default (0.70.6):
293
- - boost (= 1.76.0)
294
- - DoubleConversion
295
- - glog
296
- - RCT-Folly (= 2021.07.22.00)
297
- - React-jsiexecutor (0.70.6):
298
- - DoubleConversion
299
- - glog
300
- - RCT-Folly (= 2021.07.22.00)
301
- - React-cxxreact (= 0.70.6)
302
- - React-jsi (= 0.70.6)
303
- - React-perflogger (= 0.70.6)
304
- - React-jsinspector (0.70.6)
305
- - React-logger (0.70.6):
306
- - glog
307
- - React-perflogger (0.70.6)
308
- - React-RCTActionSheet (0.70.6):
309
- - React-Core/RCTActionSheetHeaders (= 0.70.6)
310
- - React-RCTAnimation (0.70.6):
311
- - RCT-Folly (= 2021.07.22.00)
312
- - RCTTypeSafety (= 0.70.6)
313
- - React-Codegen (= 0.70.6)
314
- - React-Core/RCTAnimationHeaders (= 0.70.6)
315
- - React-jsi (= 0.70.6)
316
- - ReactCommon/turbomodule/core (= 0.70.6)
317
- - React-RCTBlob (0.70.6):
318
- - RCT-Folly (= 2021.07.22.00)
319
- - React-Codegen (= 0.70.6)
320
- - React-Core/RCTBlobHeaders (= 0.70.6)
321
- - React-Core/RCTWebSocket (= 0.70.6)
322
- - React-jsi (= 0.70.6)
323
- - React-RCTNetwork (= 0.70.6)
324
- - ReactCommon/turbomodule/core (= 0.70.6)
325
- - React-RCTImage (0.70.6):
326
- - RCT-Folly (= 2021.07.22.00)
327
- - RCTTypeSafety (= 0.70.6)
328
- - React-Codegen (= 0.70.6)
329
- - React-Core/RCTImageHeaders (= 0.70.6)
330
- - React-jsi (= 0.70.6)
331
- - React-RCTNetwork (= 0.70.6)
332
- - ReactCommon/turbomodule/core (= 0.70.6)
333
- - React-RCTLinking (0.70.6):
334
- - React-Codegen (= 0.70.6)
335
- - React-Core/RCTLinkingHeaders (= 0.70.6)
336
- - React-jsi (= 0.70.6)
337
- - ReactCommon/turbomodule/core (= 0.70.6)
338
- - React-RCTNetwork (0.70.6):
339
- - RCT-Folly (= 2021.07.22.00)
340
- - RCTTypeSafety (= 0.70.6)
341
- - React-Codegen (= 0.70.6)
342
- - React-Core/RCTNetworkHeaders (= 0.70.6)
343
- - React-jsi (= 0.70.6)
344
- - ReactCommon/turbomodule/core (= 0.70.6)
345
- - React-RCTSettings (0.70.6):
346
- - RCT-Folly (= 2021.07.22.00)
347
- - RCTTypeSafety (= 0.70.6)
348
- - React-Codegen (= 0.70.6)
349
- - React-Core/RCTSettingsHeaders (= 0.70.6)
350
- - React-jsi (= 0.70.6)
351
- - ReactCommon/turbomodule/core (= 0.70.6)
352
- - React-RCTText (0.70.6):
353
- - React-Core/RCTTextHeaders (= 0.70.6)
354
- - React-RCTVibration (0.70.6):
355
- - RCT-Folly (= 2021.07.22.00)
356
- - React-Codegen (= 0.70.6)
357
- - React-Core/RCTVibrationHeaders (= 0.70.6)
358
- - React-jsi (= 0.70.6)
359
- - ReactCommon/turbomodule/core (= 0.70.6)
360
- - React-runtimeexecutor (0.70.6):
361
- - React-jsi (= 0.70.6)
362
- - ReactCommon/turbomodule/core (0.70.6):
363
- - DoubleConversion
364
- - glog
365
- - RCT-Folly (= 2021.07.22.00)
366
- - React-bridging (= 0.70.6)
367
- - React-callinvoker (= 0.70.6)
368
- - React-Core (= 0.70.6)
369
- - React-cxxreact (= 0.70.6)
370
- - React-jsi (= 0.70.6)
371
- - React-logger (= 0.70.6)
372
- - React-perflogger (= 0.70.6)
373
- - RNSVG (13.8.0):
374
- - React-Core
375
- - SocketRocket (0.6.0)
376
- - Yoga (1.14.0)
377
- - YogaKit (1.18.1):
378
- - Yoga (~> 1.14)
379
-
380
- DEPENDENCIES:
381
- - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
382
- - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
383
- - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
384
- - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
385
- - Flipper (= 0.125.0)
386
- - Flipper-Boost-iOSX (= 1.76.0.1.11)
387
- - Flipper-DoubleConversion (= 3.2.0.1)
388
- - Flipper-Fmt (= 7.1.7)
389
- - Flipper-Folly (= 2.6.10)
390
- - Flipper-Glog (= 0.5.0.5)
391
- - Flipper-PeerTalk (= 0.0.4)
392
- - Flipper-RSocket (= 1.4.3)
393
- - FlipperKit (= 0.125.0)
394
- - FlipperKit/Core (= 0.125.0)
395
- - FlipperKit/CppBridge (= 0.125.0)
396
- - FlipperKit/FBCxxFollyDynamicConvert (= 0.125.0)
397
- - FlipperKit/FBDefines (= 0.125.0)
398
- - FlipperKit/FKPortForwarding (= 0.125.0)
399
- - FlipperKit/FlipperKitHighlightOverlay (= 0.125.0)
400
- - FlipperKit/FlipperKitLayoutPlugin (= 0.125.0)
401
- - FlipperKit/FlipperKitLayoutTextSearchable (= 0.125.0)
402
- - FlipperKit/FlipperKitNetworkPlugin (= 0.125.0)
403
- - FlipperKit/FlipperKitReactPlugin (= 0.125.0)
404
- - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.125.0)
405
- - FlipperKit/SKIOSNetworkPlugin (= 0.125.0)
406
- - freerasp-react-native (from `../..`)
407
- - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
408
- - hermes-engine (from `../node_modules/react-native/sdks/hermes/hermes-engine.podspec`)
409
- - libevent (~> 2.1.12)
410
- - OpenSSL-Universal (= 1.1.1100)
411
- - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
412
- - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
413
- - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
414
- - React (from `../node_modules/react-native/`)
415
- - React-bridging (from `../node_modules/react-native/ReactCommon`)
416
- - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`)
417
- - React-Codegen (from `build/generated/ios`)
418
- - React-Core (from `../node_modules/react-native/`)
419
- - React-Core/DevSupport (from `../node_modules/react-native/`)
420
- - React-Core/RCTWebSocket (from `../node_modules/react-native/`)
421
- - React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
422
- - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
423
- - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`)
424
- - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
425
- - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
426
- - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
427
- - React-logger (from `../node_modules/react-native/ReactCommon/logger`)
428
- - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`)
429
- - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
430
- - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
431
- - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
432
- - React-RCTImage (from `../node_modules/react-native/Libraries/Image`)
433
- - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`)
434
- - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`)
435
- - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
436
- - React-RCTText (from `../node_modules/react-native/Libraries/Text`)
437
- - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
438
- - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`)
439
- - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
440
- - RNSVG (from `../node_modules/react-native-svg`)
441
- - Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
442
-
443
- SPEC REPOS:
444
- trunk:
445
- - CocoaAsyncSocket
446
- - Flipper
447
- - Flipper-Boost-iOSX
448
- - Flipper-DoubleConversion
449
- - Flipper-Fmt
450
- - Flipper-Folly
451
- - Flipper-Glog
452
- - Flipper-PeerTalk
453
- - Flipper-RSocket
454
- - FlipperKit
455
- - fmt
456
- - libevent
457
- - OpenSSL-Universal
458
- - SocketRocket
459
- - YogaKit
460
-
461
- EXTERNAL SOURCES:
462
- boost:
463
- :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec"
464
- DoubleConversion:
465
- :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
466
- FBLazyVector:
467
- :path: "../node_modules/react-native/Libraries/FBLazyVector"
468
- FBReactNativeSpec:
469
- :path: "../node_modules/react-native/React/FBReactNativeSpec"
470
- freerasp-react-native:
471
- :path: "../.."
472
- glog:
473
- :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
474
- hermes-engine:
475
- :podspec: "../node_modules/react-native/sdks/hermes/hermes-engine.podspec"
476
- RCT-Folly:
477
- :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
478
- RCTRequired:
479
- :path: "../node_modules/react-native/Libraries/RCTRequired"
480
- RCTTypeSafety:
481
- :path: "../node_modules/react-native/Libraries/TypeSafety"
482
- React:
483
- :path: "../node_modules/react-native/"
484
- React-bridging:
485
- :path: "../node_modules/react-native/ReactCommon"
486
- React-callinvoker:
487
- :path: "../node_modules/react-native/ReactCommon/callinvoker"
488
- React-Codegen:
489
- :path: build/generated/ios
490
- React-Core:
491
- :path: "../node_modules/react-native/"
492
- React-CoreModules:
493
- :path: "../node_modules/react-native/React/CoreModules"
494
- React-cxxreact:
495
- :path: "../node_modules/react-native/ReactCommon/cxxreact"
496
- React-hermes:
497
- :path: "../node_modules/react-native/ReactCommon/hermes"
498
- React-jsi:
499
- :path: "../node_modules/react-native/ReactCommon/jsi"
500
- React-jsiexecutor:
501
- :path: "../node_modules/react-native/ReactCommon/jsiexecutor"
502
- React-jsinspector:
503
- :path: "../node_modules/react-native/ReactCommon/jsinspector"
504
- React-logger:
505
- :path: "../node_modules/react-native/ReactCommon/logger"
506
- React-perflogger:
507
- :path: "../node_modules/react-native/ReactCommon/reactperflogger"
508
- React-RCTActionSheet:
509
- :path: "../node_modules/react-native/Libraries/ActionSheetIOS"
510
- React-RCTAnimation:
511
- :path: "../node_modules/react-native/Libraries/NativeAnimation"
512
- React-RCTBlob:
513
- :path: "../node_modules/react-native/Libraries/Blob"
514
- React-RCTImage:
515
- :path: "../node_modules/react-native/Libraries/Image"
516
- React-RCTLinking:
517
- :path: "../node_modules/react-native/Libraries/LinkingIOS"
518
- React-RCTNetwork:
519
- :path: "../node_modules/react-native/Libraries/Network"
520
- React-RCTSettings:
521
- :path: "../node_modules/react-native/Libraries/Settings"
522
- React-RCTText:
523
- :path: "../node_modules/react-native/Libraries/Text"
524
- React-RCTVibration:
525
- :path: "../node_modules/react-native/Libraries/Vibration"
526
- React-runtimeexecutor:
527
- :path: "../node_modules/react-native/ReactCommon/runtimeexecutor"
528
- ReactCommon:
529
- :path: "../node_modules/react-native/ReactCommon"
530
- RNSVG:
531
- :path: "../node_modules/react-native-svg"
532
- Yoga:
533
- :path: "../node_modules/react-native/ReactCommon/yoga"
534
-
535
- SPEC CHECKSUMS:
536
- boost: a7c83b31436843459a1961bfd74b96033dc77234
537
- CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
538
- DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
539
- FBLazyVector: 48289402952f4f7a4e235de70a9a590aa0b79ef4
540
- FBReactNativeSpec: dd1186fd05255e3457baa2f4ca65e94c2cd1e3ac
541
- Flipper: 26fc4b7382499f1281eb8cb921e5c3ad6de91fe0
542
- Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c
543
- Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30
544
- Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b
545
- Flipper-Folly: 584845625005ff068a6ebf41f857f468decd26b3
546
- Flipper-Glog: 70c50ce58ddaf67dc35180db05f191692570f446
547
- Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9
548
- Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541
549
- FlipperKit: cbdee19bdd4e7f05472a66ce290f1b729ba3cb86
550
- fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
551
- freerasp-react-native: 68f18a583428d1bbb484228abdb3b9cd258795b4
552
- glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b
553
- hermes-engine: 2af7b7a59128f250adfd86f15aa1d5a2ecd39995
554
- libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
555
- OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c
556
- RCT-Folly: 0080d0a6ebf2577475bda044aa59e2ca1f909cda
557
- RCTRequired: e1866f61af7049eb3d8e08e8b133abd38bc1ca7a
558
- RCTTypeSafety: 27c2ac1b00609a432ced1ae701247593f07f901e
559
- React: bb3e06418d2cc48a84f9666a576c7b38e89cd7db
560
- React-bridging: 572502ec59c9de30309afdc4932e278214288913
561
- React-callinvoker: 6b708b79c69f3359d42f1abb4663f620dbd4dadf
562
- React-Codegen: 74e1cd7cee692a8b983c18df3274b5e749de07c8
563
- React-Core: b587d0a624f9611b0e032505f3d6f25e8daa2bee
564
- React-CoreModules: c6ff48b985e7aa622e82ca51c2c353c7803eb04e
565
- React-cxxreact: ade3d9e63c599afdead3c35f8a8bd12b3da6730b
566
- React-hermes: ed09ae33512bbb8d31b2411778f3af1a2eb681a1
567
- React-jsi: 5a3952e0c6d57460ad9ee2c905025b4c28f71087
568
- React-jsiexecutor: b4a65947391c658450151275aa406f2b8263178f
569
- React-jsinspector: 60769e5a0a6d4b32294a2456077f59d0266f9a8b
570
- React-logger: 1623c216abaa88974afce404dc8f479406bbc3a0
571
- React-perflogger: 8c79399b0500a30ee8152d0f9f11beae7fc36595
572
- React-RCTActionSheet: 7316773acabb374642b926c19aef1c115df5c466
573
- React-RCTAnimation: 5341e288375451297057391227f691d9b2326c3d
574
- React-RCTBlob: b0615fc2daf2b5684ade8fadcab659f16f6f0efa
575
- React-RCTImage: 6487b9600f268ecedcaa86114d97954d31ad4750
576
- React-RCTLinking: c8018ae9ebfefcec3839d690d4725f8d15e4e4b3
577
- React-RCTNetwork: 8aa63578741e0fe1205c28d7d4b40dbfdabce8a8
578
- React-RCTSettings: d00c15ad369cd62242a4dfcc6f277912b4a84ed3
579
- React-RCTText: f532e5ca52681ecaecea452b3ad7a5b630f50d75
580
- React-RCTVibration: c75ceef7aa60a33b2d5731ebe5800ddde40cefc4
581
- React-runtimeexecutor: 15437b576139df27635400de0599d9844f1ab817
582
- ReactCommon: 349be31adeecffc7986a0de875d7fb0dcf4e251c
583
- RNSVG: c1e76b81c76cdcd34b4e1188852892dc280eb902
584
- SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608
585
- Yoga: 99caf8d5ab45e9d637ee6e0174ec16fbbb01bcfc
586
- YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
587
-
588
- PODFILE CHECKSUM: 2ba5d309805e2c76cfa75c71ab1e99177aa6d741
589
-
590
- COCOAPODS: 1.11.3