ChangeSet ID: 21511 CVSROOT: /opt/cvs-commit Module name: wine Changes by: julliard@winehq.org 2005/11/28 14:11:46
Modified files: dlls/crypt32 : cert.c crypt32.spec main.c
Log message: Juan Lang juan_lang@yahoo.com Fix parameter count on some stubs (thanks to Marcus Meissner for spotting that.) Add a few more stubs.
Patch: http://cvs.winehq.org/patch.py?id=21511
Old revision New revision Changes Path 1.22 1.23 +1 -1 wine/dlls/crypt32/cert.c 1.32 1.33 +7 -7 wine/dlls/crypt32/crypt32.spec 1.26 1.27 +51 -13 wine/dlls/crypt32/main.c
Index: wine/dlls/crypt32/cert.c diff -u -p wine/dlls/crypt32/cert.c:1.22 wine/dlls/crypt32/cert.c:1.23 --- wine/dlls/crypt32/cert.c:1.22 28 Nov 2005 20:11:46 -0000 +++ wine/dlls/crypt32/cert.c 28 Nov 2005 20:11:46 -0000 @@ -3288,7 +3288,7 @@ BOOL WINAPI CryptVerifyCertificateSignat HCRYPTOIDFUNCSET WINAPI CryptInitOIDFunctionSet(LPCSTR pszFuncName, DWORD dwFlags) { FIXME("stub: %s %lx\n", debugstr_a(pszFuncName), dwFlags); - return NULL; + return (HCRYPTOIDFUNCSET)0xbaadf00d; }
BOOL WINAPI CryptUnregisterDefaultOIDFunction(DWORD dwEncodingType, Index: wine/dlls/crypt32/crypt32.spec diff -u -p wine/dlls/crypt32/crypt32.spec:1.32 wine/dlls/crypt32/crypt32.spec:1.33 --- wine/dlls/crypt32/crypt32.spec:1.32 28 Nov 2005 20:11:46 -0000 +++ wine/dlls/crypt32/crypt32.spec 28 Nov 2005 20:11:46 -0000 @@ -104,11 +104,11 @@ @ stub CryptFormatObject @ stub CryptFreeOIDFunctionAddress @ stub CryptGetAsyncParam -@ stub CryptGetDefaultOIDDllList +@ stdcall CryptGetDefaultOIDDllList(long long ptr ptr) @ stub CryptGetDefaultOIDFunctionAddress @ stub CryptGetMessageCertificates @ stub CryptGetMessageSignerCount -@ stub CryptGetOIDFunctionAddress +@ stdcall CryptGetOIDFunctionAddress(long long str long ptr ptr) @ stdcall CryptGetOIDFunctionValue(long str str wstr ptr ptr ptr) @ stdcall CryptHashCertificate(long long long ptr long ptr ptr) @ stub CryptHashMessage @@ -118,7 +118,7 @@ @ stdcall CryptImportPublicKeyInfo(long long ptr ptr) @ stdcall CryptImportPublicKeyInfoEx(long long ptr long long ptr ptr) @ stdcall CryptInitOIDFunctionSet(str long) -@ stub CryptInstallOIDFunctionAddress +@ stdcall CryptInstallOIDFunctionAddress(ptr long str long ptr long) @ stub CryptLoadSip @ stdcall CryptMemAlloc(long) @ stdcall CryptMemFree(ptr) @@ -166,12 +166,12 @@ @ stub CryptVerifyMessageSignatureWithKey @ stub CryptVerifySignatureU @ stdcall I_CryptAllocTls() -@ stdcall I_CryptCreateLruCache(long long) +@ stdcall I_CryptCreateLruCache(ptr ptr) @ stub I_CryptCreateLruEntry @ stdcall I_CryptDetachTls(long) -@ stdcall I_CryptFindLruEntryData(long) -@ stdcall I_CryptFlushLruCache(long) -@ stdcall I_CryptFreeLruCache(long) +@ stdcall I_CryptFindLruEntryData(long long long) +@ stdcall I_CryptFlushLruCache(ptr long long) +@ stdcall I_CryptFreeLruCache(ptr long long) @ stdcall I_CryptFreeTls(long long) @ stub I_CryptGetDefaultCryptProv @ stub I_CryptGetDefaultCryptProvForEncrypt Index: wine/dlls/crypt32/main.c diff -u -p wine/dlls/crypt32/main.c:1.26 wine/dlls/crypt32/main.c:1.27 --- wine/dlls/crypt32/main.c:1.26 28 Nov 2005 20:11:46 -0000 +++ wine/dlls/crypt32/main.c 28 Nov 2005 20:11:46 -0000 @@ -53,30 +53,37 @@ HCRYPTPROV CRYPT_GetDefaultProvider(void return hDefProv; }
-/* this function is called by Internet Explorer when it is about to verify a downloaded component */ -BOOL WINAPI I_CryptCreateLruCache(DWORD x, DWORD y) +typedef void * HLRUCACHE; + +/* this function is called by Internet Explorer when it is about to verify a + * downloaded component. The first parameter appears to be a pointer to an + * unknown type, native fails unless it points to a buffer of at least 20 bytes. + * The second parameter appears to be an out parameter, whatever it's set to is + * passed (by cryptnet.dll) to I_CryptFlushLruCache. + */ +BOOL WINAPI I_CryptCreateLruCache(void *unknown, HLRUCACHE *out) { - FIXME("stub!\n"); - return FALSE; + FIXME("(%p, %p): stub!\n", unknown, out); + *out = (void *)0xbaadf00d; + return TRUE; }
-/* these functions all have an unknown number of args */ -BOOL WINAPI I_CryptFindLruEntryData(DWORD x) +BOOL WINAPI I_CryptFindLruEntryData(DWORD unk0, DWORD unk1, DWORD unk2) { - FIXME("stub!\n"); + FIXME("(%08lx, %08lx, %08lx): stub!\n", unk0, unk1, unk2); return FALSE; }
-BOOL WINAPI I_CryptFlushLruCache(DWORD x) +DWORD WINAPI I_CryptFlushLruCache(HLRUCACHE h, DWORD unk0, DWORD unk1) { - FIXME("stub!\n"); - return FALSE; + FIXME("(%p, %08lx, %08lx): stub!\n", h, unk0, unk1); + return 0; }
-BOOL WINAPI I_CryptFreeLruCache(DWORD x) +HLRUCACHE WINAPI I_CryptFreeLruCache(HLRUCACHE h, DWORD unk0, DWORD unk1) { - FIXME("stub!\n"); - return FALSE; + FIXME("(%p, %08lx, %08lx): stub!\n", h, unk0, unk1); + return h; }
BOOL WINAPI CryptSIPRemoveProvider(GUID *pgProv) @@ -215,6 +222,37 @@ BOOL WINAPI CryptRegisterDefaultOIDFunct return FALSE; }
+BOOL WINAPI CryptInstallOIDFunctionAddress(HMODULE hModule, + DWORD dwEncodingType, LPCSTR pszFuncName, DWORD cFuncEntry, + const CRYPT_OID_FUNC_ENTRY rgFuncEntry[], DWORD dwFlags) +{ + FIXME("(%p, %ld, %s, %ld, %p, %08lx): stub\n", hModule, dwEncodingType, + debugstr_a(pszFuncName), cFuncEntry, rgFuncEntry, dwFlags); + return TRUE; +} + +BOOL WINAPI CryptGetOIDFunctionAddress(HCRYPTOIDFUNCSET hFuncSet, + DWORD dwEncodingType, LPCSTR pszOID, DWORD dwFlags, void **ppvFuncAddr, + HCRYPTOIDFUNCADDR *phFuncAddr) +{ + FIXME("(%p, %ld, %s, %08lx, %p, %p): stub\n", hFuncSet, dwEncodingType, + debugstr_a(pszOID), dwFlags, ppvFuncAddr, phFuncAddr); + return FALSE; +} + +BOOL WINAPI CryptGetDefaultOIDDllList(HCRYPTOIDFUNCSET hFuncSet, + DWORD dwEncodingType, LPWSTR pwszDllList, DWORD *pcchDllList) +{ + FIXME("(%p, %ld, %p, %p): stub\n", hFuncSet, dwEncodingType, pwszDllList, + pcchDllList); + + if (*pcchDllList) + *pwszDllList = '\0'; + *pcchDllList = 1; + + return TRUE; +} + struct OIDToAlgID { LPCSTR oid;