[PATCH 0/1] MR10529: crypt32: Also accept CERT_CHAIN_ENGINE_CONFIG without dwExclusiveFlags.
From: Hans Leidekker <hans@codeweavers.com> Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=59600 --- dlls/crypt32/chain.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/dlls/crypt32/chain.c b/dlls/crypt32/chain.c index cb9d0c7acb3..f3c97c3588f 100644 --- a/dlls/crypt32/chain.c +++ b/dlls/crypt32/chain.c @@ -221,6 +221,22 @@ typedef struct _CERT_CHAIN_ENGINE_CONFIG_NO_EXCLUSIVE_ROOT DWORD CycleDetectionModulus; } CERT_CHAIN_ENGINE_CONFIG_NO_EXCLUSIVE_ROOT; +typedef struct _CERT_CHAIN_ENGINE_CONFIG_NO_EXCLUSIVE_FLAGS +{ + DWORD cbSize; + HCERTSTORE hRestrictedRoot; + HCERTSTORE hRestrictedTrust; + HCERTSTORE hRestrictedOther; + DWORD cAdditionalStore; + HCERTSTORE *rghAdditionalStore; + DWORD dwFlags; + DWORD dwUrlRetrievalTimeout; + DWORD MaximumCachedCertificates; + DWORD CycleDetectionModulus; + HCERTSTORE hExclusiveRoot; + HCERTSTORE hExclusiveTrustedPeople; +} CERT_CHAIN_ENGINE_CONFIG_NO_EXCLUSIVE_FLAGS; + BOOL WINAPI CertCreateCertificateChainEngine(PCERT_CHAIN_ENGINE_CONFIG pConfig, HCERTCHAINENGINE *phChainEngine) { @@ -236,8 +252,9 @@ BOOL WINAPI CertCreateCertificateChainEngine(PCERT_CHAIN_ENGINE_CONFIG pConfig, TRACE("dwUrlRetrievalTimeout %lu\n", pConfig->dwUrlRetrievalTimeout); TRACE("MaximumCachedCertificates %lu\n", pConfig->MaximumCachedCertificates); TRACE("CycleDetectionModulus %lu\n", pConfig->CycleDetectionModulus); - if (pConfig->cbSize != sizeof(CERT_CHAIN_ENGINE_CONFIG_NO_EXCLUSIVE_ROOT) - && pConfig->cbSize != sizeof(CERT_CHAIN_ENGINE_CONFIG)) + if (pConfig->cbSize != sizeof(CERT_CHAIN_ENGINE_CONFIG_NO_EXCLUSIVE_ROOT) && + pConfig->cbSize != sizeof(CERT_CHAIN_ENGINE_CONFIG_NO_EXCLUSIVE_FLAGS) && + pConfig->cbSize != sizeof(CERT_CHAIN_ENGINE_CONFIG)) { SetLastError(E_INVALIDARG); return FALSE; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10529
participants (2)
-
Hans Leidekker -
Hans Leidekker (@hans)