]> the.earth.li Git - onak.git/blobdiff - keydb.h
Move key database backends into their own directory
[onak.git] / keydb.h
diff --git a/keydb.h b/keydb.h
index 05405c334f8b06eca398cf7d19b977d8c897d622..7297a7664b39fe53ceccefb23c791951acfb586a 100644 (file)
--- a/keydb.h
+++ b/keydb.h
@@ -23,6 +23,7 @@
 #include <stdbool.h>
 #include <inttypes.h>
 
+#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.