diff options
author | Simon Josefsson <simon@josefsson.org> | 2004-08-16 19:10:30 +0000 |
---|---|---|
committer | Simon Josefsson <simon@josefsson.org> | 2004-08-16 19:10:30 +0000 |
commit | f960d38c20612907b89b6f8c52c35f1c81d5e9f7 (patch) | |
tree | 33de0f18c42cf65bd6a6bbcf420103ccdb58acbb /configure.in | |
parent | 8898bf167f4a15717536ebf00e86e2747bc486bc (diff) | |
download | gnutls-f960d38c20612907b89b6f8c52c35f1c81d5e9f7.tar.gz |
Move randomness calls to generic crypto API.
Implement randomness for libgcrypt and nettle wrappers.
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/configure.in b/configure.in index 81042ca7f7..262e162567 100644 --- a/configure.in +++ b/configure.in @@ -311,6 +311,75 @@ if test "$nettle" != "no" ; then NETTLE_CFLAGS="-I\$(top_srcdir)/nettle" NETTLE_LIBS="\$(top_builddir)/nettle/libnettle.la" AX_CREATE_STDINT_H([nettle/nettle-types.h], [sys/types.h]) + + # Devices with randomness. + # FIXME: Are these the best defaults? + case "${target}" in + *-openbsd*) + NAME_OF_RANDOM_DEVICE="/dev/srandom" + NAME_OF_PSEUDO_RANDOM_DEVICE="/dev/prandom" + NAME_OF_NONCE_DEVICE="/dev/urandom" + ;; + + *-netbsd*) + NAME_OF_RANDOM_DEVICE="/dev/srandom" + NAME_OF_PSEUDO_RANDOM_DEVICE="/dev/urandom" + NAME_OF_NONCE_DEVICE="/dev/urandom" + ;; + + *-solaris* | *-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, + AC_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, + AC_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, + AC_HELP_STRING([--enable-nonce-device], + [device with unpredictable nonces (for Nettle)]), + NAME_OF_NONCE_DEVICE=$enableval) + AC_MSG_RESULT($NAME_OF_NONCE_DEVICE) + + AC_CHECK_FILE($NAME_OF_RANDOM_DEVICE,, AC_MSG_ERROR([[ +*** Device for (strong) random data $NAME_OF_RANDOM_DEVICE does not exist +]])) + AC_CHECK_FILE($NAME_OF_PSEUDO_RANDOM_DEVICE,, AC_MSG_ERROR([[ +*** Device for pseudo-random data $NAME_OF_PSEUDO_RANDOM_DEVICE does not exist +]])) + AC_CHECK_FILE($NAME_OF_NONCE_DEVICE,, AC_MSG_ERROR([[ +*** Device for unpredictable nonces $NAME_OF_NONCE_DEVICE does not exist +]])) + + # 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]) else AC_MSG_RESULT(no) fi |