static void DeleteHash(CF_DB *dbp, enum cfhashes type, char *name) { int size; char *key; key = NewIndexKey(type, name, &size); DeleteComplexKeyDB(dbp, key, size); DeleteIndexKey(key); }
static void DeleteHash(CF_DB *dbp, HashMethod type, const char *name) { int size; char *key; key = NewIndexKey(type, name, &size); DeleteComplexKeyDB(dbp, key, size); DeleteIndexKey(key); }
static int ReadHash(CF_DB *dbp, enum cfhashes type, char *name, unsigned char digest[EVP_MAX_MD_SIZE + 1]) { char *key; int size; ChecksumValue chk_val; key = NewIndexKey(type, name, &size); if (ReadComplexKeyDB(dbp, key, size, (void *) &chk_val, sizeof(ChecksumValue))) { memset(digest, 0, EVP_MAX_MD_SIZE + 1); memcpy(digest, chk_val.mess_digest, EVP_MAX_MD_SIZE + 1); DeleteIndexKey(key); return true; } else { DeleteIndexKey(key); return false; } }
static int WriteHash(CF_DB *dbp, enum cfhashes type, char *name, unsigned char digest[EVP_MAX_MD_SIZE + 1]) { char *key; ChecksumValue *value; int ret, keysize; key = NewIndexKey(type, name, &keysize); value = NewHashValue(digest); ret = WriteComplexKeyDB(dbp, key, keysize, value, sizeof(ChecksumValue)); DeleteIndexKey(key); DeleteHashValue(value); return ret; }