X-Git-Url: https://git.sommitrealweird.co.uk/onak.git/blobdiff_plain/4b8483ae278577a3adc8d84da81d77019704466f..ae384229c538b20b429ea640ec30071ae944c0e7:/gpgwww.c diff --git a/gpgwww.c b/gpgwww.c index 265422f..05cfc00 100644 --- a/gpgwww.c +++ b/gpgwww.c @@ -4,88 +4,22 @@ * Jonathan McDowell * * Copyright 2001-2002 Project Purple. + * + * $Id: gpgwww.c,v 1.11 2003/06/08 19:04:31 noodles Exp $ */ -// #include #include #include #include +#include #include "getcgi.h" #include "hash.h" #include "keydb.h" +#include "log.h" +#include "onak-conf.h" #include "stats.h" -void dofindpath(uint64_t have, uint64_t want, bool html) -{ - struct stats_key *keyinfoa, *keyinfob, *curkey; - int rec; - char *uid; - - /* - * Make sure the keys we have and want are in the cache. - */ - hash_getkeysigs(have); - hash_getkeysigs(want); - - if ((keyinfoa = findinhash(have)) == NULL) { - printf("Couldn't find key 0x%llX.\n", have); - return; - } - if ((keyinfob = findinhash(want)) == NULL) { - printf("Couldn't find key 0x%llX.\n", want); - return; - } - - /* - * Fill the tree info up. - */ - initcolour(true); - rec = findpath(keyinfoa, keyinfob); - keyinfob->parent = 0; - - printf("%d nodes examined. %ld elements in the hash\n", rec, - hashelements()); - if (keyinfoa->colour == 0) { - printf("Can't find a link from 0x%llX to 0x%llX\n", - have, - want); - } else { - printf("%d steps from 0x%llX to 0x%llX\n", - keyinfoa->colour, have, want); - curkey = keyinfoa; - while (curkey != NULL && curkey->keyid != 0) { - uid = keyid2uid(curkey->keyid); - if (html && uid == NULL) { - printf("" - "0x%llX ([User id not found])%s)%s\n", - curkey->keyid, - curkey->keyid, - (curkey->keyid == want) ? "" : - " signs"); - } else if (html && uid != NULL) { - printf("" - "0x%llX (%s)%s\n", - curkey->keyid, - curkey->keyid, - curkey->keyid, - txt2html(keyid2uid(curkey->keyid)), - (curkey->keyid == want) ? "" : - " signs"); - } else { - printf("0x%llX (%s)%s\n", - curkey->keyid, - (uid == NULL) ? "[User id not found]" : - uid, - (curkey->keyid == want) ? "" : - " signs"); - } - curkey = findinhash(curkey->parent); - } - } -} - void parsecgistuff(char **cgiparams, uint64_t *from, uint64_t *to) { int i = 0; @@ -112,13 +46,7 @@ int main(int argc, char *argv[]) cgiparams = getcgivars(argc, argv); - puts("Content-Type: text/html\n"); - puts(""); - puts(""); - puts("Experimental PGP key path finder results"); - puts(""); - puts(""); - puts(""); + start_html("Experimental PGP key path finder results"); parsecgistuff(cgiparams, &from, &to); @@ -128,17 +56,30 @@ int main(int argc, char *argv[]) exit(1); } - printf("

Looking for path from 0x%llX to 0x%llX

\n", from, to); - puts("
");
+	printf("

Looking for path from 0x%llX to 0x%llX.\n", from, to); + printf("" + "Find reverse path

\n", + to, + from); + + readconfig(); + initlogthing("gpgwww", config.logfile); initdb(); inithash(); - dofindpath(from, to, true); + dofindpath(from, to, true, 3); + destroyhash(); cleanupdb(); - puts("
"); + cleanuplogthing(); + cleanupconfig(); puts("
"); - puts("Produced by gpgwww 0.0.1, part of onak. Jonathan McDowell"); - puts(""); + puts("Produced by gpgwww " VERSION ", part of onak. " + "" + "Jonathan McDowell"); + end_html(); + + cleanupcgi(cgiparams); + cgiparams = NULL; return EXIT_SUCCESS; }