X-Git-Url: http://the.earth.li/gitweb/?a=blobdiff_plain;f=maxpath.c;h=dfee16c4025cba994b0a19cc55d2f2a68cf28dd0;hb=a047e3e158d560af079bec920460711d8222317c;hp=0bb5fcf1aca5aa7b2a6f4aaeb359cbee2c889b78;hpb=5913c95f2c7abf4c3cb06e27d384d80fb4c83547;p=onak.git diff --git a/maxpath.c b/maxpath.c index 0bb5fcf..dfee16c 100644 --- a/maxpath.c +++ b/maxpath.c @@ -1,9 +1,10 @@ /* - gpgstats.c - Program to produce stats on a GPG keyring. - Written by Jonathan McDowell . - - 19/02/2000 - Started writing (sort of). -*/ + * maxpath.c - Find the longest trust path in the key database. + * + * Jonathan McDowell + * + * Copyright 2001-2002 Project Purple. + */ #include #include @@ -24,8 +25,19 @@ void findmaxpath(unsigned long max) distance = 0; from = to = tmp = NULL; + + /* + * My (noodles@earth.li, DSA) key is in the strongly connected set of + * keys, so we use it as a suitable starting seed. + */ cached_getkeysigs(0xF1BD4BE45B430367); + /* + * Loop through the hash examining each key present and finding the + * furthest key from it. If it's further than our current max then + * store it as our new max and print out the fact we've found a new + * max. + */ for (loop = 0; (loop < HASHSIZE) && (distance < max); loop++) { curkey = gethashtableentry(loop); while (curkey != NULL && distance < max) { @@ -38,7 +50,8 @@ 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 %llX" + " to %llX (%ld steps)\n", loop, from->keyid, to->keyid, @@ -51,13 +64,13 @@ void findmaxpath(unsigned long max) 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(); + readconfig(NULL); + initdb(true); inithash(); findmaxpath(30); printf("--------\n");