From 75d8628bc1d9e8ecfcbf8a7ea7a0b4ac93670002 Mon Sep 17 00:00:00 2001 From: Christoph von Wittich Date: Mon, 19 Oct 2009 17:29:28 +0000 Subject: [PATCH] -sync wintrust with wine 1.1.31 svn path=/trunk/; revision=43613 --- reactos/dll/win32/wintrust/asn.c | 8 +++++--- reactos/dll/win32/wintrust/softpub.c | 18 ++++++++++++++++++ reactos/dll/win32/wintrust/wintrust.spec | 6 +++--- 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/reactos/dll/win32/wintrust/asn.c b/reactos/dll/win32/wintrust/asn.c index ec5c4ded571..002eab5374d 100644 --- a/reactos/dll/win32/wintrust/asn.c +++ b/reactos/dll/win32/wintrust/asn.c @@ -1465,6 +1465,10 @@ struct AsnDecodeSequenceItem DWORD size; }; +/* Align up to a DWORD_PTR boundary + */ +#define ALIGN_DWORD_PTR(x) (((x) + sizeof(DWORD_PTR) - 1) & ~(sizeof(DWORD_PTR) - 1)) + /* Decodes the items in a sequence, where the items are described in items, * the encoded data are in pbEncoded with length cbEncoded. Decodes into * pvStructInfo. nextData is a pointer to the memory location at which the @@ -1517,9 +1521,7 @@ static BOOL CRYPT_AsnDecodeSequenceItems(DWORD dwCertEncodingType, if (ret) { /* Account for alignment padding */ - if (items[i].size % sizeof(DWORD)) - items[i].size += sizeof(DWORD) - - items[i].size % sizeof(DWORD); + items[i].size = ALIGN_DWORD_PTR(items[i].size); TRACE("item %d size: %d\n", i, items[i].size); if (nextData && items[i].hasPointer && items[i].size > items[i].minSize) diff --git a/reactos/dll/win32/wintrust/softpub.c b/reactos/dll/win32/wintrust/softpub.c index 7f5f86f5a5a..1db4b47107f 100644 --- a/reactos/dll/win32/wintrust/softpub.c +++ b/reactos/dll/win32/wintrust/softpub.c @@ -54,6 +54,24 @@ HRESULT WINAPI SoftpubInitialize(CRYPT_PROVIDER_DATA *data) return ret; } +HRESULT WINAPI DriverInitializePolicy(CRYPT_PROVIDER_DATA *data) +{ + FIXME("stub\n"); + return S_OK; +} + +HRESULT WINAPI DriverCleanupPolicy(CRYPT_PROVIDER_DATA *data) +{ + FIXME("stub\n"); + return S_OK; +} + +HRESULT WINAPI DriverFinalPolicy(CRYPT_PROVIDER_DATA *data) +{ + FIXME("stub\n"); + return S_OK; +} + /* Assumes data->pWintrustData->u.pFile exists. Makes sure a file handle is * open for the file. */ diff --git a/reactos/dll/win32/wintrust/wintrust.spec b/reactos/dll/win32/wintrust/wintrust.spec index 64c51e20375..0627711f5fb 100644 --- a/reactos/dll/win32/wintrust/wintrust.spec +++ b/reactos/dll/win32/wintrust/wintrust.spec @@ -42,9 +42,9 @@ @ stdcall CryptSIPVerifyIndirectData(ptr ptr) @ stdcall -private DllRegisterServer() @ stdcall -private DllUnregisterServer() -@ stub DriverCleanupPolicy -@ stub DriverFinalPolicy -@ stub DriverInitializePolicy +@ stdcall DriverCleanupPolicy(ptr) +@ stdcall DriverFinalPolicy(ptr) +@ stdcall DriverInitializePolicy(ptr) @ stub FindCertsByIssuer @ stdcall GenericChainCertificateTrust(ptr) @ stdcall GenericChainFinalProv(ptr)