Author: cwittich Date: Sat Jan 31 23:42:03 2009 New Revision: 39255
URL: http://svn.reactos.org/svn/reactos?rev=39255&view=rev Log: sync wintrust and mscat32 with wine 1.1.14
Modified: trunk/reactos/dll/win32/mscat32/mscat32.spec trunk/reactos/dll/win32/wintrust/asn.c trunk/reactos/dll/win32/wintrust/crypt.c trunk/reactos/dll/win32/wintrust/softpub.c trunk/reactos/dll/win32/wintrust/wintrust.spec trunk/reactos/dll/win32/wintrust/wintrust_main.c trunk/reactos/include/psdk/mscat.h
Modified: trunk/reactos/dll/win32/mscat32/mscat32.spec URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mscat32/mscat32.s... ============================================================================== --- trunk/reactos/dll/win32/mscat32/mscat32.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/mscat32/mscat32.spec [iso-8859-1] Sat Jan 31 23:42:03 2009 @@ -5,30 +5,30 @@ @ stdcall CryptCATAdminEnumCatalogFromHash(long ptr long long ptr) wintrust.CryptCATAdminEnumCatalogFromHash @ stdcall CryptCATAdminReleaseCatalogContext(long long long) wintrust.CryptCATAdminReleaseCatalogContext @ stdcall CryptCATAdminReleaseContext(long long) wintrust.CryptCATAdminReleaseContext -@ stub CryptCATCDFClose +@ stdcall CryptCATCDFClose(ptr) wintrust.CryptCATCDFClose @ stub CryptCATCDFEnumAttributes -@ stub CryptCATCDFEnumAttributesWithCDFTag -@ stub CryptCATCDFEnumCatAttributes +@ stdcall CryptCATCDFEnumAttributesWithCDFTag(ptr wstr ptr ptr ptr) wintrust.CryptCATCDFEnumAttributesWithCDFTag +@ stdcall CryptCATCDFEnumCatAttributes(ptr ptr ptr) wintrust.CryptCATCDFEnumCatAttributes @ stub CryptCATCDFEnumMembers -@ stub CryptCATCDFEnumMembersByCDFTag -@ stub CryptCATCDFOpen -@ stub CryptCATCatalogInfoFromContext +@ stdcall CryptCATCDFEnumMembersByCDFTag(ptr wstr ptr ptr long) wintrust.CryptCATCDFEnumMembersByCDFTag +@ stdcall CryptCATCDFOpen(wstr ptr) wintrust.CryptCATCDFOpen +@ stdcall CryptCATCatalogInfoFromContext(ptr ptr long) wintrust.CryptCATCatalogInfoFromContext @ stdcall CryptCATClose(long) wintrust.CryptCATClose -@ stub CryptCATEnumerateAttr -@ stub CryptCATEnumerateCatAttr +@ stdcall CryptCATEnumerateAttr(ptr ptr ptr) wintrust.CryptCATEnumerateAttr +@ stdcall CryptCATEnumerateCatAttr(ptr ptr) wintrust.CryptCATEnumerateCatAttr @ stdcall CryptCATEnumerateMember(long ptr) wintrust.CryptCATEnumerateMember -@ stub CryptCATGetAttrInfo -@ stub CryptCATGetCatAttrInfo -@ stub CryptCATGetMemberInfo -@ stub CryptCATHandleFromStore +@ stdcall CryptCATGetAttrInfo(ptr ptr wstr) wintrust.CryptCATGetAttrInfo +@ stdcall CryptCATGetCatAttrInfo(ptr wstr) wintrust.CryptCATGetCatAttrInfo +@ stdcall CryptCATGetMemberInfo(ptr wstr) wintrust.CryptCATGetMemberInfo +@ stdcall CryptCATHandleFromStore(ptr) wintrust.CryptCATHandleFromStore @ stdcall CryptCATOpen(wstr long long long long) wintrust.CryptCATOpen -@ stub CryptCATPersistStore -@ stub CryptCATPutAttrInfo -@ stub CryptCATPutCatAttrInfo -@ stub CryptCATPutMemberInfo -@ stub CryptCATStoreFromHandle +@ stdcall CryptCATPersistStore(ptr) wintrust.CryptCATPersistStore +@ stdcall CryptCATPutAttrInfo(ptr ptr wstr long long ptr) wintrust.CryptCATPutAttrInfo +@ stdcall CryptCATPutCatAttrInfo(ptr wstr long long ptr) wintrust.CryptCATPutCatAttrInfo +@ stdcall CryptCATPutMemberInfo(ptr wstr wstr ptr long long ptr) wintrust.CryptCATPutMemberInfo +@ stdcall CryptCATStoreFromHandle(ptr) wintrust.CryptCATStoreFromHandle @ stdcall -private DllRegisterServer() wintrust.mscat32DllRegisterServer @ stdcall -private DllUnregisterServer() wintrust.mscat32DllUnregisterServer -@ stub IsCatalogFile +@ stdcall IsCatalogFile(ptr wstr) wintrust.IsCatalogFile @ stub MsCatConstructHashTag @ stub MsCatFreeHashTag
Modified: trunk/reactos/dll/win32/wintrust/asn.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wintrust/asn.c?re... ============================================================================== --- trunk/reactos/dll/win32/wintrust/asn.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/wintrust/asn.c [iso-8859-1] Sat Jan 31 23:42:03 2009 @@ -100,7 +100,7 @@ DWORD *pcbEncoded) { BOOL ret = TRUE; - const CRYPT_DATA_BLOB *blob = (const CRYPT_DATA_BLOB *)pvStructInfo; + const CRYPT_DATA_BLOB *blob = pvStructInfo; DWORD bytesNeeded, lenBytes;
TRACE("(%d, %p), %p, %d\n", blob->cbData, blob->pbData, pbEncoded, @@ -140,7 +140,7 @@
__TRY { - const SPC_LINK *link = (const SPC_LINK *)pvStructInfo; + const SPC_LINK *link = pvStructInfo; DWORD bytesNeeded, lenBytes;
switch (link->dwLinkChoice) @@ -352,7 +352,7 @@
__TRY { - const CRYPT_BIT_BLOB *blob = (const CRYPT_BIT_BLOB *)pvStructInfo; + const CRYPT_BIT_BLOB *blob = pvStructInfo; DWORD bytesNeeded, lenBytes, dataBytes; BYTE unusedBits;
@@ -426,8 +426,7 @@ DWORD *pcbEncoded) { BOOL ret; - const struct AsnConstructedItem *item = - (const struct AsnConstructedItem *)pvStructInfo; + const struct AsnConstructedItem *item = pvStructInfo; DWORD len;
if ((ret = item->encodeFunc(dwCertEncodingType, lpszStructType, @@ -473,8 +472,7 @@ LPCSTR lpszStructType, const void *pvStructInfo, BYTE *pbEncoded, DWORD *pcbEncoded) { - const SPC_PE_IMAGE_DATA *imageData = - (const SPC_PE_IMAGE_DATA *)pvStructInfo; + const SPC_PE_IMAGE_DATA *imageData = pvStructInfo; BOOL ret = FALSE;
TRACE("(0x%08x, %s, %p, %p, %p)\n", dwCertEncodingType, @@ -519,7 +517,7 @@ LPCSTR lpszStructType, const void *pvStructInfo, BYTE *pbEncoded, DWORD *pcbEncoded) { - LPCSTR pszObjId = (LPCSTR)pvStructInfo; + LPCSTR pszObjId = pvStructInfo; DWORD bytesNeeded = 0, lenBytes; BOOL ret = TRUE; int firstPos = 0; @@ -637,7 +635,7 @@ LPCSTR lpszStructType, const void *pvStructInfo, BYTE *pbEncoded, DWORD *pcbEncoded) { - const CRYPT_DER_BLOB *blob = (const CRYPT_DER_BLOB *)pvStructInfo; + const CRYPT_DER_BLOB *blob = pvStructInfo; BOOL ret = TRUE;
if (!pbEncoded) @@ -661,8 +659,7 @@ DWORD dwCertEncodingType, LPCSTR lpszStructType, const void *pvStructInfo, BYTE *pbEncoded, DWORD *pcbEncoded) { - const CRYPT_ALGORITHM_IDENTIFIER *algo = - (const CRYPT_ALGORITHM_IDENTIFIER *)pvStructInfo; + const CRYPT_ALGORITHM_IDENTIFIER *algo = pvStructInfo; static const BYTE asn1Null[] = { ASN_NULL, 0 }; static const CRYPT_DATA_BLOB nullBlob = { sizeof(asn1Null), (LPBYTE)asn1Null }; @@ -685,8 +682,7 @@ LPCSTR lpszStructType, const void *pvStructInfo, BYTE *pbEncoded, DWORD *pcbEncoded) { - const CRYPT_ATTRIBUTE_TYPE_VALUE *typeValue = - (const CRYPT_ATTRIBUTE_TYPE_VALUE *)pvStructInfo; + const CRYPT_ATTRIBUTE_TYPE_VALUE *typeValue = pvStructInfo; struct AsnEncodeSequenceItem items[] = { { &typeValue->pszObjId, CRYPT_AsnEncodeOid, 0 }, { &typeValue->Value, CRYPT_CopyEncodedBlob, 0 }, @@ -706,7 +702,7 @@ LPCSTR lpszStructType, const void *pvStructInfo, BYTE *pbEncoded, DWORD *pcbEncoded) { - const struct SPCDigest *digest = (const struct SPCDigest *)pvStructInfo; + const struct SPCDigest *digest = pvStructInfo; struct AsnEncodeSequenceItem items[] = { { &digest->DigestAlgorithm, CRYPT_AsnEncodeAlgorithmIdWithNullParams, 0 }, { &digest->Digest, CRYPT_CopyEncodedBlob, 0 }, @@ -727,8 +723,7 @@
__TRY { - const SPC_INDIRECT_DATA_CONTENT *data = - (const SPC_INDIRECT_DATA_CONTENT *)pvStructInfo; + const SPC_INDIRECT_DATA_CONTENT *data = pvStructInfo; struct AsnEncodeSequenceItem items[] = { { &data->Data, CRYPT_AsnEncodeAttributeTypeValue, 0 }, { &data->DigestAlgorithm, CRYPT_AsnEncodeSPCDigest, 0 }, @@ -750,7 +745,7 @@ DWORD *pcbEncoded) { BOOL ret = TRUE; - LPCWSTR str = (LPCWSTR)pvStructInfo; + LPCWSTR str = pvStructInfo; DWORD bytesNeeded, lenBytes, strLen;
if (str) @@ -895,8 +890,7 @@ DWORD significantBytes, lenBytes, bytesNeeded; BYTE padByte = 0; BOOL pad = FALSE; - const CRYPT_INTEGER_BLOB *blob = - (const CRYPT_INTEGER_BLOB *)pvStructInfo; + const CRYPT_INTEGER_BLOB *blob = pvStructInfo;
significantBytes = blob->cbData; if (significantBytes) @@ -996,7 +990,7 @@
__TRY { - const CAT_MEMBERINFO *info = (const CAT_MEMBERINFO *)pvStructInfo; + const CAT_MEMBERINFO *info = pvStructInfo; struct AsnEncodeSequenceItem items[] = { { info->pwszSubjGuid, CRYPT_AsnEncodeBMPString, 0 }, { &info->dwCertVersion, CRYPT_AsnEncodeInt, 0 }, @@ -1024,7 +1018,7 @@
__TRY { - const CAT_NAMEVALUE *value = (const CAT_NAMEVALUE *)pvStructInfo; + const CAT_NAMEVALUE *value = pvStructInfo; struct AsnEncodeSequenceItem items[] = { { value->pwszTag, CRYPT_AsnEncodeBMPString, 0 }, { &value->fdwFlags, CRYPT_AsnEncodeInt, 0 }, @@ -1215,7 +1209,7 @@ CRYPT_DATA_BLOB *blob; BYTE lenBytes = GET_LEN_BYTES(pbEncoded[1]);
- blob = (CRYPT_DATA_BLOB *)pvStructInfo; + blob = pvStructInfo; blob->cbData = dataLen; if (dwFlags & CRYPT_DECODE_NOCOPY_FLAG) blob->pbData = (BYTE *)pbEncoded + 1 + lenBytes; @@ -1260,7 +1254,7 @@ } else { - PSPC_LINK link = (PSPC_LINK)pvStructInfo; + PSPC_LINK link = pvStructInfo; DWORD i;
link->dwLinkChoice = SPC_URL_LINK_CHOICE; @@ -1309,7 +1303,7 @@ } else { - PSPC_LINK link = (PSPC_LINK)pvStructInfo; + PSPC_LINK link = pvStructInfo;
link->dwLinkChoice = SPC_MONIKER_LINK_CHOICE; /* pwszFile pointer was set by caller, copy it @@ -1347,7 +1341,7 @@ } else { - PSPC_LINK link = (PSPC_LINK)pvStructInfo; + PSPC_LINK link = pvStructInfo; DWORD i; const BYTE *ptr = pbEncoded + 2 + lenBytes + realLenBytes;
@@ -1372,7 +1366,7 @@ } else { - PSPC_LINK link = (PSPC_LINK)pvStructInfo; + PSPC_LINK link = pvStructInfo;
link->dwLinkChoice = SPC_FILE_LINK_CHOICE; link->u.pwszFile[0] = '\0'; @@ -1415,7 +1409,7 @@ } else { - SPC_LINK *link = (SPC_LINK *)pvStructInfo; + SPC_LINK *link = pvStructInfo;
link->u.pwszFile = (LPWSTR)((BYTE *)pvStructInfo + sizeof(SPC_LINK)); @@ -1655,7 +1649,7 @@
*pcbStructInfo = bytesNeeded; if (startingPointer) - nextData = (BYTE *)startingPointer; + nextData = startingPointer; else nextData = (BYTE *)pvStructInfo + structSize; memset(pvStructInfo, 0, structSize); @@ -1706,7 +1700,7 @@ { CRYPT_BIT_BLOB *blob;
- blob = (CRYPT_BIT_BLOB *)pvStructInfo; + blob = pvStructInfo; blob->cbData = dataLen - 1; blob->cUnusedBits = *(pbEncoded + 1 + GET_LEN_BYTES(pbEncoded[1])); @@ -1750,7 +1744,7 @@ { BYTE lenBytes = GET_LEN_BYTES(pbEncoded[1]); DWORD size; - SPC_LINK **pLink = (SPC_LINK **)pvStructInfo; + SPC_LINK **pLink = pvStructInfo;
ret = CRYPT_AsnDecodeSPCLinkInternal(dwCertEncodingType, lpszStructType, pbEncoded + 1 + lenBytes, dataLen, dwFlags, NULL, &size); @@ -1959,7 +1953,7 @@ } else { - PCRYPT_OBJID_BLOB blob = (PCRYPT_OBJID_BLOB)pvStructInfo; + PCRYPT_OBJID_BLOB blob = pvStructInfo;
*pcbStructInfo = bytesNeeded; blob->cbData = cbEncoded; @@ -1978,8 +1972,7 @@ LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, void *pvStructInfo, DWORD *pcbStructInfo) { - CRYPT_ATTRIBUTE_TYPE_VALUE *typeValue = - (CRYPT_ATTRIBUTE_TYPE_VALUE *)pvStructInfo; + CRYPT_ATTRIBUTE_TYPE_VALUE *typeValue = pvStructInfo; struct AsnDecodeSequenceItem items[] = { { ASN_OBJECTIDENTIFIER, offsetof(CRYPT_ATTRIBUTE_TYPE_VALUE, pszObjId), CRYPT_AsnDecodeOid, sizeof(LPSTR), FALSE, TRUE, @@ -2002,8 +1995,7 @@ LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, void *pvStructInfo, DWORD *pcbStructInfo) { - CRYPT_ALGORITHM_IDENTIFIER *algo = - (CRYPT_ALGORITHM_IDENTIFIER *)pvStructInfo; + CRYPT_ALGORITHM_IDENTIFIER *algo = pvStructInfo; BOOL ret = TRUE; struct AsnDecodeSequenceItem items[] = { { ASN_OBJECTIDENTIFIER, offsetof(CRYPT_ALGORITHM_IDENTIFIER, pszObjId), @@ -2032,8 +2024,7 @@ LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, void *pvStructInfo, DWORD *pcbStructInfo) { - struct SPCDigest *digest = - (struct SPCDigest *)pvStructInfo; + struct SPCDigest *digest = pvStructInfo; struct AsnDecodeSequenceItem items[] = { { ASN_SEQUENCEOF, offsetof(struct SPCDigest, DigestAlgorithm), CRYPT_AsnDecodeAlgorithmId, sizeof(CRYPT_ALGORITHM_IDENTIFIER), @@ -2156,7 +2147,7 @@ } else { - CRYPT_INTEGER_BLOB *blob = (CRYPT_INTEGER_BLOB *)pvStructInfo; + CRYPT_INTEGER_BLOB *blob = pvStructInfo;
*pcbStructInfo = bytesNeeded; blob->cbData = dataLen;
Modified: trunk/reactos/dll/win32/wintrust/crypt.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wintrust/crypt.c?... ============================================================================== --- trunk/reactos/dll/win32/wintrust/crypt.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/wintrust/crypt.c [iso-8859-1] Sat Jan 31 23:42:03 2009 @@ -188,6 +188,8 @@ HeapFree(GetProcessHeap(), 0, target); return NULL; } + SetFileAttributesW(target, FILE_ATTRIBUTE_SYSTEM); + if (!(ci = HeapAlloc(GetProcessHeap(), 0, sizeof(*ci)))) { HeapFree(GetProcessHeap(), 0, target); @@ -959,6 +961,54 @@ FIXME("(%p %p %p) stub\n", pSubjectInfo, pcbIndirectData, pIndirectData);
return FALSE; +} + + +/*********************************************************************** + * CryptCATCDFClose (WINTRUST.@) + */ +BOOL WINAPI CryptCATCDFClose(CRYPTCATCDF *pCDF) +{ + FIXME("(%p) stub\n", pCDF); + + return FALSE; +} + +/*********************************************************************** + * CryptCATCDFEnumCatAttributes (WINTRUST.@) + */ +CRYPTCATATTRIBUTE * WINAPI CryptCATCDFEnumCatAttributes(CRYPTCATCDF *pCDF, + CRYPTCATATTRIBUTE *pPrevAttr, + PFN_CDF_PARSE_ERROR_CALLBACK pfnParseError) +{ + FIXME("(%p %p %p) stub\n", pCDF, pPrevAttr, pfnParseError); + + return NULL; +} + +/*********************************************************************** + * CryptCATCDFEnumMembersByCDFTagEx (WINTRUST.@) + */ +LPWSTR WINAPI CryptCATCDFEnumMembersByCDFTagEx(CRYPTCATCDF *pCDF, LPWSTR pwszPrevCDFTag, + PFN_CDF_PARSE_ERROR_CALLBACK pfnParseError, + CRYPTCATMEMBER **ppMember, BOOL fContinueOnError, + LPVOID pvReserved) +{ + FIXME("(%p %s %p %p %d %p) stub\n", pCDF, debugstr_w(pwszPrevCDFTag), pfnParseError, + ppMember, fContinueOnError, pvReserved); + + return NULL; +} + +/*********************************************************************** + * CryptCATCDFOpen (WINTRUST.@) + */ +CRYPTCATCDF * WINAPI CryptCATCDFOpen(LPWSTR pwszFilePath, + PFN_CDF_PARSE_ERROR_CALLBACK pfnParseError) +{ + FIXME("(%s %p) stub\n", debugstr_w(pwszFilePath), pfnParseError); + + return NULL; }
static BOOL WINTRUST_GetSignedMsgFromPEFile(SIP_SUBJECTINFO *pSubjectInfo,
Modified: trunk/reactos/dll/win32/wintrust/softpub.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wintrust/softpub.... ============================================================================== --- trunk/reactos/dll/win32/wintrust/softpub.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/wintrust/softpub.c [iso-8859-1] Sat Jan 31 23:42:03 2009 @@ -795,7 +795,7 @@ { BOOL ret; WTD_GENERIC_CHAIN_POLICY_DATA *policyData = - (WTD_GENERIC_CHAIN_POLICY_DATA *)data->pWintrustData->pPolicyCallbackData; + data->pWintrustData->pPolicyCallbackData;
TRACE("(%p)\n", data);
@@ -961,7 +961,7 @@ { HRESULT err = NO_ERROR; /* not a typo, MS confused the types */ WTD_GENERIC_CHAIN_POLICY_DATA *policyData = - (WTD_GENERIC_CHAIN_POLICY_DATA *)data->pWintrustData->pPolicyCallbackData; + data->pWintrustData->pPolicyCallbackData;
TRACE("(%p)\n", data);
Modified: trunk/reactos/dll/win32/wintrust/wintrust.spec URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wintrust/wintrust... ============================================================================== --- trunk/reactos/dll/win32/wintrust/wintrust.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/wintrust/wintrust.spec [iso-8859-1] Sat Jan 31 23:42:03 2009 @@ -9,14 +9,14 @@ @ stdcall CryptCATAdminReleaseContext(long long) @ stdcall CryptCATAdminRemoveCatalog(ptr wstr long) @ stdcall CryptCATAdminResolveCatalogPath(ptr wstr ptr long) -@ stub CryptCATCDFClose +@ stdcall CryptCATCDFClose(ptr) @ stub CryptCATCDFEnumAttributes @ stub CryptCATCDFEnumAttributesWithCDFTag -@ stub CryptCATCDFEnumCatAttributes +@ stdcall CryptCATCDFEnumCatAttributes(ptr ptr ptr) @ stub CryptCATCDFEnumMembers @ stub CryptCATCDFEnumMembersByCDFTag -@ stub CryptCATCDFEnumMembersByCDFTagEx -@ stub CryptCATCDFOpen +@ stdcall CryptCATCDFEnumMembersByCDFTagEx(ptr wstr ptr ptr long ptr) +@ stdcall CryptCATCDFOpen(wstr ptr) @ stdcall CryptCATCatalogInfoFromContext(ptr ptr long) @ stdcall CryptCATClose(long) @ stdcall CryptCATEnumerateAttr(ptr ptr ptr)
Modified: trunk/reactos/dll/win32/wintrust/wintrust_main.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wintrust/wintrust... ============================================================================== --- trunk/reactos/dll/win32/wintrust/wintrust_main.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/wintrust/wintrust_main.c [iso-8859-1] Sat Jan 31 23:42:03 2009 @@ -184,7 +184,7 @@ goto error; }
- data->hWVTStateData = (HANDLE)provData; + data->hWVTStateData = provData; provData->pWintrustData = data; if (hwnd == INVALID_HANDLE_VALUE) provData->hWndParent = GetDesktopWindow(); @@ -215,7 +215,7 @@ WINTRUST_DATA *data) { DWORD err = ERROR_SUCCESS; - CRYPT_PROVIDER_DATA *provData = (CRYPT_PROVIDER_DATA *)data->hWVTStateData; + CRYPT_PROVIDER_DATA *provData = data->hWVTStateData;
TRACE("(%p, %s, %p)\n", hwnd, debugstr_guid(actionID), data);
@@ -254,8 +254,7 @@ /* Undocumented: the published software action is passed a path, * and pSIPClientData points to a WIN_TRUST_SUBJECT_FILE. */ - LPWIN_TRUST_SUBJECT_FILE subjectFile = - (LPWIN_TRUST_SUBJECT_FILE)data->pSIPClientData; + LPWIN_TRUST_SUBJECT_FILE subjectFile = data->pSIPClientData; WINTRUST_FILE_INFO fileInfo = { sizeof(fileInfo), 0 };
TRACE("subjectFile->hFile: %p\n", subjectFile->hFile); @@ -377,7 +376,7 @@ /* Not sure why, but native skips the policy check */ provData->psPfns->pfnCertCheckPolicy = NULL;
- data->hWVTStateData = (HANDLE)provData; + data->hWVTStateData = provData; provData->pWintrustData = data; if (hwnd == INVALID_HANDLE_VALUE) provData->hWndParent = GetDesktopWindow(); @@ -584,7 +583,7 @@ static const GUID generic_chain_verify = WINTRUST_ACTION_GENERIC_CHAIN_VERIFY; static const GUID cert_action_verify = CERT_CERTIFICATE_ACTION_VERIFY; LONG err = ERROR_SUCCESS; - WINTRUST_DATA *actionData = (WINTRUST_DATA *)ActionData; + WINTRUST_DATA *actionData = ActionData;
TRACE("(%p, %s, %p)\n", hwnd, debugstr_guid(ActionID), ActionData); dump_wintrust_data(ActionData); @@ -709,7 +708,7 @@ CRYPT_PROVIDER_DATA * WINAPI WTHelperProvDataFromStateData(HANDLE hStateData) { TRACE("%p\n", hStateData); - return (CRYPT_PROVIDER_DATA *)hStateData; + return hStateData; }
/*********************************************************************** @@ -738,7 +737,7 @@
static BOOL WINAPI WINTRUST_enumUsages(PCCRYPT_OID_INFO pInfo, void *pvArg) { - PCCRYPT_OID_INFO **usages = (PCCRYPT_OID_INFO **)pvArg; + PCCRYPT_OID_INFO **usages = pvArg; DWORD cUsages; BOOL ret;
@@ -756,7 +755,7 @@ */ for (cUsages = 0, ptr = *usages; *ptr; ptr++, cUsages++) ; - *usages = WINTRUST_ReAlloc((CRYPT_OID_INFO *)*usages, + *usages = WINTRUST_ReAlloc(*usages, (cUsages + 2) * sizeof(PCCRYPT_OID_INFO)); } if (*usages) @@ -809,7 +808,7 @@ } else if (action == 2) { - WINTRUST_Free((CRYPT_OID_INFO *)*usages); + WINTRUST_Free(*usages); *usages = NULL; ret = TRUE; }
Modified: trunk/reactos/include/psdk/mscat.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/mscat.h?rev=39... ============================================================================== --- trunk/reactos/include/psdk/mscat.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/mscat.h [iso-8859-1] Sat Jan 31 23:42:03 2009 @@ -28,16 +28,46 @@ extern "C" { #endif
+#define CRYPTCAT_OPEN_CREATENEW 0x00000001 +#define CRYPTCAT_OPEN_ALWAYS 0x00000002 +#define CRYPTCAT_OPEN_EXISTING 0x00000004 +#define CRYPTCAT_OPEN_EXCLUDE_PAGE_HASHES 0x00010000 +#define CRYPTCAT_OPEN_INCLUDE_PAGE_HASHES 0x00020000 +#define CRYPTCAT_OPEN_VERIFYSIGHASH 0x10000000 +#define CRYPTCAT_OPEN_NO_CONTENT_HCRYPTMSG 0x20000000 +#define CRYPTCAT_OPEN_SORTED 0x40000000 +#define CRYPTCAT_OPEN_FLAGS_MASK 0xffff0000
-#define CRYPTCAT_OPEN_CREATENEW 1 -#define CRYPTCAT_OPEN_ALWAYS 2 -#define CRYPTCAT_OPEN_EXISTING 4 +#define CRYPTCAT_E_AREA_HEADER 0x00000000 +#define CRYPTCAT_E_AREA_MEMBER 0x00010000 +#define CRYPTCAT_E_AREA_ATTRIBUTE 0x00020000
+#define CRYPTCAT_E_CDF_UNSUPPORTED 0x00000001 +#define CRYPTCAT_E_CDF_DUPLICATE 0x00000002 +#define CRYPTCAT_E_CDF_TAGNOTFOUND 0x00000004
+#define CRYPTCAT_E_CDF_MEMBER_FILE_PATH 0x00010001 +#define CRYPTCAT_E_CDF_MEMBER_INDIRECTDATA 0x00010002 +#define CRYPTCAT_E_CDF_MEMBER_FILENOTFOUND 0x00010004 + +#define CRYPTCAT_E_CDF_BAD_GUID_CONV 0x00020001 +#define CRYPTCAT_E_CDF_ATTR_TOOFEWVALUES 0x00020002 +#define CRYPTCAT_E_CDF_ATTR_TYPECOMBO 0x00020004
#include <pshpack8.h>
-typedef struct CRYPTCATMEMBER_ { +typedef struct CRYPTCATATTRIBUTE_ +{ + DWORD cbStruct; + LPWSTR pwszReferenceTag; + DWORD dwAttrTypeAndAction; + DWORD cbValue; + BYTE *pbValue; + DWORD dwReserved; +} CRYPTCATATTRIBUTE; + +typedef struct CRYPTCATMEMBER_ +{ DWORD cbStruct; LPWSTR pwszReferenceTag; LPWSTR pwszFileName; @@ -51,24 +81,26 @@ CRYPT_ATTR_BLOB sEncodedMemberInfo; } CRYPTCATMEMBER;
-typedef struct CRYPTCATATTRIBUTE_ -{ - DWORD cbStruct; - LPWSTR pwszReferenceTag; - DWORD dwAttrTypeAndAction; - DWORD cbValue; - BYTE *pbValue; - DWORD dwReserved; -}CRYPTCATATTRIBUTE; - -typedef struct CATALOG_INFO_ +typedef struct CATALOG_INFO_ { DWORD cbStruct; WCHAR wszCatalogFile[MAX_PATH]; } CATALOG_INFO;
+typedef struct CRYPTCATCDF_ +{ + DWORD cbStruct; + HANDLE hFile; + DWORD dwCurFilePos; + DWORD dwLastMemberOffset; + BOOL fEOF; + LPWSTR pwszResultDir; + HANDLE hCATStore; +} CRYPTCATCDF;
#include <poppack.h> + +typedef void (WINAPI *PFN_CDF_PARSE_ERROR_CALLBACK)(DWORD, DWORD, WCHAR *);
BOOL WINAPI CryptCATAdminAcquireContext(HCATADMIN*,const GUID*,DWORD); HCATINFO WINAPI CryptCATAdminAddCatalog(HCATADMIN,PWSTR,PWSTR,DWORD); @@ -77,13 +109,23 @@ BOOL WINAPI CryptCATAdminReleaseCatalogContext(HCATADMIN,HCATINFO,DWORD); BOOL WINAPI CryptCATAdminReleaseContext(HCATADMIN,DWORD); BOOL WINAPI CryptCATAdminRemoveCatalog(HCATADMIN,LPCWSTR,DWORD); -BOOL WINAPI CryptCATClose(HANDLE); -BOOL WINAPI CryptCATCatalogInfoFromContext(HCATINFO,CATALOG_INFO*,DWORD); - -CRYPTCATMEMBER* WINAPI CryptCATEnumerateMember(HANDLE,CRYPTCATMEMBER*); +BOOL WINAPI CryptCATAdminResolveCatalogPath(HCATADMIN, WCHAR *, CATALOG_INFO *, DWORD); +BOOL WINAPI CryptCATCatalogInfoFromContext(HCATINFO, CATALOG_INFO *, DWORD); +BOOL WINAPI CryptCATCDFClose(CRYPTCATCDF *); +CRYPTCATATTRIBUTE * WINAPI CryptCATCDFEnumCatAttributes(CRYPTCATCDF *, CRYPTCATATTRIBUTE *, + PFN_CDF_PARSE_ERROR_CALLBACK); +LPWSTR WINAPI CryptCATCDFEnumMembersByCDFTagEx(CRYPTCATCDF *, LPWSTR, + PFN_CDF_PARSE_ERROR_CALLBACK, + CRYPTCATMEMBER **, BOOL, LPVOID); +CRYPTCATCDF * WINAPI CryptCATCDFOpen(LPWSTR, PFN_CDF_PARSE_ERROR_CALLBACK); +BOOL WINAPI CryptCATClose(HANDLE); +CRYPTCATATTRIBUTE * WINAPI CryptCATEnumerateAttr(HANDLE, CRYPTCATMEMBER *, CRYPTCATATTRIBUTE *); +CRYPTCATATTRIBUTE * WINAPI CryptCATEnumerateCatAttr(HANDLE, CRYPTCATATTRIBUTE *); +CRYPTCATMEMBER * WINAPI CryptCATEnumerateMember(HANDLE,CRYPTCATMEMBER *); +CRYPTCATATTRIBUTE * WINAPI CryptCATGetAttrInfo(HANDLE, CRYPTCATMEMBER *, LPWSTR); +CRYPTCATATTRIBUTE * WINAPI CryptCATGetCatAttrInfo(HANDLE, LPWSTR); +CRYPTCATMEMBER * WINAPI CryptCATGetMemberInfo(HANDLE, LPWSTR); HANDLE WINAPI CryptCATOpen(LPWSTR,DWORD,HCRYPTPROV,DWORD,DWORD); -CRYPTCATATTRIBUTE* WINAPI CryptCATEnumerateAttr(HANDLE hCatalog, CRYPTCATMEMBER*,CRYPTCATATTRIBUTE*); -CRYPTCATATTRIBUTE* WINAPI CryptCATEnumerateCatAttr(HANDLE,CRYPTCATATTRIBUTE*);
#ifdef __cplusplus }