Merge branch 'obsequiousnewt-master'

This commit is contained in:
Alistair Leslie-Hughes 2018-02-18 14:48:31 +11:00
commit 19c3c06677
39 changed files with 225 additions and 892 deletions

View File

@ -8,6 +8,7 @@ are part of **Wine Staging** and are licensed under the terms of the
```
Copyright (C) 2014-2017 the Wine Staging project authors.
Copyright (C) 2018 Alistair Leslie-Hughes
Wine Staging is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public

View File

@ -1,2 +1 @@
Fixes: Initial implementation of advapi32.BuildSecurityDescriptorW
Depends: advapi32-GetExplicitEntriesFromAclW

View File

@ -1,7 +1,6 @@
Fixes: [40613] Basic implementation for token integrity levels and UAC handling
Fixes: [39262] Run explorer.exe as unevaluated process
Depends: advapi32-CreateRestrictedToken
Depends: advapi32-GetExplicitEntriesFromAclW
Depends: kernel32-COMSPEC
Depends: kernel32-UmsStubs
Depends: ntdll-APC_Start_Process

View File

@ -1,3 +1,2 @@
Fixes: [42191] Add semi-stub for D3D11 deferred context implementation
Depends: wined3d-1DTextures
Depends: d3d11-ResolveSubresource

View File

@ -1,2 +1 @@
Fixes: Initial implementation for d3dx9_36.D3DXDisassembleShader
Depends: d3dx9_36-GetShaderSemantics

View File

@ -1,2 +1 @@
Fixes: [38960] Add support for kernel32.SetFileCompletionNotificationModes
Depends: ntdll-FileNameInformation

View File

@ -1,52 +0,0 @@
From 0cb287b9ba62ee9e353248861d4c177f7db48dcb Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Wed, 20 Jul 2016 02:21:41 +0200
Subject: ntdll: Ensure process dlls are not attached too early. (v2)
---
dlls/ntdll/loader.c | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index 518a99f590..94668e8ba4 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -64,6 +64,7 @@ typedef DWORD (CALLBACK *DLLENTRYPROC)(H
typedef void (CALLBACK *LDRENUMPROC)(LDR_MODULE *, void *, BOOLEAN *);
static BOOL imports_fixup_done = FALSE; /* set once the imports have been fixed up, before attaching them */
+static BOOL process_attaching = TRUE; /* set on process attach to avoid calling callbacks too early */
static BOOL process_detaching = FALSE; /* set on process detach to avoid deadlocks with thread detach */
static int free_lib_count; /* recursion depth of LdrUnloadDll calls */
@@ -459,6 +460,19 @@ static FARPROC find_forwarded_export( HM
current_modref->deps = deps;
}
}
+ if (process_attaching)
+ {
+ WINE_MODREF **deps, *prev = get_modref( module );
+ if (!prev->deps)
+ deps = RtlAllocateHeap( GetProcessHeap(), 0, sizeof(*deps) );
+ else
+ deps = RtlReAllocateHeap( GetProcessHeap(), 0, prev->deps, (prev->nDeps + 1) * sizeof(*deps) );
+ if (deps)
+ {
+ prev->deps = deps;
+ prev->deps[prev->nDeps++] = wm;
+ }
+ }
else if (process_attach( wm, NULL ) != STATUS_SUCCESS)
{
LdrUnloadDll( wm->ldr.BaseAddress );
@@ -2995,6 +3009,7 @@ NTSTATUS attach_dlls( CONTEXT *context )
WINE_MODREF *wm;
LPCWSTR load_path = NtCurrentTeb()->Peb->ProcessParameters->DllPath.Buffer;
+ process_attaching = FALSE;
pthread_sigmask( SIG_UNBLOCK, &server_block_set, NULL );
if (process_detaching) return STATUS_SUCCESS;
--
2.12.2

View File

@ -1 +0,0 @@
Fixes: [40714] Ensure process_attach callbacks are not executed too early

View File

@ -1,4 +1,3 @@
Fixes: Support for loader dll redirections
Depends: ntdll-Loader_Machine_Type
Depends: ntdll-DllOverrides_WOW64
Depends: ntdll-Attach_Process_DLLs

View File

@ -1,3 +1,2 @@
Fixes: [38656] Add support for hiding wine version information from applications
Depends: ntdll-Attach_Process_DLLs
Depends: ntdll-ThreadTime

View File

@ -1,7 +1,7 @@
From d5092cdd3d4df589f50b52c75bd50127c59f545d Mon Sep 17 00:00:00 2001
From 6250b3812eea73306a90ac68d329f16cb4436e8d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 27 Jul 2014 03:35:42 +0200
Subject: ntdll: Allow special characters in pipe names.
Subject: [PATCH] ntdll: Allow special characters in pipe names.
Based on patch by Valentyn Pavliuchenko.
---
@ -10,10 +10,10 @@ Based on patch by Valentyn Pavliuchenko.
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/dlls/kernel32/tests/pipe.c b/dlls/kernel32/tests/pipe.c
index f7c7531..04de950 100644
index 22d120f..8e5c07f 100644
--- a/dlls/kernel32/tests/pipe.c
+++ b/dlls/kernel32/tests/pipe.c
@@ -29,6 +29,7 @@
@@ -30,6 +30,7 @@
#include "wine/test.h"
#define PIPENAME "\\\\.\\PiPe\\tests_pipe.c"
@ -21,7 +21,7 @@ index f7c7531..04de950 100644
#define NB_SERVER_LOOPS 8
@@ -335,6 +336,15 @@ static void test_CreateNamedPipe(int pipemode)
@@ -627,6 +628,15 @@ static void test_CreateNamedPipe(int pipemode)
ok(CloseHandle(hnp), "CloseHandle\n");
@ -34,14 +34,14 @@ index f7c7531..04de950 100644
+ ok(hnp != INVALID_HANDLE_VALUE, "CreateNamedPipe with special characters failed\n");
+ ok(CloseHandle(hnp), "CloseHandle\n");
+
trace("test_CreateNamedPipe returning\n");
if (winetest_debug > 1) trace("test_CreateNamedPipe returning\n");
}
diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
index 04a5b75..6558958 100644
index 3b76f9b..4206584 100644
--- a/dlls/ntdll/directory.c
+++ b/dlls/ntdll/directory.c
@@ -3009,6 +3009,7 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
@@ -2825,6 +2825,7 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
UINT disposition, BOOLEAN check_case )
{
static const WCHAR unixW[] = {'u','n','i','x'};
@ -49,7 +49,7 @@ index 04a5b75..6558958 100644
static const WCHAR invalid_charsW[] = { INVALID_NT_CHARS, 0 };
NTSTATUS status = STATUS_SUCCESS;
@@ -3019,6 +3020,7 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
@@ -2835,6 +2836,7 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
int pos, ret, name_len, unix_len, prefix_len, used_default;
WCHAR prefix[MAX_DIR_ENTRY_LEN];
BOOLEAN is_unix = FALSE;
@ -57,7 +57,7 @@ index 04a5b75..6558958 100644
name = nameW->Buffer;
name_len = nameW->Length / sizeof(WCHAR);
@@ -3050,13 +3052,17 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
@@ -2868,13 +2870,17 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
name += prefix_len;
name_len -= prefix_len;
@ -80,5 +80,5 @@ index 04a5b75..6558958 100644
else
{
--
1.8.3.2
2.7.4

View File

@ -1,7 +1,7 @@
From 29ec5605140dec0a480bde2024c3ef8a682eb46e Mon Sep 17 00:00:00 2001
From f5711f1aa3676f55e7defb3996163e3fb327fc1f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 17 Jan 2016 00:50:50 +0100
Subject: ntdll/tests: Add basic tests for RtlQueryPackageIdentity.
Subject: [PATCH 3/3] ntdll/tests: Add basic tests for RtlQueryPackageIdentity.
---
dlls/ntdll/tests/Makefile.in | 2 +-
@ -9,7 +9,7 @@ Subject: ntdll/tests: Add basic tests for RtlQueryPackageIdentity.
2 files changed, 77 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/tests/Makefile.in b/dlls/ntdll/tests/Makefile.in
index fc352dd22b..0de4fe8f20 100644
index fc352dd..0de4fe8 100644
--- a/dlls/ntdll/tests/Makefile.in
+++ b/dlls/ntdll/tests/Makefile.in
@@ -1,5 +1,5 @@
@ -20,7 +20,7 @@ index fc352dd22b..0de4fe8f20 100644
C_SRCS = \
atom.c \
diff --git a/dlls/ntdll/tests/rtl.c b/dlls/ntdll/tests/rtl.c
index 7176e448ef..8292f72527 100644
index 2e3a7de..02ae1c1 100644
--- a/dlls/ntdll/tests/rtl.c
+++ b/dlls/ntdll/tests/rtl.c
@@ -25,6 +25,9 @@
@ -38,19 +38,19 @@ index 7176e448ef..8292f72527 100644
static NTSTATUS (WINAPI *pRtlInitializeCriticalSectionEx)(CRITICAL_SECTION *, ULONG, ULONG);
static NTSTATUS (WINAPI *pLdrEnumerateLoadedModules)(void *, void *, void *);
+static NTSTATUS (WINAPI *pRtlQueryPackageIdentity)(HANDLE, WCHAR*, SIZE_T*, WCHAR*, SIZE_T*, BOOLEAN*);
static NTSTATUS (WINAPI *pRtlMakeSelfRelativeSD)(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,LPDWORD);
static NTSTATUS (WINAPI *pRtlAbsoluteToSelfRelativeSD)(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PULONG);
static HMODULE hkernel32 = 0;
static BOOL (WINAPI *pIsWow64Process)(HANDLE, PBOOL);
@@ -153,6 +157,7 @@ static void InitFunctionPtrs(void)
@@ -155,6 +159,7 @@ static void InitFunctionPtrs(void)
pRtlIsCriticalSectionLockedByThread = (void *)GetProcAddress(hntdll, "RtlIsCriticalSectionLockedByThread");
pRtlInitializeCriticalSectionEx = (void *)GetProcAddress(hntdll, "RtlInitializeCriticalSectionEx");
pLdrEnumerateLoadedModules = (void *)GetProcAddress(hntdll, "LdrEnumerateLoadedModules");
+ pRtlQueryPackageIdentity = (void *)GetProcAddress(hntdll, "RtlQueryPackageIdentity");
pRtlMakeSelfRelativeSD = (void *)GetProcAddress(hntdll, "RtlMakeSelfRelativeSD");
pRtlAbsoluteToSelfRelativeSD = (void *)GetProcAddress(hntdll, "RtlAbsoluteToSelfRelativeSD");
}
hkernel32 = LoadLibraryA("kernel32.dll");
ok(hkernel32 != 0, "LoadLibrary failed\n");
@@ -2209,6 +2214,76 @@ static void test_LdrEnumerateLoadedModules(void)
ok(status == STATUS_INVALID_PARAMETER, "expected STATUS_INVALID_PARAMETER, got 0x%08x\n", status);
@@ -2259,6 +2264,76 @@ static void test_RtlMakeSelfRelativeSD(void)
ok( status == STATUS_BAD_DESCRIPTOR_FORMAT, "got %08x\n", status );
}
+static void test_RtlQueryPackageIdentity(void)
@ -126,12 +126,13 @@ index 7176e448ef..8292f72527 100644
START_TEST(rtl)
{
InitFunctionPtrs();
@@ -2242,4 +2317,5 @@ START_TEST(rtl)
@@ -2292,5 +2367,6 @@ START_TEST(rtl)
test_RtlInitializeCriticalSectionEx();
test_RtlLeaveCriticalSection();
test_LdrEnumerateLoadedModules();
+ test_RtlQueryPackageIdentity();
test_RtlMakeSelfRelativeSD();
}
--
2.12.2
2.7.4

View File

@ -1,7 +1,8 @@
From f7a85ba8219c46b226376aed23f2d81bfff902dc Mon Sep 17 00:00:00 2001
From 67bbbb723dc971116a7b9569081baf2dc387e2ac Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Wed, 25 Feb 2015 22:45:42 +0100
Subject: ntdll: Fix race-condition when threads are killed during shutdown.
Subject: [PATCH] ntdll: Fix race-condition when threads are killed during
shutdown.
When exit_thread is executed, nb_threads is decremented before the thread is
fully shutdown. When another thread runs ExitProcess() this will cause a SIGQUIT
@ -18,18 +19,18 @@ fix the most critical one (messed up refcounting of threads) for now.
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index 3696c8e..74e64c9 100644
index c999d4b..5e02966 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -370,6 +370,7 @@ void terminate_thread( int status )
void exit_thread( int status )
@@ -459,6 +459,7 @@ void exit_thread( int status )
void WINAPI RtlExitUserThread( ULONG status )
{
static void *prev_teb;
+ sigset_t sigset;
TEB *teb;
if (status) /* send the exit code to the server (0 is already the default) */
@@ -383,7 +384,7 @@ void exit_thread( int status )
@@ -472,7 +473,7 @@ void WINAPI RtlExitUserThread( ULONG status )
SERVER_END_REQ;
}
@ -37,8 +38,8 @@ index 3696c8e..74e64c9 100644
+ if (interlocked_xchg_add( &nb_threads, 0 ) <= 1)
{
LdrShutdownProcess();
exit( status );
@@ -405,6 +406,11 @@ void exit_thread( int status )
pthread_sigmask( SIG_BLOCK, &server_block_set, NULL );
@@ -495,6 +496,11 @@ void WINAPI RtlExitUserThread( ULONG status )
}
}
@ -47,9 +48,9 @@ index 3696c8e..74e64c9 100644
+ pthread_sigmask( SIG_BLOCK, &sigset, NULL );
+ if (interlocked_xchg_add( &nb_threads, -1 ) <= 1) _exit( status );
+
close( ntdll_get_thread_data()->wait_fd[0] );
close( ntdll_get_thread_data()->wait_fd[1] );
close( ntdll_get_thread_data()->reply_fd );
signal_exit_thread( status );
}
--
2.3.0
2.7.4

View File

@ -1,25 +0,0 @@
From 70bb327be039fc1d2b39df43af59e3d138724eff Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Wed, 4 Oct 2017 01:47:29 +0200
Subject: ntdll: Avoid crash when trying to access page prot of address beyond
address space limit.
---
dlls/ntdll/virtual.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
index a496401e028..368e0ad0f9e 100644
--- a/dlls/ntdll/virtual.c
+++ b/dlls/ntdll/virtual.c
@@ -196,6 +196,7 @@ static BYTE get_page_vprot( const void *addr )
size_t idx = (size_t)addr >> page_shift;
#ifdef _WIN64
+ if ((idx >> pages_vprot_shift) >= pages_vprot_size) return 0;
if (!pages_vprot[idx >> pages_vprot_shift]) return 0;
return pages_vprot[idx >> pages_vprot_shift][idx & pages_vprot_mask];
#else
--
2.14.1

View File

@ -1,14 +1,15 @@
From 267315dd040ccfa527f8ba48038a268236ca1d29 Mon Sep 17 00:00:00 2001
From ecbbd1eba3491e634bb138044bb8e283be7bba28 Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Tue, 2 Feb 2016 12:49:16 +0800
Subject: ole32/tests: Add a bunch of tests for HGLOBAL based IStream::Clone.
Subject: [PATCH 1/7] ole32/tests: Add a bunch of tests for HGLOBAL based
IStream::Clone.
---
dlls/ole32/tests/hglobalstream.c | 244 +++++++++++++++++++++++++++++++++++++++
1 file changed, 244 insertions(+)
dlls/ole32/tests/hglobalstream.c | 243 +++++++++++++++++++++++++++++++++++++++
1 file changed, 243 insertions(+)
diff --git a/dlls/ole32/tests/hglobalstream.c b/dlls/ole32/tests/hglobalstream.c
index e20d81b..0dc3c52 100644
index 6a0498a..d8b8081 100644
--- a/dlls/ole32/tests/hglobalstream.c
+++ b/dlls/ole32/tests/hglobalstream.c
@@ -2,6 +2,7 @@
@ -19,7 +20,7 @@ index e20d81b..0dc3c52 100644
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -508,11 +509,254 @@ static void test_freed_hglobal(void)
@@ -514,9 +515,251 @@ static void test_freed_hglobal(void)
IStream_Release(pStream);
}
@ -266,14 +267,11 @@ index e20d81b..0dc3c52 100644
+
START_TEST(hglobalstream)
{
HRESULT hr;
IStream *pStream;
test_streamonhglobal();
test_copyto();
test_freed_hglobal();
+ test_IStream_Clone();
+
hr = CreateStreamOnHGlobal(NULL, TRUE, &pStream);
ok_ole_success(hr, "CreateStreamOnHGlobal");
}
--
2.7.0
2.7.4

View File

@ -1,8 +1,8 @@
From 1bb32d84f5ac99211790aa596c995cb0b1a6c88f Mon Sep 17 00:00:00 2001
From 8e2413e84cb6fe83b5a095f36372288c265dff97 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 14 Nov 2015 23:45:18 +0100
Subject: oleaut32: Implement ITypeInfo_fnInvoke for TKIND_COCLASS in
arguments.
Subject: [PATCH 2/4] oleaut32: Implement ITypeInfo_fnInvoke for TKIND_COCLASS
in arguments.
---
dlls/oleaut32/tests/tmarshal.c | 2 +-
@ -10,23 +10,23 @@ Subject: oleaut32: Implement ITypeInfo_fnInvoke for TKIND_COCLASS in
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/dlls/oleaut32/tests/tmarshal.c b/dlls/oleaut32/tests/tmarshal.c
index 96399cc..758b85f 100644
index 00cb464..6aa68c7 100644
--- a/dlls/oleaut32/tests/tmarshal.c
+++ b/dlls/oleaut32/tests/tmarshal.c
@@ -1514,7 +1514,7 @@ static void test_typelibmarshal(void)
@@ -1524,7 +1524,7 @@ static void test_typelibmarshal(void)
dispparams.rgvarg = vararg;
VariantInit(&varresult);
hr = IDispatch_Invoke(pDispatch, DISPID_TM_COCLASS, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, &dispparams, &varresult, &excepinfo, NULL);
- todo_wine ok_ole_success(hr, IDispatch_Invoke);
+ ok_ole_success(hr, IDispatch_Invoke);
todo_wine_if(tmarshal_todo)
ok(excepinfo.wCode == 0x0 && excepinfo.scode == S_OK,
"EXCEPINFO differs from expected: wCode = 0x%x, scode = 0x%08x\n",
excepinfo.wCode, excepinfo.scode);
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
index deb898a..1cfdd7b 100644
index ebc5c39..69072d3 100644
--- a/dlls/oleaut32/typelib.c
+++ b/dlls/oleaut32/typelib.c
@@ -6638,6 +6638,21 @@ static HRESULT get_iface_guid(ITypeInfo *tinfo, HREFTYPE href, GUID *guid)
@@ -6623,6 +6623,21 @@ static HRESULT get_iface_guid(ITypeInfo *tinfo, HREFTYPE href, GUID *guid)
*guid = tattr->guid;
break;
@ -49,5 +49,5 @@ index deb898a..1cfdd7b 100644
ERR("Unexpected typekind %d\n", tattr->typekind);
hres = E_UNEXPECTED;
--
2.6.2
2.7.4

File diff suppressed because it is too large Load Diff

View File

@ -1,52 +0,0 @@
From 8cb902b407afef95cac06fbc52c42d5e481a610a Mon Sep 17 00:00:00 2001
From: Stanislav Motylkov <x86corez@gmail.com>
Date: Wed, 4 Oct 2017 23:46:35 +0300
Subject: rasapi32: Add stub for RasGetConnectionStatistics
---
dlls/rasapi32/rasapi.c | 6 ++++++
dlls/rasapi32/rasapi32.spec | 1 +
include/raserror.h | 1 +
3 files changed, 8 insertions(+)
diff --git a/dlls/rasapi32/rasapi.c b/dlls/rasapi32/rasapi.c
index b1721c61752..791b0dab133 100644
--- a/dlls/rasapi32/rasapi.c
+++ b/dlls/rasapi32/rasapi.c
@@ -547,3 +547,9 @@ DWORD WINAPI RasGetLinkStatistics(HRASCONN connection, DWORD entry, RAS_STATS *s
FIXME("(%p,%u,%p), stub!\n", connection, entry, statistics);
return 0;
}
+
+DWORD WINAPI RasGetConnectionStatistics(HRASCONN connection, RAS_STATS *statistics)
+{
+ FIXME("(%p,%p), stub!\n", connection, statistics);
+ return ERROR_UNKNOWN;
+}
diff --git a/dlls/rasapi32/rasapi32.spec b/dlls/rasapi32/rasapi32.spec
index 66b21a657cc..48d7a73dc87 100644
--- a/dlls/rasapi32/rasapi32.spec
+++ b/dlls/rasapi32/rasapi32.spec
@@ -29,6 +29,7 @@
@ stdcall RasGetAutodialEnableW(long ptr)
@ stdcall RasGetAutodialParamA(long ptr ptr)
@ stdcall RasGetAutodialParamW(long ptr ptr)
+@ stdcall RasGetConnectionStatistics(ptr ptr)
@ stub RasGetConnectResponse
@ stdcall RasGetConnectStatusA(ptr ptr)
@ stdcall RasGetConnectStatusW(ptr ptr)
diff --git a/include/raserror.h b/include/raserror.h
index 17359368780..549b42423cf 100644
--- a/include/raserror.h
+++ b/include/raserror.h
@@ -23,6 +23,7 @@
#define ERROR_BUFFER_TOO_SMALL (RASBASE+3)
#define ERROR_BUFFER_INVALID (RASBASE+10)
#define ERROR_INVALID_SIZE (RASBASE+32)
+#define ERROR_UNKNOWN (RASBASE+35)
#define ERROR_STATE_MACHINES_NOT_STARTED (RASBASE+95)
#define ERROR_RASMAN_CANNOT_INITIALIZE (RASBASE+111)
--
2.14.1

View File

@ -1 +0,0 @@
Fixes: Implement stub for rasapi32.RasGetConnectionStatistics

View File

@ -1,7 +1,8 @@
From b31cd243e2a02b730e31bde59093afc92b9dcf52 Mon Sep 17 00:00:00 2001
From aea2466a7e48d05a176fcd29f68035b15a7a23b7 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Mon, 17 Aug 2015 01:11:47 +0200
Subject: server: Store a reference to the parent object for pipe servers. (v2)
Subject: [PATCH] server: Store a reference to the parent object for pipe
servers. (v2)
---
dlls/ntdll/tests/om.c | 3 ---
@ -11,7 +12,7 @@ Subject: server: Store a reference to the parent object for pipe servers. (v2)
4 files changed, 52 insertions(+), 19 deletions(-)
diff --git a/dlls/ntdll/tests/om.c b/dlls/ntdll/tests/om.c
index 43c5ee46d71..9a1ba670ab7 100644
index 43c5ee4..9a1ba67 100644
--- a/dlls/ntdll/tests/om.c
+++ b/dlls/ntdll/tests/om.c
@@ -1487,14 +1487,11 @@ static void test_query_object(void)
@ -30,18 +31,18 @@ index 43c5ee46d71..9a1ba670ab7 100644
"name too short %s\n", wine_dbgstr_w(str->Buffer) );
trace( "got %s len %u\n", wine_dbgstr_w(str->Buffer), len );
diff --git a/server/named_pipe.c b/server/named_pipe.c
index 58f68227f2d..c52a083df9a 100644
index c6b37ce..825216e 100644
--- a/server/named_pipe.c
+++ b/server/named_pipe.c
@@ -152,6 +152,8 @@ static void pipe_end_reselect_async( struct fd *fd, struct async_queue *queue );
@@ -151,6 +151,8 @@ static void pipe_end_reselect_async( struct fd *fd, struct async_queue *queue );
/* server end functions */
static void pipe_server_dump( struct object *obj, int verbose );
static void pipe_server_destroy( struct object *obj);
+static int pipe_server_link_name( struct object *obj, struct object_name *name, struct object *parent );
+static void pipe_server_unlink_name( struct object *obj, struct object_name *name );
static int pipe_server_ioctl( struct fd *fd, ioctl_code_t code, struct async *async );
static void pipe_server_get_file_info( struct fd *fd, unsigned int info_class );
static const struct object_ops pipe_server_ops =
@@ -169,8 +171,8 @@ static const struct object_ops pipe_server_ops =
default_get_sd, /* get_sd */
default_set_sd, /* set_sd */
@ -51,17 +52,17 @@ index 58f68227f2d..c52a083df9a 100644
+ pipe_server_link_name, /* link_name */
+ pipe_server_unlink_name, /* unlink_name */
no_open_file, /* open_file */
no_alloc_handle, /* alloc_handle */
fd_close_handle, /* close_handle */
@@ -194,6 +196,8 @@ static const struct fd_ops pipe_server_fd_ops =
pipe_server_destroy /* destroy */
@@ -193,6 +195,8 @@ static const struct fd_ops pipe_server_fd_ops =
/* client end functions */
static void pipe_client_dump( struct object *obj, int verbose );
static int pipe_client_signaled( struct object *obj, struct wait_queue_entry *entry );
+static int pipe_client_link_name( struct object *obj, struct object_name *name, struct object *parent );
+static void pipe_client_unlink_name( struct object *obj, struct object_name *name );
static void pipe_client_destroy( struct object *obj );
static int pipe_client_ioctl( struct fd *fd, ioctl_code_t code, struct async *async );
static void pipe_client_get_file_info( struct fd *fd, unsigned int info_class );
@@ -212,8 +216,8 @@ static const struct object_ops pipe_client_ops =
default_get_sd, /* get_sd */
default_set_sd, /* set_sd */
@ -71,9 +72,9 @@ index 58f68227f2d..c52a083df9a 100644
+ pipe_client_link_name, /* link_name */
+ pipe_client_unlink_name, /* unlink_name */
no_open_file, /* open_file */
no_alloc_handle, /* alloc_handle */
fd_close_handle, /* close_handle */
@@ -416,6 +420,17 @@ static void pipe_end_destroy( struct pipe_end *pipe_end )
pipe_client_destroy /* destroy */
@@ -409,6 +413,17 @@ static void pipe_end_destroy( struct pipe_end *pipe_end )
if (pipe_end->fd) release_object( pipe_end->fd );
}
@ -91,7 +92,7 @@ index 58f68227f2d..c52a083df9a 100644
static void pipe_server_destroy( struct object *obj)
{
struct pipe_server *server = (struct pipe_server *)obj;
@@ -438,6 +453,17 @@ static void pipe_server_destroy( struct object *obj)
@@ -431,6 +446,17 @@ static void pipe_server_destroy( struct object *obj)
release_object( server->pipe );
}
@ -109,7 +110,7 @@ index 58f68227f2d..c52a083df9a 100644
static void pipe_client_destroy( struct object *obj)
{
struct pipe_client *client = (struct pipe_client *)obj;
@@ -910,9 +936,10 @@ static void init_pipe_end( struct pipe_end *pipe_end, unsigned int pipe_flags, d
@@ -956,9 +982,10 @@ static void init_pipe_end( struct pipe_end *pipe_end, unsigned int pipe_flags, d
static struct pipe_server *create_pipe_server( struct named_pipe *pipe, unsigned int options,
unsigned int pipe_flags )
{
@ -121,7 +122,7 @@ index 58f68227f2d..c52a083df9a 100644
if (!server)
return NULL;
@@ -933,12 +960,13 @@ static struct pipe_server *create_pipe_server( struct named_pipe *pipe, unsigned
@@ -979,12 +1006,13 @@ static struct pipe_server *create_pipe_server( struct named_pipe *pipe, unsigned
return server;
}
@ -137,7 +138,7 @@ index 58f68227f2d..c52a083df9a 100644
if (!client)
return NULL;
@@ -1016,7 +1044,7 @@ static struct object *named_pipe_open_file( struct object *obj, unsigned int acc
@@ -1062,7 +1090,7 @@ static struct object *named_pipe_open_file( struct object *obj, unsigned int acc
return NULL;
}
@ -147,7 +148,7 @@ index 58f68227f2d..c52a083df9a 100644
set_no_fd_status( server->pipe_end.fd, STATUS_BAD_DEVICE_TYPE );
allow_fd_caching( server->pipe_end.fd );
diff --git a/server/object.c b/server/object.c
index 14cd38e6f7e..77772a8e38b 100644
index 4455718..81f8d1b 100644
--- a/server/object.c
+++ b/server/object.c
@@ -176,7 +176,7 @@ WCHAR *get_object_full_name( struct object *obj, data_size_t *ret_len )
@ -201,10 +202,10 @@ index 14cd38e6f7e..77772a8e38b 100644
/* dump the name of an object to stderr */
diff --git a/server/object.h b/server/object.h
index 72ad8528c5a..ddb4410525b 100644
index b5c50e1..258a5e7 100644
--- a/server/object.h
+++ b/server/object.h
@@ -135,6 +135,8 @@ extern WCHAR *get_object_full_name( struct object *obj, data_size_t *ret_len );
@@ -133,6 +133,8 @@ extern WCHAR *get_object_full_name( struct object *obj, data_size_t *ret_len );
extern void dump_object_name( struct object *obj );
extern struct object *lookup_named_object( struct object *root, const struct unicode_str *name,
unsigned int attr, struct unicode_str *name_left );
@ -214,5 +215,5 @@ index 72ad8528c5a..ddb4410525b 100644
const struct unicode_str *name, unsigned int attributes,
const struct security_descriptor *sd );
--
2.14.1
2.7.4

Some files were not shown because too many files have changed in this diff Show More