this->relative, this->algo);
if (!measurements)
{
+ printf("file measurement failed\n");
+ hasher->destroy(hasher);
return FALSE;
}
if (this->fid && this->relative)
#define SECURITY_DIR "/sys/kernel/security/"
#define IMA_BIOS_MEASUREMENTS SECURITY_DIR "tpm0/binary_bios_measurements"
#define IMA_RUNTIME_MEASUREMENTS SECURITY_DIR "ima/binary_runtime_measurements"
-#define IMA_MEASUREMENT_BATCH_SIZE 1000
+#define IMA_MEASUREMENT_BATCH_SIZE 200
#define IMA_EVENT_NAME_LEN_MAX 255
#define IMA_PCR 10
#define IMA_PCR_MAX 16
status_t status;
e = this->db->query(this->db,
- "SELECT fh.hash FROM file_hashes AS fh"
- "JOIN files AS f ON f.id = fh.file"
+ "SELECT fh.hash FROM file_hashes AS fh "
+ "JOIN files AS f ON f.id = fh.file "
"JOIN products AS p ON p.id = fh.product "
- "WHERE p.product = ? AND f.file = ? AND fh.algo = ?",
+ "WHERE p.name = ? AND f.path = ? AND fh.algo = ?",
DB_TEXT, product, DB_TEXT, filename, DB_INT, algo, DB_BLOB);
if (!e)
{
switch (status)
{
case SUCCESS:
- status_msg = "ok";
+ status_msg = "is ok";
count_ok++;
break;
case NOT_FOUND:
default:
status_msg = "failed";
}
- DBG2(DBG_PTS, " %#B for '%s' - %s", &entry->measurement,
+ DBG2(DBG_PTS, " %#B for '%s' %s", &entry->measurement,
entry->filename, status_msg);
}
enumerator->destroy(enumerator);