From 7602d9e3edda99b0b65ba928eef435dab04ecd09 Mon Sep 17 00:00:00 2001 From: David Shaw Date: Thu, 29 Nov 2012 12:00:46 -0500 Subject: [PATCH] The keyserver search menu should honor --keyid-format * keyserver.c (print_keyrec): Honor --keyid-format when getting back full fingerprints from the keyserver (the comment in the code was correct, the code was not). --- g10/keyserver.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/g10/keyserver.c b/g10/keyserver.c index 0e6bcf6b2..0be1e3fd5 100644 --- a/g10/keyserver.c +++ b/g10/keyserver.c @@ -1,6 +1,6 @@ /* keyserver.c - generic keyserver code * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, - * 2009, 2011 Free Software Foundation, Inc. + * 2009, 2011, 2012 Free Software Foundation, Inc. * * This file is part of GnuPG. * @@ -529,21 +529,27 @@ print_keyrec(int number,struct keyrec *keyrec) break; /* However, if it gave us a long keyid, we can honor - --keyid-format */ + --keyid-format via keystr(). */ case KEYDB_SEARCH_MODE_LONG_KID: es_printf ("key %s",keystr(keyrec->desc.u.kid)); break; + /* If it gave us a PGP 2.x fingerprint, not much we can do + beyond displaying it. */ case KEYDB_SEARCH_MODE_FPR16: es_printf ("key "); for(i=0;i<16;i++) es_printf ("%02X",keyrec->desc.u.fpr[i]); break; + /* If we get a modern fingerprint, we have the most + flexibility. */ case KEYDB_SEARCH_MODE_FPR20: - es_printf ("key "); - for(i=0;i<20;i++) - es_printf ("%02X", keyrec->desc.u.fpr[i]); + { + u32 kid[2]; + keyid_from_fingerprint(keyrec->desc.u.fpr,20,kid); + es_printf("key %s",keystr(kid)); + } break; default: