diff options
author | Timothy Alexander <dragonfyre13@gmail.com> | 2021-10-26 13:32:52 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-26 20:32:52 +0200 |
commit | dde556665aa79626b3477999fa898f7a8b758ca4 (patch) | |
tree | 01696e521e72e2c50779bfdb4413352ec7f99ca8 /tests/stdlib/tnetdial.nim | |
parent | 8d5a27518929bd4c54f4beb7e40a5fc382d3dd05 (diff) | |
download | Nim-dde556665aa79626b3477999fa898f7a8b758ca4.tar.gz |
Fix #19052; [backport:1.6.0] (#19053)
* Fix #19052; [backport:1.6.0] Adds a compile flag to avoid a getrandom syscall, fixing #19052. This is neccesary when the getrandom syscall is missing, as noted in #19052, particularly in kernel versions < 3.17 when getrandom was introduced. Specifically relevant is this is missing from kernel 3.10, which is the supported kernel throughout RHEL 7 and CentOS 7, which is widely used at many organizations. Without this, versions of nim that include sysrand (i.e. versions >= 1.6.0) will not compile without modification, however with this change a compile flag may be used to fall back using /dev/urandom as done with any unknown Posix OS (preferred here as a fallback since it already supplies a cryptographically secure PRNG and existing code deals with entropy pool init, etc). The change is placed behind a compile flag, as discussed in github ticket #19052 (summed up here): * First, I can't seem to catch that a importc such as SYS_getrandom is declared without using it (the declared proc returns true, but compiler throws an undeclared identifier flag when referencing it). * Second, it seemed preferable to be behaviorally explicit vs implicit when considering this is intended to be a cryptographically secure PRNG. * Third, if I intend to compile on a kernel >= 3.17 while running the binary on at least one system < 3.17, I'll want to be able to target this without relying on a compile time determination if the getrandom syscall is available. * Documenting compile flag for -d:nimNoGetRandom and adding changelog entry Related to #19052 and comments in PR #19053. Also created a new changelog file since none currently exists. Co-authored-by: Timothy Alexander <talexander@midwestlabs.com>
Diffstat (limited to 'tests/stdlib/tnetdial.nim')
0 files changed, 0 insertions, 0 deletions