Apparently PGP Desktop sends a get with search text rather than a
specific key id, so add support for that. Reported by Timothy Legge.
struct openpgp_publickey *publickey = NULL;
struct openpgp_packet_list *packets = NULL;
struct openpgp_packet_list *list_end = NULL;
struct openpgp_publickey *publickey = NULL;
struct openpgp_packet_list *packets = NULL;
struct openpgp_packet_list *list_end = NULL;
params = getcgivars(argc, argv);
for (i = 0; params != NULL && params[i] != NULL; i += 2) {
params = getcgivars(argc, argv);
for (i = 0; params != NULL && params[i] != NULL; i += 2) {
config.dbbackend->initdb(true);
switch (op) {
case OP_GET:
config.dbbackend->initdb(true);
switch (op) {
case OP_GET:
- logthing(LOGTHING_NOTICE, "Getting keyid 0x%llX",
+ if (ishex) {
+ logthing(LOGTHING_NOTICE,
+ "Getting keyid 0x%llX",
- if (config.dbbackend->fetch_key(keyid, &publickey,
- false)) {
+ result = config.dbbackend->fetch_key(keyid,
+ &publickey, false);
+ } else {
+ logthing(LOGTHING_NOTICE,
+ "Getting key(s) for search text %s",
+ search);
+ result = config.dbbackend->fetch_key_text(
+ search,
+ &publickey);
+ }
+ if (result) {
puts("<pre>");
cleankeys(publickey);
flatten_publickey(publickey,
puts("<pre>");
cleankeys(publickey);
flatten_publickey(publickey,