* main.h, keylist.c (show_notation): Add argument to show only user
authorDavid Shaw <dshaw@jabberwocky.com>
Thu, 29 Apr 2004 03:42:54 +0000 (03:42 +0000)
committerDavid Shaw <dshaw@jabberwocky.com>
Thu, 29 Apr 2004 03:42:54 +0000 (03:42 +0000)
notations, only standard notations, or both.  Change all callers.

* keyserver.c (keyserver_spawn): We still need EXEC_TEMPFILE_ONLY.

g10/ChangeLog
g10/keyedit.c
g10/keylist.c
g10/keyserver.c
g10/main.h
g10/mainproc.c

index 1f5917f..3199ac8 100644 (file)
@@ -1,3 +1,11 @@
+2004-04-28  David Shaw  <dshaw@jabberwocky.com>
+
+       * main.h, keylist.c (show_notation): Add argument to show only
+       user notations, only standard notations, or both.  Change all
+       callers.
+
+       * keyserver.c (keyserver_spawn): We still need EXEC_TEMPFILE_ONLY.
+
 2004-04-28  Werner Koch  <wk@gnupg.org>
 
        * card-util.c (card_edit): Require PIN only for generate. 
index c4a8294..ad77162 100644 (file)
@@ -170,7 +170,7 @@ print_and_check_one_sig( KBNODE keyblock, KBNODE node,
          show_policy_url(sig,3,0);
 
        if(sig->flags.notation && (opt.list_options&LIST_SHOW_NOTATIONS))
-         show_notation(sig,3,0);
+         show_notation(sig,3,0,0);
 
        if(sig->flags.pref_ks && (opt.list_options&LIST_SHOW_KEYSERVER_URLS))
          show_keyserver_url(sig,3,0);
index 856f8d9..7ef48b0 100644 (file)
@@ -236,10 +236,14 @@ show_keyserver_url(PKT_signature *sig,int indent,int mode)
   mode=0 for stdout.
   mode=1 for log_info + status messages
   mode=2 for status messages only
+
+  which=0 for both standard and user notations
+  which=1 for standard notations only
+  which=2 for user notations only
 */
 
 void
-show_notation(PKT_signature *sig,int indent,int mode)
+show_notation(PKT_signature *sig,int indent,int mode,int which)
 {
   const byte *p;
   size_t len;
@@ -259,9 +263,14 @@ show_notation(PKT_signature *sig,int indent,int mode)
        if(8+n1+n2!=len)
          {
            log_info(_("WARNING: invalid notation data found\n"));
-           return;
+           continue;
          }
 
+       if(which==1 && memchr(p+8,'@',n1))
+         continue;
+       else if(which==2 && !memchr(p+8,'@',n1))
+         continue;
+
        if(mode!=2)
          {
            int i;
@@ -864,7 +873,7 @@ list_keyblock_print ( KBNODE keyblock, int secret, int fpr, void *opaque )
 
            if(sig->flags.notation
               && (opt.list_options&LIST_SHOW_NOTATIONS))
-             show_notation(sig,3,0);
+             show_notation(sig,3,0,0);
 
            if(sig->flags.pref_ks
               && (opt.list_options&LIST_SHOW_KEYSERVER_URLS))
index f0d5ba0..8b71a63 100644 (file)
@@ -719,6 +719,10 @@ keyserver_spawn(int action,STRLIST list,KEYDB_SEARCH_DESC *desc,
 
   assert(keyserver);
 
+#ifdef EXEC_TEMPFILE_ONLY
+  opt.keyserver_options.use_temp_files=1;
+#endif
+
   /* Push the libexecdir into path.  If DISABLE_KEYSERVER_PATH is set,
      use the 0 arg to replace the path. */
 #ifdef DISABLE_KEYSERVER_PATH
index 0bb8a2d..d65c43b 100644 (file)
@@ -222,7 +222,7 @@ void list_keyblock( KBNODE keyblock, int secret, int fpr, void *opaque );
 void print_fingerprint (PKT_public_key *pk, PKT_secret_key *sk, int mode);
 void show_policy_url(PKT_signature *sig,int indent,int mode);
 void show_keyserver_url(PKT_signature *sig,int indent,int mode);
-void show_notation(PKT_signature *sig,int indent,int mode);
+void show_notation(PKT_signature *sig,int indent,int mode,int which);
 void dump_attribs(const PKT_user_id *uid,
                  PKT_public_key *pk,PKT_secret_key *sk);
 void set_attrib_fd(int fd);
index 70b45b9..5a12225 100644 (file)
@@ -1539,9 +1539,9 @@ check_sig_and_print( CTX c, KBNODE node )
              show_keyserver_url(sig,0,2);
 
            if(opt.verify_options&VERIFY_SHOW_NOTATIONS)
-             show_notation(sig,0,1);
+             show_notation(sig,0,1,0);
            else
-             show_notation(sig,0,2);
+             show_notation(sig,0,2,0);
          }
 
        if( !rc && is_status_enabled() ) {