X-Git-Url: http://the.earth.li/gitweb/?a=blobdiff_plain;f=lookup.c;h=e5cd1ae8e79f452cbd91169ba46db992cede62fd;hb=0d2a5aeeb4120999afc79d06619d90e26e2fec5c;hp=5d638eab6ef224100a691bff9f8c170ee9498be5;hpb=42d43e0ec08e249cecf74ec448cb6405b3c89d84;p=onak.git diff --git a/lookup.c b/lookup.c index 5d638ea..e5cd1ae 100644 --- a/lookup.c +++ b/lookup.c @@ -4,8 +4,6 @@ * Jonathan McDowell * * Copyright 2002 Project Purple - * - * $Id: lookup.c,v 1.15 2004/05/27 01:25:37 noodles Exp $ */ #include @@ -17,6 +15,9 @@ #include "armor.h" #include "charfuncs.h" +#include "cleankey.h" +#include "cleanup.h" +#include "config.h" #include "getcgi.h" #include "keydb.h" #include "keyindex.h" @@ -103,7 +104,7 @@ int main(int argc, char *argv[]) search = params[i+1]; params[i+1] = NULL; if (search != NULL) { - keyid = strtoul(search, &end, 16); + keyid = strtoull(search, &end, 16); if (*search != 0 && end != NULL && *end == 0) { @@ -157,13 +158,15 @@ int main(int argc, char *argv[]) } else { readconfig(NULL); initlogthing("lookup", config.logfile); + catchsignals(); initdb(true); switch (op) { case OP_GET: - logthing(LOGTHING_NOTICE, "Getting keyid %llX", + logthing(LOGTHING_NOTICE, "Getting keyid 0x%llX", keyid); if (fetch_key(keyid, &publickey, false)) { puts("
");
+				cleankeys(publickey);
 				flatten_publickey(publickey,
 							&packets,
 							&list_end);
@@ -172,6 +175,8 @@ int main(int argc, char *argv[])
 						packets);
 				puts("
"); } else { + logthing(LOGTHING_NOTICE, + "Failed to fetch key."); puts("Key not found"); } break; @@ -185,12 +190,13 @@ int main(int argc, char *argv[]) break; case OP_PHOTO: if (fetch_key(keyid, &publickey, false)) { - struct openpgp_packet *photo = NULL; - photo = getphoto(publickey, 0); - if (photo != NULL) { - fwrite(photo->data+19, + unsigned char *photo = NULL; + size_t length = 0; + + if (getphoto(publickey, 0, &photo, &length)) { + fwrite(photo, 1, - (photo->length - 19), + length, stdout); } free_publickey(publickey); @@ -206,7 +212,8 @@ int main(int argc, char *argv[]) } if (!mrhkp) { puts("
"); - puts("Produced by onak " VERSION " by Jonathan McDowell"); + puts("Produced by onak " PACKAGE_VERSION + " by Jonathan McDowell"); end_html(); }