Author: winesync Date: Tue Jul 11 01:25:32 2006 New Revision: 23006
URL: http://svn.reactos.org/svn/reactos?rev=23006&view=rev Log: Autosyncing with Wine HEAD
Modified: trunk/reactos/dll/win32/crypt32/cert.c trunk/reactos/dll/win32/crypt32/protectdata.c
Modified: trunk/reactos/dll/win32/crypt32/cert.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/crypt32/cert.c?re... ============================================================================== --- trunk/reactos/dll/win32/crypt32/cert.c (original) +++ trunk/reactos/dll/win32/crypt32/cert.c Tue Jul 11 01:25:32 2006 @@ -731,12 +731,16 @@ } if (*pdwFlags & CERT_STORE_REVOCATION_FLAG) { - PCCRL_CONTEXT crl = CertFindCRLInStore(pSubject->hCertStore, - pSubject->dwCertEncodingType, 0, CRL_FIND_ISSUED_BY, pSubject, NULL); - + DWORD flags = 0; + PCCRL_CONTEXT crl = CertGetCRLFromStore(pSubject->hCertStore, pSubject, + NULL, &flags); + + /* FIXME: what if the CRL has expired? */ if (crl) { - FIXME("check CRL for subject\n"); + if (CertVerifyCRLRevocation(pSubject->dwCertEncodingType, + pSubject->pCertInfo, 1, (PCRL_INFO *)&crl->pCrlInfo)) + *pdwFlags &= CERT_STORE_REVOCATION_FLAG; } else *pdwFlags |= CERT_STORE_NO_CRL_FLAG;
Modified: trunk/reactos/dll/win32/crypt32/protectdata.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/crypt32/protectda... ============================================================================== --- trunk/reactos/dll/win32/crypt32/protectdata.c (original) +++ trunk/reactos/dll/win32/crypt32/protectdata.c Tue Jul 11 01:25:32 2006 @@ -107,7 +107,7 @@ };
/* this is used to check if an incoming structure was built by Wine */ -static const char * crypt_magic_str = "Wine Crypt32 ok"; +static const char crypt_magic_str[] = "Wine Crypt32 ok";
/* debugging tool to print strings of hex chars */ static const char * @@ -835,8 +835,8 @@ DWORD dwFlags, DATA_BLOB* pDataOut) { + static const WCHAR empty_str[1]; BOOL rc = FALSE; - HCRYPTPROV hProv; struct protect_data_t protect_data; HCRYPTHASH hHash; @@ -861,7 +861,7 @@ /* Windows appears to create an empty szDataDescr instead of maintaining * a NULL */ if (!szDataDescr) - szDataDescr=(WCHAR[]){'\0'}; + szDataDescr = empty_str;
/* get crypt context */ if (!CryptAcquireContextW(&hProv,NULL,NULL,CRYPT32_PROTECTDATA_PROV,CRYPT_VERIFYCONTEXT))