X-Git-Url: http://the.earth.li/gitweb/?a=blobdiff_plain;f=keydb.h;h=a1078c76afd423963965613515c6a3aca3365386;hb=be5ba2d0e5abe871511b60918ace010acddb1f5e;hp=6c1bcf55dc17d65dec79030a64dbdccc536f0cc8;hpb=5cb3cfdb9d8caa6d7a4a1979c50c46896957b934;p=onak.git
diff --git a/keydb.h b/keydb.h
index 6c1bcf5..a1078c7 100644
--- a/keydb.h
+++ b/keydb.h
@@ -14,15 +14,16 @@
* 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 .
*/
#ifndef __KEYDB_H__
#define __KEYDB_H__
+#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,7 @@ 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.
* @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 +153,9 @@ 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 sendsync);
/**
* @brief Takes a keyid and returns the primary UID for it.
@@ -183,15 +188,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.
@@ -207,6 +203,11 @@ struct onak_dbctx {
void (*iterfunc)(void *ctx,
struct openpgp_publickey *key), void *ctx);
+/**
+ * @brief Configuration file information for this backend instance
+ */
+ struct onak_db_config *config;
+
/**
* @brief Private backend context information.
*/