bool RemoveHostFromLastSeen(const char *hostname, char *hostkey) { char ip[CF_BUFSIZE]; char digest[CF_BUFSIZE] = { 0 }; if (!hostkey) { strcpy(ip, Hostname2IPString(hostname)); IPString2KeyDigest(ip, digest); } else { snprintf(digest, sizeof(digest), "%s", hostkey); } CF_DB *dbp; char key[CF_BUFSIZE]; if (!OpenDB(&dbp, dbid_lastseen)) { CfOut(cf_error, "", " !! Unable to open last seen DB"); return false; } snprintf(key, CF_BUFSIZE, "-%s", digest); DeleteComplexKeyDB(dbp, key, strlen(key) + 1); snprintf(key, CF_BUFSIZE, "+%s", digest); DeleteComplexKeyDB(dbp, key, strlen(key) + 1); CloseDB(dbp); return true; }
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); }
int DeleteDB(CF_DB *dbp, char *key) { return DeleteComplexKeyDB(dbp,key,strlen(key)+1); }