From 28ae8ad70b3b802e67344468a4765eee6e291c68 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Fri, 31 Oct 2014 10:29:02 +0100 Subject: gpg: Fix --rebuild-keydb-caches. * g10/parse-packet.c (parse_key): Store even unsupported packet versions. * g10/keyring.c (keyring_rebuild_cache): Do not copy keys with versions less than 4. -- That function, which is implicitly called while checking the keydb, led to corruption of v3 key packets in the keyring which would later spit out "packet(6)too short" messages. Signed-off-by: Werner Koch --- g10/parse-packet.c | 1 + 1 file changed, 1 insertion(+) (limited to 'g10/parse-packet.c') diff --git a/g10/parse-packet.c b/g10/parse-packet.c index 7787825f6..039f085a0 100644 --- a/g10/parse-packet.c +++ b/g10/parse-packet.c @@ -1953,6 +1953,7 @@ parse_key (IOBUF inp, int pkttype, unsigned long pktlen, log_info ("packet(%d) with obsolete version %d\n", pkttype, version); if (list_mode) es_fprintf (listfp, ":key packet: [obsolete version %d]\n", version); + pk->version = version; err = gpg_error (GPG_ERR_INV_PACKET); goto leave; } -- cgit v1.2.3