X-Git-Url: https://the.earth.li/gitweb/?a=blobdiff_plain;f=hashquery.c;h=2c41598f0df4791decdb832562476cfa50035e8f;hb=0c120d1895d25b59abe338862189be1b87447569;hp=478c20f9453bc5c327353fdba6a585c4b395947f;hpb=5e1b22d763640c4d7a09d07920403d8d491b4410;p=onak.git diff --git a/hashquery.c b/hashquery.c index 478c20f..2c41598 100644 --- a/hashquery.c +++ b/hashquery.c @@ -17,6 +17,7 @@ * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +#include #include #include #include @@ -25,7 +26,7 @@ #include "charfuncs.h" #include "cleanup.h" -#include "keyid.h" +#include "keydb.h" #include "log.h" #include "marshal.h" #include "mem.h" @@ -47,6 +48,7 @@ int main(int argc, char *argv[]) uint8_t **hashes; struct buffer_ctx cgipostbuf; struct openpgp_publickey **keys; + struct onak_dbctx *dbctx; readconfig(NULL); initlogthing("hashquery", config.logfile); @@ -88,15 +90,16 @@ int main(int argc, char *argv[]) doerror("Couldn't allocate memory for reply.\n"); } - if (config.dbbackend->fetch_key_skshash == NULL) { + catchsignals(); + dbctx = config.dbinit(config.backend, false); + + if (dbctx->fetch_key_skshash == NULL) { + dbctx->cleanupdb(dbctx); doerror("Can't fetch by skshash with this backend."); } - catchsignals(); - config.dbbackend->initdb(false); - for (i = 0; i < count; i++) { - config.dbbackend->fetch_key_skshash( + dbctx->fetch_key_skshash(dbctx, (struct skshash *) hashes[i], &keys[found]); if (keys[found] != NULL) { found++; @@ -107,7 +110,7 @@ int main(int argc, char *argv[]) free(hashes); hashes = NULL; - config.dbbackend->cleanupdb(); + dbctx->cleanupdb(dbctx); puts("Content-Type: pgp/keys\n"); marshal_array(stdout_putchar, NULL,