From 08ad4107613a980f533f4784a204469fb7f0bd55 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Mon, 10 Oct 2022 22:28:15 -0500 Subject: [PATCH] secur32-InitializeSecurityContext: Remove patch set. Fixed upstream by c1993458ac. --- patches/patchinstall.sh | 16 ----- ...rameter-should-be-NULL-on-first-call.patch | 69 ------------------- .../definition | 1 - 3 files changed, 86 deletions(-) delete mode 100644 patches/secur32-InitializeSecurityContextW/0001-secur32-Input-Parameter-should-be-NULL-on-first-call.patch delete mode 100644 patches/secur32-InitializeSecurityContextW/definition diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 32028cd6..bb1d4dfe 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -163,7 +163,6 @@ patch_enable_all () enable_riched20_IText_Interface="$1" enable_sapi_ISpObjectToken_CreateInstance="$1" enable_sapi_iteration_tokens="$1" - enable_secur32_InitializeSecurityContextW="$1" enable_server_File_Permissions="$1" enable_server_PeekMessage="$1" enable_server_Realtime_Priority="$1" @@ -508,9 +507,6 @@ patch_enable () sapi-iteration-tokens) enable_sapi_iteration_tokens="$2" ;; - secur32-InitializeSecurityContextW) - enable_secur32_InitializeSecurityContextW="$2" - ;; server-File_Permissions) enable_server_File_Permissions="$2" ;; @@ -2558,18 +2554,6 @@ if test "$enable_sapi_iteration_tokens" -eq 1; then patch_apply sapi-iteration-tokens/0009-sapi-Return-dump-object-in-ISpObjectTokenEnumBuilder.patch fi -# Patchset secur32-InitializeSecurityContextW -# | -# | This patchset fixes the following Wine bugs: -# | * [#51049] Create a new Context when the input object is NULL. -# | -# | Modified files: -# | * dlls/secur32/schannel.c, dlls/secur32/tests/schannel.c -# | -if test "$enable_secur32_InitializeSecurityContextW" -eq 1; then - patch_apply secur32-InitializeSecurityContextW/0001-secur32-Input-Parameter-should-be-NULL-on-first-call.patch -fi - # Patchset server-File_Permissions # | # | This patchset has the following (direct or indirect) dependencies: diff --git a/patches/secur32-InitializeSecurityContextW/0001-secur32-Input-Parameter-should-be-NULL-on-first-call.patch b/patches/secur32-InitializeSecurityContextW/0001-secur32-Input-Parameter-should-be-NULL-on-first-call.patch deleted file mode 100644 index 360fafbf..00000000 --- a/patches/secur32-InitializeSecurityContextW/0001-secur32-Input-Parameter-should-be-NULL-on-first-call.patch +++ /dev/null @@ -1,69 +0,0 @@ -From dff5b9a65fdc1f188150d20dc5af8b5772368d13 Mon Sep 17 00:00:00 2001 -From: Alistair Leslie-Hughes -Date: Wed, 21 Apr 2021 21:06:55 +1000 -Subject: [PATCH] secur32: Input Parameter should be NULL on first call to - InitializeSecurityContextW. - -This fixes a crash in "Sea of Thieves". - -Signed-off-by: Alistair Leslie-Hughes ---- - dlls/secur32/schannel.c | 2 +- - dlls/secur32/tests/schannel.c | 21 ++++++++++++++++++++- - 2 files changed, 21 insertions(+), 2 deletions(-) - -diff --git a/dlls/secur32/schannel.c b/dlls/secur32/schannel.c -index 4699f79ac1f..8a69d01e1f5 100644 ---- a/dlls/secur32/schannel.c -+++ b/dlls/secur32/schannel.c -@@ -815,7 +815,7 @@ static SECURITY_STATUS SEC_ENTRY schan_InitializeSecurityContextW( - return SEC_E_INSUFFICIENT_MEMORY; - } - -- if (!phContext) -+ if (!phContext || (phNewContext && !pInput)) - { - ULONG_PTR handle; - struct create_session_params create_params; -diff --git a/dlls/secur32/tests/schannel.c b/dlls/secur32/tests/schannel.c -index 25ae197bca6..232f7619f48 100644 ---- a/dlls/secur32/tests/schannel.c -+++ b/dlls/secur32/tests/schannel.c -@@ -1464,7 +1464,7 @@ static void test_communication(void) - status = InitializeSecurityContextA(&cred_handle, &context, (SEC_CHAR *)"localhost", - ISC_REQ_CONFIDENTIALITY|ISC_REQ_STREAM, - 0, 0, NULL, 0, &context, &buffers[0], &attrs, NULL); -- todo_wine ok(status == SEC_I_CONTINUE_NEEDED, "Expected SEC_I_CONTINUE_NEEDED, got %08lx\n", status); -+ ok(status == SEC_I_CONTINUE_NEEDED, "Expected SEC_I_CONTINUE_NEEDED, got %08lx\n", status); - if (status != SEC_I_CONTINUE_NEEDED) - { - skip("skipping remaining renegotiate test\n"); -@@ -1508,6 +1508,25 @@ static void test_communication(void) - } - ok (status == SEC_E_CERT_EXPIRED, "got %08lx\n", status); - -+ buf = &buffers[0].pBuffers[0]; -+ buf->cbBuffer = buf_size; -+ data_size = receive_data(sock, buf); -+ -+ buffers[0].pBuffers[0].cbBuffer = data_size; -+ buffers[0].pBuffers[0].BufferType = SECBUFFER_DATA; -+ buffers[0].pBuffers[1].BufferType = SECBUFFER_EMPTY; -+ status = DecryptMessage(&context, &buffers[0], 0, NULL); -+ todo_wine ok(status == SEC_E_OK, "DecryptMessage failed: %08lx\n", status); -+ if (status == SEC_E_OK) -+ { -+ ok(buffers[0].pBuffers[0].BufferType == SECBUFFER_STREAM_HEADER, "Expected first buffer to be SECBUFFER_STREAM_HEADER\n"); -+ ok(buffers[0].pBuffers[1].BufferType == SECBUFFER_DATA, "Expected second buffer to be SECBUFFER_DATA\n"); -+ ok(buffers[0].pBuffers[2].BufferType == SECBUFFER_STREAM_TRAILER, "Expected third buffer to be SECBUFFER_STREAM_TRAILER\n"); -+ -+ data = buffers[0].pBuffers[1].pvBuffer; -+ data[buffers[0].pBuffers[1].cbBuffer] = 0; -+ } -+ - done: - DeleteSecurityContext(&context); - FreeCredentialsHandle(&cred_handle); --- -2.35.1 - diff --git a/patches/secur32-InitializeSecurityContextW/definition b/patches/secur32-InitializeSecurityContextW/definition deleted file mode 100644 index 389fa9b2..00000000 --- a/patches/secur32-InitializeSecurityContextW/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: [51049] Create a new Context when the input object is NULL.