From 99376ea7790463a4934c04ccfb17120c9a14cb01 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Tue, 19 Aug 2008 17:50:53 +0200 Subject: [PATCH 3/3] secur32: Reserved3 / Reserved4 are actually EncryptMessage / DecryptMessage Apparently this setup was due to US encryption export restrictions. --- dlls/secur32/secur32.c | 8 ++++---- dlls/secur32/tests/secur32.c | 12 ++++-------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/dlls/secur32/secur32.c b/dlls/secur32/secur32.c index 8b3c2bb..d552e13 100644 --- a/dlls/secur32/secur32.c +++ b/dlls/secur32/secur32.c @@ -104,8 +104,8 @@ static SecurityFunctionTableA securityFunctionTableA = { VerifySignature, FreeContextBuffer, QuerySecurityPackageInfoA, - NULL, /* Reserved3 */ - NULL, /* Reserved4 */ + EncryptMessage, /* Reserved3 */ + DecryptMessage, /* Reserved4 */ ExportSecurityContext, ImportSecurityContextA, AddCredentialsA, @@ -135,8 +135,8 @@ static SecurityFunctionTableW securityFunctionTableW = { VerifySignature, FreeContextBuffer, QuerySecurityPackageInfoW, - NULL, /* Reserved3 */ - NULL, /* Reserved4 */ + EncryptMessage, /* Reserved3 */ + DecryptMessage, /* Reserved4 */ ExportSecurityContext, ImportSecurityContextW, AddCredentialsW, diff --git a/dlls/secur32/tests/secur32.c b/dlls/secur32/tests/secur32.c index 43704a9..955d7bf 100644 --- a/dlls/secur32/tests/secur32.c +++ b/dlls/secur32/tests/secur32.c @@ -99,10 +99,8 @@ static void test_InitSecurityInterface(void) ok(sftA != NULL, "pInitSecurityInterfaceA failed\n"); ok(sftA->dwVersion == SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION, "wrong dwVersion %ld in security function table\n", sftA->dwVersion); ok(!sftA->Reserved2, "Reserved2 should be NULL instead of %p in security function table\n", sftA->Reserved2); - todo_wine - ok(sftA->Reserved3 != NULL, "Reserved3 should not be NULL in security function table\n"); - todo_wine - ok(sftA->Reserved4 != NULL, "Reserved4 should not be NULL in security function table\n"); + ok(sftA->Reserved3 == sftA->EncryptMessage, "Reserved3 should be equal to EncryptMessage in the security function table\n"); + ok(sftA->Reserved4 == sftA->DecryptMessage, "Reserved4 should be equal to DecryptMessage in the security function table\n"); if (!pInitSecurityInterfaceW) { @@ -114,10 +112,8 @@ static void test_InitSecurityInterface(void) ok(sftW != NULL, "pInitSecurityInterfaceW failed\n"); ok(sftW->dwVersion == SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION, "wrong dwVersion %ld in security function table\n", sftW->dwVersion); ok(!sftW->Reserved2, "Reserved2 should be NULL instead of %p in security function table\n", sftW->Reserved2); - todo_wine - ok(sftW->Reserved3 != NULL, "Reserved3 should note be NULL in security function table\n"); - todo_wine - ok(sftW->Reserved4 != NULL, "Reserved4 should not be NULL in security function table\n"); + ok(sftW->Reserved3 == sftW->EncryptMessage, "Reserved3 should be equal to EncryptMessage in the security function table\n"); + ok(sftW->Reserved4 == sftW->DecryptMessage, "Reserved4 should be equal to DecryptMessage in the security function table\n"); } START_TEST(secur32) -- 1.5.6.4