* Jonathan McDowell <noodles@earth.li>
*
* Copyright 2002 Project Purple
+ *
+ * $Id: onak.c,v 1.13 2003/06/04 20:57:12 noodles Exp $
*/
#include <stdio.h>
#include "keyid.h"
#include "keyindex.h"
#include "keystructs.h"
+#include "log.h"
#include "mem.h"
#include "merge.h"
#include "onak-conf.h"
puts("\tadd - read armored OpenPGP keys from stdin and add to the"
" keyserver");
puts("\tdelete - delete a given key from the keyserver");
+ puts("\tdump - dump all the keys from the keyserver to a file or"
+ " files\n\t starting keydump*");
puts("\tget - retrieves the key requested from the keyserver");
puts("\tindex - search for a key and list it");
puts("\tvindex - search for a key and list it and its signatures");
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);
}
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,
cleanupdb();
} else {
rc = 1;
- fprintf(stderr, "No keys read.\n");
+ logthing(LOGTHING_NOTICE, "No keys read.");
}
if (keys != NULL) {
keys = NULL;
} else {
rc = 1;
- fprintf(stderr, "No changes.\n");
+ logthing(LOGTHING_NOTICE, "No changes.");
}
} else if ((argc - optind) == 2) {
search = argv[optind+1];
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);
+ free_publickey(keys);
armor_openpgp_stream(stdout_putchar,
NULL,
packets);
usage();
}
+ cleanuplogthing();
cleanupconfig();
return rc;