define tpm_version_info as a chunk

This commit is contained in:
Andreas Steffen
2011-09-08 12:08:12 +02:00
parent 54fb8162a4
commit b875bcf70e
@@ -154,38 +154,34 @@ TNC_Result TNC_IMC_NotifyConnectionChange(TNC_IMCID imc_id,
/**
* Get the TPM Version Information
*/
static TSS_RESULT get_tpm_version_info(BYTE *tpm_version_info)
static TSS_RESULT get_tpm_version_info(chunk_t *info)
{
TSS_HCONTEXT hContext;
TSS_HTPM hTPM;
TSS_RESULT uiResult;
UINT32 uiResultLen;
TSS_HCONTEXT hContext;
TSS_HTPM hTPM;
TSS_RESULT result;
/* TODO: Needed for parsing version info on IMV side */
//TPM_CAP_VERSION_INFO versionInfo;
//UINT64 offset = 0;
uiResult = Tspi_Context_Create(&hContext);
if (uiResult != TSS_SUCCESS) {
DBG1(DBG_IMC,"Error 0x%x on Tspi_Context_Create\n", uiResult);
return uiResult;
result = Tspi_Context_Create(&hContext);
if (result != TSS_SUCCESS)
{
return result;
}
uiResult = Tspi_Context_Connect(hContext, NULL);
if (uiResult != TSS_SUCCESS) {
DBG1(DBG_IMC,"Error 0x%x on Tspi_Context_Connect\n", uiResult);
return uiResult;
result = Tspi_Context_Connect(hContext, NULL);
if (result != TSS_SUCCESS)
{
return result;
}
uiResult = Tspi_Context_GetTpmObject (hContext, &hTPM);
if (uiResult != TSS_SUCCESS) {
DBG1(DBG_IMC,"Error 0x%x on Tspi_Context_GetTpmObject\n", uiResult);
return uiResult;
}
uiResult = Tspi_TPM_GetCapability(hTPM, TSS_TPMCAP_VERSION_VAL, 0, NULL, &uiResultLen,
&tpm_version_info);
if (uiResult != TSS_SUCCESS) {
DBG1(DBG_IMC,"Error 0x%x on Tspi_TPM_GetCapability\n", uiResult);
return uiResult;
result = Tspi_Context_GetTpmObject (hContext, &hTPM);
if (result != TSS_SUCCESS)
{
return result;
}
result = Tspi_TPM_GetCapability(hTPM, TSS_TPMCAP_VERSION_VAL, 0, NULL,
&info->len, &info->ptr);
return result;
}
/**
@@ -314,18 +310,17 @@ static TNC_Result send_message(TNC_ConnectionID connection_id)
}
case IMC_ATTESTATION_STATE_GET_TPM_INFO:
{
TSS_RESULT uiResult;
BYTE *tpm_version_info;
TSS_RESULT result;
chunk_t tpm_version_info;
uiResult = get_tpm_version_info(tpm_version_info);
if (uiResult != TSS_SUCCESS) {
DBG1(DBG_IMC,"Error 0x%x on get_tpm_version_info\n", uiResult);
return uiResult;
result = get_tpm_version_info(&tpm_version_info);
if (result != TSS_SUCCESS)
{
DBG1(DBG_IMC,"Error 0x%x on get_tpm_version_info\n", result);
return TNC_RESULT_FATAL;
}
attr = tcg_pts_attr_tpm_version_info_create(
chunk_create((char *)tpm_version_info,
strlen(tpm_version_info)));
attr = tcg_pts_attr_tpm_version_info_create(tpm_version_info);
break;
}
case IMC_ATTESTATION_STATE_REQ_FILE_MEAS: