gpg: Properly account for ring trust packets.
[gnupg.git] / g10 / keyid.c
index ea6ed5e..24a5643 100644 (file)
@@ -17,7 +17,7 @@
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
  */
 
 #include <config.h>
 #include <time.h>
 
 #include "gpg.h"
-#include "util.h"
+#include "../common/util.h"
 #include "main.h"
 #include "packet.h"
 #include "options.h"
 #include "keydb.h"
-#include "i18n.h"
+#include "../common/i18n.h"
 #include "rmd160.h"
-#include "host2net.h"
+#include "../common/host2net.h"
 
 
 #define KEYID_STR_SIZE 19
@@ -202,7 +202,7 @@ hash_public_key (gcry_md_hd_t md, PKT_public_key *pk)
     }
 
   gcry_md_putc ( md, 0x99 );     /* ctb */
-  /* What does it mean if n is greater than than 0xFFFF ? */
+  /* What does it mean if n is greater than 0xFFFF ? */
   gcry_md_putc ( md, n >> 8 );   /* 2 byte length header */
   gcry_md_putc ( md, n );
   gcry_md_putc ( md, pk->version );
@@ -403,6 +403,8 @@ keystr (u32 *keyid)
   static char keyid_str[KEYID_STR_SIZE];
   int format = opt.keyid_format;
 
+  if (format == KF_DEFAULT)
+    format = KF_NONE;
   if (format == KF_NONE)
     format = KF_LONG;
 
@@ -536,7 +538,8 @@ keyid_from_pk (PKT_public_key *pk, u32 *keyid)
  * keys, but has to do a keylookup for old stayle keys.
  */
 u32
-keyid_from_fingerprint( const byte *fprint, size_t fprint_len, u32 *keyid )
+keyid_from_fingerprint (ctrl_t ctrl, const byte *fprint,
+                        size_t fprint_len, u32 *keyid)
 {
   u32 dummy_keyid[2];
 
@@ -550,7 +553,7 @@ keyid_from_fingerprint( const byte *fprint, size_t fprint_len, u32 *keyid )
       int rc;
 
       memset (&pk, 0, sizeof pk);
-      rc = get_pubkey_byfprint (&pk, NULL, fprint, fprint_len);
+      rc = get_pubkey_byfprint (ctrl, &pk, NULL, fprint, fprint_len);
       if( rc )
         {
           log_error("Oops: keyid_from_fingerprint: no pubkey\n");