Module: wine Branch: master Commit: 42bd5ea4c4c4c42af872b5a6a12e6109fc3e2ddf URL: https://gitlab.winehq.org/wine/wine/-/commit/42bd5ea4c4c4c42af872b5a6a12e610...
Author: Alistair Leslie-Hughes leslie_alistair@hotmail.com Date: Sat Aug 28 12:22:30 2021 +1000
crypt32: Only report Unimplemented decoder when not found in external dll.
Some applications spam this fixme. fixme:cryptasn:CRYPT_GetBuiltinDecoder Unsupported decoder for lpszStructType 1.3.6.1.4.1.311.2.1.4
This OID is supported in wintrust.dll which crypt32 uses, so this console fixme doesn't make sense. The fixme will only appear if no support for the requested decoder is available.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53800 Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com
---
dlls/crypt32/decode.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/dlls/crypt32/decode.c b/dlls/crypt32/decode.c index 22e15360cf3..b834c9828b6 100644 --- a/dlls/crypt32/decode.c +++ b/dlls/crypt32/decode.c @@ -6805,7 +6805,7 @@ static CryptDecodeObjectExFunc CRYPT_GetBuiltinDecoder(DWORD dwCertEncodingType, decodeFunc = CRYPT_AsnDecodeOCSPBasicResponse; break; default: - FIXME("Unimplemented decoder for lpszStructType OID %d\n", LOWORD(lpszStructType)); + break; } } else if (!strcmp(lpszStructType, szOID_CERT_EXTENSIONS)) @@ -6862,8 +6862,6 @@ static CryptDecodeObjectExFunc CRYPT_GetBuiltinDecoder(DWORD dwCertEncodingType, decodeFunc = CRYPT_AsnDecodeCTL; else if (!strcmp(lpszStructType, szOID_ECC_PUBLIC_KEY)) decodeFunc = CRYPT_AsnDecodeObjectIdentifier; - else - FIXME("Unsupported decoder for lpszStructType %s\n", lpszStructType); return decodeFunc; }
@@ -6942,6 +6940,13 @@ BOOL WINAPI CryptDecodeObjectEx(DWORD dwCertEncodingType, LPCSTR lpszStructType, debugstr_a(lpszStructType)); decodeFunc = CRYPT_LoadDecoderExFunc(dwCertEncodingType, lpszStructType, &hFunc); + if (!decodeFunc) + { + if (IS_INTOID(lpszStructType)) + FIXME("Unimplemented decoder for lpszStructType OID %d\n", LOWORD(lpszStructType)); + else + FIXME("Unsupported decoder for lpszStructType %s\n", lpszStructType); + } } if (decodeFunc) ret = decodeFunc(dwCertEncodingType, lpszStructType, pbEncoded,