1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-05-28 21:50:02 +02:00

Fixed v3 keyids.

This commit is contained in:
Werner Koch 2006-10-18 15:34:54 +00:00
parent 2a514d34df
commit 971f824f72
2 changed files with 8 additions and 3 deletions

View File

@ -1,5 +1,8 @@
2006-10-18 Werner Koch <wk@g10code.com> 2006-10-18 Werner Koch <wk@g10code.com>
* keyid.c (v3_keyid): Don't use mempcy as we need to hold the
keyids in the native endian format.
* import.c (import_print_stats): Use log_printf. * import.c (import_print_stats): Use log_printf.
* build-packet.c (do_public_key): Care about mpi_write errors. * build-packet.c (do_public_key): Care about mpi_write errors.

View File

@ -159,7 +159,7 @@ do_fingerprint_md_sk( PKT_secret_key *sk )
u32 u32
v3_keyid (gcry_mpi_t a, u32 *ki) v3_keyid (gcry_mpi_t a, u32 *ki)
{ {
byte *buffer; byte *buffer, *p;
size_t nbytes; size_t nbytes;
if (gcry_mpi_print (GCRYMPI_FMT_USG, NULL, 0, &nbytes, a )) if (gcry_mpi_print (GCRYMPI_FMT_USG, NULL, 0, &nbytes, a ))
@ -172,8 +172,10 @@ v3_keyid (gcry_mpi_t a, u32 *ki)
ki[0] = ki[1] = 0; ki[0] = ki[1] = 0;
else else
{ {
memcpy (ki+0, buffer+nbytes-8, 4); p = buffer + nbytes - 8;
memcpy (ki+1, buffer+nbytes-4, 4); ki[0] = (p[0] << 24) | (p[1] <<16) | (p[2] << 8) | p[3];
p += 4;
ki[1] = (p[0] << 24) | (p[1] <<16) | (p[2] << 8) | p[3];
} }
xfree (buffer); xfree (buffer);
return ki[1]; return ki[1];