From ab986970ebce96ad5e9df305ce2413d9d6c613e2 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Tue, 8 Dec 1998 12:20:53 +0000 Subject: See ChangeLog: Tue Dec 8 13:15:16 CET 1998 Werner Koch --- g10/free-packet.c | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'g10/free-packet.c') diff --git a/g10/free-packet.c b/g10/free-packet.c index ed8f25db8..e2bbc1640 100644 --- a/g10/free-packet.c +++ b/g10/free-packet.c @@ -345,7 +345,7 @@ free_packet( PACKET *pkt ) } /**************** - * Returns 0 if they match. + * returns 0 if they match. */ int cmp_public_keys( PKT_public_key *a, PKT_public_key *b ) @@ -370,6 +370,33 @@ cmp_public_keys( PKT_public_key *a, PKT_public_key *b ) return 0; } +/**************** + * Returns 0 if they match. + * We only compare the public parts. + */ +int +cmp_secret_keys( PKT_secret_key *a, PKT_secret_key *b ) +{ + int n, i; + + if( a->timestamp != b->timestamp ) + return -1; + if( a->expiredate != b->expiredate ) + return -1; + if( a->pubkey_algo != b->pubkey_algo ) + return -1; + + n = pubkey_get_npkey( b->pubkey_algo ); + if( !n ) + return -1; /* can't compare due to unknown algorithm */ + for(i=0; i < n; i++ ) { + if( mpi_cmp( a->skey[i], b->skey[i] ) ) + return -1; + } + + return 0; +} + /**************** * Returns 0 if they match. */ -- cgit v1.2.3