diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | THANKS | 1 | ||||
-rw-r--r-- | configure.in | 8 | ||||
-rw-r--r-- | g10/ChangeLog | 6 | ||||
-rw-r--r-- | g10/keylist.c | 79 | ||||
-rw-r--r-- | mpi/ChangeLog | 4 | ||||
-rw-r--r-- | mpi/config.links | 9 |
7 files changed, 105 insertions, 6 deletions
@@ -1,3 +1,7 @@ +Wed Jul 19 11:26:43 CEST 2000 Werner Koch <wk@> + + * configure.in (mingw32): Changes to allow for mingw32msvc + Fri Jul 14 10:17:30 CEST 2000 Werner Koch <wk@> * acinclude.m4 (GNUPG_CHECK_MLOCK): Fixed syntax error in C code. @@ -40,6 +40,7 @@ Frank Donahoe [email protected] Frank Heckenbach [email protected] Frank Stajano [email protected] Frank Tobin [email protected] +Gabriel Rosenkoetter [email protected] Ga�l Qu�ri [email protected] Greg Louis [email protected] Greg Troxel [email protected] diff --git a/configure.in b/configure.in index 0e976e33c..9a22b56e1 100644 --- a/configure.in +++ b/configure.in @@ -125,7 +125,7 @@ dnl dnl Setup some stuff depending on host/target. dnl case "${target}" in - *-*-mingw32) + *-*-mingw32*) # special stuff for Windoze NT # Do we need to set cross_compiling here or is it sufficient # to rely on AC_PROG_CC which is called later? @@ -163,7 +163,7 @@ MPI_OPT_FLAGS="" try_gettext=yes try_gdbm=yes case "${target}" in - *-*-mingw32) + *-*-mingw32*) # special stuff for Windoze NT ac_cv_have_dev_random=no AC_DEFINE(USE_ONLY_8DOT3) @@ -225,7 +225,7 @@ fi case "${target}" in - *-*-mingw32) + *-*-mingw32*) PRINTABLE_OS_NAME="MingW32" ;; i?86-emx-os2 | i?86-*-os2*emx ) @@ -481,7 +481,7 @@ if test "$use_static_rnd" = default; then static_random_module="rndlinux" else case "${target}" in - *-*-mingw32) + *-*-mingw32*) static_random_module="rndw32" AC_DEFINE(USE_STATIC_RNDW32) ;; diff --git a/g10/ChangeLog b/g10/ChangeLog index ecee8821b..dd7406b70 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,9 @@ +Wed Jul 19 11:26:43 CEST 2000 Werner Koch <wk@> + + * keylist.c (is_uid_valid): New. + (list_keyblock): Print validity information for all user IDs. Note, this + has to be done at other places too; for now we have only minimal support. + Wed Jul 12 13:32:06 CEST 2000 Werner Koch <wk@> * helptext.c, pkclist.c: s/superseeded/superseded/ diff --git a/g10/keylist.c b/g10/keylist.c index 5fc89d765..3be29a89e 100644 --- a/g10/keylist.c +++ b/g10/keylist.c @@ -105,6 +105,77 @@ list_all( int secret ) } +/**************** + * Check whether the user ID at NODE is valid; that is it has a + * valid self-signature but no later valid revocation. + * Caller has to pass the keyID of the primary in mainkey. + * Returns: NULL = valid + * string with the reason why it is invalid + */ +static const char * +is_uid_valid ( KBNODE keyblock, KBNODE uidnode, u32 *mainkid ) +{ + KBNODE node; + PKT_signature *selfsig = NULL; /* the latest valid self signature */ + + assert ( uidnode->pkt->pkttype == PKT_USER_ID + || uidnode->pkt->pkttype == PKT_PHOTO_ID ); + + /* first find out about the latest valid self-signature */ + for ( node = uidnode->next; node; node = node->next ) { + PKT_signature *sig; + + if ( node->pkt->pkttype == PKT_USER_ID + || node->pkt->pkttype == PKT_PHOTO_ID + || node->pkt->pkttype == PKT_PUBLIC_SUBKEY + || node->pkt->pkttype == PKT_SECRET_SUBKEY ) + break; + if ( node->pkt->pkttype != PKT_SIGNATURE ) + continue; + sig = node->pkt->pkt.signature; + if ( mainkid[0] != sig->keyid[0] || mainkid[1] != sig->keyid[1] ) + continue; /* we only care about self-signatures for now */ + + if ( (sig->sig_class&~3) == 0x10 ) { /* regular self signature */ + if ( !check_key_signature( keyblock, node, NULL ) ) { + if ( !selfsig ) + selfsig = sig; /* use the first valid sig */ + else if ( sig->timestamp > selfsig->timestamp + && sig->sig_class >= selfsig->sig_class ) + selfsig = sig; /* but this one is newer */ + } + } + } + + if ( !selfsig ) + return _("invalid"); /* no valid self signature */ + + /* watch out for a newer revocation */ + for ( node = uidnode->next; node; node = node->next ) { + PKT_signature *sig; + + if ( node->pkt->pkttype == PKT_USER_ID + || node->pkt->pkttype == PKT_PHOTO_ID + || node->pkt->pkttype == PKT_PUBLIC_SUBKEY + || node->pkt->pkttype == PKT_SECRET_SUBKEY ) + break; + if ( node->pkt->pkttype != PKT_SIGNATURE ) + continue; + sig = node->pkt->pkt.signature; + if ( mainkid[0] != sig->keyid[0] || mainkid[1] != sig->keyid[1] ) + continue; /* we only care about self-signatures for now */ + + if ( sig->sig_class == 0x30 + && sig->timestamp >= selfsig->timestamp ) { + if ( !check_key_signature( keyblock, node, NULL ) ) + return _("revoked"); + } + } + + return NULL; /* UID is valid */ +} + + static void list_one( STRLIST names, int secret ) @@ -257,14 +328,18 @@ list_keyblock( KBNODE keyblock, int secret ) printf("uid%*s", 28, ""); } if( opt.with_colons ) { + /* FIXME: check that uID is valid here too */ print_string( stdout, node->pkt->pkt.user_id->name, node->pkt->pkt.user_id->len, ':' ); putchar(':'); } - else + else { + const char *s = is_uid_valid ( keyblock, node, keyid ); + if ( s ) + printf ("[%s] ", s ); print_utf8_string( stdout, node->pkt->pkt.user_id->name, node->pkt->pkt.user_id->len ); - + } putchar('\n'); if( !any ) { if( opt.fingerprint ) diff --git a/mpi/ChangeLog b/mpi/ChangeLog index 56dd3bb91..c1bb7f072 100644 --- a/mpi/ChangeLog +++ b/mpi/ChangeLog @@ -1,3 +1,7 @@ +Wed Jul 19 11:26:43 CEST 2000 Werner Koch <wk@> + + * config.links: Support for powerpc--netbsd by Gabriel Rosenkoetter. + Wed Mar 22 13:50:24 CET 2000 Werner Koch <[email protected]> * config.links: Add support for FreeBSD 5 and made the case stmt diff --git a/mpi/config.links b/mpi/config.links index 6a2cbfb53..71906a06d 100644 --- a/mpi/config.links +++ b/mpi/config.links @@ -178,6 +178,15 @@ case "${target}" in cat $srcdir/mpi/powerpc32/syntax.h >>./mpi/asm-syntax.h path="powerpc32" ;; + + powerpc*-*-netbsd*) + echo '/* configured NetBSD on powerpc */' >>./mpi/asm-syntax.h + echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h + cat $srcdir/mpi/powerpc32/syntax.h >>./mpi/asm-syntax.h + mpi_sflags="-Wa,-mppc" + path="powerpc32" + ;; + rs6000-*-aix[456789]* | \ rs6000-*-aix3.2.[456789]) mpi_sflags="-Wa,-mpwr" |