wine/dlls/crypt32 cert.c crypt32.spec main.c

Alexandre Julliard julliard at wine.codeweavers.com
Mon Nov 28 14:11:47 CST 2005


ChangeSet ID:	21511
CVSROOT:	/opt/cvs-commit
Module name:	wine
Changes by:	julliard at winehq.org	2005/11/28 14:11:46

Modified files:
	dlls/crypt32   : cert.c crypt32.spec main.c 

Log message:
	Juan Lang <juan_lang at 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;



More information about the wine-cvs mailing list