X-Git-Url: https://git.sommitrealweird.co.uk/onak.git/blobdiff_plain/4b8483ae278577a3adc8d84da81d77019704466f..42dbc6b5efa87e868116549c5932ab62cf716568:/gpgwww.c?ds=sidebyside diff --git a/gpgwww.c b/gpgwww.c index 265422f..75022b8 100644 --- a/gpgwww.c +++ b/gpgwww.c @@ -14,78 +14,9 @@ #include "getcgi.h" #include "hash.h" #include "keydb.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 +43,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); @@ -129,16 +54,15 @@ int main(int argc, char *argv[]) } printf("

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

\n", from, to); - puts("
");
 	initdb();
 	inithash();
 	dofindpath(from, to, true);
+	destroyhash();
 	cleanupdb();
-	puts("
"); 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(); return EXIT_SUCCESS; }