From: Alistair Leslie-Hughes Subject: [PATCH] crypt32: Only report Unimplemented decoder when not found in externall dll Message-Id: Date: Sat, 28 Aug 2021 12:27:22 +1000 When using some applications, this can spam the console. 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 spam doesn't make sense. Another option is to make them a WARN but then it wont be obvious there is something missing. Signed-off-by: Alistair Leslie-Hughes --- 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 d2c3b2e9a3d..b06e04466b5 100644 --- a/dlls/crypt32/decode.c +++ b/dlls/crypt32/decode.c @@ -6299,7 +6299,7 @@ static CryptDecodeObjectExFunc CRYPT_GetBuiltinDecoder(DWORD dwCertEncodingType, decodeFunc = CRYPT_AsnDecodeRsaPubKey_Bcrypt; break; default: - FIXME("Unimplemented decoder for lpszStructType OID %d\n", LOWORD(lpszStructType)); + return NULL; } } else if (!strcmp(lpszStructType, szOID_CERT_EXTENSIONS)) @@ -6356,8 +6356,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; } @@ -6435,6 +6433,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, -- 2.32.0