From a74fab640aebe20b168a0eaa6b4b52401e87b06c Mon Sep 17 00:00:00 2001 From: Andreas Steffen Date: Sun, 5 Feb 2012 22:23:45 +0100 Subject: [PATCH] ipsec attest adds and deletes key/component pairs --- .../plugins/imv_attestation/attest_db.c | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/libpts/plugins/imv_attestation/attest_db.c b/src/libpts/plugins/imv_attestation/attest_db.c index eef97bf76..0357e39d3 100644 --- a/src/libpts/plugins/imv_attestation/attest_db.c +++ b/src/libpts/plugins/imv_attestation/attest_db.c @@ -1045,7 +1045,18 @@ METHOD(attest_db_t, list_measurements, void, METHOD(attest_db_t, add, bool, private_attest_db_t *this) { - return FALSE; + bool success = FALSE; + + if (this->kid && this->cid) + { + success = this->db->execute(this->db, NULL, + "INSERT INTO key_component (key, component) VALUES (?, ?)", + DB_UINT, this->kid, DB_UINT, this->cid) == 1; + + printf("key/component pair (%d/%d) %sinserted into database\n", + this->kid, this->cid, success ? "" : "could not be "); + } + return success; } METHOD(attest_db_t, delete, bool, @@ -1059,10 +1070,16 @@ METHOD(attest_db_t, delete, bool, return FALSE; } - if (this->kid && this->did) + if (this->kid && this->cid) { - printf("deletion of key/component entries not supported yet\n"); - return FALSE; + success = this->db->execute(this->db, NULL, + "DELETE FROM key_component " + "WHERE key = ? AND component = ?", + DB_UINT, this->kid, DB_UINT, this->cid) > 0; + + printf("key/component pair (%d/%d) %sdeleted from database\n", + this->kid, this->cid, success ? "" : "could not be "); + return success; } if (this->cid)