Hello,

After retrying, I tried the same function arguments that msn messenger
7.5 passes to advapi32. It seems that function _is_ allowed to define
the flags CRYPT_NEWKEYSET and CRYPT_VERIFYCONTEXT at the same time.

I tried the same flags for advapi32 crosstest 'crypt' in linux and windows.

Linux:
$ wine advapi32_crosstest.exe crypt
crypt.c:198: Test failed: 0/80090009

windows 2000:
Test didn't fail.

Patch attached.
Note that second parameter must be NULL for this call to succeed.

Maarten
diff --git a/dlls/advapi32/tests/crypt.c b/dlls/advapi32/tests/crypt.c
index def6c82..d2f53af 100644
--- a/dlls/advapi32/tests/crypt.c
+++ b/dlls/advapi32/tests/crypt.c
@@ -193,6 +193,17 @@ static void test_acquire_context(void)
 	if (hProv) 
 		pCryptReleaseContext(hProv, 0);
 
+	SetLastError(0xdeadbeef);
+	result = pCryptAcquireContextA(&hProv, NULL, szRsaBaseProv, PROV_RSA_FULL, CRYPT_NEWKEYSET|CRYPT_VERIFYCONTEXT);
+	GLE = GetLastError();
+	ok(result && (GLE == ERROR_ENVVAR_NOT_FOUND   || 
+		      GLE == ERROR_SUCCESS            || 
+		      GLE == ERROR_RING2_STACK_IN_USE || 
+		      GLE == NTE_FAIL                 ||
+		      GLE == ERROR_NOT_LOGGED_ON), "%d/%08x\n", result, GLE);
+	if (hProv) 
+		pCryptReleaseContext(hProv, 0);
+
 	/* Try again, witch an empty ("\0") szProvider parameter */
 	hProv = 0;
 	SetLastError(0xdeadbeef);

Attachment: signature.asc
Description: OpenPGP digital signature



Reply via email to