From 3fc05fdad86c751517c17df165be971dd7521105 Mon Sep 17 00:00:00 2001 From: "kfraser@localhost.localdomain" Date: Tue, 25 Jul 2006 11:30:30 +0100 Subject: VTPM_TOOLS: Updated vtpm for new release of tpm_emulator 0.4, and set up easier tracking of the emulator. Also fixed a few minor bugs in the manager. Signed-off-by: Vincent Scarlata --- tools/vtpm_manager/manager/dmictl.c | 3 +++ tools/vtpm_manager/manager/vtpm_manager_handler.c | 3 ++- tools/vtpm_manager/manager/vtpmd.c | 2 +- tools/vtpm_manager/tcs/tcs.c | 3 +-- tools/vtpm_manager/tcs/transmit.c | 4 ++-- 5 files changed, 9 insertions(+), 6 deletions(-) (limited to 'tools/vtpm_manager') diff --git a/tools/vtpm_manager/manager/dmictl.c b/tools/vtpm_manager/manager/dmictl.c index 588dcaf560..fee0cb9599 100644 --- a/tools/vtpm_manager/manager/dmictl.c +++ b/tools/vtpm_manager/manager/dmictl.c @@ -105,6 +105,9 @@ TPM_RESULT close_dmi(VTPM_DMI_RESOURCE *dmi_res) { if (dmi_res == NULL) return TPM_SUCCESS; + if (dmi_res->dmi_id == VTPM_CTL_DM) + return(TPM_BAD_PARAMETER); + TCS_CloseContext(dmi_res->TCSContext); dmi_res->connected = FALSE; diff --git a/tools/vtpm_manager/manager/vtpm_manager_handler.c b/tools/vtpm_manager/manager/vtpm_manager_handler.c index 3ac0928749..9226a4a9b6 100644 --- a/tools/vtpm_manager/manager/vtpm_manager_handler.c +++ b/tools/vtpm_manager/manager/vtpm_manager_handler.c @@ -166,7 +166,8 @@ TPM_RESULT VTPM_Manager_Handler( vtpm_ipc_handle_t *tx_ipc_h, (!dmi_res->connected) ) { vtpmhandlerlogerror(VTPM_LOG_VTPM, "Attempted access to non-existent or disconnected DMI %d. Aborting...\n", dmi); status = TPM_BAD_PARAMETER; - goto abort_with_error; + // We have no one to reply to, they don't exist. + goto abort_command; } if (tag == VTPM_TAG_REQ) { diff --git a/tools/vtpm_manager/manager/vtpmd.c b/tools/vtpm_manager/manager/vtpmd.c index 8aec9769f8..fa1204ba1a 100644 --- a/tools/vtpm_manager/manager/vtpmd.c +++ b/tools/vtpm_manager/manager/vtpmd.c @@ -172,7 +172,7 @@ TPM_RESULT VTPM_New_DMI_Extra(VTPM_DMI_RESOURCE *dmi_res, BYTE startup_mode) { } else if (pid == 0) { switch (startup_mode) { case TPM_ST_CLEAR: - execl (TPM_EMULATOR_PATH, "vtmpd", "clear", dmi_id_str, NULL); + execl (TPM_EMULATOR_PATH, "vtpmd", "clear", dmi_id_str, NULL); break; case TPM_ST_STATE: execl (TPM_EMULATOR_PATH, "vtpmd", "save", dmi_id_str, NULL); diff --git a/tools/vtpm_manager/tcs/tcs.c b/tools/vtpm_manager/tcs/tcs.c index 6ed019dd41..a711d1b57f 100644 --- a/tools/vtpm_manager/tcs/tcs.c +++ b/tools/vtpm_manager/tcs/tcs.c @@ -162,8 +162,7 @@ TPM_RESULT TCS_OpenContext(TCS_CONTEXT_HANDLE* hContext) { // out vtpmloginfo(VTPM_LOG_TCS, "Calling TCS_OpenContext:\n"); - // hContext must point to a null memory context handle - if(*hContext == HANDLE_NULL) { + if (hContext) { CONTEXT_HANDLE* pContextHandle = (CONTEXT_HANDLE *) malloc(sizeof(CONTEXT_HANDLE)); if (pContextHandle == NULL) return TPM_SIZE; diff --git a/tools/vtpm_manager/tcs/transmit.c b/tools/vtpm_manager/tcs/transmit.c index e994d91482..74bbdca585 100644 --- a/tools/vtpm_manager/tcs/transmit.c +++ b/tools/vtpm_manager/tcs/transmit.c @@ -49,8 +49,8 @@ static int g_tx_fd = -1; // the fd to the TPM #define TPM_TX_FNAME "/dev/tpm0" static int *g_rx_fdp = &g_tx_fd; #else - #define TPM_TX_FNAME "/tmp/tpm_in.fifo" - #define TPM_RX_FNAME "/tmp/tpm_out.fifo" + #define TPM_TX_FNAME "/var/tpm/tpm_in.fifo" + #define TPM_RX_FNAME "/var/tpm/tpm_out.fifo" static int g_rx_fd = -1; static int *g_rx_fdp = &g_rx_fd; // the fd to the TPM #endif -- cgit v1.2.3