diff --git a/ChangeLog b/ChangeLog index 592e92593..0e606e510 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2004-01-27 David Shaw + + * NEWS: Note --enable-key-cache, the OpenBSD/i386 and HPPA fixes, + and Elgamal removal. + + * README, configure.ac: Add --enable-key-cache=SIZE configure + option. This sets the key/uid cache size. Default is 4096. + 2004-01-11 David Shaw * configure.ac: Include stdio.h when checking for bzlib.h. Solaris diff --git a/NEWS b/NEWS index 323279d96..9f9917551 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,12 @@ Noteworthy changes in version 1.3.5 (unreleased) embedded use where space is tight. --enable-minimal includes --disable-rsa. + * Some performance improvements with large keyrings. + + * Some portability fixes for the OpenBSD/i386 and HPPA platforms. + + * The last support for Elgamal sign+encrypt keys has been removed. + Noteworthy changes in version 1.3.4 (2003-11-27) ------------------------------------------------ diff --git a/README b/README index 5cf230297..eac5643f6 100644 --- a/README +++ b/README @@ -584,6 +584,13 @@ example) "--enable-minimal --enable-rsa" to have RSA added to the minimal build. + --enable-key-cache=SIZE + Set the internal key and UID cache size. This has + a significant impact on performance with large + keyrings. The default is 4096, but for use on + platforms where memory is an issue, it can be set + as low as 5. + Installation Problems --------------------- diff --git a/configure.ac b/configure.ac index e8d9eaf87..d813c6b74 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ dnl Configure.ac script for GnuPG -dnl Copyright (C) 1998, 1999, 2000, 2001, 2002, -dnl 2003 Free Software Foundation, Inc. +dnl Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 +dnl 2004 Free Software Foundation, Inc. dnl dnl This file is part of GnuPG. dnl @@ -308,6 +308,31 @@ AC_ARG_WITH(included-zlib, [g10_force_zlib=yes], [g10_force_zlib=no] ) AC_MSG_RESULT($g10_force_zlib) +dnl +dnl Check for the key/uid cache size. This can't be zero, but can be +dnl pretty small on embedded systems. +dnl +AC_MSG_CHECKING([for the size of the key and uid cache]) +AC_ARG_ENABLE(key-cache, + AC_HELP_STRING([--enable-key-cache=SIZE],[Set key cache to SIZE (default 4096)]),,enableval=4096) + +if test "$enableval" = "no"; then + enableval=5 +elif test "$enableval" = "yes" || test "$enableval" = ""; then + enableval=4096 +fi + +changequote(,)dnl +key_cache_size=`echo "$enableval" | sed 's/[A-Za-z]//g'` +changequote([,])dnl + +if test "$enableval" != "$key_cache_size" || test "$key_cache_size" -lt 5; then + AC_MSG_ERROR([invalid key-cache size]) +fi + +AC_MSG_RESULT($key_cache_size) +AC_DEFINE_UNQUOTED(PK_UID_CACHE_SIZE,$key_cache_size,[Size of the key and UID caches]) + dnl dnl Check whether we want to use Linux capabilities dnl