Module: wine Branch: master Commit: 22e48388d563cb4ee3e66603982e9aa9c0a5ff4c URL: http://source.winehq.org/git/wine.git/?a=commit;h=22e48388d563cb4ee3e6660398...
Author: Paul Vriens paul.vriens.wine@gmail.com Date: Wed Aug 15 13:33:47 2007 +0200
secur32/tests: Run tests on win95 again.
---
dlls/secur32/tests/schannel.c | 16 ++++++++++++---- 1 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/dlls/secur32/tests/schannel.c b/dlls/secur32/tests/schannel.c index b71040a..785ad26 100644 --- a/dlls/secur32/tests/schannel.c +++ b/dlls/secur32/tests/schannel.c @@ -32,6 +32,8 @@ static SECURITY_STATUS (SEC_ENTRY * pAcquireCredentialsHandleA)(SEC_CHAR*, SEC_C ULONG, PLUID, PVOID, SEC_GET_KEY_FN, PVOID, PCredHandle, PTimeStamp); static SECURITY_STATUS (SEC_ENTRY * pFreeCredentialsHandle)(PCredHandle);
+static BOOL (WINAPI * pCryptAcquireContextW)(HCRYPTPROV*, LPCWSTR, LPCWSTR, DWORD, DWORD); + static const BYTE bigCert[] = { 0x30, 0x7a, 0x02, 0x01, 0x01, 0x30, 0x02, 0x06, 0x00, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0a, 0x4a, 0x75, 0x61, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x00, 0x30, 0x22, @@ -97,6 +99,8 @@ static const BYTE selfSignedCert[] = {
static void InitFunctionPtrs(void) { + HMODULE advapi32dll = GetModuleHandleA("advapi32.dll"); + secdll = LoadLibraryA("secur32.dll"); if(!secdll) secdll = LoadLibraryA("security.dll"); @@ -105,6 +109,8 @@ static void InitFunctionPtrs(void) pAcquireCredentialsHandleA = (PVOID)GetProcAddress(secdll, "AcquireCredentialsHandleA"); pFreeCredentialsHandle = (PVOID)GetProcAddress(secdll, "FreeCredentialsHandle"); } + + pCryptAcquireContextW = (void *)GetProcAddress(advapi32dll, "CryptAcquireContextW"); }
static void testAcquireSecurityContext(void) @@ -136,7 +142,7 @@ static void testAcquireSecurityContext(void) certs[1] = CertCreateCertificateContext(X509_ASN_ENCODING, selfSignedCert, sizeof(selfSignedCert));
- CryptAcquireContextW(&csp, cspNameW, MS_DEF_PROV_W, PROV_RSA_FULL, + pCryptAcquireContextW(&csp, cspNameW, MS_DEF_PROV_W, PROV_RSA_FULL, CRYPT_DELETEKEYSET);
st = pAcquireCredentialsHandleA(NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, @@ -253,7 +259,7 @@ static void testAcquireSecurityContext(void) ok(st == SEC_E_UNKNOWN_CREDENTIALS, "Expected SEC_E_UNKNOWN_CREDENTIALS, got %08x\n", st);
- ret = CryptAcquireContextW(&csp, cspNameW, MS_DEF_PROV_W, PROV_RSA_FULL, + ret = pCryptAcquireContextW(&csp, cspNameW, MS_DEF_PROV_W, PROV_RSA_FULL, CRYPT_NEWKEYSET); ok(ret, "CryptAcquireContextW failed: %08x\n", GetLastError()); ret = CryptImportKey(csp, privKey, sizeof(privKey), 0, 0, &key); @@ -336,7 +342,7 @@ static void testAcquireSecurityContext(void) }
CryptReleaseContext(csp, 0); - CryptAcquireContextW(&csp, cspNameW, MS_DEF_PROV_W, PROV_RSA_FULL, + pCryptAcquireContextW(&csp, cspNameW, MS_DEF_PROV_W, PROV_RSA_FULL, CRYPT_DELETEKEYSET);
CertFreeCertificateContext(certs[0]); @@ -347,8 +353,10 @@ START_TEST(schannel) { InitFunctionPtrs();
- if (pAcquireCredentialsHandleA && pFreeCredentialsHandle) + if (pAcquireCredentialsHandleA && pFreeCredentialsHandle && pCryptAcquireContextW) testAcquireSecurityContext(); + else + skip("Needed functions are not available\n");
if(secdll) FreeLibrary(secdll);