* verify.c (verify_signatures): Verify multiple files in the same order in
authorDavid Shaw <dshaw@jabberwocky.com>
Sun, 23 May 2004 16:24:15 +0000 (16:24 +0000)
committerDavid Shaw <dshaw@jabberwocky.com>
Sun, 23 May 2004 16:24:15 +0000 (16:24 +0000)
which we hashed them when issuing the signature.  Noted by Nicholas Cole.

* pkclist.c (do_edit_ownertrust): Fix a kbnode leak and do another
keyid-format conversion.

g10/ChangeLog
g10/pkclist.c
g10/verify.c

index 6292cc5..274b514 100644 (file)
@@ -1,3 +1,12 @@
+2004-05-23  David Shaw  <dshaw@jabberwocky.com>
+
+       * verify.c (verify_signatures): Verify multiple files in the same
+       order in which we hashed them when issuing the signature.  Noted
+       by Nicholas Cole.
+
+       * pkclist.c (do_edit_ownertrust): Fix a kbnode leak and do another
+       keyid-format conversion.
+
 2004-05-22  Werner Koch  <wk@gnupg.org>
 
        * trustdb.c (check_regexp): s/EXP/EXPR/.
 2004-05-22  Werner Koch  <wk@gnupg.org>
 
        * trustdb.c (check_regexp): s/EXP/EXPR/.
index 4793963..c153baa 100644 (file)
 #include "photoid.h"
 #include "i18n.h"
 
 #include "photoid.h"
 #include "i18n.h"
 
-
 #define CONTROL_D ('D' - 'A' + 1)
 
 #define CONTROL_D ('D' - 'A' + 1)
 
-
 /****************
  * Show the revocation reason as it is stored with the given signature
  */
 /****************
  * Show the revocation reason as it is stored with the given signature
  */
@@ -202,43 +200,46 @@ do_edit_ownertrust (PKT_public_key *pk, int mode,
           {
             KBNODE keyblock, un;
 
           {
             KBNODE keyblock, un;
 
-            tty_printf(_("No trust value assigned to:\n"
-                         "%4u%c/%08lX %s \""),
-                       nbits_from_pk( pk ), pubkey_letter( pk->pubkey_algo ),
-                       (ulong)keyid[1], datestr_from_pk( pk ) );
+            tty_printf(_("No trust value assigned to:\n"));
+           tty_printf("%4u%c/%s %s\n",nbits_from_pk( pk ),
+                      pubkey_letter( pk->pubkey_algo ),
+                       keystr(keyid), datestr_from_pk( pk ) );
+           tty_printf(_("          \""));
             p = get_user_id( keyid, &n );
             p = get_user_id( keyid, &n );
-            tty_print_utf8_string( p, n ),
-              m_free(p);
+            tty_print_utf8_string( p, n );
+           m_free(p);
             tty_printf("\"\n");
 
             keyblock = get_pubkeyblock (keyid);
             if (!keyblock)
                 BUG ();
             tty_printf("\"\n");
 
             keyblock = get_pubkeyblock (keyid);
             if (!keyblock)
                 BUG ();
-            for (un=keyblock; un; un = un->next) {
+            for (un=keyblock; un; un = un->next)
+             {
                 if (un->pkt->pkttype != PKT_USER_ID )
                 if (un->pkt->pkttype != PKT_USER_ID )
-                    continue;
+                 continue;
                 if (un->pkt->pkt.user_id->is_revoked )
                 if (un->pkt->pkt.user_id->is_revoked )
-                    continue;
+                 continue;
                 if (un->pkt->pkt.user_id->is_expired )
                 if (un->pkt->pkt.user_id->is_expired )
-                    continue;
+                 continue;
                /* Only skip textual primaries */
                /* Only skip textual primaries */
-                if (un->pkt->pkt.user_id->is_primary &&
-                   !un->pkt->pkt.user_id->attrib_data )
-                   continue;
+                if (un->pkt->pkt.user_id->is_primary
+                   && !un->pkt->pkt.user_id->attrib_data )
+                 continue;
                 
                if((opt.verify_options&VERIFY_SHOW_PHOTOS)
                   && un->pkt->pkt.user_id->attrib_data)
                 
                if((opt.verify_options&VERIFY_SHOW_PHOTOS)
                   && un->pkt->pkt.user_id->attrib_data)
-                    show_photos(un->pkt->pkt.user_id->attribs,
-                                un->pkt->pkt.user_id->numattribs,pk,NULL);
-                
-               tty_printf ("      %s", _("                aka \""));
+                 show_photos(un->pkt->pkt.user_id->attribs,
+                             un->pkt->pkt.user_id->numattribs,pk,NULL);
+
+               tty_printf(_("      aka \""));
                 tty_print_utf8_string (un->pkt->pkt.user_id->name,
                                        un->pkt->pkt.user_id->len );
                 tty_printf("\"\n");
                 tty_print_utf8_string (un->pkt->pkt.user_id->name,
                                        un->pkt->pkt.user_id->len );
                 tty_printf("\"\n");
-            }
+             }
         
             print_fingerprint (pk, NULL, 2);
             tty_printf("\n");
         
             print_fingerprint (pk, NULL, 2);
             tty_printf("\n");
+           release_kbnode (keyblock);
           }
        /* This string also used in keyedit.c:sign_uids */
         tty_printf (_(
           }
        /* This string also used in keyedit.c:sign_uids */
         tty_printf (_(
index 705a457..24e140b 100644 (file)
@@ -1,5 +1,5 @@
 /* verify.c - verify signed data
 /* verify.c - verify signed data
- * Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+ * Copyright (C) 1998, 1999, 2000, 2001, 2004 Free Software Foundation, Inc.
  *
  * This file is part of GnuPG.
  *
  *
  * This file is part of GnuPG.
  *
@@ -101,7 +101,7 @@ verify_signatures( int nfiles, char **files )
        iobuf_push_filter( fp, armor_filter, &afx );
 
     sl = NULL;
        iobuf_push_filter( fp, armor_filter, &afx );
 
     sl = NULL;
-    for(i=1 ; i < nfiles; i++ )
+    for(i=nfiles-1 ; i > 0 ; i-- )
        add_to_strlist( &sl, files[i] );
     rc = proc_signature_packets( NULL, fp, sl, sigfile );
     free_strlist(sl);
        add_to_strlist( &sl, files[i] );
     rc = proc_signature_packets( NULL, fp, sl, sigfile );
     free_strlist(sl);