Paul Vriens : secur32/tests: Run tests on win95 again.
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Aug 16 05:38:27 CDT 2007
Module: wine
Branch: master
Commit: 22e48388d563cb4ee3e66603982e9aa9c0a5ff4c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=22e48388d563cb4ee3e66603982e9aa9c0a5ff4c
Author: Paul Vriens <paul.vriens.wine at 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);
More information about the wine-cvs
mailing list