X-Git-Url: https://git.sommitrealweird.co.uk/onak.git/blobdiff_plain/2dcd74da02ebd3996947173e73616cd9d7da5bb0..HEAD:/maxpath.c diff --git a/maxpath.c b/maxpath.c index 21f23c2..25264ce 100644 --- a/maxpath.c +++ b/maxpath.c @@ -1,11 +1,23 @@ /* * maxpath.c - Find the longest trust path in the key database. - * - * Jonathan McDowell * - * Copyright 2001-2002 Project Purple. + * Copyright 2001-2002 Jonathan McDowell + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, Inc., 51 + * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +#include #include #include #include @@ -14,6 +26,7 @@ #include "hash.h" #include "keydb.h" #include "ll.h" +#include "log.h" #include "onak-conf.h" #include "stats.h" @@ -27,10 +40,10 @@ void findmaxpath(unsigned long max) from = to = tmp = NULL; /* - * My (noodles@earth.li, DSA) key is in the strongly connected set of + * My (noodles@earth.li, RSA) key is in the strongly connected set of * keys, so we use it as a suitable starting seed. */ - cached_getkeysigs(0xF1BD4BE45B430367); + config.dbbackend->cached_getkeysigs(0x94FA372B2DA8B985); /* * Loop through the hash examining each key present and finding the @@ -41,7 +54,8 @@ void findmaxpath(unsigned long max) for (loop = 0; (loop < HASHSIZE) && (distance < max); loop++) { curkey = gethashtableentry(loop); while (curkey != NULL && distance < max) { - cached_getkeysigs(((struct stats_key *) + config.dbbackend->cached_getkeysigs( + ((struct stats_key *) curkey->object)->keyid); initcolour(false); tmp = furthestkey((struct stats_key *) @@ -50,8 +64,9 @@ void findmaxpath(unsigned long max) from = (struct stats_key *)curkey->object; to = tmp; distance = to->colour; - printf("Current max path (#%ld) is from %llX" - " to %llX (%ld steps)\n", + printf("Current max path (#%ld) is from %" + PRIX64 " to %" PRIX64 + " (%ld steps)\n", loop, from->keyid, to->keyid, @@ -60,23 +75,36 @@ void findmaxpath(unsigned long max) curkey=curkey->next; } } - printf("Max path is from %llX to %llX (%ld steps)\n", + printf("Max path is from %" PRIX64 " to %" PRIX64 " (%ld steps)\n", from->keyid, to->keyid, distance); - dofindpath(to->keyid, from->keyid, false); + dofindpath(to->keyid, from->keyid, false, 1); } int main(int argc, char *argv[]) { - readconfig(); - initdb(); + int optchar; + char *configfile = NULL; + + while ((optchar = getopt(argc, argv, "c:")) != -1 ) { + switch (optchar) { + case 'c': + configfile = strdup(optarg); + break; + } + } + + readconfig(configfile); + initlogthing("maxpath", config.logfile); + config.dbbackend->initdb(true); inithash(); findmaxpath(30); printf("--------\n"); findmaxpath(30); destroyhash(); - cleanupdb(); + config.dbbackend->cleanupdb(); + cleanuplogthing(); cleanupconfig(); return EXIT_SUCCESS;