diff --git a/g10/ChangeLog b/g10/ChangeLog index 1f5917f9a..3199ac8bd 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,11 @@ +2004-04-28 David Shaw + + * 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 * card-util.c (card_edit): Require PIN only for generate. diff --git a/g10/keyedit.c b/g10/keyedit.c index c4a82941d..ad7716296 100644 --- a/g10/keyedit.c +++ b/g10/keyedit.c @@ -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); diff --git a/g10/keylist.c b/g10/keylist.c index 856f8d9ed..7ef48b029 100644 --- a/g10/keylist.c +++ b/g10/keylist.c @@ -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)) diff --git a/g10/keyserver.c b/g10/keyserver.c index f0d5ba057..8b71a6340 100644 --- a/g10/keyserver.c +++ b/g10/keyserver.c @@ -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 diff --git a/g10/main.h b/g10/main.h index 0bb8a2df9..d65c43b48 100644 --- a/g10/main.h +++ b/g10/main.h @@ -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); diff --git a/g10/mainproc.c b/g10/mainproc.c index 70b45b9a1..5a12225c9 100644 --- a/g10/mainproc.c +++ b/g10/mainproc.c @@ -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() ) {