summaryrefslogtreecommitdiffstats
path: root/sm
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2006-10-20 13:38:48 +0200
committerWerner Koch <wk@gnupg.org>2006-10-20 13:38:48 +0200
commit58785c880d4540e0f75738b3b10a8a03c35d5ee1 (patch)
tree3b1a8732c3d3f8132bfaab9447a9252d4235b852 /sm
parent* gpgkeys_hkp.c (curl_mrindex_writer): Print a warning if we see HTML (diff)
downloadgnupg2-58785c880d4540e0f75738b3b10a8a03c35d5ee1.tar.xz
gnupg2-58785c880d4540e0f75738b3b10a8a03c35d5ee1.zip
Allow to select X.509 certificates using the keygrip.
Diffstat (limited to 'sm')
-rw-r--r--sm/ChangeLog4
-rw-r--r--sm/keydb.c10
2 files changed, 13 insertions, 1 deletions
diff --git a/sm/ChangeLog b/sm/ChangeLog
index d2b5a4fa4..23847ab69 100644
--- a/sm/ChangeLog
+++ b/sm/ChangeLog
@@ -1,3 +1,7 @@
+2006-10-20 Werner Koch <wk@g10code.com>
+
+ * keydb.c (classify_user_id): Parse keygrip for the '&' identifier.
+
2006-10-18 Werner Koch <wk@g10code.com>
* keylist.c (list_cert_raw): Also test for GPG_ERR_NO_VALUE when
diff --git a/sm/keydb.c b/sm/keydb.c
index da2ec4ac5..ecb9ffaf0 100644
--- a/sm/keydb.c
+++ b/sm/keydb.c
@@ -1140,7 +1140,15 @@ classify_user_id (const char *name,
mode = KEYDB_SEARCH_MODE_FPR;
}
break;
-
+
+ case '&': /* Keygrip*/
+ {
+ if (hex2bin (s+1, desc->u.grip, 20) < 0)
+ return 0; /* Invalid. */
+ mode = KEYDB_SEARCH_MODE_KEYGRIP;
+ }
+ break;
+
default:
if (s[0] == '0' && s[1] == 'x')
{