X-Git-Url: https://the.earth.li/gitweb/?a=blobdiff_plain;f=cgi%2Fadd.c;h=90824ccce7b5715b9c350f693e42ab6a05f06029;hb=refs%2Fheads%2Fmain;hp=c3a54a7295601947fc46b8277dbaa4731e324901;hpb=3877403043acfbfa57497d3ba51a5ec2db1c77dc;p=onak.git diff --git a/cgi/add.c b/cgi/add.c index c3a54a7..90824cc 100644 --- a/cgi/add.c +++ b/cgi/add.c @@ -87,12 +87,20 @@ int main(int argc, char *argv[]) } catchsignals(); dbctx = config.dbinit(config.backend, false); - - count = cleankeys(&keys, config.clean_policies); + if (dbctx == NULL) { + logthing(LOGTHING_ERROR, + "Failed to open key database."); + goto err; + } + + count = cleankeys(dbctx, &keys, config.clean_policies); logthing(LOGTHING_INFO, "%d keys cleaned.", count); - count = dbctx->update_keys(dbctx, &keys, true); + count = dbctx->update_keys(dbctx, &keys, + &config.blacklist, + config.clean_policies & ONAK_CLEAN_UPDATE_ONLY, + true); logthing(LOGTHING_NOTICE, "Got %d new keys.", count); @@ -106,6 +114,7 @@ int main(int argc, char *argv[]) puts("No OpenPGP packets found in input."); end_html(); } +err: cleanuplogthing(); cleanupconfig(); }