diff options
author | Simon Josefsson <simon@josefsson.org> | 2006-03-08 10:43:56 +0000 |
---|---|---|
committer | Simon Josefsson <simon@josefsson.org> | 2006-03-08 10:43:56 +0000 |
commit | ecf486cb56539018cd5efac9ca986bf36c09c252 (patch) | |
tree | 33549312fba7046f7c975d4bd14a39fed0fa7b5c | |
parent | f9c1569ffa9caabd9beb657611e33a406abb9618 (diff) | |
download | gnutls-ecf486cb56539018cd5efac9ca986bf36c09c252.tar.gz |
Update.
-rw-r--r-- | gl/Makefile.am | 2 | ||||
-rw-r--r-- | gl/gc-gnulib.c | 23 | ||||
-rw-r--r-- | gl/gc-libgcrypt.c | 6 | ||||
-rw-r--r-- | gl/m4/gc-random.m4 | 83 | ||||
-rw-r--r-- | gl/m4/gc.m4 | 75 | ||||
-rw-r--r-- | gl/m4/gnulib-cache.m4 | 4 | ||||
-rw-r--r-- | gl/m4/gnulib-comp.m4 | 2 | ||||
-rw-r--r-- | gl/m4/readline.m4 | 23 | ||||
-rw-r--r-- | maint.mk | 2 |
9 files changed, 122 insertions, 98 deletions
diff --git a/gl/Makefile.am b/gl/Makefile.am index 7dd5d0456d..287ef3fb13 100644 --- a/gl/Makefile.am +++ b/gl/Makefile.am @@ -8,7 +8,7 @@ # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. -# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gl --m4-base=gl/m4 --aux-dir=. --lgpl --libtool --macro-prefix=gl gc gc-arcfour gc-arctwo gc-des gc-hmac-md5 gc-md2 gc-md4 gc-md5 gc-pbkdf2-sha1 gc-rijndael gc-sha1 getline getpass gettext inet_ntop maintainer-makefile memmem memmove minmax readline snprintf socklen stdint +# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gl --m4-base=gl/m4 --aux-dir=. --lgpl --libtool --macro-prefix=gl gc gc-arcfour gc-arctwo gc-des gc-hmac-md5 gc-md2 gc-md4 gc-md5 gc-pbkdf2-sha1 gc-random gc-rijndael gc-sha1 getline getpass gettext inet_ntop maintainer-makefile memmem memmove minmax readline snprintf socklen stdint AUTOMAKE_OPTIONS = 1.5 gnits no-dependencies diff --git a/gl/gc-gnulib.c b/gl/gc-gnulib.c index d5661793f3..ca0ee95299 100644 --- a/gl/gc-gnulib.c +++ b/gl/gc-gnulib.c @@ -1,5 +1,5 @@ -/* gc-gl-common.c --- Common gnulib internal crypto interface functions - * Copyright (C) 2002, 2003, 2004, 2005 Simon Josefsson +/* gc-gnulib.c --- Common gnulib internal crypto interface functions + * Copyright (C) 2002, 2003, 2004, 2005, 2006 Simon Josefsson * * This file is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published @@ -31,11 +31,13 @@ #include <string.h> /* For randomize. */ -#include <unistd.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <errno.h> +#ifdef GC_USE_RANDOM +# include <unistd.h> +# include <sys/types.h> +# include <sys/stat.h> +# include <fcntl.h> +# include <errno.h> +#endif /* Hashes. */ #ifdef GC_USE_MD2 @@ -80,6 +82,8 @@ gc_done (void) return; } +#ifdef GC_USE_RANDOM + /* Randomness. */ static Gc_rc @@ -105,6 +109,9 @@ randomize (int level, char *data, size_t datalen) break; } + if (strcmp (device, "no") == 0) + return GC_RANDOM_ERROR; + fd = open (device, O_RDONLY); if (fd < 0) return GC_RANDOM_ERROR; @@ -152,6 +159,8 @@ gc_random (char *data, size_t datalen) return randomize (2, data, datalen); } +#endif + /* Memory allocation. */ void diff --git a/gl/gc-libgcrypt.c b/gl/gc-libgcrypt.c index b46e4881ed..53753c3fe0 100644 --- a/gl/gc-libgcrypt.c +++ b/gl/gc-libgcrypt.c @@ -1,5 +1,5 @@ /* gc-libgcrypt.c --- Crypto wrappers around Libgcrypt for GC. - * Copyright (C) 2002, 2003, 2004, 2005 Simon Josefsson + * Copyright (C) 2002, 2003, 2004, 2005, 2006 Simon Josefsson * * This file is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published @@ -65,6 +65,8 @@ gc_done (void) return; } +#ifdef GC_USE_RANDOM + /* Randomness. */ Gc_rc @@ -88,6 +90,8 @@ gc_random (char *data, size_t datalen) return GC_OK; } +#endif + /* Memory allocation. */ void diff --git a/gl/m4/gc-random.m4 b/gl/m4/gc-random.m4 new file mode 100644 index 0000000000..516646e17c --- /dev/null +++ b/gl/m4/gc-random.m4 @@ -0,0 +1,83 @@ +# gc-random.m4 serial 1 +dnl Copyright (C) 2005, 2006 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])dnl + + case "$host_os" 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)]), + test "$enableval" != "no" && 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)]), + test "$enableval" != "no" && 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)]), + test "$enableval" != "no" && NAME_OF_NONCE_DEVICE=$enableval) + AC_MSG_RESULT($NAME_OF_NONCE_DEVICE) + + if test "$cross_compiling" != yes; then + AC_CHECK_FILE($NAME_OF_RANDOM_DEVICE,, + AC_MSG_WARN([[device for (strong) random data `$NAME_OF_RANDOM_DEVICE' does not exist]])) + AC_CHECK_FILE($NAME_OF_PSEUDO_RANDOM_DEVICE,, + AC_MSG_WARN([[device for pseudo-random data `$NAME_OF_PSEUDO_RANDOM_DEVICE' does not exist]])) + AC_CHECK_FILE($NAME_OF_NONCE_DEVICE,, + AC_MSG_WARN([[device for unpredictable nonces `$NAME_OF_NONCE_DEVICE' does not exist]])) + 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]) + + AC_DEFINE(GC_USE_RANDOM, 1, [Define if you want to support RNG through GC.]) +]) diff --git a/gl/m4/gc.m4 b/gl/m4/gc.m4 index d91147738c..e01ae29d61 100644 --- a/gl/m4/gc.m4 +++ b/gl/m4/gc.m4 @@ -1,5 +1,5 @@ -# gc.m4 serial 1 -dnl Copyright (C) 2005 Free Software Foundation, Inc. +# gc.m4 serial 2 +dnl Copyright (C) 2005, 2006 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. @@ -17,77 +17,6 @@ AC_DEFUN([gl_GC], AC_LIBOBJ([gc-libgcrypt]) else AC_LIBOBJ([gc-gnulib]) - - # 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)]), - test "$enableval" != "no" && 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)]), - test "$enableval" != "no" && 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)]), - test "$enableval" != "no" && NAME_OF_NONCE_DEVICE=$enableval) - AC_MSG_RESULT($NAME_OF_NONCE_DEVICE) - - if test "$cross_compiling" != yes; then - 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]])) - else - AC_MSG_NOTICE([[Cross compiling, assuming random devices exists...]]) - 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]) fi ]) diff --git a/gl/m4/gnulib-cache.m4 b/gl/m4/gnulib-cache.m4 index d189e78111..04820a8e01 100644 --- a/gl/m4/gnulib-cache.m4 +++ b/gl/m4/gnulib-cache.m4 @@ -14,10 +14,10 @@ # Specification in the form of a command-line invocation: -# gnulib-tool --import --dir=. --lib=libgnu --source-base=gl --m4-base=gl/m4 --aux-dir=. --lgpl --libtool --macro-prefix=gl gc gc-arcfour gc-arctwo gc-des gc-hmac-md5 gc-md2 gc-md4 gc-md5 gc-pbkdf2-sha1 gc-rijndael gc-sha1 getline getpass gettext inet_ntop maintainer-makefile memmem memmove minmax readline snprintf socklen stdint +# gnulib-tool --import --dir=. --lib=libgnu --source-base=gl --m4-base=gl/m4 --aux-dir=. --lgpl --libtool --macro-prefix=gl gc gc-arcfour gc-arctwo gc-des gc-hmac-md5 gc-md2 gc-md4 gc-md5 gc-pbkdf2-sha1 gc-random gc-rijndael gc-sha1 getline getpass gettext inet_ntop maintainer-makefile memmem memmove minmax readline snprintf socklen stdint # Specification in the form of a few gnulib-tool.m4 macro invocations: -gl_MODULES([gc gc-arcfour gc-arctwo gc-des gc-hmac-md5 gc-md2 gc-md4 gc-md5 gc-pbkdf2-sha1 gc-rijndael gc-sha1 getline getpass gettext inet_ntop maintainer-makefile memmem memmove minmax readline snprintf socklen stdint]) +gl_MODULES([gc gc-arcfour gc-arctwo gc-des gc-hmac-md5 gc-md2 gc-md4 gc-md5 gc-pbkdf2-sha1 gc-random gc-rijndael gc-sha1 getline getpass gettext inet_ntop maintainer-makefile memmem memmove minmax readline snprintf socklen stdint]) gl_AVOID([]) gl_SOURCE_BASE([gl]) gl_M4_BASE([gl/m4]) diff --git a/gl/m4/gnulib-comp.m4 b/gl/m4/gnulib-comp.m4 index 38411dbbef..da7238be35 100644 --- a/gl/m4/gnulib-comp.m4 +++ b/gl/m4/gnulib-comp.m4 @@ -38,6 +38,7 @@ AC_DEFUN([gl_INIT], gl_GC_MD4 gl_GC_MD5 gl_GC_PBKDF2_SHA1 + gl_GC_RANDOM gl_GC_RIJNDAEL gl_GC_SHA1 gl_FUNC_GETDELIM @@ -141,6 +142,7 @@ AC_DEFUN([gl_FILE_LIST], [ m4/gc-md4.m4 m4/gc-md5.m4 m4/gc-pbkdf2-sha1.m4 + m4/gc-random.m4 m4/gc-rijndael.m4 m4/gc-sha1.m4 m4/gc.m4 diff --git a/gl/m4/readline.m4 b/gl/m4/readline.m4 index 8c2d9d243e..58300884da 100644 --- a/gl/m4/readline.m4 +++ b/gl/m4/readline.m4 @@ -1,5 +1,5 @@ -# readline.m4 serial 3 -dnl Copyright (C) 2005 Free Software Foundation, Inc. +# readline.m4 serial 4 +dnl Copyright (C) 2005, 2006 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. @@ -42,23 +42,20 @@ AC_DEFUN([gl_FUNC_READLINE], AC_TRY_LINK([#include <stdio.h> #include <readline/readline.h>], [readline((char*)0);], - gl_cv_lib_readline=yes) - if test "$gl_cv_lib_readline" = yes; then - if test -n "$extra_lib"; then - LIBREADLINE="$LIBREADLINE -l$extra_lib" - LTLIBREADLINE="$LTLIBREADLINE -l$extra_lib" - fi - break + [gl_cv_lib_readline=" -l$extra_lib"]) + if test "$gl_cv_lib_readline" != no; then + break fi done LIBS="$am_save_LIBS" ]) - if test "$gl_cv_lib_readline" = yes; then + if test "$gl_cv_lib_readline" != no; then AC_DEFINE(HAVE_READLINE, 1, [Define if you have the readline library.]) - fi - - if test "$gl_cv_lib_readline" = yes; then + if test "$gl_cv_lib_readline" != " -l"; then + LIBREADLINE="$LIBREADLINE$gl_cv_lib_readline" + LTLIBREADLINE="$LTLIBREADLINE$gl_cv_lib_readline" + fi AC_MSG_CHECKING([how to link with libreadline]) AC_MSG_RESULT([$LIBREADLINE]) else @@ -112,7 +112,7 @@ PACKAGE ?= $(shell basename $(PWD)) POURL = http://www.iro.umontreal.ca/translation/maint/$(PACKAGE)/ PODIR ?= po refresh-po: - rm $(PODIR)/*.po && \ + rm -f $(PODIR)/*.po && \ echo "$(ME): getting translations into po (please ignore the robots.txt ERROR 404)..." && \ wget --no-verbose --directory-prefix $(PODIR) --no-directories --recursive --level 1 --accept .po --accept .po.1 $(POURL) && \ echo 'en@boldquot' > $(PODIR)/LINGUAS && \ |