diff --git a/ChangeLog b/ChangeLog index 839ad6994..f7a5f88a5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sun Jan 3 15:28:44 CET 1999 Werner Koch + + * acinclude.m4 (GNUPG_CHECK_RDYNAMIC): New. + * configure.in (DYNLOAD_CFLAGS): Use result from CHECK_RDYNAMIC + Wed Dec 23 13:18:14 CET 1998 Werner Koch * README: Replaced the command overview with a short intro. diff --git a/THANKS b/THANKS index 5df018ea1..fb9835ff3 100644 --- a/THANKS +++ b/THANKS @@ -48,6 +48,7 @@ Lars Kellogg-Stedman lars@bu.edu Marco d'Itri md@linux.it Mark Adler madler@alumni.caltech.edu Markus Friedl Markus.Friedl@informatik.uni-erlangen.de +Martin Kahlert martin.kahlert@provi.de Martin Schulte schulte@thp.uni-koeln.de Matthew Skala mskala@ansuz.sooke.bc.ca Max Valianskiy maxcom@maxcom.ml.org diff --git a/TODO b/TODO index 0fcc7f667..4bae8a971 100644 --- a/TODO +++ b/TODO @@ -20,7 +20,11 @@ Important * See why we always get this "Hmmm public key lost" - * print a warning when a revoked/expired secret is used. + * print a warning when a revoked/expired secret key is used. + + * display trhe primary keyID in passphrase.c in addition to the + one for the requested key. + Needed ------ diff --git a/acinclude.m4 b/acinclude.m4 index 13eff5fa9..ab6fbf33b 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -187,6 +187,31 @@ define(GNUPG_CHECK_PIC, ]) +###################################################################### +# Check for rdynamic flag +# This sets CFLAGS_RDYNAMIC to the required flags +###################################################################### +dnl GNUPG_CHECK_RDYNAMIC +dnl +define(GNUPG_CHECK_RDYNAMIC, + [ AC_MSG_CHECKING(how to specify -rdynamic) + CFLAGS_RDYNAMIC= + if test "$cross_compiling" = yes; then + AC_MSG_RESULT(assume none) + else + case "$host_os" in + solaris*) + CFLAGS_RDYNAMIC="-Wl,-dy" + ;; + *) + CFLAGS_RDYNAMIC="-Wl,-export-dynamic" + ;; + esac + AC_MSG_RESULT($CFLAGS_RDYNAMIC) + fi + ]) + + ##################################################################### # Check for SysV IPC (from GIMP) # And see whether we have a SHM_LOCK (FreeBSD does not have it). diff --git a/checks/ChangeLog b/checks/ChangeLog index 83afdd699..6d1c7d7aa 100644 --- a/checks/ChangeLog +++ b/checks/ChangeLog @@ -1,3 +1,8 @@ +1999-01-01 Geoff Keating + + * Makefile.am (CLEANFILES): Also delete trustdb and any leftover + lockfiles. + Fri Nov 27 15:30:24 CET 1998 Werner Koch * clearsig.test: Some more test cases. diff --git a/checks/Makefile.am b/checks/Makefile.am index cf784a5bf..8fb3d7d36 100644 --- a/checks/Makefile.am +++ b/checks/Makefile.am @@ -19,8 +19,8 @@ TEST_FILES = pubring.asc secring.asc plain-1o.asc plain-2o.asc plain-3o.asc \ DATA_FILES = data-500 data-9000 data-32000 data-80000 EXTRA_DIST = defs.inc run-gpg run-gpgm run-gpg.patterns $(TESTS) $(TEST_FILES) -CLEANFILES = prepared.stamp x y z out err $(DATA_FILES) \ - plain-1 plain-2 plain-3 +CLEANFILES = prepared.stamp x y yy z out err $(DATA_FILES) \ + plain-1 plain-2 plain-3 options trustdb.gpg *.lock .\#lk* DISTCLEANFILES = pubring.gpg secring.gpg pubring.pkr secring.skr diff --git a/checks/run-gpg.patterns b/checks/run-gpg.patterns index 9fb58dade..3646e3785 100644 --- a/checks/run-gpg.patterns +++ b/checks/run-gpg.patterns @@ -5,4 +5,5 @@ gpg: NOTE: cipher algorithm 4 not found in preferences gpg: NOTE: secret key 2E5FA4F4 is NOT protected. gpg: NOTE: secret key 439F02CA is NOT protected. gpg: WARNING: using insecure random number generator +gpg: NOTE: signature key expired gpg: NOTE: this is a development version! diff --git a/cipher/ChangeLog b/cipher/ChangeLog index edce2b07e..328f26492 100644 --- a/cipher/ChangeLog +++ b/cipher/ChangeLog @@ -1,3 +1,11 @@ +Sun Jan 3 15:28:44 CET 1999 Werner Koch + + * rndunix.c (start_gatherer): Fixed stupid ==/= bug + +1998-12-31 Geoff Keating + + * des.c (is_weak_key): Rewrite loop end condition. + Tue Dec 29 14:41:47 CET 1998 Werner Koch * random.c: add unistd.h for getpid(). diff --git a/cipher/des.c b/cipher/des.c index f7187c0a1..41c768894 100644 --- a/cipher/des.c +++ b/cipher/des.c @@ -723,16 +723,13 @@ is_weak_key ( const byte *key ) /* binary search in the weak key table */ left = 0; right = 63; - while(1) + while(left <= right) { middle = (left + right) / 2; if ( !(cmp_result=memcmp(work, weak_keys[middle], 8)) ) return -1; - if ( left == right ) - break; - if ( cmp_result > 0 ) left = middle + 1; else diff --git a/cipher/rndunix.c b/cipher/rndunix.c index a44d0950b..c005afba4 100644 --- a/cipher/rndunix.c +++ b/cipher/rndunix.c @@ -627,7 +627,7 @@ start_gatherer( int pipefd ) while( write( pipefd, &msg, sizeof(msg) ) != sizeof(msg) ) { if( errno == EINTR ) continue; - if( errno = EAGAIN ) { + if( errno == EAGAIN ) { struct timeval tv; tv.tv_sec = 0; tv.tv_usec = 50000; diff --git a/configure.in b/configure.in index 69f8db675..045081713 100644 --- a/configure.in +++ b/configure.in @@ -112,6 +112,7 @@ esac GNUPG_CHECK_PIC +GNUPG_CHECK_RDYNAMIC if test "$NO_PIC" = yes; then try_dynload=no fi @@ -159,14 +160,14 @@ if test "$try_dynload" = yes ; then if test "$ac_cv_lib_dl_dlopen" = "yes"; then AC_DEFINE(USE_DYNAMIC_LINKING) AC_DEFINE(HAVE_DL_DLOPEN) - DYNLINK_LDFLAGS="-Wl,-export-dynamic" + DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC" use_gnupg_extensions=yes else AC_CHECK_LIB(c,dlopen) if test "$ac_cv_lib_c_dlopen" = "yes"; then AC_DEFINE(USE_DYNAMIC_LINKING) AC_DEFINE(HAVE_DL_DLOPEN) - DYNLINK_LDFLAGS="-Wl,-export-dynamic" + DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC" dnl fixme: this is probably false but it should dnl work for freebsd AC_DEFINE(DLSYM_NEEDS_UNDERSCORE) @@ -176,7 +177,7 @@ if test "$try_dynload" = yes ; then if test "$ac_cv_lib_dld_dld_link" = "yes"; then AC_DEFINE(USE_DYNAMIC_LINKING) AC_DEFINE(HAVE_DLD_DLD_LINK) - DYNLINK_LDFLAGS="-Wl,-export-dynamic" + DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC" use_gnupg_extensions=yes fi fi diff --git a/doc/gpg.1pod b/doc/gpg.1pod index 533156cd8..31226651d 100644 --- a/doc/gpg.1pod +++ b/doc/gpg.1pod @@ -188,7 +188,7 @@ B<--export-all> [I] Same as B<--export> but does also export keys which are not compatible to OpenPGP. -B<--export-secret-keys> [I +B<--export-secret-keys> [I] Same as B<--export>, but does export the secret keys. This is normally not very useful. diff --git a/scripts/gnupg.spec b/scripts/gnupg.spec index 34a8c2005..008abd168 100644 --- a/scripts/gnupg.spec +++ b/scripts/gnupg.spec @@ -16,6 +16,10 @@ Provides: gpg openpgp BuildRoot: /tmp/rpmbuild_%{name} %changelog +* Sat Jan 02 1999 Fabio Coatti +- Added pl language file. +- Included g10/pubring.asc in documentation files. + * Sat Dec 19 1998 Fabio Coatti - Modified the spec file provided by Caskey L. Dickson - Now it can be built also by non-root. Installation has to be done as @@ -63,18 +67,21 @@ ln -s gpg.1 gpgm.1 %doc %attr (-,root,root) doc/FAQ %doc %attr (-,root,root) doc/HACKING %doc %attr (-,root,root) doc/OpenPGP +%doc %attr (-,root,root) g10/pubring.asc %attr (-,root,root) /usr/man/man1/gpg.1 %attr (-,root,root) /usr/man/man1/gpgm.1 %attr (4755,root,root) /usr/bin/gpg %attr (755,root,root) /usr/bin/gpgm -#%attr (-,root,root) /usr/share/locale/en/LC_MESSAGES/%{name}.mo + %attr (-,root,root) /usr/share/locale/de/LC_MESSAGES/%{name}.mo %attr (-,root,root) /usr/share/locale/it/LC_MESSAGES/%{name}.mo %attr (-,root,root) /usr/share/locale/fr/LC_MESSAGES/%{name}.mo %attr (-,root,root) /usr/share/locale/ru/LC_MESSAGES/%{name}.mo %attr (-,root,root) /usr/share/locale/es_ES/LC_MESSAGES/%{name}.mo %attr (-,root,root) /usr/share/locale/pt_BR/LC_MESSAGES/%{name}.mo +%attr (-,root,root) /usr/share/locale/pl/LC_MESSAGES/%{name}.mo + %attr (-,root,root) /usr/lib/%{name} %attr (-,root,root) /usr/share/%{name} diff --git a/util/ChangeLog b/util/ChangeLog index f789bde53..217d92ee1 100644 --- a/util/ChangeLog +++ b/util/ChangeLog @@ -1,3 +1,10 @@ +Sun Jan 3 15:28:44 CET 1999 Werner Koch + + * dotlock.c (make_dotlock): print another informal message. + + (make_dotlock): Removed the cpp checks. + + Tue Dec 29 14:41:47 CET 1998 Werner Koch * secmem.c: Moved unistd.h out of the #ifdef diff --git a/util/dotlock.c b/util/dotlock.c index 69a38d696..620d8cdeb 100644 --- a/util/dotlock.c +++ b/util/dotlock.c @@ -59,21 +59,20 @@ make_dotlock( const char *file_to_lock, long timeout ) char *tname = NULL; int have_tfile = 0; struct utsname uts; + const char *nodename; const char *dirpart; int dirpartlen; + const char *maybe_dead=""; + int backoff=0; sprintf( pidstr, "%10d\n", getpid() ); /* fixme: add the hostname to the second line (FQDN or IP addr?) */ /* create a temporary file */ - #if defined(SYS_NMLN) && SYS_NMLN < 8 - #error Aiiih - #elif !defined(SYS_NMLN) && MAXHOSTNAMELEN < 8 - /* (SunOS uses a structure of size MAXHOSTNAMELEN) */ - #error Aiiih - #endif if( uname( &uts ) ) - strcpy( uts.nodename, "unknown" ); + nodename = "unknown"; + else + nodename = uts.nodename; if( !(dirpart = strrchr( file_to_lock, '/' )) ) { dirpart = "."; @@ -85,13 +84,13 @@ make_dotlock( const char *file_to_lock, long timeout ) } #ifdef _THREAD_SAFE - tname = m_alloc( dirpartlen + 6 + strlen(uts.nodename) + 11+ 20 ); + tname = m_alloc( dirpartlen + 6 + strlen(nodename) + 11+ 20 ); sprintf( tname, "%.*s/.#lk.%s.%d.%p", - dirpartlen, dirpart, uts.nodename, getpid(), &pid ); + dirpartlen, dirpart, nodename, getpid(), &pid ); #else - tname = m_alloc( dirpartlen + 6 + strlen(uts.nodename) + 11 ); + tname = m_alloc( dirpartlen + 6 + strlen(nodename) + 11 ); sprintf( tname, "%.*s/.#lk.%s.%d", - dirpartlen, dirpart, uts.nodename, getpid() ); + dirpartlen, dirpart, nodename, getpid() ); #endif do { errno = 0; @@ -135,21 +134,24 @@ make_dotlock( const char *file_to_lock, long timeout ) handle = lockname; lockname = NULL; } - #if 0 /* we should not do this without checking the permissions */ - /* and the hostname */ else if( kill(pid, 0) && errno == ESRCH ) { + maybe_dead = " - probably dead"; + #if 0 /* we should not do this without checking the permissions */ + /* and the hostname */ log_info( "removing stale lockfile (created by %d)", pid ); remove( lockname ); goto retry; + #endif } - #endif if( timeout == -1 ) { struct timeval tv; - log_info( "waiting for lock (hold by %d) ...\n", pid ); + log_info( "waiting for lock (hold by %d%s) ...\n", pid, maybe_dead ); /* can't use sleep, cause signals may be blocked */ - tv.tv_sec = 1; + tv.tv_sec = 1 + backoff; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); + if( backoff < 10 ) + backoff++ ; goto retry; } /* fixme: implement timeouts */