| Index: tpm/tpm_marshalling.c
|
| diff --git a/tpm/tpm_marshalling.c b/tpm/tpm_marshalling.c
|
| index 0c070ab7c43462bb4a398055c6cc8300a547f3c8..3dfa60a0f10f712b9943587957d7586b495e15a9 100644
|
| --- a/tpm/tpm_marshalling.c
|
| +++ b/tpm/tpm_marshalling.c
|
| @@ -1,7 +1,6 @@
|
| -/* Software-Based Trusted Platform Module (TPM) Emulator for Linux
|
| - * Copyright (C) 2004 Mario Strasser <mast@gmx.net>,
|
| - * Swiss Federal Institute of Technology (ETH) Zurich,
|
| - * 2005, 2006 Heiko Stamer <stamer@gaos.org>
|
| +/* Software-based Trusted Platform Module (TPM) Emulator
|
| + * Copyright (C) 2004-2010 Mario Strasser <mast@gmx.net>
|
| + * 2005-2008 Heiko Stamer <stamer@gaos.org>
|
| *
|
| * This module is free software; you can redistribute it and/or modify
|
| * it under the terms of the GNU General Public License as published
|
| @@ -13,7 +12,7 @@
|
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
| * GNU General Public License for more details.
|
| *
|
| - * $Id$
|
| + * $Id: tpm_marshalling.c 372 2010-02-15 12:52:00Z mast $
|
| */
|
|
|
| #include "tpm_marshalling.h"
|
| @@ -1692,7 +1691,6 @@ int tpm_unmarshal_TPM_PERMANENT_DATA(BYTE **ptr, UINT32 *length, TPM_PERMANENT_D
|
|
|
| int tpm_marshal_TPM_STCLEAR_DATA(BYTE **ptr, UINT32 *length, TPM_STCLEAR_DATA *v)
|
| {
|
| - UINT32 i;
|
| if (tpm_marshal_TPM_STRUCTURE_TAG(ptr, length, v->tag)
|
| || tpm_marshal_TPM_NONCE(ptr, length, &v->contextNonceKey)
|
| || tpm_marshal_TPM_COUNT_ID(ptr, length, v->countID)
|
| @@ -1704,7 +1702,6 @@ int tpm_marshal_TPM_STCLEAR_DATA(BYTE **ptr, UINT32 *length, TPM_STCLEAR_DATA *v
|
|
|
| int tpm_unmarshal_TPM_STCLEAR_DATA(BYTE **ptr, UINT32 *length, TPM_STCLEAR_DATA *v)
|
| {
|
| - UINT32 i;
|
| if (tpm_unmarshal_TPM_STRUCTURE_TAG(ptr, length, &v->tag)
|
| || tpm_unmarshal_TPM_NONCE(ptr, length, &v->contextNonceKey)
|
| || tpm_unmarshal_TPM_COUNT_ID(ptr, length, &v->countID)
|
| @@ -1788,6 +1785,30 @@ int tpm_unmarshal_TPM_STANY_DATA(BYTE **ptr, UINT32 *length, TPM_STANY_DATA *v)
|
| return 0;
|
| }
|
|
|
| +int tpm_marshal_TPM_DATA(BYTE **ptr, UINT32 *length, TPM_DATA *v)
|
| +{
|
| + if (tpm_marshal_TPM_PERMANENT_FLAGS(ptr, length, &v->permanent.flags)
|
| + || tpm_marshal_BOOL(ptr, length, v->permanent.flags.selfTestSucceeded)
|
| + || tpm_marshal_BOOL(ptr, length, v->permanent.flags.owned)
|
| + || tpm_marshal_TPM_PERMANENT_DATA(ptr, length, &v->permanent.data)
|
| + || tpm_marshal_TPM_STCLEAR_FLAGS(ptr, length, &v->stclear.flags)
|
| + || tpm_marshal_TPM_STCLEAR_DATA(ptr, length, &v->stclear.data)
|
| + || tpm_marshal_TPM_STANY_DATA(ptr, length, &v->stany.data)) return -1;
|
| + return 0;
|
| +}
|
| +
|
| +int tpm_unmarshal_TPM_DATA(BYTE **ptr, UINT32 *length, TPM_DATA *v)
|
| +{
|
| + if (tpm_unmarshal_TPM_PERMANENT_FLAGS(ptr, length, &v->permanent.flags)
|
| + || tpm_unmarshal_BOOL(ptr, length, &v->permanent.flags.selfTestSucceeded)
|
| + || tpm_unmarshal_BOOL(ptr, length, &v->permanent.flags.owned)
|
| + || tpm_unmarshal_TPM_PERMANENT_DATA(ptr, length, &v->permanent.data)
|
| + || tpm_unmarshal_TPM_STCLEAR_FLAGS(ptr, length, &v->stclear.flags)
|
| + || tpm_unmarshal_TPM_STCLEAR_DATA(ptr, length, &v->stclear.data)
|
| + || tpm_unmarshal_TPM_STANY_DATA(ptr, length, &v->stany.data)) return -1;
|
| + return 0;
|
| +}
|
| +
|
| int tpm_marshal_TPM_RESPONSE(BYTE **ptr, UINT32 *length, TPM_RESPONSE *v)
|
| {
|
| if (tpm_marshal_TPM_TAG(ptr, length, v->tag)
|
|
|