* configure.ac (random_modules): Reworked the code to select the

random module.  Define USE_ALL_RANDOM_MODULES for value all.
This commit is contained in:
Werner Koch 2002-08-30 16:36:08 +00:00
parent 5dfd5a6dac
commit 2b95cb78b5
6 changed files with 93 additions and 79 deletions

View File

@ -1,3 +1,8 @@
2002-08-29 Werner Koch <wk@gnupg.org>
* configure.ac (random_modules): Reworked the code to select the
random module. Define USE_ALL_RANDOM_MODULES for value all.
2002-08-27 David Shaw <dshaw@jabberwocky.com>
* configure.ac: Check type of mode_t.

9
NEWS
View File

@ -28,8 +28,13 @@ Noteworthy changes in version 1.1.92
* The default configuration file is now ~/.gnupg/gpg.conf. If an
old ~/.gnupg/options is found it will still be used. This
change is required to have more consistent naming scheme with
forthcoming tool.
change is required to have a more consistent naming scheme with
forthcoming tools.
* The configure option --with-static-rnd=auto allows to build gpg
with all available entropy gathering modules included. At
runtime the best usable one will be selected from the list
linux, egd, unix.
Noteworthy changes in version 1.1.91 (2002-08-04)

4
README
View File

@ -469,7 +469,9 @@
linux - Use the module which accesses /dev/random.
This is the first choice and the default one
for GNU/Linux or *BSD.
auto - Compile linux, egd and unix in and
automagically select at runtime.
--with-egd-socket=<name>
This is only used when EGD is used as random
gatherer. GnuPG uses by default "~/.gnupg/entropy"

1
THANKS
View File

@ -36,6 +36,7 @@ Daniel Resare daniel@resare.com
Dave Dykstra dwd@bell-labs.com
David C Niemi niemi@tuxers.net
David Champion dgc@uchicago.edu
David D. Scribner dscribner@bigfoot.com
David Ellement ellement@sdd.hp.com
David Hallinan hallinan@rtd.com
David Hollenberg dhollen@ISI.EDU

21
TODO
View File

@ -5,9 +5,6 @@
* Check for consistent spelling of user ID, key ID etc.
Replace "user id not found" in getkey.c by "no valid user ID found".
* Add remarks to the man page about OpenPGP OPTIONAL algorithms and
issue warnings when such an algorithm is used (disabled by expert modus?)
* Return status information even when an imported key is already
stored. This is useful for GPGME's detailed info function.
@ -29,9 +26,6 @@
* Check the changes to the gpg random gatherer on all W32 platforms.
* Put a note into readme.w32 that there is a man page and a options
file; write the registry stuff in regedit format.
* Show more info does not work from edit->trust
* set default charset from nl_langinfo.
@ -43,8 +37,6 @@
it's end and allow for multiple signature for one message. And
add a real grammar to the code in mainproc.c
* Option to warn when a non MDC message is decrypted?
* If there is no secure memory, allocate more memory for the secure
memory block or do it in all cases.
@ -67,21 +59,13 @@
* Add option to put the list of recipients (from the encryption
layer) into the signatures notation data.
* With option -i prompt before adding a key to the keyring and show some
info what we are about to add.
* --disable-asm should still assemble _udiv_qrnnd when needed
* Get new assembler stuff from gmp 3.1
* Use new-format headers for compressed packets.
The advantage is that a garbled zip files can be better detected.
* use DEL and ^H for erasing the previous character (util/ttyio.c).
or better readline.
* preferences of hash algorithms are not yet used.
* add test cases for invalid data (scrambled armor or other random data)
* add checking of armor trailers. Try to detect garbled header lines.
@ -112,11 +96,6 @@
* cat foo | gpg --sign | gpg --list-packets
Does not list the signature packet.
* Replace wording "It is NOT certain that the key belongs to its owner..."
with "It is NOT certain that the key belongs to the person named in the
user ID..." (or similar but clearer message).
Things we won't do
------------------

View File

