X-Git-Url: https://git.sommitrealweird.co.uk/onak.git/blobdiff_plain/5b3f77c7fbafb036d20a1577ed74f475e94ed821..c48970b5aa2975f83b85f7e6ffe45a5d599ae79b:/lookup.c diff --git a/lookup.c b/lookup.c index d48bc3f..9bafcc8 100644 --- a/lookup.c +++ b/lookup.c @@ -17,7 +17,6 @@ #include "charfuncs.h" #include "cleankey.h" #include "cleanup.h" -#include "config.h" #include "getcgi.h" #include "keydb.h" #include "keyindex.h" @@ -26,6 +25,7 @@ #include "onak-conf.h" #include "parsekey.h" #include "photoid.h" +#include "version.h" #define OP_UNKNOWN 0 #define OP_GET 1 @@ -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%" PRIX64, 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,
@@ -214,7 +227,7 @@ int main(int argc, char *argv[])
 	}
 	if (!mrhkp) {
 		puts("
"); - puts("Produced by onak " PACKAGE_VERSION + puts("Produced by onak " ONAK_VERSION " by Jonathan McDowell"); end_html(); }