dsprenkels / dsprenkels/randombytes

Avoid getrandom or syscall(SYS_getrandom) in Android __ANDROID_API__ < 28

Open
#46 4 comments 1 reaction 0 assignees View on GitHub
Dominant language
C
Stars
101
Forks
40
PR merge metrics
No merged PRs in 30d

Description

Android Os older than Android 9.0 (API_LEVEL = 28) broken syscall(SYS_getrandom).

Please, avoid it when building with NDK. Add something like

```
....
#elif defined(__linux__) || defined(__GNU__) || defined(GNU_KFREEBSD)

//---------- ADD THESE CODE --------------
#if defined(SYS_getrandom) && ((!defined(__ANDROID__) || __ANDROID_API__ >= 28)
// use getrandom
return randombytes_linux_randombytes_getrandom(buf, n);
#else
// use /dev/urandom
return randombytes_linux_randombytes_urandom(buf, n);
#endif
//---------------------------------------
#elif defined(BSD) ....
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.