diff options
author | Werner Koch <[email protected]> | 1999-05-25 17:56:15 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 1999-05-25 17:56:15 +0000 |
commit | 9a2ce9b3910750a217fdda34a8fb5613fbcda905 (patch) | |
tree | b61a49c4c7c736fa919bc18dfc34dd5dade86d8d /g10/mainproc.c | |
parent | See ChangeLog: Sun May 23 20:25:57 CEST 1999 Werner Koch (diff) | |
download | gnupg-9a2ce9b3910750a217fdda34a8fb5613fbcda905.tar.gz gnupg-9a2ce9b3910750a217fdda34a8fb5613fbcda905.zip |
See ChangeLog: Tue May 25 19:50:32 CEST 1999 Werner Koch
Diffstat (limited to 'g10/mainproc.c')
-rw-r--r-- | g10/mainproc.c | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/g10/mainproc.c b/g10/mainproc.c index 6d16d624a..6eb587fe9 100644 --- a/g10/mainproc.c +++ b/g10/mainproc.c @@ -492,6 +492,35 @@ print_fingerprint( PKT_public_key *pk, PKT_secret_key *sk ) putchar('\n'); } +static void +print_notation_data( PKT_signature *sig ) +{ + size_t n, n1, n2; + const byte *p; + + /* FIXME: we can not handle multiple notaion data packets yet */ + p = parse_sig_subpkt( sig->hashed_data, SIGSUBPKT_NOTATION, &n ); + if( !p ) + return; + if( n < 8 ) { + log_info(_("WARNING: invalid notation data found\n")); + return; + } + if( !(*p & 0x80) ) + return; /* not human readable */ + n1 = (p[4] << 8) | p[5]; + n2 = (p[6] << 8) | p[7]; + p += 8; + if( 8+n1+n2 != n ) { + log_info(_("WARNING: invalid notation data found\n")); + return; + } + log_info(_("Notation: ") ); + print_string( log_stream(), p, n1, 0 ); + putc( '=', log_stream() ); + print_string( log_stream(), p+n1, n2, 0 ); + putc( '\n', log_stream() ); +} /**************** * List the certificate in a user friendly way @@ -935,7 +964,8 @@ check_sig_and_print( CTX c, KBNODE node ) fputs("[?]\"\n", log_stream() ); } release_kbnode( keyblock ); - + if( !rc ) + print_notation_data( sig ); if( !rc && is_status_enabled() ) { /* print a status response with the fingerprint */ |