Store device with product ID

This commit is contained in:
Andreas Steffen
2013-06-21 23:25:24 +02:00
parent bf250acb06
commit 19ce03be73
5 changed files with 32 additions and 24 deletions
+4 -9
View File
@@ -345,21 +345,13 @@ static TNC_Result receive_msg(private_imv_os_agent_t *this, imv_state_t *state,
}
case ITA_ATTR_DEVICE_ID:
{
imv_session_t *session;
int device_id;
chunk_t value;
state->set_action_flags(state, IMV_OS_ATTR_DEVICE_ID);
value = attr->get_value(attr);
os_state->set_device_id(os_state, value);
DBG1(DBG_IMV, "device ID is %.*s", value.len, value.ptr);
if (imcv_db)
{
session = state->get_session(state);
device_id = imcv_db->add_device(imcv_db, session, value);
os_state->set_device_id(os_state, device_id);
}
break;
}
case ITA_ATTR_START_ANGEL:
@@ -556,6 +548,9 @@ METHOD(imv_agent_if_t, batch_ending, TNC_Result,
{
if (imcv_db)
{
imcv_db->add_device(imcv_db, session,
os_state->get_device_id(os_state));
/* trigger the policy manager */
imcv_db->policy_script(imcv_db, session, TRUE);
}
+6 -5
View File
@@ -140,9 +140,9 @@ struct private_imv_os_state_t {
imv_remediation_string_t *remediation_string;
/**
* Primary database key of device ID
* Dgevice ID
*/
int device_id;
chunk_t device_id;
/**
* Number of processed packages
@@ -511,6 +511,7 @@ METHOD(imv_state_t, destroy, void,
free(this->name.ptr);
free(this->version.ptr);
free(this->ar_id_value.ptr);
free(this->device_id.ptr);
free(this);
}
@@ -593,12 +594,12 @@ METHOD(imv_os_state_t, get_count, void,
}
METHOD(imv_os_state_t, set_device_id, void,
private_imv_os_state_t *this, int id)
private_imv_os_state_t *this, chunk_t id)
{
this->device_id = id;
this->device_id = chunk_clone(id);
}
METHOD(imv_os_state_t, get_device_id, int,
METHOD(imv_os_state_t, get_device_id, chunk_t,
private_imv_os_state_t *this)
{
return this->device_id;
+4 -4
View File
@@ -123,16 +123,16 @@ struct imv_os_state_t {
/**
* Set device ID
*
* @param device_id Device ID primary database key
* @param device_id Device ID
*/
void (*set_device_id)(imv_os_state_t *this, int id);
void (*set_device_id)(imv_os_state_t *this, chunk_t id);
/**
* Get device ID
*
* @return Device ID primary database key
* @return Device ID
*/
int (*get_device_id)(imv_os_state_t *this);
chunk_t (*get_device_id)(imv_os_state_t *this);
/**
* Set OS settings