Browse Source

getrandom API now works on Android versions >= 9 :)

Ugochukwu Mmaduekwe 6 years ago
parent
commit
0c46fcf122
2 changed files with 15 additions and 1 deletions
  1. 11 1
      CryptoLib/src/Include/CryptoLib.inc
  2. 4 0
      CryptoLib/src/Utils/Randoms/ClpOSRandom.pas

+ 11 - 1
CryptoLib/src/Include/CryptoLib.inc

@@ -58,6 +58,8 @@
       {$ELSEIF DEFINED(FREEBSD) OR DEFINED(NETBSD) OR DEFINED(OPENBSD) OR DEFINED(DRAGONFLY)}
          {$DEFINE CRYPTOLIB_GENERIC_BSD}
       {$IFEND}
+  {$ELSEIF DEFINED(ANDROID)}
+     {$DEFINE CRYPTOLIB_ANDROID}
   {$ELSEIF DEFINED(LINUX)}
      {$DEFINE CRYPTOLIB_LINUX}
   {$ELSEIF DEFINED(SOLARIS)}
@@ -69,6 +71,10 @@
    {$MESSAGE ERROR 'UNSUPPORTED TARGET.'}
 {$IFEND}
 
+{$IFDEF CRYPTOLIB_ANDROID}
+   {$DEFINE CRYPTOLIB_LINUX}
+{$ENDIF}
+
 {$IF DEFINED(CRYPTOLIB_LINUX) OR DEFINED(CRYPTOLIB_SOLARIS)}
    {$DEFINE CRYPTOLIB_HAS_GETRANDOM}
 {$IFEND}
@@ -174,11 +180,15 @@
    {$DEFINE CRYPTOLIB_MACOS}
 {$ENDIF}
 
+{$IFDEF ANDROID}
+   {$DEFINE CRYPTOLIB_ANDROID}
+{$ENDIF}
+
 {$IF DEFINED(CRYPTOLIB_IOS) OR DEFINED(CRYPTOLIB_MACOS)}
    {$DEFINE CRYPTOLIB_APPLE}
 {$IFEND}
 
-{$IF DEFINED(LINUX) OR DEFINED(ANDROID)}
+{$IF DEFINED(LINUX) OR DEFINED(CRYPTOLIB_ANDROID)}
    {$DEFINE CRYPTOLIB_LINUX}
 {$IFEND}
 

+ 4 - 0
CryptoLib/src/Utils/Randoms/ClpOSRandom.pas

@@ -179,8 +179,12 @@ type
     GRND_DEFAULT: Int32 = $0000;
 
 {$IFDEF CRYPTOLIB_LINUX}
+{$IFDEF CRYPTOLIB_ANDROID}
+    LIBC_SO = 'libc.so';
+{$ELSE}
     LIBC_SO = 'libc.so.6';
 {$ENDIF}
+{$ENDIF}
 {$IFDEF CRYPTOLIB_SOLARIS}
     LIBC_SO = 'libc.so.1';
 {$ENDIF}