X-Git-Url: https://the.earth.li/gitweb/?a=blobdiff_plain;f=keydb.h;h=7297a7664b39fe53ceccefb23c791951acfb586a;hb=9ce8c6ced68d45b462abb4c6531b6476f4d1e681;hp=05405c334f8b06eca398cf7d19b977d8c897d622;hpb=6df51fef2960f533a741fb7290867387ed3fbba5;p=onak.git diff --git a/keydb.h b/keydb.h index 05405c3..7297a76 100644 --- a/keydb.h +++ b/keydb.h @@ -23,6 +23,7 @@ #include #include +#include "keyarray.h" #include "keystructs.h" #include "ll.h" @@ -104,13 +105,14 @@ struct onak_dbctx { /** * @brief Given a keyid delete the key from storage. - * @param keyid The keyid to delete. + * @param fp The fingerprint of the key to delete. * @param intrans If we're already in a transaction. * * This function deletes a public key from whatever storage mechanism we * are using. Returns 0 if the key existed. */ - int (*delete_key)(struct onak_dbctx *, uint64_t keyid, bool intrans); + int (*delete_key)(struct onak_dbctx *, struct openpgp_fingerprint *fp, + bool intrans); /** * @brief Trys to find the keys that contain the supplied text. @@ -138,6 +140,8 @@ struct onak_dbctx { /** * @brief Takes a list of public keys and updates them in the DB. * @param keys The keys to update in the DB. + * @param blacklist A keyarray of fingerprints that shouldn't be added. + * @updateonly: Only update existing keys, don't add new ones. * @param sendsync If we should send a keysync mail. * * Takes a list of keys and adds them to the database, merging them with @@ -150,7 +154,10 @@ struct onak_dbctx { * with the update. */ int (*update_keys)(struct onak_dbctx *, - struct openpgp_publickey **keys, bool sendsync); + struct openpgp_publickey **keys, + struct keyarray *blacklist, + bool updateonly, + bool sendsync); /** * @brief Takes a keyid and returns the primary UID for it. @@ -183,15 +190,6 @@ struct onak_dbctx { struct ll * (*cached_getkeysigs)(struct onak_dbctx *, uint64_t keyid); -/** - * @brief Maps a 32 bit key id to a 64 bit one. - * @param keyid The 32 bit keyid. - * - * This function maps a 32 bit key id to the full 64 bit one. It returns the - * full keyid. If the key isn't found a keyid of 0 is returned. - */ - uint64_t (*getfullkeyid)(struct onak_dbctx *, uint64_t keyid); - /** * @brief call a function once for each key in the db. * @param iterfunc The function to call.