From b2e3fd1e691b1dc82aaaf4150461db97bd5acf4a Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 10 Jul 2020 15:43:32 +0200 Subject: Fix #63527: DCOM does not work with Username, Password parameter We must not mix multibyte and wide character strings in the `COAUTHIDENTITY` structure. Using wide character strings throughout would have the advantage that the remote connection can be established regardless of the code page of the server, but that would more likely break BC, so we just drop the wide character string conversion of the username. --- NEWS | 4 +++- ext/com_dotnet/com_com.c | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 0aa1b695b5..3f1d6bd39c 100644 --- a/NEWS +++ b/NEWS @@ -14,7 +14,9 @@ PHP NEWS - COM: . Fixed bug #63208 (BSTR to PHP string conversion not binary safe). (cmb) - + . Fixed bug #63527 (DCOM does not work with Username, Password parameter). + (cmb) + - Curl: . Fixed bug #79741 (curl_setopt CURLOPT_POSTFIELDS asserts on object with declared properties). (Nikita) diff --git a/ext/com_dotnet/com_com.c b/ext/com_dotnet/com_com.c index eb79ed76ff..2eeac4aaf2 100644 --- a/ext/com_dotnet/com_com.c +++ b/ext/com_dotnet/com_com.c @@ -133,7 +133,7 @@ PHP_FUNCTION(com_create_instance) info.pwszName = php_com_string_to_olestring(server_name, server_name_len, obj->code_page); if (user_name) { - authid.User = php_com_string_to_olestring(user_name, -1, obj->code_page); + authid.User = (OLECHAR*)user_name; authid.UserLength = (ULONG)user_name_len; if (password) { -- cgit v1.2.1