From 427b3fbd5d8127ede4b2e7bce19de724d68c0624 Mon Sep 17 00:00:00 2001 From: Juan Lang Date: Thu, 14 Aug 2008 17:19:19 -0700 Subject: [PATCH] crypt32: Allow messages to be opened when compiled with CMSG_SIGNER_ENCODE_INFO_HAS_CMS_FIELDS if CMS fields aren't actually used. --- dlls/crypt32/msg.c | 18 +++++++++++++----- dlls/crypt32/tests/msg.c | 1 + 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/dlls/crypt32/msg.c b/dlls/crypt32/msg.c index 63121fdd482..6e7840981a3 100644 --- a/dlls/crypt32/msg.c +++ b/dlls/crypt32/msg.c @@ -632,11 +632,6 @@ static BOOL CRYPT_IsValidSigner(CMSG_SIGNER_ENCODE_INFO_WITH_CMS *signer) SetLastError(E_INVALIDARG); return FALSE; } - if (signer->cbSize == sizeof(CMSG_SIGNER_ENCODE_INFO_WITH_CMS)) - { - FIXME("CMSG_SIGNER_ENCODE_INFO with CMS fields unsupported\n"); - return FALSE; - } if (!signer->pCertInfo->SerialNumber.cbData) { SetLastError(E_INVALIDARG); @@ -657,6 +652,19 @@ static BOOL CRYPT_IsValidSigner(CMSG_SIGNER_ENCODE_INFO_WITH_CMS *signer) SetLastError(CRYPT_E_UNKNOWN_ALGO); return FALSE; } + if (signer->cbSize == sizeof(CMSG_SIGNER_ENCODE_INFO_WITH_CMS)) + { + if (signer->SignerId.dwIdChoice) + { + FIXME("CMSG_SIGNER_ENCODE_INFO with CMS fields unsupported\n"); + return FALSE; + } + if (signer->HashEncryptionAlgorithm.pszObjId) + { + FIXME("CMSG_SIGNER_ENCODE_INFO with CMS fields unsupported\n"); + return FALSE; + } + } return TRUE; } diff --git a/dlls/crypt32/tests/msg.c b/dlls/crypt32/tests/msg.c index 0f7dcb6860d..b8c40f968f0 100644 --- a/dlls/crypt32/tests/msg.c +++ b/dlls/crypt32/tests/msg.c @@ -23,6 +23,7 @@ #include #include #include +#define CMSG_SIGNER_ENCODE_INFO_HAS_CMS_FIELDS #include #include "wine/test.h" -- 2.11.4.GIT