aboutsummaryrefslogtreecommitdiffstats
path: root/g10/keylist.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/keylist.c')
-rw-r--r--g10/keylist.c15
1 files changed, 12 insertions, 3 deletions
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))