@ -50,7 +50,7 @@ dnl Check for random module options
dnl
AC_MSG_CHECKING([which random module to use])
AC_ARG_ENABLE(static-rnd,
[ --enable-static-rnd=[egd|unix|linux] ],
[ --enable-static-rnd=[egd|unix|linux|auto] ],
[use_static_rnd=$enableval], [use_static_rnd=default] )
if test "$use_static_rnd" = no; then
@ -61,6 +61,9 @@ case "$use_static_rnd" in
egd | linux | unix | default )
AC_MSG_RESULT($use_static_rnd)
;;
auto )
AC_MSG_RESULT(automagically selected at runtime)
;;
* )
AC_MSG_RESULT(invalid argument)
AC_MSG_ERROR(there is no random module rnd$use_static_rnd)
@ -636,67 +639,64 @@ fi
dnl
dnl Figure out the default random module.
dnl
static_random_module=""
random_modules=""
if test "$use_static_rnd" = default; then
if test "$ac_cv_have_dev_random" = yes; then
static_random_module="rndlinux"
if test "$ac_cv_have_dev_random" = yes; then
random_modules="rndlinux"
else
case "${target}" in
*-*-mingw32*|*-*-cygwin*)
random_modules="rndw32"
;;
i?86-emx-os2|i?86-*-os2*emx)
random_modules="rndos2"
;;
m68k-atari-mint)
random_modules="rndatari"
;;
i?86-*-msdosdjgpp*)
:
;;
*)
random_modules="rndunix"
;;
esac
fi
else
if test "$use_static_rnd" = auto; then
random_modules="rndlinux rndegd rndunix"
AC_DEFINE(USE_ALL_RANDOM_MODULES, 1,
[Allow to select random modules at runtime.])
else
case "${target}" in
*-*-mingw32*|*-*-cygwin*)
static_random_module="rndw32"
;;
i?86-emx-os2|i?86-*-os2*emx)
static_random_module="rndos2"
;;
m68k-atari-mint)
static_random_module="rndatari"
;;
i?86-*-msdosdjgpp*)
:
;;
*)
static_random_module="rndunix"
;;
esac
random_modules="rnd$use_static_rnd";
fi
fi
case "$static_random_module" in
rndlinux)
AC_DEFINE(USE_RNDLINUX,1,
[Defined if the /dev/random based RNG shoudl be used.])
;;
rndunix)
AC_DEFINE(USE_RNDUNIX,1,
if test -z "$random_modules"; then
AC_MSG_ERROR(no random module available)
fi
print_egd_warning=no
for rndmod in $random_modules "" ; do
case "$rndmod" in
rndlinux)
AC_DEFINE(USE_RNDLINUX,1,
[Defined if the /dev/random based RNG should be used.])
;;
rndunix)
AC_DEFINE(USE_RNDUNIX,1,
[Defined if the default Unix RNG should be used.])
AC_MSG_WARN([[
***
*** The performance of the UNIX random gatherer module is not very good
*** and it does not keep the entropy pool over multiple invocations of
*** GnuPG. The suggested way to overcome this problem is to use the
***
*** Entropy Gathering Daemon (EGD)
***
*** which provides a entropy source for the whole system. It is written
*** in Perl and available at the GnuPG FTP servers. For more information
*** consult the GnuPG webpages:
***
*** http://www.gnupg.org/download.html#egd
***
*** You may want to run ./configure with --enable-static-rnd=egd to use it.
***]])
;;
rndegd)
AC_DEFINE(USE_RNDEGD,1,
[Defined if the EGD based RNG shoudl be used.])
;;
rndw32)
AC_DEFINE(USE_RNDW32,1,
print_egd_warning=yes
;;
rndegd)
AC_DEFINE(USE_RNDEGD,1,
[Defined if the EGD based RNG should be used.])
;;
rndw32)
AC_DEFINE(USE_RNDW32,1,
[Defined if the Windows specific RNG should be used.])
;;
*)
AC_MSG_ERROR(no random module available)
;;
esac
esac
done
dnl setup assembler stuff
AC_MSG_CHECKING(for mpi assembler functions)
@ -800,6 +800,28 @@ fi
AC_SUBST(NETLIBS)
if test "$print_egd_warning" = yes; then
AC_MSG_WARN([[
***
*** The performance of the UNIX random gatherer module is not very good
*** and it does not keep the entropy pool over multiple invocations of
*** GnuPG. The suggested way to overcome this problem is to use the
***
*** Entropy Gathering Daemon (EGD)
***
*** which provides a entropy source for the whole system. It is written
*** in Perl and available at the GnuPG FTP servers. For more information
*** consult the GnuPG webpages:
***
*** http://www.gnupg.org/download.html#egd
***
*** You may want to run ./configure with --enable-static-rnd=egd to use it.
***]])
fi
# Note the \\\\ for backslashes. Autoconf eats one layer, leaving \\
AC_SUBST(GNUPG_LIBEXECDIR,"${libexecdir}/gnupg")