]> the.earth.li Git - onak.git/blobdiff - keydb_dynamic.c
Cleanup postinst to avoid recursive chown of database
[onak.git] / keydb_dynamic.c
index 9e4e3bcb7585e27decf07aa2a8ca22905d0a0573..385c09cbb5ef3600e2b9e9a59a79b61d423f4c03 100644 (file)
@@ -108,24 +108,28 @@ static int dynamic_store_key(struct onak_dbctx *dbctx,
                        publickey, intrans, update);
 }
 
-static int dynamic_delete_key(struct onak_dbctx *dbctx, uint64_t keyid,
+static int dynamic_delete_key(struct onak_dbctx *dbctx,
+               struct openpgp_fingerprint *fp,
                bool intrans)
 {
        struct onak_dynamic_dbctx *privctx =
                        (struct onak_dynamic_dbctx *) dbctx->priv;
 
        return privctx->loadeddbctx->delete_key(privctx->loadeddbctx,
-                       keyid, intrans);
+                       fp, intrans);
 }
 
 static int dynamic_update_keys(struct onak_dbctx *dbctx,
-               struct openpgp_publickey **keys, bool sendsync)
+               struct openpgp_publickey **keys,
+               struct keyarray *blacklist,
+               bool updateonly,
+               bool sendsync)
 {
        struct onak_dynamic_dbctx *privctx =
                        (struct onak_dynamic_dbctx *) dbctx->priv;
 
        return privctx->loadeddbctx->update_keys(privctx->loadeddbctx,
-                       keys, sendsync);
+                       keys, blacklist, updateonly, sendsync);
 }
 
 static struct ll *dynamic_getkeysigs(struct onak_dbctx *dbctx,
@@ -158,15 +162,6 @@ static char *dynamic_keyid2uid(struct onak_dbctx *dbctx,
                        keyid);
 }
 
-static uint64_t dynamic_getfullkeyid(struct onak_dbctx *dbctx,
-               uint64_t keyid)
-{
-       struct onak_dynamic_dbctx *privctx =
-                       (struct onak_dynamic_dbctx *) dbctx->priv;
-
-       return privctx->loadeddbctx->getfullkeyid(privctx->loadeddbctx, keyid);
-}
-
 static int dynamic_iterate_keys(struct onak_dbctx *dbctx,
                void (*iterfunc)(void *ctx, struct openpgp_publickey *key),
                void *ctx)
@@ -291,11 +286,20 @@ struct onak_dbctx *keydb_dynamic_init(struct onak_db_config *dbcfg,
                soname = NULL;
                exit(EXIT_FAILURE);
        }
-       free(soname);
-       soname = NULL;
 
        privctx->loadeddbctx = backend_init(dbcfg, readonly);
 
+       if (privctx->loadeddbctx == NULL) {
+               logthing(LOGTHING_CRITICAL,
+                               "Failed to initialise dynamic backend: %s",
+                               soname);
+               free(soname);
+               soname = NULL;
+               exit(EXIT_FAILURE);
+       }
+       free(soname);
+       soname = NULL;
+
        if (privctx->loadeddbctx != NULL) {
                dbctx->cleanupdb = dynamic_cleanupdb;
                dbctx->starttrans = dynamic_starttrans;
@@ -310,7 +314,6 @@ struct onak_dbctx *keydb_dynamic_init(struct onak_db_config *dbcfg,
                dbctx->getkeysigs = dynamic_getkeysigs;
                dbctx->cached_getkeysigs = dynamic_cached_getkeysigs;
                dbctx->keyid2uid = dynamic_keyid2uid;
-               dbctx->getfullkeyid = dynamic_getfullkeyid;
                dbctx->iterate_keys = dynamic_iterate_keys;
        }