diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | NEWS | 6 | ||||
-rw-r--r-- | TODO | 2 | ||||
-rw-r--r-- | acinclude.m4 | 406 | ||||
-rw-r--r-- | cipher/ChangeLog | 15 | ||||
-rw-r--r-- | cipher/ac.c | 18 | ||||
-rw-r--r-- | cipher/dsa.c | 10 | ||||
-rw-r--r-- | cipher/elgamal.c | 20 | ||||
-rw-r--r-- | cipher/primegen.c | 9 | ||||
-rw-r--r-- | cipher/pubkey.c | 27 | ||||
-rw-r--r-- | configure.ac | 10 | ||||
-rw-r--r-- | mpi/ChangeLog | 7 | ||||
-rw-r--r-- | mpi/i386/mpih-lshift.S | 2 | ||||
-rw-r--r-- | mpi/i386/mpih-rshift.S | 2 | ||||
-rw-r--r-- | mpi/mpi-pow.c | 18 | ||||
-rw-r--r-- | scripts/ChangeLog | 5 | ||||
-rwxr-xr-x | scripts/autogen.sh | 40 | ||||
-rw-r--r-- | src/ChangeLog | 13 | ||||
-rw-r--r-- | src/ath-pth-compat.c | 3 | ||||
-rw-r--r-- | src/libgcrypt.vers | 6 | ||||
-rw-r--r-- | src/misc.c | 4 | ||||
-rw-r--r-- | src/secmem.c | 4 | ||||
-rw-r--r-- | tests/ChangeLog | 6 | ||||
-rw-r--r-- | tests/ac.c | 2 | ||||
-rw-r--r-- | tests/basic.c | 4 |
25 files changed, 557 insertions, 90 deletions
@@ -1,3 +1,11 @@ +2003-10-31 Werner Koch <wk@gnupg.org> + + Release 1.1.44. + + * acinclude.m4 (AC_CHECK_PTH): Added. + * configure.ac: Use it here instead of the generic lib test. + Bumbed LT vesion to C9/A2/R0. + 2003-10-27 Werner Koch <wk@gnupg.org> * configure.ac: Give a hint on where libgpg-error is available. @@ -1,9 +1,9 @@ -Noteworthy changes in version 1.1.44 (unreleased) +Noteworthy changes in version 1.1.44 (2003-10-31) ------------------------------------------------- - * Bug fixes + * Bug fixes and more code cleanups. - * Enhanced the prime API + * Enhanced the prime API. * Interface changes relative to the 1.1.43 release: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1,4 +1,4 @@ -* Remove _gcry_generate_elg_prime from .vers for 1.2 +What's left to do -*- outline -*- * Add more tests. Even basic is very minimal. diff --git a/acinclude.m4 b/acinclude.m4 index 9ac79b91..4c910731 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -321,3 +321,409 @@ AC_DEFUN(AM_PATH_GPG_ERROR, AC_SUBST(GPG_ERROR_LIBS) ]) +dnl ## +dnl ## GNU Pth - The GNU Portable Threads +dnl ## Copyright (c) 1999-2002 Ralf S. Engelschall <rse@engelschall.com> +dnl ## +dnl ## This file is part of GNU Pth, a non-preemptive thread scheduling +dnl ## library which can be found at http://www.gnu.org/software/pth/. +dnl ## +dnl ## This library is free software; you can redistribute it and/or +dnl ## modify it under the terms of the GNU Lesser General Public +dnl ## License as published by the Free Software Foundation; either +dnl ## version 2.1 of the License, or (at your option) any later version. +dnl ## +dnl ## This library is distributed in the hope that it will be useful, +dnl ## but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl ## Lesser General Public License for more details. +dnl ## +dnl ## You should have received a copy of the GNU Lesser General Public +dnl ## License along with this library; if not, write to the Free Software +dnl ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +dnl ## USA, or contact Ralf S. Engelschall <rse@engelschall.com>. +dnl ## +dnl ## pth.m4: Autoconf macro for locating GNU Pth from within +dnl ## configure.in of third-party software packages +dnl ## + +dnl ## +dnl ## Synopsis: +dnl ## AC_CHECK_PTH([MIN-VERSION [, # minimum Pth version, e.g. 1.2.0 +dnl ## DEFAULT-WITH-PTH [, # default value for --with-pth option +dnl ## DEFAULT-WITH-PTH-TEST [,# default value for --with-pth-test option +dnl ## EXTEND-VARS [, # whether CFLAGS/LDFLAGS/etc are extended +dnl ## ACTION-IF-FOUND [, # action to perform if Pth was found +dnl ## ACTION-IF-NOT-FOUND # action to perform if Pth was not found +dnl ## ]]]]]]) +dnl ## Examples: +dnl ## AC_CHECK_PTH(1.2.0) +dnl ## AC_CHECK_PTH(1.2.0,,,no,CFLAGS="$CFLAGS -DHAVE_PTH $PTH_CFLAGS") +dnl ## AC_CHECK_PTH(1.2.0,yes,yes,yes,CFLAGS="$CFLAGS -DHAVE_PTH") +dnl ## +dnl +dnl # auxilliary macros +AC_DEFUN(_AC_PTH_ERROR, [dnl +AC_MSG_RESULT([*FAILED*]) +dnl define(_ac_pth_line,dnl +dnl "+------------------------------------------------------------------------+") +dnl echo " _ac_pth_line" 1>&2 +cat <<EOT | sed -e 's/^[[ ]]*/ | /' -e 's/>>/ /' 1>&2 +$1 +EOT +dnl echo " _ac_pth_line" 1>&2 +dnl undefine(_ac_pth_line) +exit 1 +]) +AC_DEFUN(_AC_PTH_VERBOSE, [dnl +if test ".$verbose" = .yes; then + AC_MSG_RESULT([ $1]) +fi +]) +dnl # the user macro +AC_DEFUN(AC_CHECK_PTH, [dnl +dnl +dnl # prerequisites +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_CPP])dnl +dnl +PTH_CPPFLAGS='' +PTH_CFLAGS='' +PTH_LDFLAGS='' +PTH_LIBS='' +AC_SUBST(PTH_CPPFLAGS) +AC_SUBST(PTH_CFLAGS) +AC_SUBST(PTH_LDFLAGS) +AC_SUBST(PTH_LIBS) +dnl # command line options +AC_MSG_CHECKING(for GNU Pth) +_AC_PTH_VERBOSE([]) +AC_ARG_WITH(pth,dnl +[ --with-pth[=ARG] Build with GNU Pth Library (default=]ifelse([$2],,yes,$2)[)],dnl +,dnl +with_pth="ifelse([$2],,yes,$2)" +)dnl +AC_ARG_WITH(pth-test,dnl +[ --with-pth-test Perform GNU Pth Sanity Test (default=]ifelse([$3],,yes,$3)[)],dnl +,dnl +with_pth_test="ifelse([$3],,yes,$3)" +)dnl +_AC_PTH_VERBOSE([+ Command Line Options:]) +_AC_PTH_VERBOSE([ o --with-pth=$with_pth]) +_AC_PTH_VERBOSE([ o --with-pth-test=$with_pth_test]) +dnl +dnl # configuration +if test ".$with_pth" != .no; then + _pth_subdir=no + _pth_subdir_opts='' + case "$with_pth" in + subdir:* ) + _pth_subdir=yes + changequote(, )dnl + _pth_subdir_opts=`echo $with_pth | sed -e 's/^subdir:[^ ]*[ ]*//'` + with_pth=`echo $with_pth | sed -e 's/^subdir:\([^ ]*\).*$/\1/'` + changequote([, ])dnl + ;; + esac + _pth_version="" + _pth_location="" + _pth_type="" + _pth_cppflags="" + _pth_cflags="" + _pth_ldflags="" + _pth_libs="" + if test ".$with_pth" = .yes; then + # via config script in $PATH + changequote(, )dnl + _pth_version=`(pth-config --version) 2>/dev/null |\ + sed -e 's/^.*\([0-9]\.[0-9]*[ab.][0-9]*\).*$/\1/'` + changequote([, ])dnl + if test ".$_pth_version" != .; then + _pth_location=`pth-config --prefix` + _pth_type='installed' + _pth_cppflags=`pth-config --cflags` + _pth_cflags=`pth-config --cflags` + _pth_ldflags=`pth-config --ldflags` + _pth_libs=`pth-config --libs` + fi + elif test -d "$with_pth"; then + with_pth=`echo $with_pth | sed -e 's;/*$;;'` + _pth_found=no + # via locally included source tree + if test ".$_pth_subdir" = .yes; then + _pth_location="$with_pth" + _pth_type='local' + _pth_cppflags="-I$with_pth" + _pth_cflags="-I$with_pth" + if test -f "$with_pth/ltconfig"; then + _pth_ldflags="-L$with_pth/.libs" + else + _pth_ldflags="-L$with_pth" + fi + _pth_libs="-lpth" + changequote(, )dnl + _pth_version=`grep '^const char PTH_Hello' $with_pth/pth_vers.c |\ + sed -e 's;^.*Version[ ]*\([0-9]*\.[0-9]*[.ab][0-9]*\)[ ].*$;\1;'` + changequote([, ])dnl + _pth_found=yes + ac_configure_args="$ac_configure_args --enable-subdir $_pth_subdir_opts" + with_pth_test=no + fi + # via config script under a specified directory + # (a standard installation, but not a source tree) + if test ".$_pth_found" = .no; then + for _dir in $with_pth/bin $with_pth; do + if test -f "$_dir/pth-config"; then + test -f "$_dir/pth-config.in" && continue # pth-config in source tree! + changequote(, )dnl + _pth_version=`($_dir/pth-config --version) 2>/dev/null |\ + sed -e 's/^.*\([0-9]\.[0-9]*[ab.][0-9]*\).*$/\1/'` + changequote([, ])dnl + if test ".$_pth_version" != .; then + _pth_location=`$_dir/pth-config --prefix` + _pth_type="installed" + _pth_cppflags=`$_dir/pth-config --cflags` + _pth_cflags=`$_dir/pth-config --cflags` + _pth_ldflags=`$_dir/pth-config --ldflags` + _pth_libs=`$_dir/pth-config --libs` + _pth_found=yes + break + fi + fi + done + fi + # in any subarea under a specified directory + # (either a special installation or a Pth source tree) + if test ".$_pth_found" = .no; then + changequote(, )dnl + _pth_found=0 + for _file in x `find $with_pth -name "pth.h" -type f -print`; do + test .$_file = .x && continue + _dir=`echo $_file | sed -e 's;[^/]*$;;' -e 's;\(.\)/$;\1;'` + _pth_version=`($_dir/pth-config --version) 2>/dev/null |\ + sed -e 's/^.*\([0-9]\.[0-9]*[ab.][0-9]*\).*$/\1/'` + if test ".$_pth_version" = .; then + _pth_version=`grep '^#define PTH_VERSION_STR' $_file |\ + sed -e 's;^#define[ ]*PTH_VERSION_STR[ ]*"\([0-9]*\.[0-9]*[.ab][0-9]*\)[ ].*$;\1;'` + fi + _pth_cppflags="-I$_dir" + _pth_cflags="-I$_dir" + _pth_found=`expr $_pth_found + 1` + done + for _file in x `find $with_pth -name "libpth.[aso]" -type f -print`; do + test .$_file = .x && continue + _dir=`echo $_file | sed -e 's;[^/]*$;;' -e 's;\(.\)/$;\1;'` + _pth_ldflags="-L$_dir" + _pth_libs="-lpth" + _pth_found=`expr $_pth_found + 1` + done + changequote([, ])dnl + if test ".$_pth_found" = .2; then + _pth_location="$with_pth" + _pth_type="uninstalled" + else + _pth_version='' + fi + fi + fi + _AC_PTH_VERBOSE([+ Determined Location:]) + _AC_PTH_VERBOSE([ o path: $_pth_location]) + _AC_PTH_VERBOSE([ o type: $_pth_type]) + if test ".$_pth_version" = .; then + with_pth=no + else +dnl if test ".$with_pth" != .yes; then +dnl _AC_PTH_ERROR([dnl +dnl Unable to locate GNU Pth under $with_pth. +dnl Please specify the correct path to either a GNU Pth installation tree +dnl (use --with-pth=DIR if you used --prefix=DIR for installing GNU Pth in +dnl the past) or to a GNU Pth source tree (use --with-pth=DIR if DIR is a +dnl path to a pth-X.Y.Z/ directory; but make sure the package is already +dnl built, i.e., the "configure; make" step was already performed there).]) +dnl else +dnl _AC_PTH_ERROR([dnl +dnl Unable to locate GNU Pth in any system-wide location (see \$PATH). +dnl Please specify the correct path to either a GNU Pth installation tree +dnl (use --with-pth=DIR if you used --prefix=DIR for installing GNU Pth in +dnl the past) or to a GNU Pth source tree (use --with-pth=DIR if DIR is a +dnl path to a pth-X.Y.Z/ directory; but make sure the package is already +dnl built, i.e., the "configure; make" step was already performed there).]) +dnl fi +dnl fi + dnl # + dnl # Check whether the found version is sufficiently new + dnl # + _req_version="ifelse([$1],,1.0.0,$1)" + for _var in _pth_version _req_version; do + eval "_val=\"\$${_var}\"" + _major=`echo $_val | sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\([[ab.]]\)\([[0-9]]*\)/\1/'` + _minor=`echo $_val | sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\([[ab.]]\)\([[0-9]]*\)/\2/'` + _rtype=`echo $_val | sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\([[ab.]]\)\([[0-9]]*\)/\3/'` + _micro=`echo $_val | sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\([[ab.]]\)\([[0-9]]*\)/\4/'` + case $_rtype in + "a" ) _rtype=0 ;; + "b" ) _rtype=1 ;; + "." ) _rtype=2 ;; + esac + _hex=`echo dummy | awk '{ printf("%d%02d%1d%02d", major, minor, rtype, micro); }' \ + "major=$_major" "minor=$_minor" "rtype=$_rtype" "micro=$_micro"` + eval "${_var}_hex=\"\$_hex\"" + done + _AC_PTH_VERBOSE([+ Determined Versions:]) + _AC_PTH_VERBOSE([ o existing: $_pth_version -> 0x$_pth_version_hex]) + _AC_PTH_VERBOSE([ o required: $_req_version -> 0x$_req_version_hex]) + _ok=0 + if test ".$_pth_version_hex" != .; then + if test ".$_req_version_hex" != .; then + if test $_pth_version_hex -ge $_req_version_hex; then + _ok=1 + fi + fi + fi + if test ".$_ok" = .0; then + _AC_PTH_ERROR([dnl + Found Pth version $_pth_version, but required at least version $_req_version. + Upgrade Pth under $_pth_location to $_req_version or higher first, please.]) + fi + dnl # + dnl # Perform Pth Sanity Compile Check + dnl # + if test ".$with_pth_test" = .yes; then + _ac_save_CPPFLAGS="$CPPFLAGS" + _ac_save_CFLAGS="$CFLAGS" + _ac_save_LDFLAGS="$LDFLAGS" + _ac_save_LIBS="$LIBS" + CPPFLAGS="$CPPFLAGS $_pth_cppflags" + CFLAGS="$CFLAGS $_pth_cflags" + LDFLAGS="$LDFLAGS $_pth_ldflags" + LIBS="$LIBS $_pth_libs" + _AC_PTH_VERBOSE([+ Test Build Environment:]) + _AC_PTH_VERBOSE([ o CPPFLAGS=\"$CPPFLAGS\"]) + _AC_PTH_VERBOSE([ o CFLAGS=\"$CFLAGS\"]) + _AC_PTH_VERBOSE([ o LDFLAGS=\"$LDFLAGS\"]) + _AC_PTH_VERBOSE([ o LIBS=\"$LIBS\"]) + cross_compile=no + define(_code1, [dnl + #include <stdio.h> + #include <pth.h> + ]) + define(_code2, [dnl + int main(int argc, char *argv[]) + { + FILE *fp; + if (!(fp = fopen("conftestval", "w"))) + exit(1); + fprintf(fp, "hmm"); + fclose(fp); + pth_init(); + pth_kill(); + if (!(fp = fopen("conftestval", "w"))) + exit(1); + fprintf(fp, "yes"); + fclose(fp); + exit(0); + } + ]) + _AC_PTH_VERBOSE([+ Performing Sanity Checks:]) + _AC_PTH_VERBOSE([ o pre-processor test]) + AC_TRY_CPP(_code1, _ok=yes, _ok=no) + if test ".$_ok" != .yes; then + _AC_PTH_ERROR([dnl + Found GNU Pth $_pth_version under $_pth_location, but + was unable to perform a sanity pre-processor check. This means + the GNU Pth header pth.h was not found. + We used the following build environment: + >> CPP="$CPP" + >> CPPFLAGS="$CPPFLAGS" + See config.log for possibly more details.]) + fi + _AC_PTH_VERBOSE([ o link check]) + AC_TRY_LINK(_code1, _code2, _ok=yes, _ok=no) + if test ".$_ok" != .yes; then + _AC_PTH_ERROR([dnl + Found GNU Pth $_pth_version under $_pth_location, but + was unable to perform a sanity linker check. This means + the GNU Pth library libpth.a was not found. + We used the following build environment: + >> CC="$CC" + >> CFLAGS="$CFLAGS" + >> LDFLAGS="$LDFLAGS" + >> LIBS="$LIBS" + See config.log for possibly more details.]) + fi + _AC_PTH_VERBOSE([ o run-time check]) + AC_TRY_RUN(_code1 _code2, _ok=`cat conftestval`, _ok=no, _ok=no) + if test ".$_ok" != .yes; then + if test ".$_ok" = .no; then + _AC_PTH_ERROR([dnl + Found GNU Pth $_pth_version under $_pth_location, but + was unable to perform a sanity execution check. This usually + means that the GNU Pth shared library libpth.so is present + but \$LD_LIBRARY_PATH is incomplete to execute a Pth test. + In this case either disable this test via --without-pth-test, + or extend \$LD_LIBRARY_PATH, or build GNU Pth as a static + library only via its --disable-shared Autoconf option. + We used the following build environment: + >> CC="$CC" + >> CFLAGS="$CFLAGS" + >> LDFLAGS="$LDFLAGS" + >> LIBS="$LIBS" + See config.log for possibly more details.]) + else + _AC_PTH_ERROR([dnl + Found GNU Pth $_pth_version under $_pth_location, but + was unable to perform a sanity run-time check. This usually + means that the GNU Pth library failed to work and possibly + caused a core dump in the test program. In this case it + is strongly recommended that you re-install GNU Pth and this + time make sure that it really passes its "make test" procedure. + We used the following build environment: + >> CC="$CC" + >> CFLAGS="$CFLAGS" + >> LDFLAGS="$LDFLAGS" + >> LIBS="$LIBS" + See config.log for possibly more details.]) + fi + fi + _extendvars="ifelse([$4],,yes,$4)" + if test ".$_extendvars" != .yes; then + CPPFLAGS="$_ac_save_CPPFLAGS" + CFLAGS="$_ac_save_CFLAGS" + LDFLAGS="$_ac_save_LDFLAGS" + LIBS="$_ac_save_LIBS" + fi + else + _extendvars="ifelse([$4],,yes,$4)" + if test ".$_extendvars" = .yes; then + if test ".$_pth_subdir" = .yes; then + CPPFLAGS="$CPPFLAGS $_pth_cppflags" + CFLAGS="$CFLAGS $_pth_cflags" + LDFLAGS="$LDFLAGS $_pth_ldflags" + LIBS="$LIBS $_pth_libs" + fi + fi + fi + PTH_CPPFLAGS="$_pth_cppflags" + PTH_CFLAGS="$_pth_cflags" + PTH_LDFLAGS="$_pth_ldflags" + PTH_LIBS="$_pth_libs" + AC_SUBST(PTH_CPPFLAGS) + AC_SUBST(PTH_CFLAGS) + AC_SUBST(PTH_LDFLAGS) + AC_SUBST(PTH_LIBS) + _AC_PTH_VERBOSE([+ Final Results:]) + _AC_PTH_VERBOSE([ o PTH_CPPFLAGS=\"$PTH_CPPFLAGS\"]) + _AC_PTH_VERBOSE([ o PTH_CFLAGS=\"$PTH_CFLAGS\"]) + _AC_PTH_VERBOSE([ o PTH_LDFLAGS=\"$PTH_LDFLAGS\"]) + _AC_PTH_VERBOSE([ o PTH_LIBS=\"$PTH_LIBS\"]) +fi +fi +if test ".$with_pth" != .no; then + AC_MSG_RESULT([version $_pth_version, $_pth_type under $_pth_location]) + ifelse([$5], , :, [$5]) +else + AC_MSG_RESULT([no]) + ifelse([$6], , :, [$6]) +fi +]) + diff --git a/cipher/ChangeLog b/cipher/ChangeLog index 4b0d28a7..d4439138 100644 --- a/cipher/ChangeLog +++ b/cipher/ChangeLog @@ -1,3 +1,18 @@ +2003-10-31 Werner Koch <wk@gnupg.org> + + * dsa.c (verify): s/exp/ex/ due to shadowing of a builtin. + * elgamal.c (verify): Ditto. + + * ac.c (gcry_ac_data_get_index): s/index/idx/ + (gcry_ac_data_copy_internal): Remove the cast in _gcry_malloc. + (gcry_ac_data_add): Must use gcry_realloc instead of realloc. + * pubkey.c (sexp_elements_extract): s/index/idx/ as tribute to the + forehackers. + (gcry_pk_encrypt): Removed shadowed definition of I. Reordered + arguments to malloc for clarity. + (gcry_pk_sign, gcry_pk_genkey): Ditto. + * primegen.c (prime_generate_internal): s/random/randomlevel/. + 2003-10-27 Moritz Schulte <mo@g10code.com> * pubkey.c (gcry_pk_encrypt): Don't forget to deallocate pkey. diff --git a/cipher/ac.c b/cipher/ac.c index a4b4bf56..4917a336 100644 --- a/cipher/ac.c +++ b/cipher/ac.c @@ -148,8 +148,8 @@ gcry_ac_data_add (gcry_ac_data_t data, gcry_ac_mpi_t *ac_mpis = NULL; /* Allocate. */ - ac_mpis = realloc (data->data, - sizeof (gcry_ac_mpi_t) * (data->data_n + 1)); + ac_mpis = gcry_realloc (data->data, + sizeof (gcry_ac_mpi_t) * (data->data_n + 1)); if (! ac_mpis) err = gpg_err_code_from_errno (errno); @@ -171,11 +171,13 @@ static gcry_err_code_t gcry_ac_data_copy_internal (gcry_ac_data_t *data_cp, gcry_ac_data_t data) { gcry_err_code_t err = GPG_ERR_NO_ERROR; - gcry_ac_data_t data_new = NULL; + gcry_ac_data_t data_new; + void *p = NULL; int i = 0; /* Allocate data set. */ - err = _gcry_malloc (sizeof (struct gcry_ac_data), 0, (void **) &data_new); + err = _gcry_malloc (sizeof (struct gcry_ac_data), 0, &p); + data_new = p; if (! err) data_new->data_n = data->data_n; @@ -639,17 +641,17 @@ gcry_ac_data_get_name (gcry_ac_data_t data, const char *name, returned MPI value will be released in case gcry_ac_data_set is used to associate the label NAME with a different MPI value. */ gcry_error_t -gcry_ac_data_get_index (gcry_ac_data_t data, unsigned int index, +gcry_ac_data_get_index (gcry_ac_data_t data, unsigned int idx, const char **name, gcry_mpi_t *mpi) { gcry_err_code_t err = GPG_ERR_NO_ERROR; - if (index < data->data_n) + if (idx < data->data_n) { if (name) - *name = data->data[index].name; + *name = data->data[idx].name; if (mpi) - *mpi = data->data[index].mpi; + *mpi = data->data[idx].mpi; } else err = GPG_ERR_NO_DATA; diff --git a/cipher/dsa.c b/cipher/dsa.c index a75413b1..11908d4f 100644 --- a/cipher/dsa.c +++ b/cipher/dsa.c @@ -313,7 +313,7 @@ verify(gcry_mpi_t r, gcry_mpi_t s, gcry_mpi_t hash, DSA_public_key *pkey ) int rc; gcry_mpi_t w, u1, u2, v; gcry_mpi_t base[3]; - gcry_mpi_t exp[3]; + gcry_mpi_t ex[3]; if( !(mpi_cmp_ui( r, 0 ) > 0 && mpi_cmp( r, pkey->q ) < 0) ) @@ -336,10 +336,10 @@ verify(gcry_mpi_t r, gcry_mpi_t s, gcry_mpi_t hash, DSA_public_key *pkey ) mpi_mulm( u2, r, w, pkey->q ); /* v = g^u1 * y^u2 mod p mod q */ - base[0] = pkey->g; exp[0] = u1; - base[1] = pkey->y; exp[1] = u2; - base[2] = NULL; exp[2] = NULL; - mpi_mulpowm( v, base, exp, pkey->p ); + base[0] = pkey->g; ex[0] = u1; + base[1] = pkey->y; ex[1] = u2; + base[2] = NULL; ex[2] = NULL; + mpi_mulpowm( v, base, ex, pkey->p ); mpi_fdiv_r( v, v, pkey->q ); rc = !mpi_cmp( v, r ); diff --git a/cipher/elgamal.c b/cipher/elgamal.c index 51e5c559..b902aba6 100644 --- a/cipher/elgamal.c +++ b/cipher/elgamal.c @@ -448,7 +448,7 @@ verify(gcry_mpi_t a, gcry_mpi_t b, gcry_mpi_t input, ELG_public_key *pkey ) gcry_mpi_t t1; gcry_mpi_t t2; gcry_mpi_t base[4]; - gcry_mpi_t exp[4]; + gcry_mpi_t ex[4]; if( !(mpi_cmp_ui( a, 0 ) > 0 && mpi_cmp( a, pkey->p ) < 0) ) return 0; /* assertion 0 < a < p failed */ @@ -468,10 +468,10 @@ verify(gcry_mpi_t a, gcry_mpi_t b, gcry_mpi_t input, ELG_public_key *pkey ) rc = !mpi_cmp( t1, t2 ); #elif 0 /* t1 = (y^a mod p) * (a^b mod p) mod p */ - base[0] = pkey->y; exp[0] = a; - base[1] = a; exp[1] = b; - base[2] = NULL; exp[2] = NULL; - mpi_mulpowm( t1, base, exp, pkey->p ); + base[0] = pkey->y; ex[0] = a; + base[1] = a; ex[1] = b; + base[2] = NULL; ex[2] = NULL; + mpi_mulpowm( t1, base, ex, pkey->p ); /* t2 = g ^ input mod p */ gcry_mpi_powm( t2, pkey->g, input, pkey->p ); @@ -480,11 +480,11 @@ verify(gcry_mpi_t a, gcry_mpi_t b, gcry_mpi_t input, ELG_public_key *pkey ) #else /* t1 = g ^ - input * y ^ a * a ^ b mod p */ mpi_invm(t2, pkey->g, pkey->p ); - base[0] = t2 ; exp[0] = input; - base[1] = pkey->y; exp[1] = a; - base[2] = a; exp[2] = b; - base[3] = NULL; exp[3] = NULL; - mpi_mulpowm( t1, base, exp, pkey->p ); + base[0] = t2 ; ex[0] = input; + base[1] = pkey->y; ex[1] = a; + base[2] = a; ex[2] = b; + base[3] = NULL; ex[3] = NULL; + mpi_mulpowm( t1, base, ex, pkey->p ); rc = !mpi_cmp_ui( t1, 1 ); #endif diff --git a/cipher/primegen.c b/cipher/primegen.c index ed3420d9..127e2800 100644 --- a/cipher/primegen.c +++ b/cipher/primegen.c @@ -188,7 +188,7 @@ prime_generate_internal (int mode, gcry_mpi_t *prime_generated, unsigned int pbits, unsigned int qbits, gcry_mpi_t g, gcry_mpi_t **ret_factors, - gcry_random_level_t random, unsigned int flags, + gcry_random_level_t randomlevel, unsigned int flags, int all_factors) { gcry_err_code_t err = 0; @@ -250,10 +250,10 @@ prime_generate_internal (int mode, prime = gcry_mpi_new (pbits); /* Generate first prime factor. */ - q = gen_prime (qbits, is_secret, random, NULL, NULL); + q = gen_prime (qbits, is_secret, randomlevel, NULL, NULL); if (mode == 1) - q_factor = gen_prime (req_qbits, is_secret, random, NULL, NULL); + q_factor = gen_prime (req_qbits, is_secret, randomlevel, NULL, NULL); /* Allocate an array to hold the factors + 2 for later usage. */ @@ -300,7 +300,8 @@ prime_generate_internal (int mode, for(i = 0; i < n; i++) { perms[i] = 1; - pool[i] = gen_prime (fbits, is_secret, random, NULL, NULL); + pool[i] = gen_prime (fbits, is_secret, + randomlevel, NULL, NULL); factors[i] = pool[i]; } } diff --git a/cipher/pubkey.c b/cipher/pubkey.c index 657e4c19..8197419c 100644 --- a/cipher/pubkey.c +++ b/cipher/pubkey.c @@ -684,29 +684,30 @@ sexp_elements_extract (gcry_sexp_t key_sexp, const char *element_names, gcry_mpi_t *elements) { gcry_err_code_t err = GPG_ERR_NO_ERROR; - int i, index; + int i, idx; const char *name; gcry_sexp_t list; - for (name = element_names, index = 0; *name && (! err); name++, index++) + for (name = element_names, idx = 0; *name && (! err); name++, idx++) { list = gcry_sexp_find_token (key_sexp, name, 1); if (! list) err = GPG_ERR_NO_OBJ; else { - elements[index] = gcry_sexp_nth_mpi (list, 1, GCRYMPI_FMT_USG); + elements[idx] = gcry_sexp_nth_mpi (list, 1, GCRYMPI_FMT_USG); gcry_sexp_release (list); - if (! elements[index]) + if (! elements[idx]) err = GPG_ERR_INV_OBJ; } } if (err) - for (i = 0; i < index; i++) - if (elements[i]) - gcry_free (elements[i]); - + { + for (i = 0; i < idx; i++) + if (elements[i]) + gcry_free (elements[i]); + } return err; } @@ -1398,8 +1399,7 @@ gcry_pk_encrypt (gcry_sexp_t *r_ciph, gcry_sexp_t s_data, gcry_sexp_t s_pkey) */ { - int i; - void **arg_list = malloc (sizeof (void *) * nelem); + void **arg_list = malloc (nelem * sizeof *arg_list); if (arg_list) { for (i = 0; i < nelem; i++) @@ -1621,8 +1621,7 @@ gcry_pk_sign (gcry_sexp_t *r_sig, gcry_sexp_t s_hash, gcry_sexp_t s_skey) strcpy (p, "))"); { - int i; - void **arg_list = malloc (sizeof (void *) * nelem); + void **arg_list = malloc (nelem * sizeof *arg_list); if (arg_list) { for (i = 0; i < nelem; i++) @@ -1950,8 +1949,8 @@ gcry_pk_genkey (gcry_sexp_t *r_key, gcry_sexp_t s_parms) mpis[nelem++] = NULL; { - int elem_n = strlen (pub_elems) + strlen (sec_elems), i; - void **arg_list = malloc (sizeof (void *) * nelem_cp); + int elem_n = strlen (pub_elems) + strlen (sec_elems); + void **arg_list = malloc (nelem_cp * sizeof *arg_list); if (arg_list) { for (i = 0; i < elem_n; i++) diff --git a/configure.ac b/configure.ac index 3b5771bb..67e738c8 100644 --- a/configure.ac +++ b/configure.ac @@ -26,17 +26,17 @@ AC_PREREQ(2.52) # but remove a "-cvs" prefix right *before* a release and append it # soon later. -AC_INIT(libgcrypt, 1.1.44-cvs, bug-libgcrypt@gnupg.org) +AC_INIT(libgcrypt, 1.1.44, bug-libgcrypt@gnupg.org) # LT Version numbers, remember to change them just *before* a release. # (Interfaces removed: CURRENT++, AGE=0, REVISION=0) # (Interfaces added: CURRENT++, AGE++, REVISION=0) # (No interfaces changed: REVISION++) -LIBGCRYPT_LT_CURRENT=8 -LIBGCRYPT_LT_AGE=1 +LIBGCRYPT_LT_CURRENT=9 +LIBGCRYPT_LT_AGE=2 LIBGCRYPT_LT_REVISION=0 -NEED_GPG_ERROR_VERSION=0.4 +NEED_GPG_ERROR_VERSION=0.5 PACKAGE=$PACKAGE_NAME @@ -490,7 +490,7 @@ GNUPG_CHECK_MLOCK have_pth=no have_pthread=no -AC_CHECK_LIB(pth,pth_version,have_pth=yes) +AC_CHECK_PTH(1.2.0,,,no,have_pth=yes) if test "$have_pth" = yes; then LIBGCRYPT_CONFIG_LIBS_PTH="$LIBGCRYPT_CONFIG_LIBS_PTH -lpth" LIBGCRYPT_THREAD_MODULES="$LIBGCRYPT_THREAD_MODULES pth" diff --git a/mpi/ChangeLog b/mpi/ChangeLog index ef034d08..3f5ac813 100644 --- a/mpi/ChangeLog +++ b/mpi/ChangeLog @@ -1,3 +1,10 @@ +2003-10-31 Werner Koch <wk@gnupg.org> + + * i386/mpih-rshift.S, i386/mpih-lshift.S: Use %dl and not %edx for + testb; this avoids an assembler warning. + + * mpi-pow.c (gcry_mpi_powm): s/exp/expo/ to avoid shadowing warning. + 2003-08-19 Marcus Brinkmann <marcus@g10code.de> * Makefile.am (SUFFIXES): New variable. diff --git a/mpi/i386/mpih-lshift.S b/mpi/i386/mpih-lshift.S index 417caf15..bf8ed9d4 100644 --- a/mpi/i386/mpih-lshift.S +++ b/mpi/i386/mpih-lshift.S @@ -59,7 +59,7 @@ C_SYMBOL_NAME(_gcry_mpih_lshift:) decl %edx jz Lend pushl %eax /* push carry limb onto stack */ - testb $1,%edx + testb $1,%dl jnz L1 /* enter loop in the middle */ movl %ebx,%eax diff --git a/mpi/i386/mpih-rshift.S b/mpi/i386/mpih-rshift.S index 456c348c..2920e55d 100644 --- a/mpi/i386/mpih-rshift.S +++ b/mpi/i386/mpih-rshift.S @@ -62,7 +62,7 @@ C_SYMBOL_NAME(_gcry_mpih_rshift:) incl %edx jz Lend2 pushl %eax /* push carry limb onto stack */ - testb $1,%edx + testb $1,%dl jnz L2 /* enter loop in the middle */ movl %ebx,%eax diff --git a/mpi/mpi-pow.c b/mpi/mpi-pow.c index 7f4b6503..e0331d7f 100644 --- a/mpi/mpi-pow.c +++ b/mpi/mpi-pow.c @@ -34,10 +34,10 @@ /**************** - * RES = BASE ^ EXP mod MOD + * RES = BASE ^ EXPO mod MOD */ void -gcry_mpi_powm( gcry_mpi_t res, gcry_mpi_t base, gcry_mpi_t exp, gcry_mpi_t mod) +gcry_mpi_powm( gcry_mpi_t res, gcry_mpi_t base, gcry_mpi_t expo, gcry_mpi_t mod) { mpi_ptr_t rp, ep, mp, bp; mpi_size_t esize, msize, bsize, rsize; @@ -53,19 +53,19 @@ gcry_mpi_powm( gcry_mpi_t res, gcry_mpi_t base, gcry_mpi_t exp, gcry_mpi_t mod) mpi_size_t tsize=0; /* to avoid compiler warning */ /* fixme: we should check that the warning is void*/ - esize = exp->nlimbs; + esize = expo->nlimbs; msize = mod->nlimbs; size = 2 * msize; - esign = exp->sign; + esign = expo->sign; msign = mod->sign; - esec = mpi_is_secure(exp); + esec = mpi_is_secure(expo); msec = mpi_is_secure(mod); bsec = mpi_is_secure(base); rsec = mpi_is_secure(res); rp = res->d; - ep = exp->d; + ep = expo->d; if( !msize ) msize = 1 / msize; /* provoke a signal */ @@ -127,7 +127,7 @@ gcry_mpi_powm( gcry_mpi_t res, gcry_mpi_t base, gcry_mpi_t exp, gcry_mpi_t mod) rp = res->d; } } - else { /* Make BASE, EXP and MOD not overlap with RES. */ + else { /* Make BASE, EXPO and MOD not overlap with RES. */ if( rp == bp ) { /* RES and BASE are identical. Allocate temp. space for BASE. */ assert( !bp_marker ); @@ -135,7 +135,7 @@ gcry_mpi_powm( gcry_mpi_t res, gcry_mpi_t base, gcry_mpi_t exp, gcry_mpi_t mod) MPN_COPY(bp, rp, bsize); } if( rp == ep ) { - /* RES and EXP are identical. Allocate temp. space for EXP. */ + /* RES and EXPO are identical. Allocate temp. space for EXPO. */ ep = ep_marker = mpi_alloc_limb_space( esize, esec ); MPN_COPY(ep, rp, esize); } @@ -165,7 +165,7 @@ gcry_mpi_powm( gcry_mpi_t res, gcry_mpi_t base, gcry_mpi_t exp, gcry_mpi_t mod) i = esize - 1; e = ep[i]; count_leading_zeros (c, e); - e = (e << c) << 1; /* shift the exp bits to the left, lose msb */ + e = (e << c) << 1; /* shift the expo bits to the left, lose msb */ c = BITS_PER_MPI_LIMB - 1 - c; /* Main loop. diff --git a/scripts/ChangeLog b/scripts/ChangeLog index f29faa3b..1977f08f 100644 --- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,8 @@ +2003-10-31 Werner Koch <wk@gnupg.org> + + * autogen.sh: Allow to override the tool name. Do not run + libtoolize. Update required version numbers. + 2003-07-30 Werner Koch <wk@gnupg.org> * config.guess, config.sub: Updated from ftp.gnu.org/gnu/config/ diff --git a/scripts/autogen.sh b/scripts/autogen.sh index 35daf38c..1383bce3 100755 --- a/scripts/autogen.sh +++ b/scripts/autogen.sh @@ -20,11 +20,17 @@ PGM=LIBGCRYPT -autoconf_vers=2.53 -automake_vers=1.6 -aclocal_vers=1.5 +autoconf_vers=2.57 +automake_vers=1.7 +aclocal_vers=1.7 libtool_vers=1.4 +ACLOCAL=${ACLOCAL:-aclocal} +AUTOCONF=${AUTOCONF:-autoconf} +AUTOMAKE=${AUTOMAKE:-automake} +AUTOHEADER=${AUTOHEADER:-autoheader} +LIBTOOL=${LIBTOOL:-libtool} + DIE=no if test "$1" = "--build-w32"; then tsdir=$(cd `dirname $0`; cd ..; pwd) @@ -78,8 +84,8 @@ fi -if (autoconf --version) < /dev/null > /dev/null 2>&1 ; then - if (autoconf --version | awk 'NR==1 { if( $3 >= '$autoconf_vers') \ +if ($AUTOCONF --version) < /dev/null > /dev/null 2>&1 ; then + if ($AUTOCONF --version | awk 'NR==1 { if( $3 >= '$autoconf_vers') \ exit 1; exit 0; }'); then echo "**Error**: "\`autoconf\'" is too old." @@ -93,16 +99,16 @@ else DIE="yes" fi -if (automake --version) < /dev/null > /dev/null 2>&1 ; then - if (automake --version | awk 'NR==1 { if( $4 >= '$automake_vers') \ +if ($AUTOMAKE --version) < /dev/null > /dev/null 2>&1 ; then + if ($AUTOMAKE --version | awk 'NR==1 { if( $4 >= '$automake_vers') \ exit 1; exit 0; }'); then echo "**Error**: "\`automake\'" is too old." echo ' (version ' $automake_vers ' or newer is required)' DIE="yes" fi - if (aclocal --version) < /dev/null > /dev/null 2>&1; then - if (aclocal --version | awk 'NR==1 { if( $4 >= '$aclocal_vers' ) \ + if ($ACLOCAL --version) < /dev/null > /dev/null 2>&1; then + if ($ACLOCAL --version | awk 'NR==1 { if( $4 >= '$aclocal_vers' ) \ exit 1; exit 0; }' ); then echo "**Error**: "\`aclocal\'" is too old." @@ -134,8 +140,8 @@ fi #fi -if (libtool --version) < /dev/null > /dev/null 2>&1 ; then - if (libtool --version | awk 'NR==1 { if( $4 >= '$libtool_vers') \ +if ($LIBTOOL --version) < /dev/null > /dev/null 2>&1 ; then + if ($LIBTOOL --version | awk 'NR==1 { if( $4 >= '$libtool_vers') \ exit 1; exit 0; }'); then echo "**Error**: "\`libtool\'" is too old." @@ -156,8 +162,8 @@ fi #echo "Running gettextize... Ignore non-fatal messages." #echo "no" | gettextize --force -echo "Running libtoolize... Ignore non-fatal messages." -echo "no" | libtoolize +#echo "Running libtoolize... Ignore non-fatal messages." +#echo "no" | libtoolize run() { @@ -165,9 +171,9 @@ run() $@ } -run aclocal -run autoheader -run automake --gnu -a -run autoconf +run $ACLOCAL +run $AUTOHEADER +run $AUTOMAKE --gnu +run $AUTOCONF echo "You can now run \"./configure --enable-maintainer-mode\" and then \"make\"." diff --git a/src/ChangeLog b/src/ChangeLog index 541e4626..172ff8ec 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,16 @@ +2003-10-31 Werner Koch <wk@gnupg.org> + + * libgcrypt.vers (_gcry_generate_elg_prime): Removed this symbol; + gnutls does not need it anymore. + + * secmem.c (mb_get_new): s/pool/block/ due to global pool. + + * misc.c (gcry_set_log_handler): s/logf/f/ to avoid shadowing + warning against a builtin. + + * ath-pth-compat.c: cast pth_connect to get rid of the const + prototype. + 2003-10-27 Werner Koch <wk@gnupg.org> * ath.h (ATH_MUTEX_INITIALIZER): Removed spurious semicolon. diff --git a/src/ath-pth-compat.c b/src/ath-pth-compat.c index 7ef8679c..63128755 100644 --- a/src/ath-pth-compat.c +++ b/src/ath-pth-compat.c @@ -106,7 +106,8 @@ static struct ath_ops ath_pth_ops = pth_select, pth_waitpid, pth_accept, - pth_connect, + /* Pth uses const struct sockaddr, so we cast it for now. */ + (int (*)(int s, struct sockaddr *addr, socklen_t length))pth_connect, NULL, /* FIXME: When GNU PTh has sendmsg. */ NULL /* FIXME: When GNU PTh has recvmsg. */ }; diff --git a/src/libgcrypt.vers b/src/libgcrypt.vers index e9f20f7d..1c091d5e 100644 --- a/src/libgcrypt.vers +++ b/src/libgcrypt.vers @@ -17,11 +17,9 @@ # License along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA -# WARNING: _gcry_generate_elg_prime is only a temporary solution for -# GNUTLS and should not be used by any otehr program. A new interface -# for prime generation will be available RSN (wk 2003-01-02) + { - global: gcry*; _gcry_generate_elg_prime; + global: gcry*; local: *; }; @@ -86,10 +86,10 @@ _gcry_fatal_error (int rc, const char *text) } void -gcry_set_log_handler( void (*logf)(void*,int, const char*, va_list ), +gcry_set_log_handler( void (*f)(void*,int, const char*, va_list ), void *opaque ) { - log_handler = logf; + log_handler = f; log_handler_value = opaque; } diff --git a/src/secmem.c b/src/secmem.c index c4eb38d8..c5772834 100644 --- a/src/secmem.c +++ b/src/secmem.c @@ -176,11 +176,11 @@ mb_merge (memblock_t *mb) /* Return a new block, which can hold SIZE bytes. */ static memblock_t * -mb_get_new (memblock_t *pool, size_t size) +mb_get_new (memblock_t *block, size_t size) { memblock_t *mb, *mb_split; - for (mb = pool; BLOCK_VALID (mb); mb = mb_get_next (mb)) + for (mb = block; BLOCK_VALID (mb); mb = mb_get_next (mb)) if (! (mb->flags & MB_FLAG_ACTIVE) && mb->size >= size) { /* Found a free block. */ diff --git a/tests/ChangeLog b/tests/ChangeLog index 2129aa03..64b24f16 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,9 @@ +2003-10-31 Werner Koch <wk@gnupg.org> + + * basic.c (check_aes128_cbc_cts_cipher): Make it a prototype + + * ac.c (check_run): Comment unused variable. + 2003-10-10 Werner Koch <wk@gnupg.org> * prime.c (check_primes): Generate a generator and avoid printing @@ -127,7 +127,7 @@ check_one (gcry_mpi_t x) void check_run (void) { - const char *s = "All Hail Discordia."; + /*const char *s = "All Hail Discordia."; -- not used */ unsigned int a = 0x4223; gcry_mpi_t x; diff --git a/tests/basic.c b/tests/basic.c index 5ef255fd..288070e7 100644 --- a/tests/basic.c +++ b/tests/basic.c @@ -188,7 +188,7 @@ check_cbc_mac_cipher (void) } static void -check_aes128_cbc_cts_cipher () +check_aes128_cbc_cts_cipher (void) { char key[128 / 8] = "chicken teriyaki"; char plaintext[] = @@ -640,7 +640,7 @@ check_one_md (int algo, char *data, int len, char *expect) } static void -check_digests () +check_digests (void) { static struct algos { |