X-Git-Url: https://the.earth.li/gitweb/?a=blobdiff_plain;f=keydb_db4.c;h=1f306e267f60e9851c0dd65b0874517ba7afcb39;hb=3886942162fd8193d8a804a685a3f96a65b9712c;hp=e63ac077f1ed07ef92a00d6d66527ee03c69c5e1;hpb=c063c72b0e63842f5466e0983183c98d4e05c54e;p=onak.git diff --git a/keydb_db4.c b/keydb_db4.c index e63ac07..1f306e2 100644 --- a/keydb_db4.c +++ b/keydb_db4.c @@ -72,10 +72,13 @@ DB *keydb_fp(struct onak_db4_dbctx *privctx, struct openpgp_fingerprint *fp) { uint64_t keytrun; - keytrun = (fp->fp[4] << 24) | - (fp->fp[5] << 16) | - (fp->fp[6] << 8) | - (fp->fp[7]); + keytrun = fp->fp[4]; + keytrun <<= 8; + keytrun |= fp->fp[5]; + keytrun <<= 8; + keytrun |= fp->fp[6]; + keytrun <<= 8; + keytrun |= fp->fp[7]; return(privctx->dbconns[keytrun % privctx->numdbs]); } @@ -400,7 +403,6 @@ static int db4_fetch_key_id(struct onak_dbctx *dbctx, uint64_t keyid, bool intrans) { struct onak_db4_dbctx *privctx = (struct onak_db4_dbctx *) dbctx->priv; - struct openpgp_packet_list *packets = NULL; DBT key, data; DBC *cursor = NULL; int ret = 0; @@ -472,12 +474,6 @@ static int db4_fetch_key_id(struct onak_dbctx *dbctx, uint64_t keyid, return (numkeys); } - -int worddb_cmp(const void *d1, const void *d2) -{ - return memcmp(d1, d2, 12); -} - /** * fetch_key_text - Trys to find the keys that contain the supplied text. * @search: The text to search for. @@ -493,7 +489,6 @@ static int db4_fetch_key_text(struct onak_dbctx *dbctx, const char *search, DBC *cursor = NULL; DBT key, data; int ret; - uint64_t keyid; int i; int numkeys; char *searchtext = NULL; @@ -598,7 +593,6 @@ static int db4_fetch_key_skshash(struct onak_dbctx *dbctx, struct onak_db4_dbctx *privctx = (struct onak_db4_dbctx *) dbctx->priv; DBT key, data; DBC *cursor = NULL; - uint64_t keyid = 0; int ret; int count = 0; struct openpgp_fingerprint fingerprint; @@ -661,7 +655,6 @@ static int db4_delete_key(struct onak_dbctx *dbctx, int i; char **uids = NULL; char *primary = NULL; - unsigned char worddb_data[12]; struct ll *wordlist = NULL; struct ll *curword = NULL; bool deadlock = false; @@ -701,13 +694,6 @@ static int db4_delete_key(struct onak_dbctx *dbctx, for (curword = wordlist; curword != NULL && !deadlock; curword = curword->next) { - memset(&key, 0, sizeof(key)); - memset(&data, 0, sizeof(data)); - key.data = curword->object; - key.size = strlen(key.data); - data.data = worddb_data; - data.size = sizeof(worddb_data); - /* * New style uses the fingerprint as the data * Old (unsupported) style was the 64 bit keyid @@ -829,7 +815,7 @@ static int db4_delete_key(struct onak_dbctx *dbctx, memset(&key, 0, sizeof(key)); key.data = subkeyids[i].fp; key.size = subkeyids[i].length; - privctx->subkeydb->del(privctx->subkeydb, + ret = privctx->subkeydb->del(privctx->subkeydb, privctx->txn, &key, 0); if (ret != 0 && ret != DB_NOTFOUND) { logthing(LOGTHING_ERROR,