aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2014-06-06 10:55:42 +0200
committerAndreas Steffen <andreas.steffen@strongswan.org>2014-06-06 10:56:12 +0200
commitb23c7d6a38b91a3f058a59ef28a881d07a8ec8d9 (patch)
treebb0efb424e60dc8ecaa0a0550810d1c1312f3efe /src
parent35e08cde3cd3ec5870ff5f5a4ab190b99b0bfcc3 (diff)
downloadstrongswan-b23c7d6a38b91a3f058a59ef28a881d07a8ec8d9.tar.bz2
strongswan-b23c7d6a38b91a3f058a59ef28a881d07a8ec8d9.tar.xz
Updated REST API
Diffstat (limited to 'src')
-rw-r--r--src/libpts/plugins/imv_swid/imv_swid_agent.c12
-rw-r--r--src/libpts/plugins/imv_swid/imv_swid_state.c12
2 files changed, 17 insertions, 7 deletions
diff --git a/src/libpts/plugins/imv_swid/imv_swid_agent.c b/src/libpts/plugins/imv_swid/imv_swid_agent.c
index 4278fadf7..3053b2643 100644
--- a/src/libpts/plugins/imv_swid/imv_swid_agent.c
+++ b/src/libpts/plugins/imv_swid/imv_swid_agent.c
@@ -235,7 +235,7 @@ static TNC_Result receive_msg(private_imv_swid_agent_t *this,
tcg_swid_attr_tag_inv_t *attr_cast;
swid_tag_t *tag;
chunk_t tag_encoding;
- json_object *jarray, *jstring;
+ json_object *jobj, *jarray, *jstring;
char *tag_str;
int tag_count;
enumerator_t *e;
@@ -260,7 +260,9 @@ static TNC_Result receive_msg(private_imv_swid_agent_t *this,
if (this->rest_api)
{
+ jobj = json_object_new_object();
jarray = json_object_new_array();
+ json_object_object_add(jobj, "data", jarray);
e = inventory->create_enumerator(inventory);
while (e->enumerate(e, &tag))
@@ -275,11 +277,11 @@ static TNC_Result receive_msg(private_imv_swid_agent_t *this,
e->destroy(e);
if (this->rest_api->post(this->rest_api,
- "swid/add-tags/", jarray, NULL) != SUCCESS)
+ "swid/add-tags/", jobj, NULL) != SUCCESS)
{
DBG1(DBG_IMV, "error in REST API add-tags request");
}
- json_object_put(jarray);
+ json_object_put(jobj);
}
}
else
@@ -478,7 +480,7 @@ METHOD(imv_agent_if_t, batch_ending, TNC_Result,
if (this->rest_api && (received & IMV_SWID_ATTR_TAG_ID_INV))
{
- if (asprintf(&command, "sessions/%d/swid_measurement/",
+ if (asprintf(&command, "sessions/%d/swid-measurement/",
session->get_session_id(session, NULL, NULL)) < 0)
{
error_str = "allocation of command string failed";
@@ -491,7 +493,7 @@ METHOD(imv_agent_if_t, batch_ending, TNC_Result,
jrequest, &jresponse);
if (status == FAILED)
{
- error_str = "error in REST API swid_measurement request";
+ error_str = "error in REST API swid-measurement request";
}
free(command);
}
diff --git a/src/libpts/plugins/imv_swid/imv_swid_state.c b/src/libpts/plugins/imv_swid/imv_swid_state.c
index fa8a79c97..c68b57e4d 100644
--- a/src/libpts/plugins/imv_swid/imv_swid_state.c
+++ b/src/libpts/plugins/imv_swid/imv_swid_state.c
@@ -113,6 +113,11 @@ struct private_imv_swid_state_t {
int tag_count;
/**
+ * Top level JSON object
+ */
+ json_object *jobj;
+
+ /**
* JSON array containing an inventory of SWID Tag IDs
*/
json_object *jarray;
@@ -232,7 +237,7 @@ METHOD(imv_state_t, get_remediation_instructions, bool,
METHOD(imv_state_t, destroy, void,
private_imv_swid_state_t *this)
{
- json_object_put(this->jarray);
+ json_object_put(this->jobj);
DESTROY_IF(this->session);
DESTROY_IF(this->reason_string);
DESTROY_IF(this->remediation_string);
@@ -293,7 +298,7 @@ METHOD(imv_swid_state_t, set_swid_inventory, void,
METHOD(imv_swid_state_t, get_swid_inventory, json_object*,
private_imv_swid_state_t *this)
{
- return this->jarray;
+ return this->jobj;
}
METHOD(imv_swid_state_t, set_count, void,
@@ -371,9 +376,12 @@ imv_state_t *imv_swid_state_create(TNC_ConnectionID connection_id)
.rec = TNC_IMV_ACTION_RECOMMENDATION_NO_RECOMMENDATION,
.eval = TNC_IMV_EVALUATION_RESULT_DONT_KNOW,
.connection_id = connection_id,
+ .jobj = json_object_new_object(),
.jarray = json_object_new_array(),
);
+ json_object_object_add(this->jobj, "data", this->jarray);
+
return &this->public.interface;
}