X-Git-Url: https://git.sommitrealweird.co.uk/onak.git/blobdiff_plain/5b3f77c7fbafb036d20a1577ed74f475e94ed821..8d14d66b84cc370cefe54b33de1b95bb49c90bf6:/lookup.c diff --git a/lookup.c b/lookup.c index d48bc3f..e670d49 100644 --- a/lookup.c +++ b/lookup.c @@ -87,6 +87,7 @@ int main(int argc, char *argv[]) struct openpgp_publickey *publickey = NULL; struct openpgp_packet_list *packets = NULL; struct openpgp_packet_list *list_end = NULL; + int result; params = getcgivars(argc, argv); for (i = 0; params != NULL && params[i] != NULL; i += 2) { @@ -159,13 +160,24 @@ int main(int argc, char *argv[]) readconfig(NULL); initlogthing("lookup", config.logfile); catchsignals(); - config.dbbackend->initdb(true); + config.dbbackend->initdb(false); switch (op) { case OP_GET: - logthing(LOGTHING_NOTICE, "Getting keyid 0x%llX", + if (ishex) { + logthing(LOGTHING_NOTICE, + "Getting keyid 0x%llX", keyid); - 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("
"); cleankeys(publickey); flatten_publickey(publickey, @@ -195,7 +207,8 @@ int main(int argc, char *argv[]) unsigned char *photo = NULL; size_t length = 0; - if (getphoto(publickey, 0, &photo, &length)) { + if (getphoto(publickey, indx, &photo, + &length)) { fwrite(photo, 1, length,