From aa853f1eb5c75f5c8f4b99a271a4c225887db7c8 Mon Sep 17 00:00:00 2001 From: Timo Schulz Date: Fri, 18 Oct 2002 15:41:33 +0000 Subject: [PATCH] 2002-10-18 Timo Schulz * keylist.c: (print_pubkey_info): New. (print_seckey_info): New. * main.h: Prototypes for the new functions. * delkey.c (do_delete_key): Use it here. * revoke.c (gen_desig_revoke): Ditto. --- g10/ChangeLog | 8 ++++++++ g10/delkey.c | 22 +++++----------------- g10/keylist.c | 42 ++++++++++++++++++++++++++++++++++++++++++ g10/main.h | 2 ++ g10/revoke.c | 44 ++++++++------------------------------------ 5 files changed, 65 insertions(+), 53 deletions(-) diff --git a/g10/ChangeLog b/g10/ChangeLog index d4221d1c3..88ce90cdb 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,11 @@ +2002-10-18 Timo Schulz + + * keylist.c: (print_pubkey_info): New. + (print_seckey_info): New. + * main.h: Prototypes for the new functions. + * delkey.c (do_delete_key): Use it here. + * revoke.c (gen_desig_revoke): Ditto. + 2002-10-17 Werner Koch * pkclist.c (do_edit_ownertrust): Show all user IDs. This should diff --git a/g10/delkey.c b/g10/delkey.c index ca578a590..e4cada3f5 100644 --- a/g10/delkey.c +++ b/g10/delkey.c @@ -127,23 +127,11 @@ do_delete_key( const char *username, int secret, int *r_sec_avail ) log_info (_("(unless you specify the key by fingerprint)\n")); } else { - char *p; - size_t n; - - if( secret ) - tty_printf("sec %4u%c/%08lX %s ", - nbits_from_sk( sk ), - pubkey_letter( sk->pubkey_algo ), - (ulong)keyid[1], datestr_from_sk(sk) ); - else - tty_printf("pub %4u%c/%08lX %s ", - nbits_from_pk( pk ), - pubkey_letter( pk->pubkey_algo ), - (ulong)keyid[1], datestr_from_pk(pk) ); - p = get_user_id( keyid, &n ); - tty_print_utf8_string( p, n ); - m_free(p); - tty_printf("\n\n"); + if( secret ) + print_seckey_info( sk ); + else + print_pubkey_info( pk ); + tty_printf( "\n" ); yes = cpr_get_answer_is_yes( secret? "delete_key.secret.okay" : "delete_key.okay", diff --git a/g10/keylist.c b/g10/keylist.c index a1a0e4c13..e33f000dd 100644 --- a/g10/keylist.c +++ b/g10/keylist.c @@ -72,6 +72,48 @@ secret_key_list( STRLIST list ) list_one( list, 1 ); } +void +print_seckey_info (PKT_secret_key *sk) +{ + u32 sk_keyid[2]; + size_t n; + char *p; + + keyid_from_sk (sk, sk_keyid); + tty_printf ("\nsec %4u%c/%08lX %s ", + nbits_from_sk (sk), + pubkey_letter (sk->pubkey_algo), + (ulong)sk_keyid[1], datestr_from_sk (sk)); + + p = get_user_id (sk_keyid, &n); + tty_print_utf8_string (p, n); + m_free (p); + + tty_printf ("\n"); +} + +void +print_pubkey_info (PKT_public_key *pk) +{ + u32 pk_keyid[2]; + size_t n; + char *p; + + keyid_from_pk (pk, pk_keyid); + tty_printf ("\npub %4u%c/%08lX %s ", + nbits_from_pk (pk), + pubkey_letter (pk->pubkey_algo), + (ulong)pk_keyid[1], datestr_from_pk (pk)); + + + p = get_user_id (pk_keyid, &n); + tty_print_utf8_string (p, n); + m_free (p); + + tty_printf ("\n\n"); +} + + void show_policy_url(PKT_signature *sig,int indent) { diff --git a/g10/main.h b/g10/main.h index f16355bc8..15e67dd41 100644 --- a/g10/main.h +++ b/g10/main.h @@ -198,6 +198,8 @@ void print_fingerprint (PKT_public_key *pk, PKT_secret_key *sk, int mode); void show_policy_url(PKT_signature *sig,int indent); void show_notation(PKT_signature *sig,int indent); void set_attrib_fd(int fd); +void print_seckey_info (PKT_secret_key *sk); +void print_pubkey_info (PKT_public_key *pk); /*-- verify.c --*/ void print_file_status( int status, const char *name, int what ); diff --git a/g10/revoke.c b/g10/revoke.c index b6e9e6398..662487901 100644 --- a/g10/revoke.c +++ b/g10/revoke.c @@ -260,35 +260,16 @@ gen_desig_revoke( const char *uname ) /* We have the revocation key */ if(!rc) { - size_t n; - char *p; - u32 sk_keyid[2]; - PKT_signature *revkey=NULL; + PKT_signature *revkey = NULL; - any=1; - keyid_from_sk(sk,sk_keyid); + any = 1; - tty_printf("\npub %4u%c/%08lX %s ", - nbits_from_pk( pk ), - pubkey_letter( pk->pubkey_algo ), - (ulong)keyid[1], datestr_from_pk(pk) ); + print_pubkey_info (pk); + tty_printf ("\n"); - p = get_user_id( keyid, &n ); - tty_print_utf8_string( p, n ); - m_free(p); - tty_printf("\n\n"); + tty_printf (_("To be revoked by:\n")); + print_seckey_info (sk); - tty_printf(_("To be revoked by:\n")); - - tty_printf("\nsec %4u%c/%08lX %s ", - nbits_from_sk( sk ), - pubkey_letter( sk->pubkey_algo ), - (ulong)sk_keyid[1], datestr_from_sk(sk) ); - - p = get_user_id( sk_keyid, &n ); - tty_print_utf8_string( p, n ); - m_free(p); - tty_printf("\n"); if(pk->revkey[i].class&0x40) tty_printf(_("(This is a sensitive revocation key)\n")); tty_printf("\n"); @@ -464,17 +445,8 @@ gen_revoke( const char *uname ) * it's used all over the source */ sk = node->pkt->pkt.secret_key; keyid_from_sk( sk, sk_keyid ); - tty_printf("\nsec %4u%c/%08lX %s ", - nbits_from_sk( sk ), - pubkey_letter( sk->pubkey_algo ), - (ulong)sk_keyid[1], datestr_from_sk(sk) ); - { - size_t n; - char *p = get_user_id( sk_keyid, &n ); - tty_print_utf8_string( p, n ); - m_free(p); - tty_printf("\n"); - } + print_seckey_info (sk); + pk = m_alloc_clear( sizeof *pk ); /* FIXME: We should get the public key direct from the secret one */