Christian Inci : crypt32: Fix CertStrToName' s CERT_NAME_STR_NO_QUOTING_FLAG usage.
Alexandre Julliard
julliard at winehq.org
Tue Apr 19 12:08:19 CDT 2011
Module: wine
Branch: master
Commit: 99f6894c6690d082a80c71673e1ab8e29793f2af
URL: http://source.winehq.org/git/wine.git/?a=commit;h=99f6894c6690d082a80c71673e1ab8e29793f2af
Author: Christian Inci <chris.pcguy.inci at gmail.com>
Date: Sun Apr 17 01:22:10 2011 +0200
crypt32: Fix CertStrToName's CERT_NAME_STR_NO_QUOTING_FLAG usage.
---
dlls/crypt32/str.c | 6 +++---
dlls/crypt32/tests/str.c | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/crypt32/str.c b/dlls/crypt32/str.c
index 24f7c55..7444575 100644
--- a/dlls/crypt32/str.c
+++ b/dlls/crypt32/str.c
@@ -971,7 +971,7 @@ static BOOL CRYPT_EncodeValue(DWORD dwCertEncodingType,
}
static BOOL CRYPT_ValueToRDN(DWORD dwCertEncodingType, PCERT_NAME_INFO info,
- PCCRYPT_OID_INFO keyOID, struct X500TokenW *value, LPCWSTR *ppszError)
+ PCCRYPT_OID_INFO keyOID, struct X500TokenW *value, DWORD dwStrType, LPCWSTR *ppszError)
{
BOOL ret = FALSE;
@@ -1005,7 +1005,7 @@ static BOOL CRYPT_ValueToRDN(DWORD dwCertEncodingType, PCERT_NAME_INFO info,
types = defaultTypes;
/* Remove surrounding quotes */
- if (value->start[0] == '"')
+ if (value->start[0] == '"' && !(dwStrType & CERT_NAME_STR_NO_QUOTING_FLAG))
{
value->start++;
value->end--;
@@ -1095,7 +1095,7 @@ BOOL WINAPI CertStrToNameW(DWORD dwCertEncodingType, LPCWSTR pszX500,
{
str = token.end;
ret = CRYPT_ValueToRDN(dwCertEncodingType, &info,
- keyOID, &token, ppszError);
+ keyOID, &token, dwStrType, ppszError);
}
}
}
diff --git a/dlls/crypt32/tests/str.c b/dlls/crypt32/tests/str.c
index 4d69e5c..cbfdf4d 100644
--- a/dlls/crypt32/tests/str.c
+++ b/dlls/crypt32/tests/str.c
@@ -828,7 +828,7 @@ static void test_CertStrToNameA(void)
"Expected ERROR_SUCCESS, got %08x\n", GetLastError());
ret = pCertStrToNameA(X509_ASN_ENCODING, "CN=\"abc\"", CERT_NAME_STR_NO_QUOTING_FLAG, NULL, buf,
&size, NULL);
- todo_wine ok(!ret && GetLastError() == ERROR_MORE_DATA,
+ ok(!ret && GetLastError() == ERROR_MORE_DATA,
"Expected ERROR_MORE_DATA, got %08x\n", GetLastError());
for (i = 0; i < sizeof(namesA) / sizeof(namesA[0]); i++)
{
More information about the wine-cvs
mailing list