X-Git-Url: https://git.sommitrealweird.co.uk/onak.git/blobdiff_plain/ec599f57d8843b2e34270c2083db71e99d76d952..8e402a211ee3b1225481a6ff8efaa7c3d3a65272:/onak.c?ds=sidebyside diff --git a/onak.c b/onak.c index 90c6926..311b44f 100644 --- a/onak.c +++ b/onak.c @@ -18,6 +18,7 @@ #include "keyid.h" #include "keyindex.h" #include "keystructs.h" +#include "log.h" #include "mem.h" #include "merge.h" #include "onak-conf.h" @@ -96,34 +97,42 @@ int main(int argc, char *argv[]) bool verbose = false; bool update = false; bool binary = false; + bool fingerprint = false; int optchar; - while ((optchar = getopt(argc, argv, "buv")) != -1 ) { + while ((optchar = getopt(argc, argv, "bfuv")) != -1 ) { switch (optchar) { case 'b': binary = true; break; + case 'f': + fingerprint = true; + break; case 'u': update = true; break; case 'v': verbose = true; + setlogthreshold(LOGTHING_INFO); break; } } readconfig(); + initlogthing("onak", config.logfile); if ((argc - optind) < 1) { usage(); + } else if (!strcmp("dump", argv[optind])) { + initdb(); + dumpdb("keydump"); + cleanupdb(); } else if (!strcmp("add", argv[optind])) { if (binary) { result = read_openpgp_stream(stdin_getchar, NULL, &packets); - if (verbose) { - fprintf(stderr, - "read_openpgp_stream: %d\n", result); - } + logthing(LOGTHING_INFO, + "read_openpgp_stream: %d", result); } else { dearmor_openpgp_stream(stdin_getchar, NULL, &packets); } @@ -131,14 +140,12 @@ int main(int argc, char *argv[]) result = parse_keys(packets, &keys); free_packet_list(packets); packets = NULL; - if (verbose) { - fprintf(stderr, "Finished reading %d keys.\n", + logthing(LOGTHING_INFO, "Finished reading %d keys.", result); - } initdb(); - fprintf(stderr, "Got %d new keys.\n", - update_keys(&keys, verbose)); + logthing(LOGTHING_NOTICE, "Got %d new keys.", + update_keys(&keys)); if (keys != NULL && update) { flatten_publickey(keys, &packets, @@ -152,7 +159,7 @@ int main(int argc, char *argv[]) cleanupdb(); } else { rc = 1; - fprintf(stderr, "No keys read.\n"); + logthing(LOGTHING_NOTICE, "No keys read."); } if (keys != NULL) { @@ -160,7 +167,7 @@ int main(int argc, char *argv[]) keys = NULL; } else { rc = 1; - fprintf(stderr, "No changes.\n"); + logthing(LOGTHING_NOTICE, "No changes."); } } else if ((argc - optind) == 2) { search = argv[optind+1]; @@ -174,16 +181,16 @@ int main(int argc, char *argv[]) } initdb(); if (!strcmp("index", argv[optind])) { - find_keys(search, keyid, ishex, false, false, false); + find_keys(search, keyid, ishex, fingerprint, + false, false); } else if (!strcmp("vindex", argv[optind])) { - find_keys(search, keyid, ishex, false, false, true); + find_keys(search, keyid, ishex, fingerprint, + false, true); } else if (!strcmp("delete", argv[optind])) { delete_key(getfullkeyid(keyid), false); } else if (!strcmp("get", argv[optind])) { if (fetch_key(keyid, &keys, false)) { - if (verbose) { - fprintf(stderr, "Got key.\n"); - } + logthing(LOGTHING_INFO, "Got key."); flatten_publickey(keys, &packets, &list_end); @@ -201,6 +208,7 @@ int main(int argc, char *argv[]) usage(); } + cleanuplogthing(); cleanupconfig(); return rc;