X-Git-Url: http://the.earth.li/gitweb/?p=onak.git;a=blobdiff_plain;f=keydb%2Fkeydb_dynamic.c;h=459779f7aa7391bdb057ec9a81352f9524468a05;hp=385c09cbb5ef3600e2b9e9a59a79b61d423f4c03;hb=a2979c20e1ab2d52e3a961ac7dad45fee9d6345a;hpb=00e37c36f214bf9d2e9794d3089e64522a6275a2 diff --git a/keydb/keydb_dynamic.c b/keydb/keydb_dynamic.c index 385c09c..459779f 100644 --- a/keydb/keydb_dynamic.c +++ b/keydb/keydb_dynamic.c @@ -54,14 +54,15 @@ static void dynamic_endtrans(struct onak_dbctx *dbctx) privctx->loadeddbctx->endtrans(privctx->loadeddbctx); } -static int dynamic_fetch_key_id(struct onak_dbctx *dbctx, uint64_t keyid, +static int dynamic_fetch_key(struct onak_dbctx *dbctx, + struct openpgp_fingerprint *fingerprint, struct openpgp_publickey **publickey, bool intrans) { struct onak_dynamic_dbctx *privctx = (struct onak_dynamic_dbctx *) dbctx->priv; - return privctx->loadeddbctx->fetch_key_id(privctx->loadeddbctx, keyid, - publickey, intrans); + return privctx->loadeddbctx->fetch_key(privctx->loadeddbctx, + fingerprint, publickey, intrans); } static int dynamic_fetch_key_fp(struct onak_dbctx *dbctx, @@ -71,8 +72,22 @@ static int dynamic_fetch_key_fp(struct onak_dbctx *dbctx, struct onak_dynamic_dbctx *privctx = (struct onak_dynamic_dbctx *) dbctx->priv; - return privctx->loadeddbctx->fetch_key_fp(privctx->loadeddbctx, + if (privctx->loadeddbctx->fetch_key_fp) + return privctx->loadeddbctx->fetch_key_fp(privctx->loadeddbctx, fingerprint, publickey, intrans); + else + return privctx->loadeddbctx->fetch_key(privctx->loadeddbctx, + fingerprint, publickey, intrans); +} + +static int dynamic_fetch_key_id(struct onak_dbctx *dbctx, uint64_t keyid, + struct openpgp_publickey **publickey, bool intrans) +{ + struct onak_dynamic_dbctx *privctx = + (struct onak_dynamic_dbctx *) dbctx->priv; + + return privctx->loadeddbctx->fetch_key_id(privctx->loadeddbctx, keyid, + publickey, intrans); } static int dynamic_fetch_key_text(struct onak_dbctx *dbctx, @@ -304,8 +319,9 @@ struct onak_dbctx *keydb_dynamic_init(struct onak_db_config *dbcfg, dbctx->cleanupdb = dynamic_cleanupdb; dbctx->starttrans = dynamic_starttrans; dbctx->endtrans = dynamic_endtrans; - dbctx->fetch_key_id = dynamic_fetch_key_id; + dbctx->fetch_key = dynamic_fetch_key; dbctx->fetch_key_fp = dynamic_fetch_key_fp; + dbctx->fetch_key_id = dynamic_fetch_key_id; dbctx->fetch_key_text = dynamic_fetch_key_text; dbctx->fetch_key_skshash = dynamic_fetch_key_skshash; dbctx->store_key = dynamic_store_key;