From: Wyllys I. <wyl...@su...> - 2009-04-21 20:26:26
|
The following fixes correct some issues in tspi_delegate.c 1. The family table and delegated entry tables were not being properly populated as the lists were traversed. --- Trousers' Developer's Certificate of Origin 1.0 By making a contribution to the Trousers project, I certify that: (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or Signed-off-by: Wyllys Ingersoll <wyl...@su...> --- diff --git a/src/tspi/tspi_delegate.c b/src/tspi/tspi_delegate.c index c8fcb6a..b6e5405 100644 --- a/src/tspi/tspi_delegate.c +++ b/src/tspi/tspi_delegate.c @@ -348,6 +348,7 @@ Tspi_TPM_Delegate_ReadTables(TSS_HCONTEXT hContext, /* UINT64 tpmOffset; UINT64 tssOffset; TSS_RESULT result; + int i = 0; if (!pulFamilyTableSize || !ppFamilyTable || !pulDelegateTableSize || !ppDelegateTable) return TSPERR(TSS_E_BAD_PARAMETER); @@ -376,7 +377,7 @@ Tspi_TPM_Delegate_ReadTables(TSS_HCONTEXT hContext, /* result = TSPERR(TSS_E_OUTOFMEMORY); goto done; } - for (tpmOffset = 0, tssOffset = 0; tpmOffset < tpmFamilyTableSize; tssFamilyTableSi + for (i = 0, tpmOffset = 0; tpmOffset < tpmFamilyTableSize; tssFamilyTableSize++, i+ Trspi_UnloadBlob_TPM_FAMILY_TABLE_ENTRY(&tpmOffset, tpmFamilyTable, &tpmFamilyEntry); @@ -387,8 +388,8 @@ Tspi_TPM_Delegate_ReadTables(TSS_HCONTEXT hContext, /* (tpmFamilyEntry.flags & TPM_FAMFLAG_ENABLE) ? TRUE : FALSE; tssFamilyEntry.locked = (tpmFamilyEntry.flags & TPM_FAMFLAG_DELEGATE_ADMIN_LOCK) ? TRUE : F - Trspi_LoadBlob_TSS_FAMILY_TABLE_ENTRY(&tssOffset, (BYTE *)tssFamilyTable, - &tssFamilyEntry); + + tssFamilyTable[i] = tssFamilyEntry; } } @@ -424,7 +425,7 @@ Tspi_TPM_Delegate_ReadTables(TSS_HCONTEXT hContext, /* result = TSPERR(TSS_E_OUTOFMEMORY); goto done; } - for (tpmOffset = 0, tssOffset = 0; tpmOffset < tpmDelegateTableSize; tssDelegateTab + for (i =0, tpmOffset = 0; tpmOffset < tpmDelegateTableSize; tssDelegateTableSize++, Trspi_UnloadBlob_UINT32(&tpmOffset, &tableIndex, tpmDelegateTable); if ((result = Trspi_UnloadBlob_TPM_DELEGATE_PUBLIC(&tpmOffset, tpmDelegateTable, &tpmDelegatePublic))) { @@ -449,8 +450,8 @@ Tspi_TPM_Delegate_ReadTables(TSS_HCONTEXT hContext, /* tssDelegateEntry.per2 = tpmDelegatePublic.permissions.per2; tssDelegateEntry.familyID = tpmDelegatePublic.familyID; tssDelegateEntry.verificationCount = tpmDelegatePublic.verificationCount; - Trspi_LoadBlob_TSS_DELEGATION_TABLE_ENTRY(&tssOffset, - (BYTE *)tssDelegateTable, &tssDelegateEntry); + + tssDelegateTable[i] = tssDelegateEntry; free(tpmDelegatePublic.pcrInfo.pcrSelection.pcrSelect); } |
From: Rajiv A. <sr...@li...> - 2009-07-06 13:43:52
|
Wyllys Ingersoll wrote: > The following fixes correct some issues in tspi_delegate.c > 1. The family table and delegated entry tables were not being properly > populated as the lists were traversed. > > --- > Trousers' Developer's Certificate of Origin 1.0 > > By making a contribution to the Trousers project, I certify that: > > (a) The contribution was created in whole or in part by me and I > have the right to submit it under the open source license > indicated in the file; or > > Signed-off-by: Wyllys Ingersoll <wyl...@su...> > --- > > > diff --git a/src/tspi/tspi_delegate.c b/src/tspi/tspi_delegate.c > index c8fcb6a..b6e5405 100644 > --- a/src/tspi/tspi_delegate.c > +++ b/src/tspi/tspi_delegate.c > @@ -348,6 +348,7 @@ Tspi_TPM_Delegate_ReadTables(TSS_HCONTEXT hContext, /* > UINT64 tpmOffset; > UINT64 tssOffset; > TSS_RESULT result; > + int i = 0; > > if (!pulFamilyTableSize || !ppFamilyTable || !pulDelegateTableSize || !ppDelegateTable) > return TSPERR(TSS_E_BAD_PARAMETER); > @@ -376,7 +377,7 @@ Tspi_TPM_Delegate_ReadTables(TSS_HCONTEXT hContext, /* > result = TSPERR(TSS_E_OUTOFMEMORY); > goto done; > } > - for (tpmOffset = 0, tssOffset = 0; tpmOffset < tpmFamilyTableSize; tssFamilyTableSi > + for (i = 0, tpmOffset = 0; tpmOffset < tpmFamilyTableSize; tssFamilyTableSize++, i+ > This line got cropped. > Trspi_UnloadBlob_TPM_FAMILY_TABLE_ENTRY(&tpmOffset, tpmFamilyTable, > &tpmFamilyEntry); > > @@ -387,8 +388,8 @@ Tspi_TPM_Delegate_ReadTables(TSS_HCONTEXT hContext, /* > (tpmFamilyEntry.flags & TPM_FAMFLAG_ENABLE) ? TRUE : FALSE; > tssFamilyEntry.locked = > (tpmFamilyEntry.flags & TPM_FAMFLAG_DELEGATE_ADMIN_LOCK) ? TRUE : F > So was this one, however, easy to fix since it's a context line. > - Trspi_LoadBlob_TSS_FAMILY_TABLE_ENTRY(&tssOffset, (BYTE *)tssFamilyTable, > - &tssFamilyEntry); > + > + tssFamilyTable[i] = tssFamilyEntry; > } > } > > @@ -424,7 +425,7 @@ Tspi_TPM_Delegate_ReadTables(TSS_HCONTEXT hContext, /* > result = TSPERR(TSS_E_OUTOFMEMORY); > goto done; > } > - for (tpmOffset = 0, tssOffset = 0; tpmOffset < tpmDelegateTableSize; tssDelegateTab > + for (i =0, tpmOffset = 0; tpmOffset < tpmDelegateTableSize; tssDelegateTableSize++, > Cropped too. I've spent a considerable amount of time fixing the whitespace and line wrapping issues of the previous patches, but can you now resubmit the some of patches sent after this one (updated fix for platform.c and tcsd Makefile.am patch)? I've already fixed the others. > Trspi_UnloadBlob_UINT32(&tpmOffset, &tableIndex, tpmDelegateTable); > if ((result = Trspi_UnloadBlob_TPM_DELEGATE_PUBLIC(&tpmOffset, > tpmDelegateTable, &tpmDelegatePublic))) { > @@ -449,8 +450,8 @@ Tspi_TPM_Delegate_ReadTables(TSS_HCONTEXT hContext, /* > tssDelegateEntry.per2 = tpmDelegatePublic.permissions.per2; > tssDelegateEntry.familyID = tpmDelegatePublic.familyID; > tssDelegateEntry.verificationCount = tpmDelegatePublic.verificationCount; > - Trspi_LoadBlob_TSS_DELEGATION_TABLE_ENTRY(&tssOffset, > - (BYTE *)tssDelegateTable, &tssDelegateEntry); > + > + tssDelegateTable[i] = tssDelegateEntry; > > free(tpmDelegatePublic.pcrInfo.pcrSelection.pcrSelect); > } > > > > > ------------------------------------------------------------------------------ > Stay on top of everything new and different, both inside and > around Java (TM) technology - register by April 22, and save > $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco. > 300 plus technical and hands-on sessions. Register today. > Use priority code J9JMT32. http://p.sf.net/sfu/p > _______________________________________________ > TrouSerS-tech mailing list > Tro...@li... > https://lists.sourceforge.net/lists/listinfo/trousers-tech > |