From 44ed0db8c93f6a81fd996f1f10e93051291fbf1d Mon Sep 17 00:00:00 2001 From: Simon Josefsson Date: Wed, 20 Jan 2021 11:50:21 +0100 Subject: gc-random: Replace implementation with call to getrandom. * lib/gc-gnulib.c [GNULIB_GC_RANDOM]: Replace #include's with those needed for getrandom. (gc_init): Remove old randomness code. (gc_done): Likewise. (randomize): Rewrite using getrandom, inspired by getentropy. * m4/gc-random.m4: Remove file. * modules/crypto/gc-random: Drop gc-random.m4, gl_GC_RANDOM, and LIB_GC_RANDOM. Add conditional dependency on getrandom. * modules/crypto/gc-tests (test_gc_LDADD): Drop LIB_GC_RANDOM. --- m4/gc-random.m4 | 89 --------------------------------------------------------- 1 file changed, 89 deletions(-) delete mode 100644 m4/gc-random.m4 (limited to 'm4') diff --git a/m4/gc-random.m4 b/m4/gc-random.m4 deleted file mode 100644 index d27031b27b..0000000000 --- a/m4/gc-random.m4 +++ /dev/null @@ -1,89 +0,0 @@ -# gc-random.m4 serial 9 -dnl Copyright (C) 2005-2021 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_GC_RANDOM], -[ - # Devices with randomness. - # FIXME: Are these the best defaults? - - AC_REQUIRE([AC_CANONICAL_HOST]) - - case "$host_os" in - *mirbsd*) - NAME_OF_RANDOM_DEVICE="/dev/srandom" - NAME_OF_PSEUDO_RANDOM_DEVICE="/dev/prandom" - NAME_OF_NONCE_DEVICE="/dev/urandom" - ;; - - *irix* | *dec-osf* ) - NAME_OF_RANDOM_DEVICE="/dev/random" - NAME_OF_PSEUDO_RANDOM_DEVICE="/dev/random" - NAME_OF_NONCE_DEVICE="/dev/random" - ;; - - *) - NAME_OF_RANDOM_DEVICE="/dev/random" - NAME_OF_PSEUDO_RANDOM_DEVICE="/dev/urandom" - NAME_OF_NONCE_DEVICE="/dev/urandom" - ;; - esac - - AC_MSG_CHECKING([device with (strong) random data...]) - AC_ARG_ENABLE([random-device], - AS_HELP_STRING([--enable-random-device], - [device with (strong) randomness (for Nettle)]), - NAME_OF_RANDOM_DEVICE=$enableval) - AC_MSG_RESULT([$NAME_OF_RANDOM_DEVICE]) - - AC_MSG_CHECKING([device with pseudo random data...]) - AC_ARG_ENABLE([pseudo-random-device], - AS_HELP_STRING([--enable-pseudo-random-device], - [device with pseudo randomness (for Nettle)]), - NAME_OF_PSEUDO_RANDOM_DEVICE=$enableval) - AC_MSG_RESULT([$NAME_OF_PSEUDO_RANDOM_DEVICE]) - - AC_MSG_CHECKING([device with unpredictable data for nonces...]) - AC_ARG_ENABLE([nonce-device], - AS_HELP_STRING([--enable-nonce-device], - [device with unpredictable nonces (for Nettle)]), - NAME_OF_NONCE_DEVICE=$enableval) - AC_MSG_RESULT([$NAME_OF_NONCE_DEVICE]) - - if test "$cross_compiling" != yes; then - if test "$NAME_OF_RANDOM_DEVICE" != "no"; then - AC_CHECK_FILE([$NAME_OF_RANDOM_DEVICE],, - AC_MSG_WARN([[Device '$NAME_OF_RANDOM_DEVICE' does not exist, consider to use --enable-random-device]])) - fi - if test "$NAME_OF_PSEUDO_RANDOM_DEVICE" != "no"; then - AC_CHECK_FILE([$NAME_OF_PSEUDO_RANDOM_DEVICE],, - AC_MSG_WARN([[Device '$NAME_OF_PSEUDO_RANDOM_DEVICE' does not exist, consider to use --enable-pseudo-random-device]])) - fi - if test "$NAME_OF_NONCE_DEVICE" != "no"; then - AC_CHECK_FILE([$NAME_OF_NONCE_DEVICE],, - AC_MSG_WARN([[Device '$NAME_OF_NONCE_DEVICE' does not exist, consider to use --enable-nonce-device]])) - fi - else - AC_MSG_NOTICE([[Cross compiling, assuming random devices exists on the target host...]]) - fi - - # FIXME?: Open+read 42 bytes+close twice and compare data. Should differ. - - AC_DEFINE_UNQUOTED([NAME_OF_RANDOM_DEVICE], ["$NAME_OF_RANDOM_DEVICE"], - [defined to the name of the (strong) random device]) - AC_DEFINE_UNQUOTED([NAME_OF_PSEUDO_RANDOM_DEVICE], - "$NAME_OF_PSEUDO_RANDOM_DEVICE", - [defined to the name of the pseudo random device]) - AC_DEFINE_UNQUOTED([NAME_OF_NONCE_DEVICE], ["$NAME_OF_NONCE_DEVICE"], - [defined to the name of the unpredictable nonce device]) - - case $host_os in - mingw*) - LIB_GC_RANDOM='-ladvapi32' ;; - *) - LIB_GC_RANDOM= ;; - esac - AC_SUBST([LIB_GC_RANDOM]) -]) -- cgit v1.2.1