X-Git-Url: https://git.sommitrealweird.co.uk/onak.git/blobdiff_plain/8e58a1769ce5e492dd68904dfc81b6e077fc2a3a..87fbdd69b1885c6588ec924e37b734f2c3c5ed35:/gpgwww.c diff --git a/gpgwww.c b/gpgwww.c index 5f7da46..c225b82 100644 --- a/gpgwww.c +++ b/gpgwww.c @@ -14,79 +14,9 @@ #include "getcgi.h" #include "hash.h" #include "keydb.h" -#include "onak_conf.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; @@ -113,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); @@ -130,16 +54,22 @@ int main(int argc, char *argv[]) } printf("

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

\n", from, to); - puts("
");
+	readconfig();
 	initdb();
 	inithash();
 	dofindpath(from, to, true);
+	destroyhash();
 	cleanupdb();
-	puts("
"); + cleanupconfig(); puts("
"); - puts("Produced by gpgwww " VERSION ", 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; }