Wine-devel
Threads by month
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
January 2018
- 62 participants
- 503 discussions
[PATCH] kernel32: Fix failure reporting in WritePrivateProfile* and add tests
by Paul Graham 27 Jan '18
by Paul Graham 27 Jan '18
27 Jan '18
Fixes https://bugs.winehq.org/show_bug.cgi?id=44310
The following functions have been fixed to correctly report failure
when they're unable to create the requested file:
WritePrivateProfileStringA
WritePrivateProfileStringW
WritePrivateProfileSectionA
WritePrivateProfileSectionW
WritePrivateProfileStructA
WritePrivateProfileStructW
Tested on Ubuntu 16.04. Conformance tests based on work by Fabian
Maurer, with some adaptations.
Signed-off-by: Paul Graham <development(a)omega-software.com>
---
dlls/kernel32/profile.c | 15 ++++++++++-----
dlls/kernel32/tests/profile.c | 37 +++++++++++++++++++++++++++++++++++++
2 files changed, 47 insertions(+), 5 deletions(-)
diff --git a/dlls/kernel32/profile.c b/dlls/kernel32/profile.c
index aad3ba3..4d6c016 100644
--- a/dlls/kernel32/profile.c
+++ b/dlls/kernel32/profile.c
@@ -1391,7 +1391,8 @@ BOOL WINAPI WritePrivateProfileStringW( LPCWSTR section, LPCWSTR entry,
SetLastError(ERROR_FILE_NOT_FOUND);
} else {
ret = PROFILE_SetString( section, entry, string, FALSE);
- PROFILE_FlushFile();
+ if (ret)
+ ret = PROFILE_FlushFile();
}
}
@@ -1447,7 +1448,8 @@ BOOL WINAPI WritePrivateProfileSectionW( LPCWSTR section,
else if (PROFILE_Open( filename, TRUE )) {
if (!string) {/* delete the named section*/
ret = PROFILE_SetString(section,NULL,NULL, FALSE);
- PROFILE_FlushFile();
+ if (ret)
+ ret = PROFILE_FlushFile();
} else {
PROFILE_DeleteAllKeys(section);
ret = TRUE;
@@ -1456,12 +1458,14 @@ BOOL WINAPI WritePrivateProfileSectionW( LPCWSTR section,
strcpyW( buf, string );
if((p = strchrW( buf, '='))) {
*p='\0';
- ret = PROFILE_SetString( section, buf, p+1, TRUE);
+ if (ret)
+ ret = PROFILE_SetString( section, buf, p+1, TRUE);
}
HeapFree( GetProcessHeap(), 0, buf );
string += strlenW(string)+1;
}
- PROFILE_FlushFile();
+ if (ret)
+ ret = PROFILE_FlushFile();
}
}
@@ -1744,7 +1748,8 @@ BOOL WINAPI WritePrivateProfileStructW (LPCWSTR section, LPCWSTR key,
if (PROFILE_Open( filename, TRUE )) {
ret = PROFILE_SetString( section, key, outstring, FALSE);
- PROFILE_FlushFile();
+ if (ret)
+ ret = PROFILE_FlushFile();
}
RtlLeaveCriticalSection( &PROFILE_CritSect );
diff --git a/dlls/kernel32/tests/profile.c b/dlls/kernel32/tests/profile.c
index 2eb90a8..17ba124 100644
--- a/dlls/kernel32/tests/profile.c
+++ b/dlls/kernel32/tests/profile.c
@@ -25,6 +25,7 @@
#include "windef.h"
#include "winbase.h"
#include "windows.h"
+#include "sddl.h"
#define KEY "ProfileInt"
#define SECTION "Test"
@@ -534,6 +535,41 @@ static BOOL emptystr_ok(CHAR emptystr[MAX_PATH])
return TRUE;
}
+static void test_profile_directory_readonly(void)
+{
+ BOOL ret;
+ CHAR path_folder[MAX_PATH];
+ CHAR path_file[MAX_PATH];
+ const char *sddl_string_everyone_readonly = "D:PAI(A;;0x1200a9;;;WD)";
+ SECURITY_ATTRIBUTES attributes = {0};
+ char lpStruct[] = { 's', 't', 'r', 'i', 'n', 'g' };
+
+ attributes.nLength = sizeof(attributes);
+ ret = ConvertStringSecurityDescriptorToSecurityDescriptorA(sddl_string_everyone_readonly, SDDL_REVISION_1, &attributes.lpSecurityDescriptor, NULL);
+ ok(ret == TRUE, "ConvertStringSecurityDescriptorToSecurityDescriptor failed: %d\n", GetLastError());
+
+ GetTempPathA(MAX_PATH, path_folder);
+ lstrcatA(path_folder, "wine-test");
+
+ strcpy(path_file, path_folder);
+ lstrcatA(path_file, "\\tmp.ini");
+
+ ret = CreateDirectoryA(path_folder, &attributes);
+ ok(ret == TRUE, "CreateDirectoryA failed: %d\n", GetLastError());
+
+ ret = WritePrivateProfileStringA("App", "key", "string", path_file);
+ ok(ret == FALSE, "Expected FALSE, got %d\n", ret);
+
+ ret = WritePrivateProfileSectionA("App", "key=string", path_file);
+ ok(ret == FALSE, "Expected FALSE, got %d\n", ret);
+
+ ret = WritePrivateProfileStructA("App", "key", lpStruct, sizeof(lpStruct), path_file);
+ ok(ret == FALSE, "Expected FALSE, got %d\n", ret);
+
+ ret = RemoveDirectoryA(path_folder);
+ ok(ret == TRUE, "RemoveDirectoryA failed: %d\n", GetLastError());
+}
+
static void test_GetPrivateProfileString(const char *content, const char *descript)
{
DWORD ret, len;
@@ -1132,6 +1168,7 @@ START_TEST(profile)
test_profile_existing();
test_profile_delete_on_close();
test_profile_refresh();
+ test_profile_directory_readonly();
test_GetPrivateProfileString(
"[section1]\r\n"
"name1=val1\r\n"
--
2.7.4
1
0
This is a WIP patch, feedback appreciated.
This is a bunch of tests on how sxs window classes work.
It basically proves that on windows, sxs classes are registered using
RegisterClassNameW, although this is only used for native comctl32 AFAIK.
I currently don't know about any other application having this behavior,
but I figured knowing the way it works on windows would be nice -
it might be useful for mimicking native comctl32 behavior.
The tests are pretty extensive, hope you don't mind.
Since I don't know of a way to properly unload sxs dlls, I split the
test into multiple test runs:
run 0: Test dll without RegisterClassNameW
run 1: Show that sxs classes are registered by calling CreateWindowA
run 2: Show that sxs classes are registered by calling GetClassInfoExA
run 3: Test what version is used when registering own classes,
then loading sxs classes. This is pretty straight forward.
run 4: Test what version is used when activation context is created,
but no sxs classes are registered yet, then own classes are registered.
Added that since the results are unexpected.
Right now, the test dlls must be precompiled so they can be
embedded as resources.
I still need a better way to build the test dlls,
best would be an integration in the normal test build process.
It doesn't work on WinXP or earlier,
so I needed to check the system version and then skip the tests if needed.
---
dlls/kernel32/tests/Makefile.in | 1 +
dlls/kernel32/tests/resource.rc | 12 ++
dlls/kernel32/tests/sxs.c | 359 +++++++++++++++++++++++++++++++++++
dlls/kernel32/tests/sxs_dll.manifest | 8 +
dlls/kernel32/tests/sxs_dll_1.c | 67 +++++++
dlls/kernel32/tests/sxs_dll_1.dll | Bin 0 -> 268734 bytes
dlls/kernel32/tests/sxs_dll_2.c | 52 +++++
dlls/kernel32/tests/sxs_dll_2.dll | Bin 0 -> 267928 bytes
dlls/kernel32/tests/sxs_exe.manifest | 8 +
9 files changed, 507 insertions(+)
create mode 100644 dlls/kernel32/tests/sxs.c
create mode 100644 dlls/kernel32/tests/sxs_dll.manifest
create mode 100644 dlls/kernel32/tests/sxs_dll_1.c
create mode 100755 dlls/kernel32/tests/sxs_dll_1.dll
create mode 100644 dlls/kernel32/tests/sxs_dll_2.c
create mode 100755 dlls/kernel32/tests/sxs_dll_2.dll
create mode 100644 dlls/kernel32/tests/sxs_exe.manifest
diff --git a/dlls/kernel32/tests/Makefile.in b/dlls/kernel32/tests/Makefile.in
index 2f2ac5f8c3..19678dbf27 100644
--- a/dlls/kernel32/tests/Makefile.in
+++ b/dlls/kernel32/tests/Makefile.in
@@ -26,6 +26,7 @@ C_SRCS = \
process.c \
profile.c \
resource.c \
+ sxs.c \
sync.c \
thread.c \
time.c \
diff --git a/dlls/kernel32/tests/resource.rc b/dlls/kernel32/tests/resource.rc
index f40a87819e..a1ad332405 100644
--- a/dlls/kernel32/tests/resource.rc
+++ b/dlls/kernel32/tests/resource.rc
@@ -24,3 +24,15 @@
{
MENUITEM "foo", 1
}
+
+/* @makedep: sxs_dll_1.dll */
+sxs_dll_1.dll RCDATA sxs_dll_1.dll
+
+/* @makedep: sxs_dll_2.dll */
+sxs_dll_2.dll RCDATA sxs_dll_2.dll
+
+/* @makedep: sxs_dll.manifest */
+sxs_dll.manifest RCDATA sxs_dll.manifest
+
+/* @makedep: sxs_exe.manifest */
+sxs_exe.manifest RCDATA sxs_exe.manifest
diff --git a/dlls/kernel32/tests/sxs.c b/dlls/kernel32/tests/sxs.c
new file mode 100644
index 0000000000..ed0a3b325a
--- /dev/null
+++ b/dlls/kernel32/tests/sxs.c
@@ -0,0 +1,359 @@
+/*
+ * Side by side tests
+ *
+ * Copyright 2017 Fabian Maurer
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "wine/test.h"
+#include <winbase.h>
+#include <windef.h>
+#include "winuser.h"
+#include <stdio.h>
+
+#define WM_TESTVERSION WM_USER
+#define VERSION_EXE (WM_TESTVERSION + 0)
+#define VERSION_DLL (WM_TESTVERSION + 1)
+
+void WINAPI (*GetRegisterStatus)(BOOL *sidebyside, BOOL *sidebyside_second);
+
+static LRESULT WINAPI WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ if(message == WM_TESTVERSION)
+ return VERSION_EXE;
+ return DefWindowProcA(hwnd, message, wParam, lParam);
+}
+
+static void register_classes(void)
+{
+ WNDCLASSA cls = {0};
+ cls.lpfnWndProc = WndProc;
+ cls.hInstance = GetModuleHandleA(0);
+ cls.hCursor = LoadCursorA(0, (LPCSTR)IDC_ARROW);
+ cls.lpszClassName = "sidebyside";
+ RegisterClassA(&cls);
+}
+
+static BOOL write_resource_file(const char *path_tmp, const char *name_res, const char *name_file, char *path_file)
+{
+ HRSRC rsrc;
+ void *rsrc_data;
+ DWORD rsrc_size;
+ BOOL ret;
+ HANDLE hfile;
+
+ rsrc = FindResourceA(GetModuleHandleA(NULL), name_res, (LPCSTR)RT_RCDATA);
+ if (!rsrc) return FALSE;
+
+ rsrc_data = LockResource(LoadResource(GetModuleHandleA(NULL), rsrc));
+ if (!rsrc_data) return FALSE;
+
+ rsrc_size = SizeofResource(GetModuleHandleA(NULL), rsrc);
+ if (!rsrc_size) return FALSE;
+
+ sprintf(path_file, "%s%s", path_tmp, name_file);
+ hfile = CreateFileA(path_file, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
+ if (hfile == INVALID_HANDLE_VALUE) return FALSE;
+
+ ret = WriteFile(hfile, rsrc_data, rsrc_size, &rsrc_size, NULL);
+
+ CloseHandle(hfile);
+ return ret;
+}
+
+void check_register_status(int run, BOOL expected_registered_sidebyside, BOOL expected_registered_sidebyside_second)
+{
+ BOOL is_registered_sidebyside;
+ BOOL is_registered_sidebyside_second;
+
+ GetRegisterStatus(&is_registered_sidebyside, &is_registered_sidebyside_second);
+
+ ok(is_registered_sidebyside == expected_registered_sidebyside, "run %d: Expected %d, got %d\n",
+ run, expected_registered_sidebyside, is_registered_sidebyside);
+ ok(is_registered_sidebyside_second == expected_registered_sidebyside_second, "run %d: Expected %d, got %d\n",
+ run, expected_registered_sidebyside_second, is_registered_sidebyside_second);
+}
+
+void _expect_class_version(int line, int run, const char *class_name, DWORD version_expected)
+{
+ HWND hwnd;
+ LRESULT message_result;
+
+ hwnd = CreateWindowA(class_name, "Test", WS_OVERLAPPED | WS_VISIBLE, 10, 10, 300, 300, NULL, NULL, NULL, 0);
+ ok_(__FILE__, line)(hwnd != NULL, "run %d: CreateWindowA failed: %d\n", run, GetLastError());
+
+ message_result = SendMessageA(hwnd, WM_TESTVERSION, 0, 0);
+ ok_(__FILE__, line)(version_expected == message_result, "run: %d, Expected %x, got %lx\n",
+ run, version_expected, message_result);
+
+ DestroyWindow(hwnd);
+}
+
+#define expect_class_version(run, class_name, version_expected)\
+ _expect_class_version(__LINE__, run, class_name, version_expected)
+
+void run_sxs_test(int run, const char *dll)
+{
+ char path_tmp[MAX_PATH] = {0};
+ char path_dll[MAX_PATH] = {0};
+ char path_manifest_dll[MAX_PATH] = {0};
+ char path_manifest_exe[MAX_PATH] = {0};
+ BOOL success;
+ ACTCTXA context = {0};
+ ULONG_PTR cookie;
+ HANDLE handle_context;
+ HWND hwnd_window;
+ WNDCLASSEXA classinfo;
+
+ GetTempPathA(MAX_PATH, path_tmp);
+
+ if (!write_resource_file(path_tmp, dll, "sxs_dll.dll", path_dll))
+ {
+ skip("run %d: Failed to create file for testing\n", run);
+ goto cleanup;
+ }
+
+ if (!write_resource_file(path_tmp, "sxs_exe.manifest", "sxs_exe.manifest", path_manifest_exe))
+ {
+ skip("run %d: Failed to create file for testing\n", run);
+ goto cleanup;
+ }
+
+ if (!write_resource_file(path_tmp, "sxs_dll.manifest", "sxs_dll.manifest", path_manifest_dll))
+ {
+ skip("run %d: Failed to create file for testing\n", run);
+ goto cleanup;
+ }
+
+ /* Tests without activation context, must fail */
+ success = GetClassInfoExA(GetModuleHandleA(NULL), "sidebyside", &classinfo);
+ ok(!success || GetLastError() != ERROR_CLASS_DOES_NOT_EXIST, "run %d: Expected GetClassInfoExW to fail with ERROR_CLASS_DOES_NOT_EXIST\n", run);
+
+ hwnd_window = CreateWindowA("sidebyside", "Test", WS_OVERLAPPED | WS_VISIBLE, 10, 10, 300, 300, NULL, NULL, NULL, 0);
+ todo_wine
+ ok(hwnd_window == NULL && GetLastError() == ERROR_CANNOT_FIND_WND_CLASS,
+ "run %d: Expected CreateWindowExW to fail with ERROR_CANNOT_FIND_WND_CLASS, got %d.\n", run, GetLastError());
+ DestroyWindow(hwnd_window);
+
+ GetRegisterStatus = (void *)GetProcAddress(LoadLibraryA(path_dll), "GetRegisterStatus");
+
+ if(run == 3)
+ {
+ register_classes();
+ }
+
+ context.cbSize = sizeof(ACTCTXA);
+ context.lpSource = path_manifest_exe;
+ context.lpAssemblyDirectory = path_tmp;
+ context.dwFlags = ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID;
+
+ handle_context = CreateActCtxA(&context);
+ todo_wine
+ ok(handle_context != NULL && handle_context != INVALID_HANDLE_VALUE, "run %d: CreateActCtxA failed: %d\n", run, GetLastError());
+
+ if(handle_context == NULL || handle_context == INVALID_HANDLE_VALUE)
+ {
+ skip("Failed to create activation context\n");
+ return;
+ }
+
+ success = ActivateActCtx(handle_context, &cookie);
+ ok(success, "run %d: ActivateActCtx failed: %d\n", run, GetLastError());
+
+ switch(run)
+ {
+ case 0:
+ /* Test with dll that doesn't have RegisterClassNameW */
+ hwnd_window = CreateWindowA("sidebyside", "Test", WS_OVERLAPPED | WS_VISIBLE, 10, 10, 300, 300, NULL, NULL, NULL, 0);
+ ok(hwnd_window == NULL && GetLastError() == ERROR_PROC_NOT_FOUND,
+ "run %d: CreateWindowA should have failed with ERROR_PROC_NOT_FOUND, but we got %d\n", run, GetLastError());
+ break;
+ case 1:
+ case 2:
+ /* It seems you can't use versioned names right away because they are not loaded */
+ hwnd_window = CreateWindowA("1.0.1.2!sidebyside", "Test", WS_OVERLAPPED | WS_VISIBLE, 10, 10, 300, 300, NULL, NULL, NULL, 0);
+ ok(hwnd_window == NULL, "run %d: CreateWindowA should have failed for versioned name\n", run);
+ DestroyWindow(hwnd_window);
+
+ check_register_status(run, FALSE, FALSE);
+
+ success = GetClassInfoExA(GetModuleHandleA(NULL), "1.0.1.2!sidebyside", &classinfo);
+ ok(!success, "run %d: GetClassInfoExW should have failed for versioned name\n", run);
+
+ if(run == 1)
+ {
+ /* Calling CreateWindow essentially triggers registration of versioned names */
+ hwnd_window = CreateWindowA("sidebyside", "Test", WS_OVERLAPPED | WS_VISIBLE, 10, 10, 300, 300, NULL, NULL, NULL, 0);
+ ok(hwnd_window != NULL, "run %d: CreateWindowA failed: %d\n", run, GetLastError());
+ DestroyWindow(hwnd_window);
+ }
+ else /* run == 2 */
+ {
+ success = GetClassInfoExA(GetModuleHandleA(NULL), "sidebyside", &classinfo);
+ ok(success, "run %d: GetClassInfoExW failed: %d\n", run, GetLastError());
+ }
+
+ check_register_status(run, TRUE, FALSE);
+
+ success = GetClassInfoExA(GetModuleHandleA(NULL), "1.0.1.2!sidebyside", &classinfo);
+ ok(success, "run %d: GetClassInfoExW failed for versioned name: %d\n", run, GetLastError());
+
+ /* Second class should not be registered yet */
+ success = GetClassInfoExA(GetModuleHandleA(NULL), "1.0.1.2!sidebyside_second", &classinfo);
+ ok(!success, "run %d: GetClassInfoExW should have failed for versioned name\n", run);
+
+ if(run == 1)
+ {
+ /* Calling CreateWindow essentially triggers registration of versioned names */
+ hwnd_window = CreateWindowA("sidebyside_second", "Test", WS_OVERLAPPED | WS_VISIBLE, 10, 10, 300, 300, NULL, NULL, NULL, 0);
+ ok(hwnd_window != NULL, "run %d: CreateWindowA failed: %d\n", run, GetLastError());
+ DestroyWindow(hwnd_window);
+ }
+ else /* run == 2 */
+ {
+ success = GetClassInfoExA(GetModuleHandleA(NULL), "sidebyside_second", &classinfo);
+ ok(success, "run %d: GetClassInfoExW failed: %d\n", run, GetLastError());
+ }
+ /* Second class should be registered now */
+ check_register_status(run, TRUE, TRUE);
+
+ success = GetClassInfoExA(GetModuleHandleA(NULL), "1.0.1.2!sidebyside_second", &classinfo);
+ ok(success, "run %d: GetClassInfoExW failed for versioned name: %d\n", run, GetLastError());
+
+ /* Now register own classes */
+ register_classes();
+
+ expect_class_version(run, "sidebyside", VERSION_DLL);
+ break;
+ case 3: /* own classes registered before sxs classes */
+ check_register_status(run, FALSE, FALSE);
+ expect_class_version(run, "sidebyside", VERSION_DLL);
+ check_register_status(run, TRUE, FALSE);
+ expect_class_version(run, "1.0.1.2!sidebyside", VERSION_DLL);
+ break;
+ case 4: /* sxs context created before registering own classes
+ * For some reason the dll classes are not used */
+ register_classes();
+ expect_class_version(run, "sidebyside", VERSION_EXE);
+ check_register_status(run, FALSE, FALSE);
+ expect_class_version(run, "1.0.1.2!sidebyside", VERSION_EXE);
+ check_register_status(run, FALSE, FALSE);
+
+ success = GetClassInfoExA(GetModuleHandleA(NULL), "sidebyside", &classinfo);
+ ok(success, "run %d: GetClassInfoExW failed: %d\n", run, GetLastError());
+
+ expect_class_version(run, "1.0.1.2!sidebyside", VERSION_EXE);
+ check_register_status(run, FALSE, FALSE);
+ break;
+ }
+
+cleanup:
+ if(handle_context)
+ {
+ success = DeactivateActCtx(0, cookie);
+ ok(success, "run %d: DeactivateActCtx failed: %d\n", run, GetLastError());
+ ReleaseActCtx(handle_context);
+ }
+ if(*path_manifest_exe)
+ {
+ success = DeleteFileA(path_manifest_exe);
+ ok(success, "run %d: DeleteFileA failed: %d\n", run, GetLastError());
+ }
+ if(*path_manifest_dll)
+ {
+ success = DeleteFileA(path_manifest_dll);
+ ok(success, "run %d: DeleteFileA failed: %d\n", run, GetLastError());
+ }
+ /* dll cleanup is handled by the parent, because it might still be used by the child */
+}
+
+void cleanup_sxs_test(int run)
+{
+ char path_tmp[MAX_PATH] = {0};
+ char path_dll[MAX_PATH] = {0};
+ BOOL success;
+
+ GetTempPathA(MAX_PATH, path_tmp);
+ sprintf(path_dll, "%s%s", path_tmp, "sxs_dll.dll");
+
+ success = DeleteFileA(path_dll);
+ ok(success, "run %d: DeleteFileA failed: %d\n", run, GetLastError());
+}
+
+static void run_child_process(int run, const char *dll)
+{
+ char cmdline[MAX_PATH];
+ char exe[MAX_PATH];
+ char **argv;
+ PROCESS_INFORMATION pi;
+ STARTUPINFOA si = { 0 };
+ BOOL ret;
+
+ winetest_get_mainargs( &argv );
+
+ if(strstr(argv[0], ".exe"))
+ sprintf(exe, "%s", argv[0]);
+ else
+ sprintf(exe, "%s.exe", argv[0]);
+ sprintf(cmdline, "\"%s\" %s %d %s", argv[0], argv[1], run, dll);
+
+ si.cb = sizeof(si);
+ ret = CreateProcessA(exe, cmdline, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
+ ok(ret, "Could not create process: %u\n", GetLastError());
+
+ winetest_wait_child_process( pi.hProcess );
+
+ CloseHandle(pi.hThread);
+ CloseHandle(pi.hProcess);
+
+ /* Cleanup dll, because it might still have been used by the child */
+ cleanup_sxs_test(run);
+}
+
+static BOOL is_vista_or_newer(void)
+{
+ OSVERSIONINFOA version;
+ version.dwOSVersionInfoSize = sizeof(version);
+ GetVersionExA(&version);
+ return version.dwMajorVersion > 5;
+}
+
+START_TEST(sxs)
+{
+ int argc;
+ char **argv;
+
+ argc = winetest_get_mainargs(&argv);
+ if(argc > 2)
+ {
+ int run = atoi(argv[2]);
+ const char *dll = argv[3];
+ run_sxs_test(run, dll);
+ return;
+ }
+
+ if( !is_vista_or_newer())
+ {
+ win_skip("OS doesn't support private manifests outside of DLL.\n");
+ return;
+ }
+
+ run_child_process(0, "sxs_dll_2.dll");
+ run_child_process(1, "sxs_dll_1.dll");
+ run_child_process(2, "sxs_dll_1.dll");
+ run_child_process(3, "sxs_dll_1.dll");
+ run_child_process(4, "sxs_dll_1.dll");
+}
diff --git a/dlls/kernel32/tests/sxs_dll.manifest b/dlls/kernel32/tests/sxs_dll.manifest
new file mode 100644
index 0000000000..e4ec376734
--- /dev/null
+++ b/dlls/kernel32/tests/sxs_dll.manifest
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v3" manifestVersion="1.0">
+ <assemblyIdentity type="win32" name="sxs_dll" version="1.0.1.2" processorArchitecture="x86" publicKeyToken="0000000000000000"/>
+ <file name="sxs_dll.dll">
+ <windowClass>sidebyside</windowClass>
+ <windowClass>sidebyside_second</windowClass>
+ </file>
+</assembly>
diff --git a/dlls/kernel32/tests/sxs_dll_1.c b/dlls/kernel32/tests/sxs_dll_1.c
new file mode 100644
index 0000000000..6c79195970
--- /dev/null
+++ b/dlls/kernel32/tests/sxs_dll_1.c
@@ -0,0 +1,67 @@
+/*
+ * Side by side tests
+ *
+ * Copyright 2017 Fabian Maurer
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/* i686-w64-mingw32-gcc -static -shared -Wall -Wl,--kill-at -o sxs_dll_1.dll sxs_dll_1.c */
+
+#include <windows.h>
+
+#define WM_TESTVERSION WM_USER
+#define VERSION_EXE (WM_TESTVERSION + 0)
+#define VERSION_DLL (WM_TESTVERSION + 1)
+
+static BOOL is_registered_sidebyside = FALSE;
+static BOOL is_registered_sidebyside_second = FALSE;
+
+static LRESULT WINAPI wnd_proc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)
+{
+ if(message == WM_TESTVERSION)
+ return VERSION_DLL;
+ return DefWindowProcA(hwnd, message, wparam, lparam);
+}
+
+__declspec(dllexport) void WINAPI GetRegisterStatus(BOOL *sidebyside, BOOL *sidebyside_second)
+{
+ *sidebyside = is_registered_sidebyside;
+ *sidebyside_second = is_registered_sidebyside_second;
+}
+
+__declspec(dllexport) BOOLEAN WINAPI RegisterClassNameW(PCWSTR lpClassName)
+{
+ const WCHAR sidebyside[] = {'s', 'i', 'd', 'e', 'b', 'y', 's', 'i', 'd', 'e', 0};
+ const WCHAR sidebyside_second[] = {'s', 'i', 'd', 'e', 'b', 'y', 's', 'i', 'd', 'e', '_', 's', 'e', 'c', 'o', 'n', 'd', 0};
+
+ WNDCLASSW cls = {0};
+ cls.lpfnWndProc = wnd_proc;
+ cls.hInstance = GetModuleHandleW(0);
+ cls.lpszClassName = lpClassName;
+ RegisterClassW(&cls);
+
+ if(lstrcmpW(lpClassName, sidebyside) == 0)
+ is_registered_sidebyside = TRUE;
+ if(lstrcmpW(lpClassName, sidebyside_second) == 0)
+ is_registered_sidebyside_second = TRUE;
+
+ return TRUE;
+}
+
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+{
+ return TRUE;
+}
diff --git a/dlls/kernel32/tests/sxs_dll_1.dll b/dlls/kernel32/tests/sxs_dll_1.dll
new file mode 100755
index 0000000000000000000000000000000000000000..c611a5fab63ee17158779f7c9adeb6e2ce03d0c9
GIT binary patch
literal 268734
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
UaH#=Hi(E5>z$P|Q^`!j&1HywbT>t<8
literal 0
HcmV?d00001
diff --git a/dlls/kernel32/tests/sxs_dll_2.c b/dlls/kernel32/tests/sxs_dll_2.c
new file mode 100644
index 0000000000..abd1438204
--- /dev/null
+++ b/dlls/kernel32/tests/sxs_dll_2.c
@@ -0,0 +1,52 @@
+/*
+ * Side by side tests
+ *
+ * Copyright 2017 Fabian Maurer
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/* i686-w64-mingw32-gcc -static -shared -Wall -Wl,--kill-at -o sxs_dll_2.dll sxs_dll_2.c */
+
+#include <windows.h>
+
+static LRESULT WINAPI wnd_proc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)
+{
+ return DefWindowProcA(hwnd, message, wparam, lparam);
+}
+
+void register_classes(void)
+{
+ WNDCLASSA cls = {0};
+ cls.lpfnWndProc = wnd_proc;
+ cls.hInstance = GetModuleHandleA(0);
+ cls.lpszClassName = "sidebyside";
+ RegisterClassA(&cls);
+
+ cls.lpszClassName = "sidebyside_unused";
+ RegisterClassA(&cls);
+}
+
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+{
+ switch (fdwReason)
+ {
+ case DLL_PROCESS_ATTACH:
+ register_classes();
+ break;
+ }
+
+ return TRUE;
+}
diff --git a/dlls/kernel32/tests/sxs_dll_2.dll b/dlls/kernel32/tests/sxs_dll_2.dll
new file mode 100755
index 0000000000000000000000000000000000000000..adc587756cde2a0368de81c85aaf7561a30c7ae6
GIT binary patch
literal 267928
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
K*oLXDN&gp0_3j-2
literal 0
HcmV?d00001
diff --git a/dlls/kernel32/tests/sxs_exe.manifest b/dlls/kernel32/tests/sxs_exe.manifest
new file mode 100644
index 0000000000..25c4d3dd5d
--- /dev/null
+++ b/dlls/kernel32/tests/sxs_exe.manifest
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+ <dependency>
+ <dependentAssembly>
+ <assemblyIdentity type="win32" name="sxs_dll" version="1.0.1.2" processorArchitecture="x86" publicKeyToken="0000000000000000" language="*"/>
+ </dependentAssembly>
+ </dependency>
+</assembly>
--
2.16.1
3
4
27 Jan '18
https://bugs.winehq.org/show_bug.cgi?id=44334
Found while trying to look into #44236.
A batch script is executed but the start commands
do not wait until the started process ends.
Example line:
---
start /W " " "%SFDIR%automesh" wr2300
---
As far as I see this happens when WCMD_start encounters an title parameter.
Then it removes the executable from the cmdline parameter to CreateProcessW.
---
start /W "" notepad
002f:trace:process:create_process_impl app L"C:\\windows\\command\\start.exe" cmdline L"/W \"\\\"\\\"\" notepad"
---
This get not recognized much, because usually the title is the first
parameter and is therefore ignored by start.exe.
This patch tries to maintain the executable as first parameter in the
cmdline parameter to CreateProcessW.
Signed-off-by: Bernhard Übelacker <bernhardu(a)mailbox.org>
---
programs/cmd/builtins.c | 14 ++++++++------
programs/cmd/tests/test_builtins.cmd | 4 ++++
programs/cmd/tests/test_builtins.cmd.exp | 2 ++
3 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/programs/cmd/builtins.c b/programs/cmd/builtins.c
index 14961d7922..257a948506 100644
--- a/programs/cmd/builtins.c
+++ b/programs/cmd/builtins.c
@@ -4323,6 +4323,7 @@ void WCMD_start(WCHAR *args)
int have_title;
WCHAR file[MAX_PATH];
WCHAR *cmdline;
+ WCHAR *cmdline_params;
STARTUPINFOW st;
PROCESS_INFORMATION pi;
@@ -4331,6 +4332,7 @@ void WCMD_start(WCHAR *args)
cmdline = heap_alloc( (strlenW(file) + strlenW(args) + 8) * sizeof(WCHAR) );
strcpyW( cmdline, file );
strcatW( cmdline, spaceW );
+ cmdline_params = cmdline + strlenW(file) + strlenW(spaceW);
/* The start built-in has some special command-line parsing properties
* which will be outlined here.
@@ -4382,17 +4384,17 @@ void WCMD_start(WCHAR *args)
have_title = TRUE;
/* Copy all of the cmdline processed */
- memcpy(cmdline, args, sizeof(WCHAR) * (argN - args));
- cmdline[argN - args] = '\0';
+ memcpy(cmdline_params, args, sizeof(WCHAR) * (argN - args));
+ cmdline_params[argN - args] = '\0';
/* Add quoted title */
- strcatW(cmdline, prefixQuote);
- strcatW(cmdline, thisArg);
- strcatW(cmdline, postfixQuote);
+ strcatW(cmdline_params, prefixQuote);
+ strcatW(cmdline_params, thisArg);
+ strcatW(cmdline_params, postfixQuote);
/* Concatenate remaining command-line */
thisArg = WCMD_parameter_with_delims(args, argno, &argN, TRUE, FALSE, startDelims);
- strcatW(cmdline, argN + strlenW(thisArg));
+ strcatW(cmdline_params, argN + strlenW(thisArg));
break;
}
diff --git a/programs/cmd/tests/test_builtins.cmd b/programs/cmd/tests/test_builtins.cmd
index 62334b17b6..b8b2a7a6b8 100644
--- a/programs/cmd/tests/test_builtins.cmd
+++ b/programs/cmd/tests/test_builtins.cmd
@@ -2978,6 +2978,10 @@ path
set path=%WINE_backup_path%
set WINE_backup_path=
+echo ------------ Testing start /W ------------
+echo start /W failed to wait>foobar.txt
+start /W "" cmd /C "ping -n1 & echo start /W seems to really wait>foobar.txt"& type foobar.txt& del foobar.txt
+
echo ------------ Testing combined CALLs/GOTOs ------------
echo @echo off>foo.cmd
echo goto :eof>>foot.cmd
diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp
index 796550e57e..a32c8fe25e 100644
--- a/programs/cmd/tests/test_builtins.cmd.exp
+++ b/programs/cmd/tests/test_builtins.cmd.exp
@@ -1571,6 +1571,8 @@ Correctly ignored trailing information
PATH=original
PATH=try2
PATH=try3
+------------ Testing start /W ------------
+start /W seems to really wait
------------ Testing combined CALLs/GOTOs ------------
world
cheball
--
2.15.1
1
0
[PATCH 3/3] kerberos: Add support for KerbQueryTicketCacheMessage. (v2)
by Dmitry Timoshkov 26 Jan '18
by Dmitry Timoshkov 26 Jan '18
26 Jan '18
Based on the code written by George Popoff.
v2: Copy full ticket info (including Realm/Server name) to flat buffer.
Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru>
---
dlls/kerberos/krb5_ap.c | 405 +++++++++++++++++++++++++++++++++++++++++++++++-
include/ntsecapi.h | 105 +++++++++++++
2 files changed, 507 insertions(+), 3 deletions(-)
diff --git a/dlls/kerberos/krb5_ap.c b/dlls/kerberos/krb5_ap.c
index b4a37f754f..dc97b1cc04 100644
--- a/dlls/kerberos/krb5_ap.c
+++ b/dlls/kerberos/krb5_ap.c
@@ -1,5 +1,6 @@
/*
* Copyright 2017 Dmitry Timoshkov
+ * Copyright 2017 George Popoff
* Copyright 2008 Robert Shearman for CodeWeavers
* Copyright 2017 Hans Leidekker for CodeWeavers
*
@@ -36,6 +37,7 @@
#define WIN32_NO_STATUS
#include "windef.h"
#include "winbase.h"
+#include "winnls.h"
#include "rpc.h"
#include "sspi.h"
#include "ntsecapi.h"
@@ -88,8 +90,43 @@ static void *libkrb5_handle;
#define MAKE_FUNCPTR(f) static typeof(f) * p_##f
MAKE_FUNCPTR(krb5_init_context);
+MAKE_FUNCPTR(krb5_free_context);
+MAKE_FUNCPTR(krb5_free_ticket);
+MAKE_FUNCPTR(krb5_cccol_cursor_new);
+MAKE_FUNCPTR(krb5_cccol_cursor_next);
+MAKE_FUNCPTR(krb5_cccol_cursor_free);
+MAKE_FUNCPTR(krb5_cc_close);
+MAKE_FUNCPTR(krb5_cc_start_seq_get);
+MAKE_FUNCPTR(krb5_cc_end_seq_get);
+MAKE_FUNCPTR(krb5_cc_next_cred);
+MAKE_FUNCPTR(krb5_is_config_principal);
+MAKE_FUNCPTR(krb5_decode_ticket);
+MAKE_FUNCPTR(krb5_unparse_name_flags);
+MAKE_FUNCPTR(krb5_free_unparsed_name);
+MAKE_FUNCPTR(krb5_free_cred_contents);
#undef MAKE_FUNCPTR
+static void *heap_alloc(SIZE_T size)
+{
+ return HeapAlloc(GetProcessHeap(), 0, size);
+}
+
+static void *heap_realloc(void *p, SIZE_T size)
+{
+ return HeapReAlloc(GetProcessHeap(), 0, p, size);
+}
+
+static void heap_free(void *p)
+{
+ HeapFree(GetProcessHeap(), 0, p);
+}
+
+struct ticket_info
+{
+ ULONG count, allocated;
+ KERB_TICKET_CACHE_INFO *info;
+};
+
static void load_krb5(void)
{
if (!(libkrb5_handle = wine_dlopen(SONAME_LIBKRB5, RTLD_NOW, NULL, 0)))
@@ -106,6 +143,20 @@ static void load_krb5(void)
}
LOAD_FUNCPTR(krb5_init_context)
+ LOAD_FUNCPTR(krb5_free_context)
+ LOAD_FUNCPTR(krb5_free_ticket)
+ LOAD_FUNCPTR(krb5_cccol_cursor_new)
+ LOAD_FUNCPTR(krb5_cccol_cursor_next)
+ LOAD_FUNCPTR(krb5_cccol_cursor_free)
+ LOAD_FUNCPTR(krb5_cc_close)
+ LOAD_FUNCPTR(krb5_cc_start_seq_get)
+ LOAD_FUNCPTR(krb5_cc_end_seq_get)
+ LOAD_FUNCPTR(krb5_cc_next_cred)
+ LOAD_FUNCPTR(krb5_is_config_principal)
+ LOAD_FUNCPTR(krb5_decode_ticket)
+ LOAD_FUNCPTR(krb5_unparse_name_flags)
+ LOAD_FUNCPTR(krb5_free_unparsed_name)
+ LOAD_FUNCPTR(krb5_free_cred_contents)
#undef LOAD_FUNCPTR
return;
@@ -157,15 +208,363 @@ static NTSTATUS NTAPI kerberos_LsaApInitializePackage(ULONG package_id, PLSA_DIS
return STATUS_SUCCESS;
}
+static NTSTATUS krb5_error_to_status(krb5_error_code error)
+{
+ switch (error)
+ {
+ case 0: return STATUS_SUCCESS;
+ default:
+ /* FIXME */
+ return STATUS_UNSUCCESSFUL;
+ }
+}
+
+static void free_ticket_info(struct ticket_info *info)
+{
+ ULONG i;
+
+ for (i = 0; i < info->count; i++)
+ {
+ heap_free(info->info[i].RealmName.Buffer);
+ heap_free(info->info[i].ServerName.Buffer);
+ }
+
+ heap_free(info->info);
+}
+
+static WCHAR *utf8_to_wstr(const char *utf8)
+{
+ int len;
+ WCHAR *wstr;
+
+ len = MultiByteToWideChar(CP_UTF8, 0, utf8, -1, NULL, 0);
+ wstr = heap_alloc(len * sizeof(WCHAR));
+ if (wstr)
+ MultiByteToWideChar(CP_UTF8, 0, utf8, -1, wstr, len);
+
+ return wstr;
+}
+
+static NTSTATUS copy_tickets_from_cache(krb5_context context, krb5_ccache cache, struct ticket_info *info)
+{
+ NTSTATUS status;
+ krb5_cc_cursor cursor;
+ krb5_error_code error;
+ krb5_creds credentials;
+ krb5_ticket *ticket;
+ char *name_with_realm, *name_without_realm, *realm_name;
+ WCHAR *realm_nameW, *name_without_realmW;
+
+ error = p_krb5_cc_start_seq_get(context, cache, &cursor);
+ if (error) return krb5_error_to_status(error);
+
+ for (;;)
+ {
+ error = p_krb5_cc_next_cred(context, cache, &cursor, &credentials);
+ if (error)
+ {
+ if (error == KRB5_CC_END)
+ status = STATUS_SUCCESS;
+ else
+ status = krb5_error_to_status(error);
+ break;
+ }
+
+ if (p_krb5_is_config_principal(context, credentials.server))
+ {
+ p_krb5_free_cred_contents(context, &credentials);
+ continue;
+ }
+
+ if (info->count == info->allocated)
+ {
+ KERB_TICKET_CACHE_INFO *new_info;
+ ULONG new_allocated;
+
+ if (info->allocated)
+ {
+ new_allocated = info->allocated * 2;
+ new_info = heap_realloc(info->info, sizeof(*new_info) * new_allocated);
+ }
+ else
+ {
+ new_allocated = 16;
+ new_info = heap_alloc(sizeof(*new_info) * new_allocated);
+ }
+ if (!new_info)
+ {
+ p_krb5_free_cred_contents(context, &credentials);
+ status = STATUS_NO_MEMORY;
+ break;
+ }
+
+ info->info = new_info;
+ info->allocated = new_allocated;
+ }
+
+ error = p_krb5_unparse_name_flags(context, credentials.server, 0, &name_with_realm);
+ if (error)
+ {
+ p_krb5_free_cred_contents(context, &credentials);
+ status = krb5_error_to_status(error);
+ break;
+ }
+
+ TRACE("name_with_realm: %s\n", debugstr_a(name_with_realm));
+
+ error = p_krb5_unparse_name_flags(context, credentials.server,
+ KRB5_PRINCIPAL_UNPARSE_NO_REALM, &name_without_realm);
+ if (error)
+ {
+ p_krb5_free_unparsed_name(context, name_with_realm);
+ p_krb5_free_cred_contents(context, &credentials);
+ status = krb5_error_to_status(error);
+ break;
+ }
+
+ TRACE("name_without_realm: %s\n", debugstr_a(name_without_realm));
+
+ name_without_realmW = utf8_to_wstr(name_without_realm);
+ RtlInitUnicodeString(&info->info[info->count].ServerName, name_without_realmW);
+
+ realm_name = strchr(name_with_realm, '@');
+ if (!realm_name)
+ {
+ ERR("wrong name with realm %s\n", debugstr_a(name_with_realm));
+ realm_name = name_with_realm;
+ }
+ else
+ realm_name++;
+
+ /* realm_name - now contains only realm! */
+
+ realm_nameW = utf8_to_wstr(realm_name);
+ RtlInitUnicodeString(&info->info[info->count].RealmName, realm_nameW);
+
+ if (!credentials.times.starttime)
+ credentials.times.starttime = credentials.times.authtime;
+
+ /* TODO: if krb5_is_config_principal = true */
+ RtlSecondsSince1970ToTime(credentials.times.starttime, &info->info[info->count].StartTime);
+ RtlSecondsSince1970ToTime(credentials.times.endtime, &info->info[info->count].EndTime);
+ RtlSecondsSince1970ToTime(credentials.times.renew_till, &info->info[info->count].RenewTime);
+
+ info->info[info->count].TicketFlags = credentials.ticket_flags;
+
+ error = p_krb5_decode_ticket(&credentials.ticket, &ticket);
+
+ p_krb5_free_unparsed_name(context, name_with_realm);
+ p_krb5_free_unparsed_name(context, name_without_realm);
+ p_krb5_free_cred_contents(context, &credentials);
+
+ if (error)
+ {
+ status = krb5_error_to_status(error);
+ break;
+ }
+
+ info->info[info->count].EncryptionType = ticket->enc_part.enctype;
+
+ p_krb5_free_ticket(context, ticket);
+
+ info->count++;
+ }
+
+ p_krb5_cc_end_seq_get(context, cache, &cursor);
+
+ return status;
+}
+
+static inline void init_client_us(UNICODE_STRING *dst, void *client_ws, const UNICODE_STRING *src)
+{
+ dst->Buffer = client_ws;
+ dst->Length = src->Length;
+ dst->MaximumLength = src->MaximumLength;
+}
+
+static NTSTATUS copy_to_client(PLSA_CLIENT_REQUEST lsa_req, struct ticket_info *info, void **out, ULONG *out_size)
+{
+ NTSTATUS status;
+ ULONG i;
+ SIZE_T size, client_str_off;
+ char *client_resp, *client_ticket, *client_str;
+ KERB_QUERY_TKT_CACHE_RESPONSE resp;
+
+ size = sizeof(KERB_QUERY_TKT_CACHE_RESPONSE);
+ if (info->count != 0)
+ size += (info->count - 1) * sizeof(KERB_TICKET_CACHE_INFO);
+
+ client_str_off = size;
+
+ for (i = 0; i < info->count; i++)
+ {
+ size += info->info[i].RealmName.MaximumLength;
+ size += info->info[i].ServerName.MaximumLength;
+ }
+
+ status = lsa_dispatch.AllocateClientBuffer(lsa_req, size, (void **)&client_resp);
+ if (status != STATUS_SUCCESS) return status;
+
+ resp.MessageType = KerbQueryTicketCacheMessage;
+ resp.CountOfTickets = info->count;
+ size = FIELD_OFFSET(KERB_QUERY_TKT_CACHE_RESPONSE, Tickets);
+ status = lsa_dispatch.CopyToClientBuffer(lsa_req, size, client_resp, &resp);
+ if (status != STATUS_SUCCESS) goto fail;
+
+ if (!info->count)
+ {
+ *out = client_resp;
+ *out_size = sizeof(resp);
+ return STATUS_SUCCESS;
+ }
+
+ *out_size = size;
+
+ client_ticket = client_resp + size;
+ client_str = client_resp + client_str_off;
+
+ for (i = 0; i < info->count; i++)
+ {
+ KERB_TICKET_CACHE_INFO ticket;
+
+ ticket = info->info[i];
+
+ init_client_us(&ticket.RealmName, client_str, &info->info[i].RealmName);
+
+ size = info->info[i].RealmName.MaximumLength;
+ status = lsa_dispatch.CopyToClientBuffer(lsa_req, size, client_str, info->info[i].RealmName.Buffer);
+ if (status != STATUS_SUCCESS) goto fail;
+ client_str += size;
+ *out_size += size;
+
+ init_client_us(&ticket.ServerName, client_str, &info->info[i].ServerName);
+
+ size = info->info[i].ServerName.MaximumLength;
+ status = lsa_dispatch.CopyToClientBuffer(lsa_req, size, client_str, info->info[i].ServerName.Buffer);
+ if (status != STATUS_SUCCESS) goto fail;
+ client_str += size;
+ *out_size += size;
+
+ status = lsa_dispatch.CopyToClientBuffer(lsa_req, sizeof(ticket), client_ticket, &ticket);
+ if (status != STATUS_SUCCESS) goto fail;
+
+ client_ticket += sizeof(ticket);
+ *out_size += sizeof(ticket);
+ }
+
+ *out = client_resp;
+ return STATUS_SUCCESS;
+
+fail:
+ lsa_dispatch.FreeClientBuffer(lsa_req, client_resp);
+ return status;
+}
+
+static NTSTATUS query_ticket_cache(PLSA_CLIENT_REQUEST lsa_req, void *in, ULONG in_len, void **out, ULONG *out_len)
+{
+ NTSTATUS status;
+ KERB_QUERY_TKT_CACHE_REQUEST *query;
+ struct ticket_info info;
+ krb5_error_code error;
+ krb5_context context = NULL;
+ krb5_cccol_cursor cursor = NULL;
+ krb5_ccache cache;
+
+ if (!in || in_len != sizeof(KERB_QUERY_TKT_CACHE_REQUEST) || !out || !out_len)
+ return STATUS_INVALID_PARAMETER;
+
+ query = (KERB_QUERY_TKT_CACHE_REQUEST *)in;
+
+ if (query->LogonId.HighPart != 0 || query->LogonId.LowPart != 0)
+ return STATUS_ACCESS_DENIED;
+
+ info.count = 0;
+ info.allocated = 0;
+ info.info = NULL;
+
+ error = p_krb5_init_context(&context);
+ if (error)
+ {
+ status = krb5_error_to_status(error);
+ goto done;
+ }
+
+ error = p_krb5_cccol_cursor_new(context, &cursor);
+ if (error)
+ {
+ status = krb5_error_to_status(error);
+ goto done;
+ }
+
+ for (;;)
+ {
+ error = p_krb5_cccol_cursor_next(context, cursor, &cache);
+ if (error)
+ {
+ status = krb5_error_to_status(error);
+ goto done;
+ }
+ if (!cache) break;
+
+ status = copy_tickets_from_cache(context, cache, &info);
+
+ p_krb5_cc_close(context, cache);
+
+ if (status != STATUS_SUCCESS)
+ goto done;
+ }
+
+ status = copy_to_client(lsa_req, &info, out, out_len);
+
+done:
+ if (cursor)
+ p_krb5_cccol_cursor_free(context, &cursor);
+
+ if (context)
+ p_krb5_free_context(context);
+
+ free_ticket_info(&info);
+
+ return status;
+}
+
static NTSTATUS NTAPI kerberos_LsaApCallPackageUntrusted(PLSA_CLIENT_REQUEST request,
PVOID in_buffer, PVOID client_buffer_base, ULONG in_buffer_length,
PVOID *out_buffer, PULONG out_buffer_length, PNTSTATUS status)
{
- FIXME("%p,%p,%p,%u,%p,%p,%p: stub\n", request, in_buffer, client_buffer_base,
+ KERB_PROTOCOL_MESSAGE_TYPE msg;
+
+ TRACE("%p,%p,%p,%u,%p,%p,%p\n", request, in_buffer, client_buffer_base,
in_buffer_length, out_buffer, out_buffer_length, status);
- *status = STATUS_NOT_IMPLEMENTED;
- return STATUS_NOT_IMPLEMENTED;
+ if (!in_buffer || in_buffer_length < sizeof(msg))
+ return STATUS_INVALID_PARAMETER;
+
+ msg = *(KERB_PROTOCOL_MESSAGE_TYPE *)in_buffer;
+
+ switch (msg)
+ {
+ case KerbQueryTicketCacheMessage:
+ *status = query_ticket_cache(request, in_buffer, in_buffer_length, out_buffer, out_buffer_length);
+ break;
+
+ case KerbRetrieveTicketMessage:
+ FIXME("KerbRetrieveTicketMessage stub\n");
+ *status = STATUS_NOT_IMPLEMENTED;
+ break;
+
+ case KerbPurgeTicketCacheMessage:
+ FIXME("KerbPurgeTicketCacheMessage stub\n");
+ *status = STATUS_NOT_IMPLEMENTED;
+ break;
+
+ default: /* All other requests should call LsaApCallPackage */
+ WARN("%u => access denied\n", msg);
+ *status = STATUS_ACCESS_DENIED;
+ break;
+ }
+
+ return *status;
}
static NTSTATUS NTAPI kerberos_SpGetInfo(SecPkgInfoW *info)
diff --git a/include/ntsecapi.h b/include/ntsecapi.h
index d0339a97ef..6d5e01d675 100644
--- a/include/ntsecapi.h
+++ b/include/ntsecapi.h
@@ -169,6 +169,15 @@ typedef struct _OBJECT_ATTRIBUTES {
} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
#endif
+#ifndef __SECHANDLE_DEFINED__
+#define __SECHANDLE_DEFINED__
+typedef struct _SecHandle
+{
+ ULONG_PTR dwLower;
+ ULONG_PTR dwUpper;
+} SecHandle, *PSecHandle;
+#endif
+
typedef UNICODE_STRING LSA_UNICODE_STRING, *PLSA_UNICODE_STRING;
typedef STRING LSA_STRING, *PLSA_STRING;
typedef OBJECT_ATTRIBUTES LSA_OBJECT_ATTRIBUTES, *PLSA_OBJECT_ATTRIBUTES;
@@ -349,6 +358,102 @@ typedef enum _POLICY_NOTIFICATION_INFORMATION_CLASS
static const WCHAR MICROSOFT_KERBEROS_NAME_W[] = { 'K','e','r','b','e','r','o','s',0 };
#endif
+#define KERB_TICKET_FLAGS_reserved 0x80000000
+#define KERB_TICKET_FLAGS_forwardable 0x40000000
+#define KERB_TICKET_FLAGS_forwarded 0x20000000
+#define KERB_TICKET_FLAGS_proxiable 0x10000000
+#define KERB_TICKET_FLAGS_proxy 0x08000000
+#define KERB_TICKET_FLAGS_may_postdate 0x04000000
+#define KERB_TICKET_FLAGS_postdated 0x02000000
+#define KERB_TICKET_FLAGS_invalid 0x01000000
+#define KERB_TICKET_FLAGS_renewable 0x00800000
+#define KERB_TICKET_FLAGS_initial 0x00400000
+#define KERB_TICKET_FLAGS_pre_authent 0x00200000
+#define KERB_TICKET_FLAGS_hw_authent 0x00100000
+#define KERB_TICKET_FLAGS_ok_as_delegate 0x00040000
+#define KERB_TICKET_FLAGS_name_canonicalize 0x00010000
+#define KERB_TICKET_FLAGS_cname_in_pa_data 0x00040000
+#define KERB_TICKET_FLAGS_reserved1 0x00000001
+
+typedef enum _KERB_PROTOCOL_MESSAGE_TYPE
+{
+ KerbDebugRequestMessage = 0,
+ KerbQueryTicketCacheMessage,
+ KerbChangeMachinePasswordMessage,
+ KerbVerifyPacMessage,
+ KerbRetrieveTicketMessage,
+ KerbUpdateAddressesMessage,
+ KerbPurgeTicketCacheMessage,
+ KerbChangePasswordMessage,
+ KerbRetrieveEncodedTicketMessage,
+ KerbDecryptDataMessage,
+ KerbAddBindingCacheEntryMessage,
+ KerbSetPasswordMessage,
+ KerbSetPasswordExMessage,
+ KerbVerifyCredentialsMessage,
+ KerbQueryTicketCacheExMessage,
+ KerbPurgeTicketCacheExMessage,
+ KerbRefreshSmartcardCredentialsMessage,
+ KerbAddExtraCredentialsMessage,
+ KerbQuerySupplementalCredentialsMessage,
+ KerbTransferCredentialsMessage,
+ KerbQueryTicketCacheEx2Message,
+ KerbSubmitTicketMessage,
+ KerbAddExtraCredentialsExMessage,
+ KerbQueryKdcProxyCacheMessage,
+ KerbPurgeKdcProxyCacheMessage,
+ KerbQueryTicketCacheEx3Message,
+ KerbCleanupMachinePkinitCredsMessage,
+ KerbAddBindingCacheEntryExMessage,
+ KerbQueryBindingCacheMessage,
+ KerbPurgeBindingCacheMessage,
+ KerbQueryDomainExtendedPoliciesMessage,
+ KerbQueryS4U2ProxyCacheMessage
+} KERB_PROTOCOL_MESSAGE_TYPE, *PKERB_PROTOCOL_MESSAGE_TYPE;
+
+typedef struct _KERB_TICKET_CACHE_INFO
+{
+ UNICODE_STRING ServerName;
+ UNICODE_STRING RealmName;
+ LARGE_INTEGER StartTime;
+ LARGE_INTEGER EndTime;
+ LARGE_INTEGER RenewTime;
+ LONG EncryptionType;
+ ULONG TicketFlags;
+} KERB_TICKET_CACHE_INFO, *PKERB_TICKET_CACHE_INFO;
+
+typedef struct _KERB_QUERY_TKT_CACHE_REQUEST
+{
+ KERB_PROTOCOL_MESSAGE_TYPE MessageType;
+ LUID LogonId;
+} KERB_QUERY_TKT_CACHE_REQUEST, *PKERB_QUERY_TKT_CACHE_REQUEST;
+
+typedef struct _KERB_QUERY_TKT_CACHE_RESPONSE
+{
+ KERB_PROTOCOL_MESSAGE_TYPE MessageType;
+ ULONG CountOfTickets;
+ KERB_TICKET_CACHE_INFO Tickets[ANYSIZE_ARRAY];
+} KERB_QUERY_TKT_CACHE_RESPONSE, *PKERB_QUERY_TKT_CACHE_RESPONSE;
+
+typedef struct _KERB_RETRIEVE_TKT_REQUEST
+{
+ KERB_PROTOCOL_MESSAGE_TYPE MessageType;
+ LUID LogonId;
+ UNICODE_STRING TargetName;
+ ULONG TicketFlags;
+ ULONG CacheOptions;
+ LONG EncryptionType;
+ SecHandle CredentialsHandle;
+} KERB_RETRIEVE_TKT_REQUEST, *PKERB_RETRIEVE_TKT_REQUEST;
+
+typedef struct _KERB_PURGE_TKT_CACHE_REQUEST
+{
+ KERB_PROTOCOL_MESSAGE_TYPE MessageType;
+ LUID LogonId;
+ UNICODE_STRING ServerName;
+ UNICODE_STRING RealmName;
+} KERB_PURGE_TKT_CACHE_REQUEST, *PKERB_PURGE_TKT_CACHE_REQUEST;
+
#define RtlGenRandom SystemFunction036
#define RtlEncryptMemory SystemFunction040
#define RtlDecryptMemory SystemFunction041
--
2.15.1
3
3
This is not thread-safe.
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/mshtml/htmlscreen.c | 8 +++++---
dlls/mshtml/main.c | 18 ------------------
dlls/mshtml/mshtml_private.h | 1 -
3 files changed, 5 insertions(+), 22 deletions(-)
diff --git a/dlls/mshtml/htmlscreen.c b/dlls/mshtml/htmlscreen.c
index 2ddaad23185c..5c52e4c43741 100644
--- a/dlls/mshtml/htmlscreen.c
+++ b/dlls/mshtml/htmlscreen.c
@@ -123,10 +123,12 @@ static HRESULT WINAPI HTMLScreen_Invoke(IHTMLScreen *iface, DISPID dispIdMember,
static HRESULT WINAPI HTMLScreen_get_colorDepth(IHTMLScreen *iface, LONG *p)
{
HTMLScreen *This = impl_from_IHTMLScreen(iface);
+ HDC hdc = GetDC(0);
TRACE("(%p)->(%p)\n", This, p);
- *p = GetDeviceCaps(get_display_dc(), BITSPIXEL);
+ *p = GetDeviceCaps(hdc, BITSPIXEL);
+ ReleaseDC(0, hdc);
return S_OK;
}
@@ -150,7 +152,7 @@ static HRESULT WINAPI HTMLScreen_get_width(IHTMLScreen *iface, LONG *p)
TRACE("(%p)->(%p)\n", This, p);
- *p = GetDeviceCaps(get_display_dc(), HORZRES);
+ *p = GetSystemMetrics(SM_CXSCREEN);
return S_OK;
}
@@ -160,7 +162,7 @@ static HRESULT WINAPI HTMLScreen_get_height(IHTMLScreen *iface, LONG *p)
TRACE("(%p)->(%p)\n", This, p);
- *p = GetDeviceCaps(get_display_dc(), VERTRES);
+ *p = GetSystemMetrics(SM_CYSCREEN);
return S_OK;
}
diff --git a/dlls/mshtml/main.c b/dlls/mshtml/main.c
index af716d16806c..0227cccf3497 100644
--- a/dlls/mshtml/main.c
+++ b/dlls/mshtml/main.c
@@ -51,7 +51,6 @@ HINSTANCE hInst;
DWORD mshtml_tls = TLS_OUT_OF_INDEXES;
static HINSTANCE shdoclc = NULL;
-static HDC display_dc;
static WCHAR *status_strings[IDS_STATUS_LAST-IDS_STATUS_FIRST+1];
static IMultiLanguage2 *mlang;
@@ -140,8 +139,6 @@ static void process_detach(void)
FreeLibrary(shdoclc);
if(mshtml_tls != TLS_OUT_OF_INDEXES)
TlsFree(mshtml_tls);
- if(display_dc)
- DeleteObject(display_dc);
if(mlang)
IMultiLanguage2_Release(mlang);
@@ -210,21 +207,6 @@ HINSTANCE get_shdoclc(void)
return shdoclc = LoadLibraryExW(wszShdoclc, NULL, LOAD_LIBRARY_AS_DATAFILE);
}
-HDC get_display_dc(void)
-{
- static const WCHAR displayW[] = {'D','I','S','P','L','A','Y',0};
-
- if(!display_dc) {
- HDC hdc;
-
- hdc = CreateICW(displayW, NULL, NULL, NULL);
- if(InterlockedCompareExchangePointer((void**)&display_dc, hdc, NULL))
- DeleteObject(hdc);
- }
-
- return display_dc;
-}
-
BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID reserved)
{
switch(fdwReason) {
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index aef82cd18b55..51a1addaf269 100644
--- a/dlls/mshtml/mshtml_private.h
+++ b/dlls/mshtml/mshtml_private.h
@@ -1348,7 +1348,6 @@ extern void *call_thiscall_func;
UINT cp_from_charset_string(BSTR) DECLSPEC_HIDDEN;
BSTR charset_string_from_cp(UINT) DECLSPEC_HIDDEN;
-HDC get_display_dc(void) DECLSPEC_HIDDEN;
HINSTANCE get_shdoclc(void) DECLSPEC_HIDDEN;
void set_statustext(HTMLDocumentObj*,INT,LPCWSTR) DECLSPEC_HIDDEN;
--
2.15.1
2
1
26 Jan '18
stp/ldp don't require any more alignment than the normal str/ldr.
Signed-off-by: Martin Storsjo <martin(a)martin.st>
---
dlls/msvcrt/except_arm64.c | 74 +++++++++++++++++-----------------------------
1 file changed, 27 insertions(+), 47 deletions(-)
diff --git a/dlls/msvcrt/except_arm64.c b/dlls/msvcrt/except_arm64.c
index 904d006..2576928 100644
--- a/dlls/msvcrt/except_arm64.c
+++ b/dlls/msvcrt/except_arm64.c
@@ -141,65 +141,45 @@ __ASM_GLOBAL_FUNC(MSVCRT__setjmp,
* _setjmpex (MSVCRT.@)
*/
__ASM_GLOBAL_FUNC(MSVCRT__setjmpex,
- "str x1, [x0]\n\t" /* jmp_buf->Frame */
- "str x19, [x0, #0x10]\n\t" /* jmp_buf->X19 */
- "str x20, [x0, #0x18]\n\t" /* jmp_buf->X20 */
- "str x21, [x0, #0x20]\n\t" /* jmp_buf->X21 */
- "str x22, [x0, #0x28]\n\t" /* jmp_buf->X22 */
- "str x23, [x0, #0x30]\n\t" /* jmp_buf->X23 */
- "str x24, [x0, #0x38]\n\t" /* jmp_buf->X24 */
- "str x25, [x0, #0x40]\n\t" /* jmp_buf->X25 */
- "str x26, [x0, #0x48]\n\t" /* jmp_buf->X26 */
- "str x27, [x0, #0x50]\n\t" /* jmp_buf->X27 */
- "str x28, [x0, #0x58]\n\t" /* jmp_buf->X28 */
- "str x29, [x0, #0x60]\n\t" /* jmp_buf->Fp */
- "str x30, [x0, #0x68]\n\t" /* jmp_buf->Lr */
+ "str x1, [x0]\n\t" /* jmp_buf->Frame */
+ "stp x19, x20, [x0, #0x10]\n\t" /* jmp_buf->X19, X20 */
+ "stp x21, x22, [x0, #0x20]\n\t" /* jmp_buf->X21, X22 */
+ "stp x23, x24, [x0, #0x30]\n\t" /* jmp_buf->X23, X24 */
+ "stp x25, x26, [x0, #0x40]\n\t" /* jmp_buf->X25, X26 */
+ "stp x27, x28, [x0, #0x50]\n\t" /* jmp_buf->X27, X28 */
+ "stp x29, x30, [x0, #0x60]\n\t" /* jmp_buf->Fp, Lr */
"mov x2, sp\n\t"
- "str x2, [x0, #0x70]\n\t" /* jmp_buf->Sp */
+ "str x2, [x0, #0x70]\n\t" /* jmp_buf->Sp */
"mrs x2, fpcr\n\t"
- "str w2, [x0, #0x78]\n\t" /* jmp_buf->Fpcr */
+ "str w2, [x0, #0x78]\n\t" /* jmp_buf->Fpcr */
"mrs x2, fpsr\n\t"
- "str w2, [x0, #0x7c]\n\t" /* jmp_buf->Fpsr */
- "str d8, [x0, #0x80]\n\t" /* jmp_buf->D[0] */
- "str d9, [x0, #0x88]\n\t" /* jmp_buf->D[1] */
- "str d10, [x0, #0x90]\n\t" /* jmp_buf->D[2] */
- "str d11, [x0, #0x98]\n\t" /* jmp_buf->D[3] */
- "str d12, [x0, #0xa0]\n\t" /* jmp_buf->D[4] */
- "str d13, [x0, #0xa8]\n\t" /* jmp_buf->D[5] */
- "str d14, [x0, #0xb0]\n\t" /* jmp_buf->D[6] */
- "str d15, [x0, #0xb8]\n\t" /* jmp_buf->D[7] */
+ "str w2, [x0, #0x7c]\n\t" /* jmp_buf->Fpsr */
+ "stp d8, d9, [x0, #0x80]\n\t" /* jmp_buf->D[0-1] */
+ "stp d10, d11, [x0, #0x90]\n\t" /* jmp_buf->D[2-3] */
+ "stp d12, d13, [x0, #0xa0]\n\t" /* jmp_buf->D[4-5] */
+ "stp d14, d15, [x0, #0xb0]\n\t" /* jmp_buf->D[6-7] */
"mov x0, #0\n\t"
"ret");
extern void DECLSPEC_NORETURN CDECL longjmp_set_regs(struct MSVCRT___JUMP_BUFFER *jmp, int retval);
__ASM_GLOBAL_FUNC(longjmp_set_regs,
- "ldr x19, [x0, #0x10]\n\t" /* jmp_buf->X19 */
- "ldr x20, [x0, #0x18]\n\t" /* jmp_buf->X20 */
- "ldr x21, [x0, #0x20]\n\t" /* jmp_buf->X21 */
- "ldr x22, [x0, #0x28]\n\t" /* jmp_buf->X22 */
- "ldr x23, [x0, #0x30]\n\t" /* jmp_buf->X23 */
- "ldr x24, [x0, #0x38]\n\t" /* jmp_buf->X24 */
- "ldr x25, [x0, #0x40]\n\t" /* jmp_buf->X25 */
- "ldr x26, [x0, #0x48]\n\t" /* jmp_buf->X26 */
- "ldr x27, [x0, #0x50]\n\t" /* jmp_buf->X27 */
- "ldr x28, [x0, #0x58]\n\t" /* jmp_buf->X28 */
- "ldr x29, [x0, #0x60]\n\t" /* jmp_buf->Fp */
- "ldr x30, [x0, #0x68]\n\t" /* jmp_buf->Lr */
- "ldr x2, [x0, #0x70]\n\t" /* jmp_buf->Sp */
+ "ldp x19, x20, [x0, #0x10]\n\t" /* jmp_buf->X19, X20 */
+ "ldp x21, x22, [x0, #0x20]\n\t" /* jmp_buf->X21, X22 */
+ "ldp x23, x24, [x0, #0x30]\n\t" /* jmp_buf->X23, X24 */
+ "ldp x25, x26, [x0, #0x40]\n\t" /* jmp_buf->X25, X26 */
+ "ldp x27, x28, [x0, #0x50]\n\t" /* jmp_buf->X27, X28 */
+ "ldp x29, x30, [x0, #0x60]\n\t" /* jmp_buf->Fp, Lr */
+ "ldr x2, [x0, #0x70]\n\t" /* jmp_buf->Sp */
"mov sp, x2\n\t"
- "ldr w2, [x0, #0x78]\n\t" /* jmp_buf->Fpcr */
+ "ldr w2, [x0, #0x78]\n\t" /* jmp_buf->Fpcr */
"msr fpcr, x2\n\t"
- "ldr w2, [x0, #0x7c]\n\t" /* jmp_buf->Fpsr */
+ "ldr w2, [x0, #0x7c]\n\t" /* jmp_buf->Fpsr */
"msr fpsr, x2\n\t"
- "ldr d8, [x0, #0x80]\n\t" /* jmp_buf->D[0] */
- "ldr d9, [x0, #0x88]\n\t" /* jmp_buf->D[1] */
- "ldr d10, [x0, #0x90]\n\t" /* jmp_buf->D[2] */
- "ldr d11, [x0, #0x98]\n\t" /* jmp_buf->D[3] */
- "ldr d12, [x0, #0xa0]\n\t" /* jmp_buf->D[4] */
- "ldr d13, [x0, #0xa8]\n\t" /* jmp_buf->D[5] */
- "ldr d14, [x0, #0xb0]\n\t" /* jmp_buf->D[6] */
- "ldr d15, [x0, #0xb8]\n\t" /* jmp_buf->D[7] */
+ "ldp d8, d9, [x0, #0x80]\n\t" /* jmp_buf->D[0-1] */
+ "ldp d10, d11, [x0, #0x90]\n\t" /* jmp_buf->D[2-3] */
+ "ldp d12, d13, [x0, #0xa0]\n\t" /* jmp_buf->D[4-5] */
+ "ldp d14, d15, [x0, #0xb0]\n\t" /* jmp_buf->D[6-7] */
"mov x0, x1\n\t" /* retval */
"ret");
--
2.7.4
2
1
26 Jan '18
This patch proved to be very useful to track down gssapi failures in
addition to diagnostic libkrb5 (KRB5_TRACE=/dev/stdout) output.
Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru>
---
dlls/kerberos/krb5_ap.c | 43 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/dlls/kerberos/krb5_ap.c b/dlls/kerberos/krb5_ap.c
index 56b78fc22b..b4a37f754f 100644
--- a/dlls/kerberos/krb5_ap.c
+++ b/dlls/kerberos/krb5_ap.c
@@ -189,6 +189,7 @@ static void *libgssapi_krb5_handle;
MAKE_FUNCPTR(gss_accept_sec_context);
MAKE_FUNCPTR(gss_acquire_cred);
MAKE_FUNCPTR(gss_delete_sec_context);
+MAKE_FUNCPTR(gss_display_status);
MAKE_FUNCPTR(gss_get_mic);
MAKE_FUNCPTR(gss_import_name);
MAKE_FUNCPTR(gss_init_sec_context);
@@ -219,6 +220,7 @@ static BOOL load_gssapi_krb5(void)
LOAD_FUNCPTR(gss_accept_sec_context)
LOAD_FUNCPTR(gss_acquire_cred)
LOAD_FUNCPTR(gss_delete_sec_context)
+ LOAD_FUNCPTR(gss_display_status)
LOAD_FUNCPTR(gss_get_mic)
LOAD_FUNCPTR(gss_import_name)
LOAD_FUNCPTR(gss_init_sec_context)
@@ -293,6 +295,37 @@ static SECURITY_STATUS status_gss_to_sspi( OM_uint32 status )
}
}
+static void trace_gss_status_ex( OM_uint32 code, int type )
+{
+ OM_uint32 ret, minor_status;
+ gss_buffer_desc buf;
+ OM_uint32 message_context = 0;
+
+ for (;;)
+ {
+ ret = pgss_display_status( &minor_status, code, type, GSS_C_NULL_OID, &message_context, &buf );
+ if (GSS_ERROR(ret))
+ {
+ TRACE( "gss_display_status(0x%08x,%d) returned %08x minor status %08x\n",
+ code, type, ret, minor_status );
+ return;
+ }
+ TRACE( "GSS-API error: 0x%08x: %s\n", code, debugstr_an(buf.value, buf.length) );
+ pgss_release_buffer( &minor_status, &buf );
+
+ if (!message_context) return;
+ }
+}
+
+static void trace_gss_status( OM_uint32 major_status, OM_uint32 minor_status )
+{
+ if (TRACE_ON(kerberos))
+ {
+ trace_gss_status_ex( major_status, GSS_C_GSS_CODE );
+ trace_gss_status_ex( minor_status, GSS_C_MECH_CODE );
+ }
+}
+
static void expirytime_gss_to_sspi( OM_uint32 expirytime, TimeStamp *timestamp )
{
SYSTEMTIME time;
@@ -319,6 +352,7 @@ static SECURITY_STATUS name_sspi_to_gss( const UNICODE_STRING *name_str, gss_nam
ret = pgss_import_name( &minor_status, &buf, type, name );
TRACE( "gss_import_name returned %08x minor status %08x\n", ret, minor_status );
+ if (GSS_ERROR(ret)) trace_gss_status( ret, minor_status );
HeapFree( GetProcessHeap(), 0, buf.value );
return status_gss_to_sspi( ret );
@@ -414,6 +448,7 @@ static NTSTATUS NTAPI kerberos_SpAcquireCredentialsHandle(
ret = pgss_acquire_cred( &minor_status, principal, GSS_C_INDEFINITE, GSS_C_NULL_OID_SET, cred_usage,
&cred_handle, NULL, &expiry_time );
TRACE( "gss_acquire_cred returned %08x minor status %08x\n", ret, minor_status );
+ if (GSS_ERROR(ret)) trace_gss_status( ret, minor_status );
if (ret == GSS_S_COMPLETE || ret == GSS_S_CONTINUE_NEEDED)
{
credhandle_gss_to_sspi( cred_handle, credential );
@@ -444,6 +479,7 @@ static NTSTATUS NTAPI kerberos_SpFreeCredentialsHandle( LSA_SEC_HANDLE credentia
ret = pgss_release_cred( &minor_status, &cred_handle );
TRACE( "gss_release_cred returned %08x minor status %08x\n", ret, minor_status );
+ if (GSS_ERROR(ret)) trace_gss_status( ret, minor_status );
return status_gss_to_sspi( ret );
#else
@@ -495,6 +531,7 @@ static NTSTATUS NTAPI kerberos_SpInitLsaModeContext( LSA_SEC_HANDLE credential,
GSS_C_NO_CHANNEL_BINDINGS, &input_token, NULL, &output_token, &ret_flags,
&expiry_time );
TRACE( "gss_init_sec_context returned %08x minor status %08x ret_flags %08x\n", ret, minor_status, ret_flags );
+ if (GSS_ERROR(ret)) trace_gss_status( ret, minor_status );
if (ret == GSS_S_COMPLETE || ret == GSS_S_CONTINUE_NEEDED)
{
if (output_token.length > output->pBuffers[idx].cbBuffer) /* FIXME: check if larger buffer exists */
@@ -564,6 +601,7 @@ static NTSTATUS NTAPI kerberos_SpAcceptLsaModeContext( LSA_SEC_HANDLE credential
ret = pgss_accept_sec_context( &minor_status, &ctxt_handle, cred_handle, &input_token, GSS_C_NO_CHANNEL_BINDINGS,
&target, NULL, &output_token, &ret_flags, &expiry_time, NULL );
TRACE( "gss_accept_sec_context returned %08x minor status %08x ctxt_handle %p\n", ret, minor_status, ctxt_handle );
+ if (GSS_ERROR(ret)) trace_gss_status( ret, minor_status );
if (ret == GSS_S_COMPLETE || ret == GSS_S_CONTINUE_NEEDED)
{
if (output_token.length > output->pBuffers[idx].cbBuffer) /* FIXME: check if larger buffer exists */
@@ -607,6 +645,7 @@ static NTSTATUS NTAPI kerberos_SpDeleteContext( LSA_SEC_HANDLE context )
ret = pgss_delete_sec_context( &minor_status, &ctxt_handle, GSS_C_NO_BUFFER );
TRACE( "gss_delete_sec_context returned %08x minor status %08x\n", ret, minor_status );
+ if (GSS_ERROR(ret)) trace_gss_status( ret, minor_status );
return status_gss_to_sspi( ret );
#else
@@ -770,6 +809,7 @@ static NTSTATUS SEC_ENTRY kerberos_SpMakeSignature( LSA_SEC_HANDLE context, ULON
ret = pgss_get_mic( &minor_status, ctxt_handle, GSS_C_QOP_DEFAULT, &data_buffer, &token_buffer );
TRACE( "gss_get_mic returned %08x minor status %08x\n", ret, minor_status );
+ if (GSS_ERROR(ret)) trace_gss_status( ret, minor_status );
if (ret == GSS_S_COMPLETE)
{
memcpy( message->pBuffers[token_idx].pvBuffer, token_buffer.value, token_buffer.length );
@@ -809,6 +849,7 @@ static SECURITY_STATUS SEC_ENTRY kerberos_SpVerifySignature( LSA_SEC_HANDLE cont
ret = pgss_verify_mic( &minor_status, ctxt_handle, &data_buffer, &token_buffer, NULL );
TRACE( "gss_verify_mic returned %08x minor status %08x\n", ret, minor_status );
+ if (GSS_ERROR(ret)) trace_gss_status( ret, minor_status );
if (ret == GSS_S_COMPLETE && quality_of_protection) *quality_of_protection = 0;
return status_gss_to_sspi( ret );
@@ -860,6 +901,7 @@ static NTSTATUS NTAPI kerberos_SpSealMessage( LSA_SEC_HANDLE context, ULONG qual
ret = pgss_wrap_iov( &minor_status, ctxt_handle, 1, GSS_C_QOP_DEFAULT, &conf_state, iov, 4 );
TRACE( "gss_wrap_iov returned %08x minor status %08x\n", ret, minor_status );
+ if (GSS_ERROR(ret)) trace_gss_status( ret, minor_status );
if (ret == GSS_S_COMPLETE)
{
memcpy( message->pBuffers[token_idx].pvBuffer, iov[3].buffer.value, iov[3].buffer.length );
@@ -910,6 +952,7 @@ static NTSTATUS NTAPI kerberos_SpUnsealMessage( LSA_SEC_HANDLE context, SecBuffe
ret = pgss_unwrap_iov( &minor_status, ctxt_handle, &conf_state, NULL, iov, 4 );
TRACE( "gss_unwrap_iov returned %08x minor status %08x\n", ret, minor_status );
+ if (GSS_ERROR(ret)) trace_gss_status( ret, minor_status );
if (ret == GSS_S_COMPLETE && quality_of_protection) *quality_of_protection = (conf_state ? 0 : SECQOP_WRAP_NO_ENCRYPT);
return status_gss_to_sspi( ret );
--
2.15.1
2
1
26 Jan '18
Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru>
---
dlls/kerberos/krb5_ap.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/kerberos/krb5_ap.c b/dlls/kerberos/krb5_ap.c
index 2d3b60115b..56b78fc22b 100644
--- a/dlls/kerberos/krb5_ap.c
+++ b/dlls/kerberos/krb5_ap.c
@@ -754,7 +754,7 @@ static NTSTATUS SEC_ENTRY kerberos_SpMakeSignature( LSA_SEC_HANDLE context, ULON
TRACE( "(%lx 0x%08x %p %u)\n", context, quality_of_protection, message, message_seq_no );
if (quality_of_protection) FIXME( "ignoring quality_of_protection 0x%08x\n", quality_of_protection );
- if (message_seq_no) FIXME( "ignoring message_seq_no %0x08x\n", message_seq_no );
+ if (message_seq_no) FIXME( "ignoring message_seq_no %u\n", message_seq_no );
if (!context) return SEC_E_INVALID_HANDLE;
ctxt_handle = ctxthandle_sspi_to_gss( context );
@@ -794,7 +794,7 @@ static SECURITY_STATUS SEC_ENTRY kerberos_SpVerifySignature( LSA_SEC_HANDLE cont
int data_idx, token_idx;
TRACE( "(%lx %p %u %p)\n", context, message, message_seq_no, quality_of_protection );
- if (message_seq_no) FIXME( "ignoring message_seq_no %0x08x\n", message_seq_no );
+ if (message_seq_no) FIXME( "ignoring message_seq_no %u\n", message_seq_no );
if (!context) return SEC_E_INVALID_HANDLE;
ctxt_handle = ctxthandle_sspi_to_gss( context );
@@ -833,7 +833,7 @@ static NTSTATUS NTAPI kerberos_SpSealMessage( LSA_SEC_HANDLE context, ULONG qual
FIXME( "flags %08x not supported\n", quality_of_protection );
return SEC_E_UNSUPPORTED_FUNCTION;
}
- if (message_seq_no) FIXME( "ignoring message_seq_no %0x08x\n", message_seq_no );
+ if (message_seq_no) FIXME( "ignoring message_seq_no %u\n", message_seq_no );
if (!context) return SEC_E_INVALID_HANDLE;
ctxt_handle = ctxthandle_sspi_to_gss( context );
@@ -884,7 +884,7 @@ static NTSTATUS NTAPI kerberos_SpUnsealMessage( LSA_SEC_HANDLE context, SecBuffe
int token_idx, data_idx, conf_state;
TRACE( "(%lx %p %u %p)\n", context, message, message_seq_no, quality_of_protection );
- if (message_seq_no) FIXME( "ignoring message_seq_no %0x08x\n", message_seq_no );
+ if (message_seq_no) FIXME( "ignoring message_seq_no %u\n", message_seq_no );
if (context) return SEC_E_INVALID_HANDLE;
ctxt_handle = ctxthandle_sspi_to_gss( context );
--
2.15.1
2
1
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
---
Simplified version of what's attached to https://bugs.winehq.org/show_bug.cgi?id=42170,
by Michael Müller.
dlls/wevtapi/main.c | 7 +++++++
dlls/wevtapi/wevtapi.spec | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/dlls/wevtapi/main.c b/dlls/wevtapi/main.c
index 5b9949bad6..a97843712f 100644
--- a/dlls/wevtapi/main.c
+++ b/dlls/wevtapi/main.c
@@ -115,3 +115,10 @@ BOOL WINAPI EvtClose(EVT_HANDLE handle)
FIXME("(%p) stub\n", handle);
return TRUE;
}
+
+BOOL WINAPI EvtNext(EVT_HANDLE result_set, DWORD size, EVT_HANDLE *array, DWORD timeout, DWORD flags, DWORD *ret_count)
+{
+ FIXME("(%p %u %p %u %#x %p) stub!\n", result_set, size, array, timeout, flags, ret_count);
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return FALSE;
+}
diff --git a/dlls/wevtapi/wevtapi.spec b/dlls/wevtapi/wevtapi.spec
index e2bec570b2..ddd2f329d3 100644
--- a/dlls/wevtapi/wevtapi.spec
+++ b/dlls/wevtapi/wevtapi.spec
@@ -25,7 +25,7 @@
@ stub EvtIntRetractConfig
@ stub EvtIntSysprepCleanup
@ stub EvtIntWriteXmlEventToLocalLogfile
-@ stub EvtNext
+@ stdcall EvtNext(ptr long ptr long long ptr)
@ stdcall EvtNextChannelPath(ptr long ptr ptr)
@ stub EvtNextEventMetadata
@ stub EvtNextPublisherId
--
2.15.1
1
0
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
---
dlls/user32/class.c | 79 +++++++++++++++++++++++++++++++++++++++++------
dlls/user32/tests/class.c | 9 ------
2 files changed, 69 insertions(+), 19 deletions(-)
diff --git a/dlls/user32/class.c b/dlls/user32/class.c
index fae88f20b3..8aa568dde3 100644
--- a/dlls/user32/class.c
+++ b/dlls/user32/class.c
@@ -161,6 +161,32 @@ static BOOL is_comctl32_class( const WCHAR *name )
return FALSE;
}
+static BOOL is_builtin_class( const WCHAR *name )
+{
+ static const WCHAR classesW[][20] =
+ {
+ {'B','u','t','t','o','n',0},
+ {'C','o','m','b','o','B','o','x',0},
+ {'C','o','m','b','o','L','B','o','x',0},
+ {'E','d','i','t',0},
+ {'I','M','E',0},
+ {'L','i','s','t','B','o','x',0},
+ {'M','D','I','C','l','i','e','n','t',0},
+ {'S','c','r','o','l','l','b','a','r',0},
+ {'S','t','a','t','i','c',0},
+ };
+
+ int min = 0, max = (sizeof(classesW) / sizeof(classesW[0])) - 1;
+
+ while (min <= max)
+ {
+ int res, pos = (min + max) / 2;
+ if (!(res = strcmpiW( name, classesW[pos] ))) return TRUE;
+ if (res < 0) max = pos - 1;
+ else min = pos + 1;
+ }
+ return FALSE;
+}
/***********************************************************************
* set_server_info
@@ -299,6 +325,32 @@ static void CLASS_FreeClass( CLASS *classPtr )
USER_Unlock();
}
+static const WCHAR *CLASS_GetVersionedName( const WCHAR *name )
+{
+ ACTCTX_SECTION_KEYED_DATA data;
+ struct wndclass_redirect_data
+ {
+ ULONG size;
+ DWORD res;
+ ULONG name_len;
+ ULONG name_offset;
+ ULONG module_len;
+ ULONG module_offset;
+ } *wndclass;
+
+ if (IS_INTRESOURCE( name ))
+ return name;
+
+ if (is_comctl32_class( name ) || is_builtin_class( name ))
+ return name;
+
+ data.cbSize = sizeof(data);
+ if (!FindActCtxSectionStringW(0, NULL, ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION, name, &data))
+ return name;
+
+ wndclass = (struct wndclass_redirect_data *)data.lpData;
+ return (const WCHAR *)((BYTE *)wndclass + wndclass->name_offset);
+}
/***********************************************************************
* CLASS_FindClass
@@ -315,6 +367,8 @@ static CLASS *CLASS_FindClass( LPCWSTR name, HINSTANCE hinstance )
if (!name) return NULL;
+ name = CLASS_GetVersionedName( name );
+
for (;;)
{
USER_Lock();
@@ -561,6 +615,8 @@ ATOM WINAPI RegisterClassW( const WNDCLASSW* wc )
*/
ATOM WINAPI RegisterClassExA( const WNDCLASSEXA* wc )
{
+ const WCHAR *classname = NULL;
+ WCHAR name[MAX_ATOM_LEN + 1];
ATOM atom;
CLASS *classPtr;
HINSTANCE instance;
@@ -577,10 +633,9 @@ ATOM WINAPI RegisterClassExA( const WNDCLASSEXA* wc )
if (!IS_INTRESOURCE(wc->lpszClassName))
{
- WCHAR name[MAX_ATOM_LEN + 1];
-
if (!MultiByteToWideChar( CP_ACP, 0, wc->lpszClassName, -1, name, MAX_ATOM_LEN + 1 )) return 0;
- classPtr = CLASS_RegisterClass( name, instance, !(wc->style & CS_GLOBALCLASS),
+ classname = CLASS_GetVersionedName( name );
+ classPtr = CLASS_RegisterClass( classname, instance, !(wc->style & CS_GLOBALCLASS),
wc->style, wc->cbClsExtra, wc->cbWndExtra );
}
else
@@ -592,9 +647,9 @@ ATOM WINAPI RegisterClassExA( const WNDCLASSEXA* wc )
if (!classPtr) return 0;
atom = classPtr->atomName;
- TRACE("name=%s atom=%04x wndproc=%p hinst=%p bg=%p style=%08x clsExt=%d winExt=%d class=%p\n",
- debugstr_a(wc->lpszClassName), atom, wc->lpfnWndProc, instance, wc->hbrBackground,
- wc->style, wc->cbClsExtra, wc->cbWndExtra, classPtr );
+ TRACE("name=%s%s%s atom=%04x wndproc=%p hinst=%p bg=%p style=%08x clsExt=%d winExt=%d class=%p\n",
+ debugstr_a(wc->lpszClassName), classname != name ? "->" : "", classname != name ? debugstr_w(classname) : "",
+ atom, wc->lpfnWndProc, instance, wc->hbrBackground, wc->style, wc->cbClsExtra, wc->cbWndExtra, classPtr );
classPtr->hIcon = wc->hIcon;
classPtr->hIconSm = wc->hIconSm;
@@ -617,6 +672,7 @@ ATOM WINAPI RegisterClassExA( const WNDCLASSEXA* wc )
*/
ATOM WINAPI RegisterClassExW( const WNDCLASSEXW* wc )
{
+ const WCHAR *classname;
ATOM atom;
CLASS *classPtr;
HINSTANCE instance;
@@ -631,15 +687,17 @@ ATOM WINAPI RegisterClassExW( const WNDCLASSEXW* wc )
}
if (!(instance = wc->hInstance)) instance = GetModuleHandleW( NULL );
- if (!(classPtr = CLASS_RegisterClass( wc->lpszClassName, instance, !(wc->style & CS_GLOBALCLASS),
+ classname = CLASS_GetVersionedName( wc->lpszClassName );
+ if (!(classPtr = CLASS_RegisterClass( classname, instance, !(wc->style & CS_GLOBALCLASS),
wc->style, wc->cbClsExtra, wc->cbWndExtra )))
return 0;
atom = classPtr->atomName;
- TRACE("name=%s atom=%04x wndproc=%p hinst=%p bg=%p style=%08x clsExt=%d winExt=%d class=%p\n",
- debugstr_w(wc->lpszClassName), atom, wc->lpfnWndProc, instance, wc->hbrBackground,
- wc->style, wc->cbClsExtra, wc->cbWndExtra, classPtr );
+ TRACE("name=%s%s%s atom=%04x wndproc=%p hinst=%p bg=%p style=%08x clsExt=%d winExt=%d class=%p\n",
+ debugstr_w(wc->lpszClassName), classname != wc->lpszClassName ? "->" : "",
+ classname != wc->lpszClassName ? debugstr_w(classname) : "", atom, wc->lpfnWndProc, instance,
+ wc->hbrBackground, wc->style, wc->cbClsExtra, wc->cbWndExtra, classPtr );
classPtr->hIcon = wc->hIcon;
classPtr->hIconSm = wc->hIconSm;
@@ -682,6 +740,7 @@ BOOL WINAPI UnregisterClassW( LPCWSTR className, HINSTANCE hInstance )
GetDesktopWindow(); /* create the desktop window to trigger builtin class registration */
+ className = CLASS_GetVersionedName( className );
SERVER_START_REQ( destroy_class )
{
req->instance = wine_server_client_ptr( hInstance );
diff --git a/dlls/user32/tests/class.c b/dlls/user32/tests/class.c
index dd8f266217..88e4bfcfa4 100644
--- a/dlls/user32/tests/class.c
+++ b/dlls/user32/tests/class.c
@@ -1243,7 +1243,6 @@ static void test_actctx_classes(void)
ok(ret, "Failed to get class info.\n");
ret = GetClassInfoA(hinst, "4.3.2.1!MyTestClass", &wc);
-todo_wine
ok(ret, "Failed to get class info.\n");
ret = UnregisterClassA("MyTestClass", hinst);
@@ -1262,7 +1261,6 @@ todo_wine
wc.lpszClassName = "MyTestClass";
class = RegisterClassA(&wc);
-todo_wine
ok(class == 0, "Expected failure.\n");
ret = DeactivateActCtx(0, cookie);
@@ -1277,28 +1275,23 @@ todo_wine
wc.lpszClassName = "MyTestClass";
class = RegisterClassA(&wc);
-todo_wine
ok(class != 0, "Failed to register class\n");
ret = DeactivateActCtx(0, cookie);
ok(ret, "Failed to deactivate context.\n");
ret = GetClassInfoA(hinst, "MyTestClass", &wc);
-todo_wine
ok(!ret, "Expected failure.\n");
ret = GetClassInfoA(hinst, "4.3.2.1!MyTestClass", &wc);
-todo_wine
ok(ret, "Failed to get class info.\n");
ret = UnregisterClassA("4.3.2.1!MyTestClass", hinst);
-todo_wine
ok(ret, "Failed to unregister class.\n");
/* Register regular name first, it's not considered when versioned name is registered. */
wc.lpszClassName = "MyTestClass";
class = RegisterClassA(&wc);
-todo_wine
ok(class != 0, "Failed to register class.\n");
ret = ActivateActCtx(context, &cookie);
@@ -1306,14 +1299,12 @@ todo_wine
wc.lpszClassName = "MyTestClass";
class = RegisterClassA(&wc);
-todo_wine
ok(class != 0, "Failed to register class.\n");
ret = DeactivateActCtx(0, cookie);
ok(ret, "Failed to deactivate context.\n");
ret = UnregisterClassA("4.3.2.1!MyTestClass", hinst);
-todo_wine
ok(ret, "Failed to unregister class.\n");
ret = UnregisterClassA("MyTestClass", hinst);
--
2.15.1
1
0