X-Git-Url: https://the.earth.li/gitweb/?a=blobdiff_plain;f=keydb_stacked.c;h=7e997d99d08cf784bc48e29e7f5d4f67fb502ebc;hb=9ce8c6ced68d45b462abb4c6531b6476f4d1e681;hp=fdd05b1e4411795d1dd7b346f352ff22bd2fc4db;hpb=409ce1e3784064ab8f2786a9600a30809c502a46;p=onak.git diff --git a/keydb_stacked.c b/keydb_stacked.c index fdd05b1..7e997d9 100644 --- a/keydb_stacked.c +++ b/keydb_stacked.c @@ -13,26 +13,21 @@ * more details. * * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., 51 - * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * this program. If not, see . */ +#include +#include #include +#include #include #include "cleankey.h" -#include "decodekey.h" -#include "hash.h" #include "keydb.h" -#include "keyid.h" #include "keystructs.h" +#include "ll.h" #include "log.h" -#include "mem.h" -#include "merge.h" #include "onak-conf.h" -#include "openpgp.h" -#include "parsekey.h" -#include "sendsync.h" struct onak_stacked_dbctx { struct ll *backends; @@ -76,7 +71,8 @@ static int stacked_store_key(struct onak_dbctx *dbctx, publickey, intrans, update); } -static int stacked_delete_key(struct onak_dbctx *dbctx, uint64_t keyid, +static int stacked_delete_key(struct onak_dbctx *dbctx, + struct openpgp_fingerprint *fp, bool intrans) { struct onak_stacked_dbctx *privctx = @@ -85,18 +81,22 @@ static int stacked_delete_key(struct onak_dbctx *dbctx, uint64_t keyid, (struct onak_dbctx *) privctx->backends->object; return backend->delete_key(backend, - keyid, intrans); + fp, intrans); } static int stacked_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_stacked_dbctx *privctx = (struct onak_stacked_dbctx *) dbctx->priv; struct onak_dbctx *backend = (struct onak_dbctx *) privctx->backends->object; - return backend->update_keys(backend, keys, sendsync); + return backend->update_keys(backend, keys, blacklist, updateonly, + sendsync); } static int stacked_iterate_keys(struct onak_dbctx *dbctx, @@ -118,7 +118,7 @@ static void store_on_fallback(struct onak_stacked_dbctx *privctx, (struct onak_dbctx *) privctx->backends->object; struct openpgp_publickey *curkey; - cleankeys(publickey); + cleankeys(&publickey, config.clean_policies); /* * If we walked the stack at all, store the key in the first * backend if configured to do so. It's not an update as we @@ -235,7 +235,6 @@ static int stacked_fetch_key_skshash(struct onak_dbctx *dbctx, */ #define NEED_KEYID2UID 1 #define NEED_GETKEYSIGS 1 -#define NEED_GETFULLKEYID 1 #define NEED_UPDATEKEYS 1 #include "keydb.c" @@ -290,23 +289,6 @@ static char *stacked_keyid2uid(struct onak_dbctx *dbctx, return res; } -static uint64_t stacked_getfullkeyid(struct onak_dbctx *dbctx, - uint64_t keyid) -{ - struct onak_stacked_dbctx *privctx = - (struct onak_stacked_dbctx *) dbctx->priv; - struct onak_dbctx *backend = - (struct onak_dbctx *) privctx->backends->object; - uint64_t res = 0; - - res = backend->getfullkeyid(backend, keyid); - if (res == 0) { - res = generic_getfullkeyid(dbctx, keyid); - } - - return res; -} - static void stacked_cleanupdb(struct onak_dbctx *dbctx) { struct onak_stacked_dbctx *privctx = @@ -397,7 +379,6 @@ struct onak_dbctx *keydb_stacked_init(struct onak_db_config *dbcfg, dbctx->getkeysigs = stacked_getkeysigs; dbctx->cached_getkeysigs = stacked_cached_getkeysigs; dbctx->keyid2uid = stacked_keyid2uid; - dbctx->getfullkeyid = stacked_getfullkeyid; dbctx->iterate_keys = stacked_iterate_keys; }