Rebase against 52a99f2eadf04394a99d81f97a9a6d2a454fa959.

[api-ms-win-Stub_DLLs]
Removed multiple api-ms-win stub dlls (accepted upstream).

[kernel32-QT_Environment_Variables]
Removed patch to avoid inheritance of QT_ environment variables from host
environment to Wine (accepted upstream).

[kernel32-VirtualProtect]
Removed patch to allow to pass NULL as old protection to VirtualProtect for
Win9x compatibility (accepted upstream).

[services-SERVICE_FILE_SYSTEM_DRIVER]
Removed patch to load SERVICE_FILE_SYSTEM_DRIVER services with winedevice
(accepted upstream).

[wpcap-Several_Fixes]
Removed patch to fix possible crash in pcap_loop (accepted upstream).
This commit is contained in:
Sebastian Lackner 2016-02-17 02:20:12 +01:00
parent bcf8079573
commit 5a7d29e22e
35 changed files with 199 additions and 547 deletions

View File

@ -1,15 +1,15 @@
From 7cb209e122fc503190dcad411483147ebc6d6cb4 Mon Sep 17 00:00:00 2001
From 78ee3e0a09735f835303b7ddd458c8852b4774fc Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 11 Nov 2014 03:11:33 +0100
Subject: ntdll: Implement emulation of SIDT instruction when using Exagear.
---
configure.ac | 8 ++
dlls/ntdll/signal_i386.c | 224 +++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 232 insertions(+)
dlls/ntdll/signal_i386.c | 223 +++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 231 insertions(+)
diff --git a/configure.ac b/configure.ac
index 92d78a2..c88a139 100644
index c9445e7..8a5b2d8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -32,6 +32,7 @@ AC_ARG_ENABLE(win16, AS_HELP_STRING([--disable-win16],[do not include Win16 supp
@ -20,7 +20,7 @@ index 92d78a2..c88a139 100644
AC_ARG_WITH(alsa, AS_HELP_STRING([--without-alsa],[do not use the Alsa sound support]),
[if test "x$withval" = "xno"; then ac_cv_header_sys_asoundlib_h=no; ac_cv_header_alsa_asoundlib_h=no; fi])
@@ -367,6 +368,13 @@ fi
@@ -372,6 +373,13 @@ fi
WINE_WARNING_WITH(gettext,[test "$MSGFMT" = false],
[gettext tools not found (or too old), translations won't be built.])
@ -35,7 +35,7 @@ index 92d78a2..c88a139 100644
dnl Check for -li386 for NetBSD and OpenBSD
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
index 13df4bb..edf5ea8 100644
index 7121267..6976709 100644
--- a/dlls/ntdll/signal_i386.c
+++ b/dlls/ntdll/signal_i386.c
@@ -96,6 +96,14 @@ typedef struct
@ -53,11 +53,10 @@ index 13df4bb..edf5ea8 100644
/***********************************************************************
* signal context platform-specific definitions
*/
@@ -1573,6 +1581,214 @@ static inline DWORD is_privileged_instr( CONTEXT *context )
}
@@ -1898,6 +1906,213 @@ static inline DWORD get_fpu_code( const CONTEXT *context )
}
+
+#ifdef EXAGEAR_COMPAT
+
+/***********************************************************************
@ -265,10 +264,10 @@ index 13df4bb..edf5ea8 100644
+#endif /* EXAGEAR_COMPAT */
+
+
/***********************************************************************
* check_invalid_gs
*
@@ -1902,6 +2118,14 @@ static void WINAPI raise_segv_exception( EXCEPTION_RECORD *rec, CONTEXT *context
/**********************************************************************
* raise_segv_exception
*/
@@ -1907,6 +2122,14 @@ static void WINAPI raise_segv_exception( EXCEPTION_RECORD *rec, CONTEXT *context
switch(rec->ExceptionCode)
{
@ -284,5 +283,5 @@ index 13df4bb..edf5ea8 100644
if (rec->NumberParameters == 2)
{
--
2.1.3
2.7.1

View File

@ -1,57 +0,0 @@
From 59d8094be6c648259ebaabb39c06c41f1e227490 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 21 Jan 2016 00:48:48 +0100
Subject: api-ms-win-core-wow64-l1-1-0: Add dll.
---
configure.ac | 1 +
dlls/api-ms-win-core-wow64-l1-1-0/Makefile.in | 1 +
dlls/api-ms-win-core-wow64-l1-1-0/api-ms-win-core-wow64-l1-1-0.spec | 3 +++
tools/make_specfiles | 1 +
4 files changed, 6 insertions(+)
create mode 100644 dlls/api-ms-win-core-wow64-l1-1-0/Makefile.in
create mode 100644 dlls/api-ms-win-core-wow64-l1-1-0/api-ms-win-core-wow64-l1-1-0.spec
diff --git a/configure.ac b/configure.ac
index 67fd5d5..e10e890 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2696,6 +2696,7 @@ WINE_CONFIG_DLL(api-ms-win-core-winrt-error-l1-1-1)
WINE_CONFIG_DLL(api-ms-win-core-winrt-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-core-winrt-registration-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-core-winrt-string-l1-1-0)
+WINE_CONFIG_DLL(api-ms-win-core-wow64-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-core-xstate-l2-1-0)
WINE_CONFIG_DLL(api-ms-win-crt-conio-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-crt-convert-l1-1-0)
diff --git a/dlls/api-ms-win-core-wow64-l1-1-0/Makefile.in b/dlls/api-ms-win-core-wow64-l1-1-0/Makefile.in
new file mode 100644
index 0000000..3e3d74f
--- /dev/null
+++ b/dlls/api-ms-win-core-wow64-l1-1-0/Makefile.in
@@ -0,0 +1 @@
+MODULE = api-ms-win-core-wow64-l1-1-0.dll
diff --git a/dlls/api-ms-win-core-wow64-l1-1-0/api-ms-win-core-wow64-l1-1-0.spec b/dlls/api-ms-win-core-wow64-l1-1-0/api-ms-win-core-wow64-l1-1-0.spec
new file mode 100644
index 0000000..c1df1cf
--- /dev/null
+++ b/dlls/api-ms-win-core-wow64-l1-1-0/api-ms-win-core-wow64-l1-1-0.spec
@@ -0,0 +1,3 @@
+@ stdcall IsWow64Process(ptr ptr) kernel32.IsWow64Process
+@ stdcall Wow64DisableWow64FsRedirection(ptr) kernel32.Wow64DisableWow64FsRedirection
+@ stdcall Wow64RevertWow64FsRedirection(ptr) kernel32.Wow64RevertWow64FsRedirection
diff --git a/tools/make_specfiles b/tools/make_specfiles
index 8498606..b9a96c7 100755
--- a/tools/make_specfiles
+++ b/tools/make_specfiles
@@ -210,6 +210,7 @@ my @dll_groups =
"api-ms-win-core-localization-l1-2-1",
"api-ms-win-core-datetime-l1-1-0",
"api-ms-win-core-datetime-l1-1-1",
+ "api-ms-win-core-wow64-l1-1-0",
"api-ms-win-core-xstate-l2-1-0",
"api-ms-win-core-errorhandling-l1-1-2",
],
--
2.6.4

View File

@ -1,91 +0,0 @@
From cc03b0abbb80b0d3295db9d89a140208bf55d9f2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 21 Jan 2016 00:54:28 +0100
Subject: api-ms-win-core-threadpool-l1-2-0: Add dll.
---
configure.ac | 1 +
dlls/api-ms-win-core-threadpool-l1-2-0/Makefile.in | 1 +
.../api-ms-win-core-threadpool-l1-2-0.spec | 37 ++++++++++++++++++++++
tools/make_specfiles | 1 +
4 files changed, 40 insertions(+)
create mode 100644 dlls/api-ms-win-core-threadpool-l1-2-0/Makefile.in
create mode 100644 dlls/api-ms-win-core-threadpool-l1-2-0/api-ms-win-core-threadpool-l1-2-0.spec
diff --git a/configure.ac b/configure.ac
index e329038..e66f269 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2688,6 +2688,7 @@ WINE_CONFIG_DLL(api-ms-win-core-synch-l1-2-0)
WINE_CONFIG_DLL(api-ms-win-core-sysinfo-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-core-sysinfo-l1-2-0)
WINE_CONFIG_DLL(api-ms-win-core-sysinfo-l1-2-1)
+WINE_CONFIG_DLL(api-ms-win-core-threadpool-l1-2-0)
WINE_CONFIG_DLL(api-ms-win-core-threadpool-legacy-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-core-timezone-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-core-url-l1-1-0)
diff --git a/dlls/api-ms-win-core-threadpool-l1-2-0/Makefile.in b/dlls/api-ms-win-core-threadpool-l1-2-0/Makefile.in
new file mode 100644
index 0000000..fa2c09e
--- /dev/null
+++ b/dlls/api-ms-win-core-threadpool-l1-2-0/Makefile.in
@@ -0,0 +1 @@
+MODULE = api-ms-win-core-threadpool-l1-2-0.dll
diff --git a/dlls/api-ms-win-core-threadpool-l1-2-0/api-ms-win-core-threadpool-l1-2-0.spec b/dlls/api-ms-win-core-threadpool-l1-2-0/api-ms-win-core-threadpool-l1-2-0.spec
new file mode 100644
index 0000000..870becc
--- /dev/null
+++ b/dlls/api-ms-win-core-threadpool-l1-2-0/api-ms-win-core-threadpool-l1-2-0.spec
@@ -0,0 +1,37 @@
+@ stdcall CallbackMayRunLong(ptr) kernel32.CallbackMayRunLong
+@ stub CancelThreadpoolIo
+@ stdcall CloseThreadpool(ptr) kernel32.CloseThreadpool
+@ stdcall CloseThreadpoolCleanupGroup(ptr) kernel32.CloseThreadpoolCleanupGroup
+@ stdcall CloseThreadpoolCleanupGroupMembers(ptr long ptr) kernel32.CloseThreadpoolCleanupGroupMembers
+@ stub CloseThreadpoolIo
+@ stdcall CloseThreadpoolTimer(ptr) kernel32.CloseThreadpoolTimer
+@ stdcall CloseThreadpoolWait(ptr) kernel32.CloseThreadpoolWait
+@ stdcall CloseThreadpoolWork(ptr) kernel32.CloseThreadpoolWork
+@ stdcall CreateThreadpool(ptr) kernel32.CreateThreadpool
+@ stdcall CreateThreadpoolCleanupGroup() kernel32.CreateThreadpoolCleanupGroup
+@ stub CreateThreadpoolIo
+@ stdcall CreateThreadpoolTimer(ptr ptr ptr) kernel32.CreateThreadpoolTimer
+@ stdcall CreateThreadpoolWait(ptr ptr ptr) kernel32.CreateThreadpoolWait
+@ stdcall CreateThreadpoolWork(ptr ptr ptr) kernel32.CreateThreadpoolWork
+@ stdcall DisassociateCurrentThreadFromCallback(ptr) kernel32.DisassociateCurrentThreadFromCallback
+@ stdcall FreeLibraryWhenCallbackReturns(ptr ptr) kernel32.FreeLibraryWhenCallbackReturns
+@ stdcall IsThreadpoolTimerSet(ptr) kernel32.IsThreadpoolTimerSet
+@ stdcall LeaveCriticalSectionWhenCallbackReturns(ptr ptr) kernel32.LeaveCriticalSectionWhenCallbackReturns
+@ stub QueryThreadpoolStackInformation
+@ stdcall ReleaseMutexWhenCallbackReturns(ptr long) kernel32.ReleaseMutexWhenCallbackReturns
+@ stdcall ReleaseSemaphoreWhenCallbackReturns(ptr long long) kernel32.ReleaseSemaphoreWhenCallbackReturns
+@ stdcall SetEventWhenCallbackReturns(ptr long) kernel32.SetEventWhenCallbackReturns
+@ stub SetThreadpoolStackInformation
+@ stdcall SetThreadpoolThreadMaximum(ptr long) kernel32.SetThreadpoolThreadMaximum
+@ stdcall SetThreadpoolThreadMinimum(ptr long) kernel32.SetThreadpoolThreadMinimum
+@ stdcall SetThreadpoolTimer(ptr ptr long long) kernel32.SetThreadpoolTimer
+@ stub SetThreadpoolTimerEx
+@ stdcall SetThreadpoolWait(ptr long ptr) kernel32.SetThreadpoolWait
+@ stub SetThreadpoolWaitEx
+@ stub StartThreadpoolIo
+@ stdcall SubmitThreadpoolWork(ptr) kernel32.SubmitThreadpoolWork
+@ stdcall TrySubmitThreadpoolCallback(ptr ptr ptr) kernel32.TrySubmitThreadpoolCallback
+@ stub WaitForThreadpoolIoCallbacks
+@ stdcall WaitForThreadpoolTimerCallbacks(ptr long) kernel32.WaitForThreadpoolTimerCallbacks
+@ stdcall WaitForThreadpoolWaitCallbacks(ptr long) kernel32.WaitForThreadpoolWaitCallbacks
+@ stdcall WaitForThreadpoolWorkCallbacks(ptr long) kernel32.WaitForThreadpoolWorkCallbacks
diff --git a/tools/make_specfiles b/tools/make_specfiles
index 8b63c60..7761136 100755
--- a/tools/make_specfiles
+++ b/tools/make_specfiles
@@ -199,6 +199,7 @@ my @dll_groups =
"api-ms-win-core-processenvironment-l1-1-0",
"api-ms-win-core-processenvironment-l1-2-0",
"api-ms-win-core-psapi-l1-1-0",
+ "api-ms-win-core-threadpool-l1-2-0",
"api-ms-win-core-threadpool-legacy-l1-1-0",
"api-ms-win-core-timezone-l1-1-0",
"api-ms-win-core-file-l2-1-1",
--
2.6.4

View File

@ -1,21 +1,13 @@
Fixes: Add api-ms-win-core-com-l1-1-1 dll
Fixes: Add api-ms-win-core-quirks-l1-1-0 dll
Fixes: Add api-ms-win-core-delayload-l1-1-1 dll
Fixes: Add api-ms-win-appmodel-runtime-l1-1-1 dll
Fixes: Add api-ms-win-core-apiquery-l1-1-0 dll
Fixes: Add api-ms-win-core-libraryloader-l1-2-0 dll
Fixes: Add api-ms-win-core-kernel32-legacy-l1-1-1 dll
Fixes: Add api-ms-win-core-heap-l2-1-0 dll
Fixes: Add api-ms-win-eventing-classicprovider-l1-1-0 dll
Fixes: Add api-ms-win-core-winrt-registration-l1-1-0 dll
Fixes: Add api-ms-win-shcore-obsolete-l1-1-0 dll
Fixes: Add ext-ms-win-xaml-pal-l1-1-0 dll
Fixes: Add ext-ms-win-appmodel-usercontext-l1-1-0 dll
Fixes: Add api-ms-win-shcore-thread-l1-1-0 dll
Fixes: Add api-ms-win-core-memory-l1-1-2 dll
Fixes: Add api-ms-win-core-wow64-l1-1-0 dll
Fixes: Add api-ms-win-core-shlwapi-obsolete-l1-2-0 dll
Fixes: Add api-ms-win-core-threadpool-l1-2-0 dll
Fixes: Add api-ms-win-shcore-stream-l1-1-0 dll
Fixes: Add ext-ms-win-ntuser-mouse-l1-1-0 dll
Fixes: Add ext-ms-win-uxtheme-themes-l1-1-0 dll

View File

@ -1,15 +1,24 @@
From ce24c3401d5a103c9cf8e7e6a82cdb61026741fb Mon Sep 17 00:00:00 2001
From fa4ada9e3f3797b704cd8c033fff8f1a8bb25bac Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 17 Jan 2016 02:03:47 +0100
Subject: combase: Add stub for RoGetServerActivatableClasses.
---
dlls/combase/combase.spec | 2 +-
dlls/combase/roapi.c | 11 +++++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
.../api-ms-win-core-winrt-registration-l1-1-0.spec | 2 +-
dlls/combase/combase.spec | 2 +-
dlls/combase/roapi.c | 11 +++++++++++
3 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/dlls/api-ms-win-core-winrt-registration-l1-1-0/api-ms-win-core-winrt-registration-l1-1-0.spec b/dlls/api-ms-win-core-winrt-registration-l1-1-0/api-ms-win-core-winrt-registration-l1-1-0.spec
index 350ac04..20c8d9c 100644
--- a/dlls/api-ms-win-core-winrt-registration-l1-1-0/api-ms-win-core-winrt-registration-l1-1-0.spec
+++ b/dlls/api-ms-win-core-winrt-registration-l1-1-0/api-ms-win-core-winrt-registration-l1-1-0.spec
@@ -1,2 +1,2 @@
@ stub RoGetActivatableClassRegistration
-@ stub RoGetServerActivatableClasses
+@ stdcall RoGetServerActivatableClasses(ptr ptr ptr) combase.RoGetServerActivatableClasses
diff --git a/dlls/combase/combase.spec b/dlls/combase/combase.spec
index 7ae1f6e..3a17e4a 100644
index 0405a0e..fca0b2c 100644
--- a/dlls/combase/combase.spec
+++ b/dlls/combase/combase.spec
@@ -254,7 +254,7 @@
@ -41,5 +50,5 @@ index 035fa47..832ec67 100644
+ return S_OK;
+}
--
2.6.4
2.7.1

View File

@ -1,29 +0,0 @@
From c62a9b8f39fcdd2209959e831e3801162b41420c Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Wed, 27 Jan 2016 06:56:09 +0100
Subject: kernel32: Do not inherit QT_* environment variables to Windows
environment.
If necessary, QT environment variables can still be set by adding a WINE
prefix, for example: WINEQT_QPA_PLATFORM=...
---
dlls/kernel32/process.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index 6e7b23e..bb6c2dd 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -135,7 +135,8 @@ static inline BOOL is_special_env_var( const char *var )
!strncmp( var, "PWD=", sizeof("PWD=")-1 ) ||
!strncmp( var, "HOME=", sizeof("HOME=")-1 ) ||
!strncmp( var, "TEMP=", sizeof("TEMP=")-1 ) ||
- !strncmp( var, "TMP=", sizeof("TMP=")-1 ));
+ !strncmp( var, "TMP=", sizeof("TMP=")-1 ) ||
+ !strncmp( var, "QT_", sizeof("QT_")-1 ));
}
--
2.6.4

View File

@ -1 +0,0 @@
Fixes: Do not inherit QT_* environment variables to Windows environment

View File

@ -1,33 +0,0 @@
From d14a5ed33cdc95ff03c64f6fa574d07da5515825 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 6 Feb 2016 21:23:10 +0100
Subject: kernel32: Allow to pass NULL as old protection in VirtualProtect for
Win9X.
---
dlls/kernel32/virtual.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/virtual.c b/dlls/kernel32/virtual.c
index 03ef38c..e164151 100644
--- a/dlls/kernel32/virtual.c
+++ b/dlls/kernel32/virtual.c
@@ -235,7 +235,14 @@ BOOL WINAPI VirtualProtect( LPVOID addr, SIZE_T size, DWORD new_prot, LPDWORD ol
BOOL WINAPI VirtualProtectEx( HANDLE process, LPVOID addr, SIZE_T size,
DWORD new_prot, LPDWORD old_prot )
{
- NTSTATUS status = NtProtectVirtualMemory( process, &addr, &size, new_prot, old_prot );
+ NTSTATUS status;
+ DWORD dummy;
+
+ /* Win9x allows to pass NULL as old_prot while it fails on NT */
+ if (!old_prot && (GetVersion() & 0x80000000))
+ old_prot = &dummy;
+
+ status = NtProtectVirtualMemory( process, &addr, &size, new_prot, old_prot );
if (status) SetLastError( RtlNtStatusToDosError(status) );
return !status;
}
--
2.7.0

View File

@ -1 +0,0 @@
Fixes: Allow to pass NULL as old protection in VirtualProtect for Win9X

View File

@ -1,23 +1,25 @@
From 0ca9f8bf78340991e99d8f020c5f04d2029a4177 Mon Sep 17 00:00:00 2001
From 4d6ccf2ed54cd7816a9eb304d74398cc8cdbea89 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Wed, 17 Dec 2014 04:11:58 +0100
Subject: makedep: Add support for PARENTSPEC Makefile variable.
---
tools/makedep.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
tools/makedep.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/tools/makedep.c b/tools/makedep.c
index 54aab45..d68bc03 100644
index 9fd704b..71e88e9 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -162,4 +162,5 @@ struct makefile
@@ -169,6 +169,7 @@ struct makefile
const char *top_src_dir;
const char *top_obj_dir;
const char *parent_dir;
+ const char *parent_spec;
const char *module;
const char *testdll;
@@ -2081,7 +2082,13 @@ static struct strarray output_sources( struct makefile *make, struct strarray *t
const char *sharedlib;
@@ -2473,7 +2474,12 @@ static struct strarray output_sources( const struct makefile *make )
char *spec_file = NULL;
if (!make->appmode.count)
@ -28,16 +30,17 @@ index 54aab45..d68bc03 100644
+ else
+ spec_file = src_dir_path( make, make->parent_spec );
+ }
+
strarray_addall( &all_libs, add_import_libs( make, &dep_libs, make->delayimports, 0 ));
strarray_addall( &all_libs, add_import_libs( make, &dep_libs, make->imports, 0 ));
for (i = 0; i < make->delayimports.count; i++)
strarray_add( &all_libs, strmake( "-l%s", make->delayimports.str[i] ));
for (i = 0; i < make->imports.count; i++)
@@ -2598,4 +2605,5 @@ static void update_makefile( const char *path )
@@ -3188,6 +3194,7 @@ static void load_sources( struct makefile *make )
strarray_set_value( &make->vars, "srcdir", src_dir_path( make, "" ));
make->parent_dir = get_expanded_make_variable( make, "PARENTSRC" );
+ make->parent_spec = get_expanded_make_variable( make, "PARENTSPEC" );
make->module = get_expanded_make_variable( make, "MODULE" );
make->testdll = get_expanded_make_variable( make, "TESTDLL" );
make->sharedlib = get_expanded_make_variable( make, "SHAREDLIB" );
--
2.1.3
2.7.1

View File

@ -1,4 +1,4 @@
From 12db1d30697314446ae03aaed86a1a57efa786da Mon Sep 17 00:00:00 2001
From 733ae7526f2498282b42254b867e5c2d278b379a 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.
@ -20,7 +20,7 @@ index fc352dd..0de4fe8 100644
C_SRCS = \
atom.c \
diff --git a/dlls/ntdll/tests/rtl.c b/dlls/ntdll/tests/rtl.c
index 94a22ac..ac463c6 100644
index 1b17a7e..95b58c3 100644
--- a/dlls/ntdll/tests/rtl.c
+++ b/dlls/ntdll/tests/rtl.c
@@ -25,6 +25,9 @@
@ -33,24 +33,24 @@ index 94a22ac..ac463c6 100644
#ifndef __WINE_WINTERNL_H
@@ -98,6 +101,7 @@ static NTSTATUS (WINAPI *pRtlDecompressFragment)(USHORT, PUCHAR, ULONG, const U
static NTSTATUS (WINAPI *pRtlCompressBuffer)(USHORT, const UCHAR*, ULONG, PUCHAR, ULONG, ULONG, PULONG, PVOID);
@@ -99,6 +102,7 @@ static NTSTATUS (WINAPI *pRtlCompressBuffer)(USHORT, const UCHAR*, ULONG, PUCHA
static BOOL (WINAPI *pRtlIsCriticalSectionLocked)(CRITICAL_SECTION *);
static BOOL (WINAPI *pRtlIsCriticalSectionLockedByThread)(CRITICAL_SECTION *);
static NTSTATUS (WINAPI *pRtlInitializeCriticalSectionEx)(CRITICAL_SECTION *, ULONG, ULONG);
+static NTSTATUS (WINAPI *pRtlQueryPackageIdentity)(HANDLE, WCHAR*, SIZE_T*, WCHAR*, SIZE_T*, BOOLEAN*);
static HMODULE hkernel32 = 0;
static BOOL (WINAPI *pIsWow64Process)(HANDLE, PBOOL);
@@ -151,6 +155,7 @@ static void InitFunctionPtrs(void)
pRtlCompressBuffer = (void *)GetProcAddress(hntdll, "RtlCompressBuffer");
@@ -153,6 +157,7 @@ static void InitFunctionPtrs(void)
pRtlIsCriticalSectionLocked = (void *)GetProcAddress(hntdll, "RtlIsCriticalSectionLocked");
pRtlIsCriticalSectionLockedByThread = (void *)GetProcAddress(hntdll, "RtlIsCriticalSectionLockedByThread");
pRtlInitializeCriticalSectionEx = (void *)GetProcAddress(hntdll, "RtlInitializeCriticalSectionEx");
+ pRtlQueryPackageIdentity = (void *)GetProcAddress(hntdll, "RtlQueryPackageIdentity");
}
hkernel32 = LoadLibraryA("kernel32.dll");
ok(hkernel32 != 0, "LoadLibrary failed\n");
@@ -2056,6 +2061,76 @@ static void test_RtlIsCriticalSectionLocked(void)
DeleteCriticalSection(&info.crit);
@@ -2091,6 +2096,76 @@ static void test_RtlInitializeCriticalSectionEx(void)
RtlDeleteCriticalSection(&cs);
}
+static void test_RtlQueryPackageIdentity(void)
@ -126,12 +126,12 @@ index 94a22ac..ac463c6 100644
START_TEST(rtl)
{
InitFunctionPtrs();
@@ -2086,4 +2161,5 @@ START_TEST(rtl)
test_RtlGetCompressionWorkSpaceSize();
@@ -2122,4 +2197,5 @@ START_TEST(rtl)
test_RtlDecompressBuffer();
test_RtlIsCriticalSectionLocked();
test_RtlInitializeCriticalSectionEx();
+ test_RtlQueryPackageIdentity();
}
--
2.6.4
2.7.1

View File

@ -1,18 +1,31 @@
From e4f9424f025aebdbcd96a6f0eb2c39f479b4eda7 Mon Sep 17 00:00:00 2001
From ac6a2310dd3423f6129a930778713fb418d3ed53 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 4 Oct 2014 02:35:44 +0200
Subject: ntdll: Trigger write watches before passing userdata pointer to
wait_reply.
---
dlls/ntdll/server.c | 8 ++++++++
1 file changed, 8 insertions(+)
dlls/advapi32/tests/security.c | 1 -
dlls/ntdll/server.c | 8 ++++++++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index 3e1ced0..fbc1bb8 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -1447,7 +1447,6 @@ todo_wine
todo_wine
ok(!ret && err == ERROR_INSUFFICIENT_BUFFER, "AccessCheck should have "
"failed with ERROR_INSUFFICIENT_BUFFER, instead of %d\n", err);
-todo_wine
ok(Access == 0x1abe11ed && AccessStatus == 0x1abe11ed,
"Access and/or AccessStatus were changed!\n");
diff --git a/dlls/ntdll/server.c b/dlls/ntdll/server.c
index aabda4f..4d5d4ba 100644
index 356d631..de9c186 100644
--- a/dlls/ntdll/server.c
+++ b/dlls/ntdll/server.c
@@ -292,6 +292,14 @@ unsigned int wine_server_call( void *req_ptr )
@@ -305,6 +305,14 @@ unsigned int wine_server_call( void *req_ptr )
sigset_t old_set;
unsigned int ret;
@ -28,5 +41,5 @@ index aabda4f..4d5d4ba 100644
ret = send_request( req );
if (!ret) ret = wait_reply( req );
--
2.2.1
2.7.1

View File

@ -1,17 +1,18 @@
From 66fe4e28e5cf72bbad572c102579ec3259e4c73c Mon Sep 17 00:00:00 2001
From e08b17148b842fb7399c149d510f7ccafd043b66 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 15 Jan 2016 12:16:32 +0100
Subject: ole32: Implement CoGetApartmentType.
---
.../api-ms-win-core-com-l1-1-0.spec | 2 +-
.../api-ms-win-core-com-l1-1-1.spec | 2 +-
.../api-ms-win-downlevel-ole32-l1-1-0.spec | 2 +-
dlls/combase/combase.spec | 2 +-
dlls/ole32/compobj.c | 29 +++++++++++++
dlls/ole32/ole32.spec | 1 +
dlls/ole32/tests/compobj.c | 50 ++++++++++++++++++++++
include/objidl.idl | 9 ++++
7 files changed, 92 insertions(+), 3 deletions(-)
8 files changed, 93 insertions(+), 4 deletions(-)
diff --git a/dlls/api-ms-win-core-com-l1-1-0/api-ms-win-core-com-l1-1-0.spec b/dlls/api-ms-win-core-com-l1-1-0/api-ms-win-core-com-l1-1-0.spec
index f8026db..f645c9d 100644
@ -22,6 +23,19 @@ index f8026db..f645c9d 100644
@ stdcall CoFreeUnusedLibraries() ole32.CoFreeUnusedLibraries
@ stdcall CoFreeUnusedLibrariesEx(long long) ole32.CoFreeUnusedLibrariesEx
-@ stub CoGetApartmentType
+@ stdcall CoGetApartmentType(ptr ptr) ole32.CoGetApartmentType
@ stdcall CoGetCallContext(ptr ptr) ole32.CoGetCallContext
@ stdcall CoGetCallerTID(ptr) ole32.CoGetCallerTID
@ stub CoGetCancelObject
diff --git a/dlls/api-ms-win-core-com-l1-1-1/api-ms-win-core-com-l1-1-1.spec b/dlls/api-ms-win-core-com-l1-1-1/api-ms-win-core-com-l1-1-1.spec
index 56aaf36..d2914f0 100644
--- a/dlls/api-ms-win-core-com-l1-1-1/api-ms-win-core-com-l1-1-1.spec
+++ b/dlls/api-ms-win-core-com-l1-1-1/api-ms-win-core-com-l1-1-1.spec
@@ -17,7 +17,7 @@
@ stub CoEnableCallCancellation
@ stdcall CoFreeUnusedLibraries() ole32.CoFreeUnusedLibraries
@ stdcall CoFreeUnusedLibrariesEx(long long) ole32.CoFreeUnusedLibrariesEx
-@ stub CoGetApartmentType
+@ stdcall CoGetApartmentType(ptr ptr) ole32.CoGetApartmentType
@ stdcall CoGetCallContext(ptr ptr) ole32.CoGetCallContext
@ stdcall CoGetCallerTID(ptr) ole32.CoGetCallerTID
@ -40,7 +54,7 @@ index a0eabe9..82ff0f1 100644
@ stdcall CoGetCurrentLogicalThreadId(ptr) ole32.CoGetCurrentLogicalThreadId
@ stdcall CoGetInterfaceAndReleaseStream(ptr ptr ptr) ole32.CoGetInterfaceAndReleaseStream
diff --git a/dlls/combase/combase.spec b/dlls/combase/combase.spec
index 5082f39..075d904 100644
index 4bda470..b612bef 100644
--- a/dlls/combase/combase.spec
+++ b/dlls/combase/combase.spec
@@ -90,7 +90,7 @@
@ -53,10 +67,10 @@ index 5082f39..075d904 100644
@ stdcall CoGetCallState(long ptr) ole32.CoGetCallState
@ stdcall CoGetCallerTID(ptr) ole32.CoGetCallerTID
diff --git a/dlls/ole32/compobj.c b/dlls/ole32/compobj.c
index 90b049a..d8d618e 100644
index 080940e..d639a3e 100644
--- a/dlls/ole32/compobj.c
+++ b/dlls/ole32/compobj.c
@@ -5027,6 +5027,35 @@ HRESULT Handler_DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
@@ -5029,6 +5029,35 @@ HRESULT Handler_DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
}
/***********************************************************************
@ -105,7 +119,7 @@ index 04c9f1e..c836176 100644
@ stdcall CoGetCallState(long ptr)
@ stdcall CoGetCallerTID(ptr)
diff --git a/dlls/ole32/tests/compobj.c b/dlls/ole32/tests/compobj.c
index 5fe9876..2ca5a45 100644
index 6fa6dfc..f67928e 100644
--- a/dlls/ole32/tests/compobj.c
+++ b/dlls/ole32/tests/compobj.c
@@ -70,6 +70,7 @@ static HRESULT (WINAPI * pCoSwitchCallContext)(IUnknown *pObject, IUnknown **ppO
@ -116,7 +130,7 @@ index 5fe9876..2ca5a45 100644
static LONG (WINAPI * pRegDeleteKeyExA)(HKEY, LPCSTR, REGSAM, DWORD);
static LONG (WINAPI * pRegOverridePredefKey)(HKEY key, HKEY override);
@@ -2812,6 +2813,53 @@ if (0) /* crashes on native */
@@ -2879,6 +2880,53 @@ if (0) /* crashes on native */
IMalloc_Release(imalloc);
}
@ -170,7 +184,7 @@ index 5fe9876..2ca5a45 100644
static void init_funcs(void)
{
HMODULE hOle32 = GetModuleHandleA("ole32");
@@ -2823,6 +2871,7 @@ static void init_funcs(void)
@@ -2890,6 +2938,7 @@ static void init_funcs(void)
pCoGetTreatAsClass = (void*)GetProcAddress(hOle32,"CoGetTreatAsClass");
pCoTreatAsClass = (void*)GetProcAddress(hOle32,"CoTreatAsClass");
pCoGetContextToken = (void*)GetProcAddress(hOle32, "CoGetContextToken");
@ -178,14 +192,14 @@ index 5fe9876..2ca5a45 100644
pRegDeleteKeyExA = (void*)GetProcAddress(hAdvapi32, "RegDeleteKeyExA");
pRegOverridePredefKey = (void*)GetProcAddress(hAdvapi32, "RegOverridePredefKey");
pCoInitializeEx = (void*)GetProcAddress(hOle32, "CoInitializeEx");
@@ -2876,4 +2925,5 @@ START_TEST(compobj)
@@ -2944,4 +2993,5 @@ START_TEST(compobj)
test_CoWaitForMultipleHandles();
test_CoGetMalloc();
test_OleRegGetUserType();
+ test_CoGetApartmentType();
}
diff --git a/include/objidl.idl b/include/objidl.idl
index c18442f..859620a 100644
index 335282d..d60f016 100644
--- a/include/objidl.idl
+++ b/include/objidl.idl
@@ -2327,6 +2327,15 @@ typedef enum _APTTYPE {
@ -205,5 +219,5 @@ index c18442f..859620a 100644
THDTYPE_BLOCKMESSAGES = 0,
THDTYPE_PROCESSMESSAGES = 1
--
2.6.4
2.7.1

View File

@ -51,7 +51,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "b190a72bfe53a41a83ae55d75de8327c24512bee"
echo "52a99f2eadf04394a99d81f97a9a6d2a454fa959"
}
# Show version information
@ -170,12 +170,10 @@ patch_enable_all ()
enable_kernel32_Named_Pipe="$1"
enable_kernel32_NeedCurrentDirectoryForExePath="$1"
enable_kernel32_Profile="$1"
enable_kernel32_QT_Environment_Variables="$1"
enable_kernel32_SetFileCompletionNotificationModes="$1"
enable_kernel32_SetFileInformationByHandle="$1"
enable_kernel32_TimezoneInformation_Registry="$1"
enable_kernel32_VerifyVersionInfo="$1"
enable_kernel32_VirtualProtect="$1"
enable_libs_Debug_Channel="$1"
enable_libs_Unicode_Collation="$1"
enable_makedep_PARENTSPEC="$1"
@ -275,7 +273,6 @@ patch_enable_all ()
enable_server_Signal_Thread="$1"
enable_server_Stored_ACLs="$1"
enable_server_Timestamp_Compat="$1"
enable_services_SERVICE_FILE_SYSTEM_DRIVER="$1"
enable_setupapi_Display_Device="$1"
enable_setupapi_HSPFILEQ_Check_Type="$1"
enable_setupapi_SetupDiSetDeviceInstallParamsW="$1"
@ -655,9 +652,6 @@ patch_enable ()
kernel32-Profile)
enable_kernel32_Profile="$2"
;;
kernel32-QT_Environment_Variables)
enable_kernel32_QT_Environment_Variables="$2"
;;
kernel32-SetFileCompletionNotificationModes)
enable_kernel32_SetFileCompletionNotificationModes="$2"
;;
@ -670,9 +664,6 @@ patch_enable ()
kernel32-VerifyVersionInfo)
enable_kernel32_VerifyVersionInfo="$2"
;;
kernel32-VirtualProtect)
enable_kernel32_VirtualProtect="$2"
;;
libs-Debug_Channel)
enable_libs_Debug_Channel="$2"
;;
@ -970,9 +961,6 @@ patch_enable ()
server-Timestamp_Compat)
enable_server_Timestamp_Compat="$2"
;;
services-SERVICE_FILE_SYSTEM_DRIVER)
enable_services_SERVICE_FILE_SYSTEM_DRIVER="$2"
;;
setupapi-Display_Device)
enable_setupapi_Display_Device="$2"
;;
@ -2322,9 +2310,9 @@ fi
# | * [#35561] MSYS2 expects correct handling of WRITECOPY memory protection
# |
# | Modified files:
# | * dlls/advapi32/crypt.c, dlls/kernel32/tests/virtual.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/server.c,
# | dlls/ntdll/signal_arm.c, dlls/ntdll/signal_arm64.c, dlls/ntdll/signal_i386.c, dlls/ntdll/signal_powerpc.c,
# | dlls/ntdll/signal_x86_64.c, dlls/ntdll/thread.c, dlls/ntdll/virtual.c
# | * dlls/advapi32/crypt.c, dlls/advapi32/tests/security.c, dlls/kernel32/tests/virtual.c, dlls/ntdll/ntdll_misc.h,
# | dlls/ntdll/server.c, dlls/ntdll/signal_arm.c, dlls/ntdll/signal_arm64.c, dlls/ntdll/signal_i386.c,
# | dlls/ntdll/signal_powerpc.c, dlls/ntdll/signal_x86_64.c, dlls/ntdll/thread.c, dlls/ntdll/virtual.c
# |
if test "$enable_ntdll_WRITECOPY" -eq 1; then
patch_apply ntdll-WRITECOPY/0001-ntdll-Trigger-write-watches-before-passing-userdata-.patch
@ -2521,9 +2509,9 @@ fi
# Patchset combase-RoApi
# |
# | Modified files:
# | * dlls/api-ms-win-core-winrt-l1-1-0/api-ms-win-core-winrt-l1-1-0.spec, dlls/combase/Makefile.in,
# | dlls/combase/combase.spec, dlls/combase/roapi.c, include/Makefile.in, include/activation.idl, include/objidl.idl,
# | include/roapi.h
# | * dlls/api-ms-win-core-winrt-l1-1-0/api-ms-win-core-winrt-l1-1-0.spec, dlls/api-ms-win-core-winrt-registration-l1-1-0/api-
# | ms-win-core-winrt-registration-l1-1-0.spec, dlls/combase/Makefile.in, dlls/combase/combase.spec, dlls/combase/roapi.c,
# | include/Makefile.in, include/activation.idl, include/objidl.idl, include/roapi.h
# |
if test "$enable_combase_RoApi" -eq 1; then
patch_apply combase-RoApi/0001-include-Add-activation.idl-with-IActivationFactory-i.patch
@ -2596,9 +2584,9 @@ fi
# Patchset ole32-CoGetApartmentType
# |
# | Modified files:
# | * dlls/api-ms-win-core-com-l1-1-0/api-ms-win-core-com-l1-1-0.spec, dlls/api-ms-win-downlevel-ole32-l1-1-0/api-ms-win-
# | downlevel-ole32-l1-1-0.spec, dlls/combase/combase.spec, dlls/ole32/compobj.c, dlls/ole32/ole32.spec,
# | dlls/ole32/tests/compobj.c, include/objidl.idl
# | * dlls/api-ms-win-core-com-l1-1-0/api-ms-win-core-com-l1-1-0.spec, dlls/api-ms-win-core-com-l1-1-1/api-ms-win-core-
# | com-l1-1-1.spec, dlls/api-ms-win-downlevel-ole32-l1-1-0/api-ms-win-downlevel-ole32-l1-1-0.spec,
# | dlls/combase/combase.spec, dlls/ole32/compobj.c, dlls/ole32/ole32.spec, dlls/ole32/tests/compobj.c, include/objidl.idl
# |
if test "$enable_ole32_CoGetApartmentType" -eq 1; then
patch_apply ole32-CoGetApartmentType/0001-ole32-Implement-CoGetApartmentType.patch
@ -2620,18 +2608,16 @@ fi
# | /api-ms-win-core-heap-l2-1-0.spec, dlls/api-ms-win-core-memory-l1-1-2/Makefile.in, dlls/api-ms-win-core-memory-l1-1-2
# | /api-ms-win-core-memory-l1-1-2.spec, dlls/api-ms-win-core-quirks-l1-1-0/Makefile.in, dlls/api-ms-win-core-quirks-l1-1-0
# | /api-ms-win-core-quirks-l1-1-0.spec, dlls/api-ms-win-core-shlwapi-obsolete-l1-2-0/Makefile.in, dlls/api-ms-win-core-
# | shlwapi-obsolete-l1-2-0/api-ms-win-core-shlwapi-obsolete-l1-2-0.spec, dlls/api-ms-win-core-
# | threadpool-l1-2-0/Makefile.in, dlls/api-ms-win-core-threadpool-l1-2-0/api-ms-win-core-threadpool-l1-2-0.spec, dlls/api-
# | ms-win-core-wow64-l1-1-0/Makefile.in, dlls/api-ms-win-core-wow64-l1-1-0/api-ms-win-core-wow64-l1-1-0.spec, dlls/api-ms-
# | win-rtcore-ntuser-draw-l1-1-0/Makefile.in, dlls/api-ms-win-rtcore-ntuser-draw-l1-1-0/api-ms-win-rtcore-ntuser-
# | draw-l1-1-0.spec, dlls/api-ms-win-rtcore-ntuser-window-l1-1-0/Makefile.in, dlls/api-ms-win-rtcore-ntuser-window-l1-1-0
# | /api-ms-win-rtcore-ntuser-window-l1-1-0.spec, dlls/api-ms-win-shcore-obsolete-l1-1-0/Makefile.in, dlls/api-ms-win-
# | shcore-obsolete-l1-1-0/api-ms-win-shcore-obsolete-l1-1-0.spec, dlls/api-ms-win-shcore-stream-l1-1-0/Makefile.in, dlls
# | /api-ms-win-shcore-stream-l1-1-0/api-ms-win-shcore-stream-l1-1-0.spec, dlls/api-ms-win-shcore-thread-l1-1-0/Makefile.in,
# | dlls/api-ms-win-shcore-thread-l1-1-0/api-ms-win-shcore-thread-l1-1-0.spec, dlls/ext-ms-win-appmodel-
# | usercontext-l1-1-0/Makefile.in, dlls/ext-ms-win-appmodel-usercontext-l1-1-0/ext-ms-win-appmodel-usercontext-l1-1-0.spec,
# | dlls/ext-ms-win-appmodel-usercontext-l1-1-0/main.c, dlls/ext-ms-win-kernel32-package-current-l1-1-0/Makefile.in, dlls
# | /ext-ms-win-kernel32-package-current-l1-1-0/ext-ms-win-kernel32-package-current-l1-1-0.spec, dlls/ext-ms-win-ntuser-
# | shlwapi-obsolete-l1-2-0/api-ms-win-core-shlwapi-obsolete-l1-2-0.spec, dlls/api-ms-win-rtcore-ntuser-
# | draw-l1-1-0/Makefile.in, dlls/api-ms-win-rtcore-ntuser-draw-l1-1-0/api-ms-win-rtcore-ntuser-draw-l1-1-0.spec, dlls/api-
# | ms-win-rtcore-ntuser-window-l1-1-0/Makefile.in, dlls/api-ms-win-rtcore-ntuser-window-l1-1-0/api-ms-win-rtcore-ntuser-
# | window-l1-1-0.spec, dlls/api-ms-win-shcore-obsolete-l1-1-0/Makefile.in, dlls/api-ms-win-shcore-obsolete-l1-1-0/api-ms-
# | win-shcore-obsolete-l1-1-0.spec, dlls/api-ms-win-shcore-stream-l1-1-0/Makefile.in, dlls/api-ms-win-shcore-stream-l1-1-0
# | /api-ms-win-shcore-stream-l1-1-0.spec, dlls/api-ms-win-shcore-thread-l1-1-0/Makefile.in, dlls/api-ms-win-shcore-
# | thread-l1-1-0/api-ms-win-shcore-thread-l1-1-0.spec, dlls/ext-ms-win-appmodel-usercontext-l1-1-0/Makefile.in, dlls/ext-
# | ms-win-appmodel-usercontext-l1-1-0/ext-ms-win-appmodel-usercontext-l1-1-0.spec, dlls/ext-ms-win-appmodel-
# | usercontext-l1-1-0/main.c, dlls/ext-ms-win-kernel32-package-current-l1-1-0/Makefile.in, dlls/ext-ms-win-kernel32
# | -package-current-l1-1-0/ext-ms-win-kernel32-package-current-l1-1-0.spec, dlls/ext-ms-win-ntuser-
# | mouse-l1-1-0/Makefile.in, dlls/ext-ms-win-ntuser-mouse-l1-1-0/ext-ms-win-ntuser-mouse-l1-1-0.spec, dlls/ext-ms-win-
# | rtcore-ntuser-syscolors-l1-1-0/Makefile.in, dlls/ext-ms-win-rtcore-ntuser-syscolors-l1-1-0/ext-ms-win-rtcore-ntuser-
# | syscolors-l1-1-0.spec, dlls/ext-ms-win-rtcore-ntuser-sysparams-l1-1-0/Makefile.in, dlls/ext-ms-win-rtcore-ntuser-
@ -2656,21 +2642,19 @@ if test "$enable_api_ms_win_Stub_DLLs" -eq 1; then
patch_apply api-ms-win-Stub_DLLs/0011-api-ms-win-shcore-thread-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0012-ext-ms-win-xaml-pal-l1-1-0-Add-stub-for-GetThemeServ.patch
patch_apply api-ms-win-Stub_DLLs/0013-api-ms-win-core-memory-l1-1-2-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0014-api-ms-win-core-wow64-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0015-api-ms-win-core-shlwapi-obsolete-l1-2-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0016-api-ms-win-core-threadpool-l1-2-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0017-api-ms-win-shcore-stream-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0018-ext-ms-win-ntuser-mouse-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0019-ext-ms-win-uxtheme-themes-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0020-api-ms-win-rtcore-ntuser-window-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0021-ext-ms-win-rtcore-ntuser-syscolors-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0022-api-ms-win-rtcore-ntuser-draw-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0023-ext-ms-win-rtcore-ntuser-sysparams-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0024-ext-ms-win-kernel32-package-current-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0025-shcore-Add-SetProcessDpiAwareness-stub.patch
patch_apply api-ms-win-Stub_DLLs/0026-shcore-Implement-stub-for-GetDpiForMonitor.patch
patch_apply api-ms-win-Stub_DLLs/0027-kernelbase-Add-stub-for-QuirkIsEnabled3.patch
patch_apply api-ms-win-Stub_DLLs/0028-shcore-Add-stub-for-GetProcessDpiAwareness.patch
patch_apply api-ms-win-Stub_DLLs/0014-api-ms-win-core-shlwapi-obsolete-l1-2-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0015-api-ms-win-shcore-stream-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0016-ext-ms-win-ntuser-mouse-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0017-ext-ms-win-uxtheme-themes-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0018-api-ms-win-rtcore-ntuser-window-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0019-ext-ms-win-rtcore-ntuser-syscolors-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0020-api-ms-win-rtcore-ntuser-draw-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0021-ext-ms-win-rtcore-ntuser-sysparams-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0022-ext-ms-win-kernel32-package-current-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0023-shcore-Add-SetProcessDpiAwareness-stub.patch
patch_apply api-ms-win-Stub_DLLs/0024-shcore-Implement-stub-for-GetDpiForMonitor.patch
patch_apply api-ms-win-Stub_DLLs/0025-kernelbase-Add-stub-for-QuirkIsEnabled3.patch
patch_apply api-ms-win-Stub_DLLs/0026-shcore-Add-stub-for-GetProcessDpiAwareness.patch
(
echo '+ { "Michael Müller", "kernelbase: Add dll and add stub for QuirkIsEnabled.", 1 },';
echo '+ { "Michael Müller", "api-ms-win-core-quirks-l1-1-0: Add dll.", 1 },';
@ -2685,9 +2669,7 @@ if test "$enable_api_ms_win_Stub_DLLs" -eq 1; then
echo '+ { "Michael Müller", "api-ms-win-shcore-thread-l1-1-0: Add dll.", 1 },';
echo '+ { "Michael Müller", "ext-ms-win-xaml-pal-l1-1-0: Add stub for GetThemeServices.", 1 },';
echo '+ { "Michael Müller", "api-ms-win-core-memory-l1-1-2: Add dll.", 1 },';
echo '+ { "Michael Müller", "api-ms-win-core-wow64-l1-1-0: Add dll.", 1 },';
echo '+ { "Michael Müller", "api-ms-win-core-shlwapi-obsolete-l1-2-0: Add dll.", 1 },';
echo '+ { "Michael Müller", "api-ms-win-core-threadpool-l1-2-0: Add dll.", 1 },';
echo '+ { "Michael Müller", "api-ms-win-shcore-stream-l1-1-0: Add dll.", 1 },';
echo '+ { "Michael Müller", "ext-ms-win-ntuser-mouse-l1-1-0: Add dll.", 1 },';
echo '+ { "Michael Müller", "ext-ms-win-uxtheme-themes-l1-1-0: Add dll.", 1 },';
@ -4100,18 +4082,6 @@ if test "$enable_kernel32_Profile" -eq 1; then
) >> "$patchlist"
fi
# Patchset kernel32-QT_Environment_Variables
# |
# | Modified files:
# | * dlls/kernel32/process.c
# |
if test "$enable_kernel32_QT_Environment_Variables" -eq 1; then
patch_apply kernel32-QT_Environment_Variables/0001-kernel32-Do-not-inherit-QT_-environment-variables-to.patch
(
echo '+ { "Sebastian Lackner", "kernel32: Do not inherit QT_* environment variables to Windows environment.", 1 },';
) >> "$patchlist"
fi
# Patchset kernel32-SetFileCompletionNotificationModes
# |
# | This patchset fixes the following Wine bugs:
@ -4156,18 +4126,6 @@ if test "$enable_kernel32_VerifyVersionInfo" -eq 1; then
) >> "$patchlist"
fi
# Patchset kernel32-VirtualProtect
# |
# | Modified files:
# | * dlls/kernel32/virtual.c
# |
if test "$enable_kernel32_VirtualProtect" -eq 1; then
patch_apply kernel32-VirtualProtect/0001-kernel32-Allow-to-pass-NULL-as-old-protection-in-Vir.patch
(
echo '+ { "Michael Müller", "kernel32: Allow to pass NULL as old protection in VirtualProtect for Win9X.", 1 },';
) >> "$patchlist"
fi
# Patchset libs-Debug_Channel
# |
# | Modified files:
@ -5743,21 +5701,6 @@ if test "$enable_server_Timestamp_Compat" -eq 1; then
) >> "$patchlist"
fi
# Patchset services-SERVICE_FILE_SYSTEM_DRIVER
# |
# | This patchset fixes the following Wine bugs:
# | * [#35824] Start SERVICE_FILE_SYSTEM_DRIVER services with winedevice
# |
# | Modified files:
# | * programs/services/services.c
# |
if test "$enable_services_SERVICE_FILE_SYSTEM_DRIVER" -eq 1; then
patch_apply services-SERVICE_FILE_SYSTEM_DRIVER/0001-services-Start-SERVICE_FILE_SYSTEM_DRIVER-services-w.patch
(
echo '+ { "Sebastian Lackner", "services: Start SERVICE_FILE_SYSTEM_DRIVER services with winedevice.", 1 },';
) >> "$patchlist"
fi
# Patchset setupapi-Display_Device
# |
# | This patchset fixes the following Wine bugs:
@ -7056,10 +6999,8 @@ fi
# |
if test "$enable_wpcap_Several_Fixes" -eq 1; then
patch_apply wpcap-Several_Fixes/0001-wpcap-Implement-pcap_dump_open-and-pcap_dump.patch
patch_apply wpcap-Several_Fixes/0002-wpcap-Fix-crash-on-pcap_loop.patch
(
echo '+ { "Jianqiu Zhang", "wpcap: Implement pcap_dump_open and pcap_dump.", 1 },';
echo '+ { "Jianqiu Zhang", "wpcap: Fix crash on pcap_loop.", 1 },';
) >> "$patchlist"
fi

View File

@ -1,26 +0,0 @@
From fa3088d5c689f7403df2525394a8d6837681959a Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 28 Nov 2015 23:29:49 +0100
Subject: services: Start SERVICE_FILE_SYSTEM_DRIVER services with winedevice.
---
programs/services/services.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/programs/services/services.c b/programs/services/services.c
index 1335837..53a3846 100644
--- a/programs/services/services.c
+++ b/programs/services/services.c
@@ -631,7 +631,8 @@ static DWORD get_service_binary_path(const struct service_entry *service_entry,
ExpandEnvironmentStringsW(service_entry->config.lpBinaryPathName, *path, size);
- if (service_entry->config.dwServiceType == SERVICE_KERNEL_DRIVER)
+ if (service_entry->config.dwServiceType == SERVICE_KERNEL_DRIVER ||
+ service_entry->config.dwServiceType == SERVICE_FILE_SYSTEM_DRIVER)
{
static const WCHAR winedeviceW[] = {'\\','w','i','n','e','d','e','v','i','c','e','.','e','x','e',' ',0};
WCHAR system_dir[MAX_PATH];
--
2.6.2

View File

@ -1 +0,0 @@
Fixes: [35824] Start SERVICE_FILE_SYSTEM_DRIVER services with winedevice

View File

@ -1,4 +1,4 @@
From eac78fe59a4ef614418f0e80a96571d5fdaa7593 Mon Sep 17 00:00:00 2001
From 5e891d9b8b604062f3ef067e381d7a21c65b2c18 Mon Sep 17 00:00:00 2001
From: Ken Thomases <ken@codeweavers.com>
Date: Sun, 14 Sep 2014 19:47:08 -0500
Subject: Revert "wined3d: When restoring pixel format in context_release(),
@ -10,10 +10,10 @@ This reverts commit 57c51710e0a4474872125cc54be7562ea8db6ccd.
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index a347a8b..d5ee29b 100644
index 1417d2a..081ace1 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -766,10 +766,9 @@ void context_surface_update(struct wined3d_context *context, const struct wined3
@@ -781,10 +781,9 @@ void context_surface_update(struct wined3d_context *context, const struct wined3
}
}
@ -25,8 +25,8 @@ index a347a8b..d5ee29b 100644
if (ctx->restore_pf && IsWindow(ctx->restore_pf_win))
{
@@ -778,7 +777,7 @@ static BOOL context_restore_pixel_format(struct wined3d_context *ctx)
HDC dc = GetDC(ctx->restore_pf_win);
@@ -793,7 +792,7 @@ static BOOL context_restore_pixel_format(struct wined3d_context *ctx)
HDC dc = GetDCEx(ctx->restore_pf_win, 0, DCX_USESTYLE | DCX_CACHE);
if (dc)
{
- if (!(ret = GL_EXTCALL(wglSetPixelFormatWINE(dc, ctx->restore_pf))))
@ -34,7 +34,7 @@ index a347a8b..d5ee29b 100644
{
ERR("wglSetPixelFormatWINE failed to restore pixel format %d on window %p.\n",
ctx->restore_pf, ctx->restore_pf_win);
@@ -794,7 +793,6 @@ static BOOL context_restore_pixel_format(struct wined3d_context *ctx)
@@ -809,7 +808,6 @@ static BOOL context_restore_pixel_format(struct wined3d_context *ctx)
ctx->restore_pf = 0;
ctx->restore_pf_win = NULL;
@ -42,7 +42,7 @@ index a347a8b..d5ee29b 100644
}
static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, int format)
@@ -1149,8 +1147,7 @@ void context_release(struct wined3d_context *context)
@@ -1169,8 +1167,7 @@ void context_release(struct wined3d_context *context)
if (!--context->level)
{
@ -53,5 +53,5 @@ index a347a8b..d5ee29b 100644
{
TRACE("Restoring GL context %p on device context %p.\n", context->restore_ctx, context->restore_dc);
--
2.1.0
2.7.1

View File

@ -1,4 +1,4 @@
From 1ed6f781025b1b360015e5b2fce084bd558a9af7 Mon Sep 17 00:00:00 2001
From 2e5d4354d80efc6c672262c0f0fb0e166895cc7a Mon Sep 17 00:00:00 2001
From: Ken Thomases <ken@codeweavers.com>
Date: Sun, 14 Sep 2014 19:47:30 -0500
Subject: Revert "wined3d: Restore the pixel format of the window whose pixel
@ -18,10 +18,10 @@ https://bugs.winehq.org/show_bug.cgi?id=36900
2 files changed, 22 insertions(+), 66 deletions(-)
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index 8109a6f..e1658d9 100644
index 61e36a8..0c6ee52 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -766,38 +766,8 @@ void context_surface_update(struct wined3d_context *context, const struct wined3
@@ -781,38 +781,8 @@ void context_surface_update(struct wined3d_context *context, const struct wined3
}
}
@ -34,7 +34,7 @@ index 8109a6f..e1658d9 100644
- {
- if (ctx->gl_info->supported[WGL_WINE_PIXEL_FORMAT_PASSTHROUGH])
- {
- HDC dc = GetDC(ctx->restore_pf_win);
- HDC dc = GetDCEx(ctx->restore_pf_win, 0, DCX_USESTYLE | DCX_CACHE);
- if (dc)
- {
- if (!GL_EXTCALL(wglSetPixelFormatWINE(dc, ctx->restore_pf)))
@ -61,7 +61,7 @@ index 8109a6f..e1658d9 100644
int current = GetPixelFormat(dc);
if (current == format) return TRUE;
@@ -811,9 +781,6 @@ static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, in
@@ -826,9 +796,6 @@ static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, in
format, dc, GetLastError());
return FALSE;
}
@ -71,7 +71,7 @@ index 8109a6f..e1658d9 100644
return TRUE;
}
@@ -823,24 +790,12 @@ static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, in
@@ -838,24 +805,12 @@ static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, in
* when really needed. */
if (gl_info->supported[WGL_WINE_PIXEL_FORMAT_PASSTHROUGH])
{
@ -96,7 +96,7 @@ index 8109a6f..e1658d9 100644
return TRUE;
}
@@ -858,7 +813,7 @@ static BOOL context_set_gl_context(struct wined3d_context *ctx)
@@ -873,7 +828,7 @@ static BOOL context_set_gl_context(struct wined3d_context *ctx)
struct wined3d_swapchain *swapchain = ctx->swapchain;
BOOL backup = FALSE;
@ -105,7 +105,7 @@ index 8109a6f..e1658d9 100644
{
WARN("Failed to set pixel format %d on device context %p.\n",
ctx->pixel_format, ctx->hdc);
@@ -891,7 +846,7 @@ static BOOL context_set_gl_context(struct wined3d_context *ctx)
@@ -906,7 +861,7 @@ static BOOL context_set_gl_context(struct wined3d_context *ctx)
return FALSE;
}
@ -114,7 +114,7 @@ index 8109a6f..e1658d9 100644
{
ERR("Failed to set pixel format %d on device context %p.\n",
ctx->pixel_format, dc);
@@ -913,8 +868,15 @@ static BOOL context_set_gl_context(struct wined3d_context *ctx)
@@ -928,8 +883,15 @@ static BOOL context_set_gl_context(struct wined3d_context *ctx)
return TRUE;
}
@ -131,7 +131,7 @@ index 8109a6f..e1658d9 100644
if (!wglMakeCurrent(dc, gl_ctx))
{
ERR("Failed to restore GL context %p on device context %p, last error %#x.\n",
@@ -955,9 +917,11 @@ static void context_destroy_gl_resources(struct wined3d_context *context)
@@ -970,9 +932,11 @@ static void context_destroy_gl_resources(struct wined3d_context *context)
HGLRC restore_ctx;
HDC restore_dc;
unsigned int i;
@ -143,7 +143,7 @@ index 8109a6f..e1658d9 100644
if (restore_ctx == context->glCtx)
restore_ctx = NULL;
@@ -1046,10 +1010,9 @@ static void context_destroy_gl_resources(struct wined3d_context *context)
@@ -1061,10 +1025,9 @@ static void context_destroy_gl_resources(struct wined3d_context *context)
HeapFree(GetProcessHeap(), 0, context->free_occlusion_queries);
HeapFree(GetProcessHeap(), 0, context->free_event_queries);
@ -155,7 +155,7 @@ index 8109a6f..e1658d9 100644
}
else if (wglGetCurrentContext() && !wglMakeCurrent(NULL, NULL))
{
@@ -1145,16 +1108,12 @@ void context_release(struct wined3d_context *context)
@@ -1165,16 +1128,12 @@ void context_release(struct wined3d_context *context)
WARN("Context %p is not the current context.\n", context);
}
@ -177,7 +177,7 @@ index 8109a6f..e1658d9 100644
}
}
@@ -1173,10 +1132,9 @@ static void context_enter(struct wined3d_context *context)
@@ -1207,10 +1166,9 @@ static void context_enter(struct wined3d_context *context)
current_gl, wglGetCurrentDC());
context->restore_ctx = current_gl;
context->restore_dc = wglGetCurrentDC();
@ -189,7 +189,7 @@ index 8109a6f..e1658d9 100644
}
}
@@ -1500,9 +1458,7 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
@@ -1578,9 +1536,7 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
context_enter(ret);
@ -200,7 +200,7 @@ index 8109a6f..e1658d9 100644
{
ERR("Failed to set pixel format %d on device context %p.\n", pixel_format, hdc);
context_release(ret);
@@ -1557,6 +1513,7 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
@@ -1621,6 +1577,7 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
goto out;
}
@ -209,10 +209,10 @@ index 8109a6f..e1658d9 100644
ret->state_table = device->StateTable;
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 849a44a..cd8e958 100644
index c68289e..3c74c07 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -1120,7 +1120,6 @@ struct wined3d_context
@@ -1291,7 +1291,6 @@ struct wined3d_context
HGLRC restore_ctx;
HDC restore_dc;
int restore_pf;
@ -221,5 +221,5 @@ index 849a44a..cd8e958 100644
HWND win_handle;
HDC hdc;
--
2.1.0
2.7.1

View File

@ -1,4 +1,4 @@
From 09e0c732f3c13f7ac1ba8c40e918092c642051a4 Mon Sep 17 00:00:00 2001
From b5186872d7485ef90c957e855af6a2124fc40834 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Hentschel?= <nerv@dawncrow.de>
Date: Tue, 26 Aug 2014 00:59:37 +0200
Subject: wpcap: Load libpcap dynamically.
@ -42,7 +42,7 @@ index 91b4a95..aeef71a 100644
C_SRCS = \
wpcap.c
diff --git a/dlls/wpcap/wpcap.c b/dlls/wpcap/wpcap.c
index 44e8c2a..f9029c8 100644
index 697e5fc..51e976b 100644
--- a/dlls/wpcap/wpcap.c
+++ b/dlls/wpcap/wpcap.c
@@ -18,6 +18,9 @@
@ -191,14 +191,12 @@ index 44e8c2a..f9029c8 100644
}
typedef struct
@@ -112,12 +196,12 @@ int CDECL wine_pcap_dispatch(pcap_t *p, int cnt,
pcb = HeapAlloc(GetProcessHeap(), 0, sizeof(PCAP_HANDLER_CALLBACK));
pcb->pfn_cb = callback;
pcb->user_data = user;
- res = pcap_dispatch(p, cnt, pcap_handler_callback, (unsigned char *)pcb);
+ res = ppcap_dispatch(p, cnt, pcap_handler_callback, (unsigned char *)pcb);
HeapFree(GetProcessHeap(), 0, pcb);
return res;
@@ -109,10 +193,10 @@ int CDECL wine_pcap_dispatch(pcap_t *p, int cnt,
PCAP_HANDLER_CALLBACK pcb;
pcb.pfn_cb = callback;
pcb.user_data = user;
- return pcap_dispatch(p, cnt, pcap_handler_callback, (unsigned char *)&pcb);
+ return ppcap_dispatch(p, cnt, pcap_handler_callback, (unsigned char *)&pcb);
}
- return pcap_dispatch(p, cnt, NULL, user);
@ -206,7 +204,7 @@ index 44e8c2a..f9029c8 100644
}
int CDECL wine_pcap_findalldevs(pcap_if_t **alldevsp, char *errbuf)
@@ -125,7 +209,7 @@ int CDECL wine_pcap_findalldevs(pcap_if_t **alldevsp, char *errbuf)
@@ -120,7 +204,7 @@ int CDECL wine_pcap_findalldevs(pcap_if_t **alldevsp, char *errbuf)
int ret;
TRACE("(%p %p)\n", alldevsp, errbuf);
@ -215,7 +213,7 @@ index 44e8c2a..f9029c8 100644
if(alldevsp && !*alldevsp)
ERR_(winediag)("Failed to access raw network (pcap), this requires special permissions.\n");
@@ -141,13 +225,13 @@ int CDECL wine_pcap_findalldevs_ex(char *source, void *auth, pcap_if_t **alldevs
@@ -136,13 +220,13 @@ int CDECL wine_pcap_findalldevs_ex(char *source, void *auth, pcap_if_t **alldevs
void CDECL wine_pcap_freealldevs(pcap_if_t *alldevs)
{
TRACE("(%p)\n", alldevs);
@ -231,7 +229,7 @@ index 44e8c2a..f9029c8 100644
}
typedef struct _AirpcapHandle *PAirpcapHandle;
@@ -160,18 +244,18 @@ PAirpcapHandle CDECL wine_pcap_get_airpcap_handle(pcap_t *p)
@@ -155,18 +239,18 @@ PAirpcapHandle CDECL wine_pcap_get_airpcap_handle(pcap_t *p)
char* CDECL wine_pcap_geterr(pcap_t *p)
{
TRACE("(%p)\n", p);
@ -253,7 +251,7 @@ index 44e8c2a..f9029c8 100644
TRACE("%s\n", debugstr_a(ret));
return ret;
}
@@ -179,20 +263,20 @@ const char* CDECL wine_pcap_lib_version(void)
@@ -174,20 +258,20 @@ const char* CDECL wine_pcap_lib_version(void)
int CDECL wine_pcap_list_datalinks(pcap_t *p, int **dlt_buffer)
{
TRACE("(%p %p)\n", p, dlt_buffer);
@ -277,14 +275,12 @@ index 44e8c2a..f9029c8 100644
}
int CDECL wine_pcap_loop(pcap_t *p, int cnt,
@@ -209,36 +293,36 @@ int CDECL wine_pcap_loop(pcap_t *p, int cnt,
pcb = HeapAlloc(GetProcessHeap(), 0, sizeof(PCAP_HANDLER_CALLBACK));
pcb->pfn_cb = callback;
pcb->user_data = user;
- res = pcap_loop(p, cnt, pcap_handler_callback, (unsigned char *)pcb);
+ res = ppcap_loop(p, cnt, pcap_handler_callback, (unsigned char *)pcb);
HeapFree(GetProcessHeap(), 0, pcb);
return res;
@@ -201,34 +285,34 @@ int CDECL wine_pcap_loop(pcap_t *p, int cnt,
PCAP_HANDLER_CALLBACK pcb;
pcb.pfn_cb = callback;
pcb.user_data = user;
- return pcap_loop(p, cnt, pcap_handler_callback, (unsigned char *)&pcb);
+ return ppcap_loop(p, cnt, pcap_handler_callback, (unsigned char *)&pcb);
}
- return pcap_loop(p, cnt, NULL, user);
@ -320,7 +316,7 @@ index 44e8c2a..f9029c8 100644
}
#define PCAP_OPENFLAG_PROMISCUOUS 1
@@ -249,14 +333,14 @@ pcap_t* CDECL wine_pcap_open(const char *source, int snaplen, int flags, int rea
@@ -239,14 +323,14 @@ pcap_t* CDECL wine_pcap_open(const char *source, int snaplen, int flags, int rea
int promisc = flags & PCAP_OPENFLAG_PROMISCUOUS;
FIXME("(%s %i %i %i %p %p): partial stub\n", debugstr_a(source), snaplen, flags, read_timeout,
auth, errbuf);
@ -337,7 +333,7 @@ index 44e8c2a..f9029c8 100644
}
int CDECL wine_pcap_parsesrcstr(const char *source, int *type, char *host, char *port, char *name, char *errbuf)
@@ -300,13 +384,13 @@ int CDECL wine_pcap_parsesrcstr(const char *source, int *type, char *host, char
@@ -290,13 +374,13 @@ int CDECL wine_pcap_parsesrcstr(const char *source, int *type, char *host, char
int CDECL wine_pcap_sendpacket(pcap_t *p, const unsigned char *buf, int size)
{
TRACE("(%p %p %i)\n", p, buf, size);
@ -353,7 +349,7 @@ index 44e8c2a..f9029c8 100644
}
int CDECL wine_pcap_setbuff(pcap_t * p, int dim)
@@ -318,25 +402,25 @@ int CDECL wine_pcap_setbuff(pcap_t * p, int dim)
@@ -308,25 +392,25 @@ int CDECL wine_pcap_setbuff(pcap_t * p, int dim)
int CDECL wine_pcap_setfilter(pcap_t *p, struct bpf_program *fp)
{
TRACE("(%p %p)\n", p, fp);
@ -383,7 +379,7 @@ index 44e8c2a..f9029c8 100644
}
int CDECL wine_wsockinit(void)
@@ -349,10 +433,29 @@ int CDECL wine_wsockinit(void)
@@ -339,10 +423,29 @@ int CDECL wine_wsockinit(void)
pcap_dumper_t* CDECL wine_pcap_dump_open(pcap_t *p, const char *fname)
{
@ -416,5 +412,5 @@ index 44e8c2a..f9029c8 100644
+ return TRUE;
}
--
2.6.4
2.7.1

View File

@ -1,57 +0,0 @@
From b20a7a0ed29c40ad50c0e43b1f3d1cf3558f492e Mon Sep 17 00:00:00 2001
From: Jianqiu Zhang <zhangjianqiu_133@yeah.net>
Date: Thu, 7 Jan 2016 16:34:17 +0800
Subject: wpcap: Fix crash on pcap_loop
Signed-off-by: Jianqiu Zhang <zhangjianqiu_133@yeah.net>
---
dlls/wpcap/wpcap.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/dlls/wpcap/wpcap.c b/dlls/wpcap/wpcap.c
index da911c7..44e8c2a 100644
--- a/dlls/wpcap/wpcap.c
+++ b/dlls/wpcap/wpcap.c
@@ -95,7 +95,6 @@ static void pcap_handler_callback(u_char *user_data, const struct pcap_pkthdr *h
TRACE("(%p %p %p)\n", user_data, h, p);
pcb = (PCAP_HANDLER_CALLBACK *)user_data;
pcb->pfn_cb(pcb->user_data, h, p);
- HeapFree(GetProcessHeap(), 0, pcb);
TRACE("Callback COMPLETED\n");
}
@@ -108,10 +107,14 @@ int CDECL wine_pcap_dispatch(pcap_t *p, int cnt,
if (callback)
{
PCAP_HANDLER_CALLBACK *pcb;
+ int res;
+
pcb = HeapAlloc(GetProcessHeap(), 0, sizeof(PCAP_HANDLER_CALLBACK));
pcb->pfn_cb = callback;
pcb->user_data = user;
- return pcap_dispatch(p, cnt, pcap_handler_callback, (unsigned char*)pcb);
+ res = pcap_dispatch(p, cnt, pcap_handler_callback, (unsigned char *)pcb);
+ HeapFree(GetProcessHeap(), 0, pcb);
+ return res;
}
return pcap_dispatch(p, cnt, NULL, user);
@@ -201,10 +204,14 @@ int CDECL wine_pcap_loop(pcap_t *p, int cnt,
if (callback)
{
PCAP_HANDLER_CALLBACK *pcb;
+ int res;
+
pcb = HeapAlloc(GetProcessHeap(), 0, sizeof(PCAP_HANDLER_CALLBACK));
pcb->pfn_cb = callback;
pcb->user_data = user;
- return pcap_loop(p, cnt, pcap_handler_callback, (unsigned char*)pcb);
+ res = pcap_loop(p, cnt, pcap_handler_callback, (unsigned char *)pcb);
+ HeapFree(GetProcessHeap(), 0, pcb);
+ return res;
}
return pcap_loop(p, cnt, NULL, user);
--
2.6.4

View File

@ -1,2 +1 @@
Fixes: Implement pcap_dump_open and pcap_dump
Fixes: Fix possible crash in pcap_loop

View File

@ -1,13 +1,13 @@
From 881b4446e9f6abc97ff6bead1bfba18b49a5acca Mon Sep 17 00:00:00 2001
From 7bda5e47fc9a9eb8d92413c55c34d70ecf501300 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Mon, 8 Feb 2016 02:31:00 +0100
Subject: ws2_32: Divide values returned by SO_RCVBUF and SO_SNDBUF getsockopt
options by two.
---
dlls/ws2_32/socket.c | 8 ++++++++
dlls/ws2_32/tests/sock.c | 22 ++++++++++++++++++++++
2 files changed, 30 insertions(+)
dlls/ws2_32/socket.c | 8 ++++++++
dlls/ws2_32/tests/sock.c | 4 ++--
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index f62c9cd..e17b163 100644
@ -29,45 +29,27 @@ index f62c9cd..e17b163 100644
return ret;
case WS_SO_ACCEPTCONN:
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c
index aeb7a62..2e7ab20 100644
index 4f11cce..a8ad6e6 100644
--- a/dlls/ws2_32/tests/sock.c
+++ b/dlls/ws2_32/tests/sock.c
@@ -1328,6 +1328,7 @@ static void test_set_getsockopt(void)
WSAPROTOCOL_INFOA infoA;
WSAPROTOCOL_INFOW infoW;
char providername[WSAPROTOCOL_LEN + 1];
+ DWORD value;
struct _prottest
{
int family, type, proto;
@@ -1371,6 +1372,27 @@ static void test_set_getsockopt(void)
err = getsockopt(s, SOL_SOCKET, SO_SNDTIMEO, (char *) &timeout, &size);
ok( !err, "get/setsockopt(SO_SNDTIMEO) failed error: %d\n", WSAGetLastError());
ok( timeout == SOCKTIMEOUT2, "getsockopt(SO_SNDTIMEO) returned wrong value %d\n", timeout);
+
+ /* SO_SNDBUF */
+ value = 4096;
+ size = sizeof(DWORD);
+ err = setsockopt(s, SOL_SOCKET, SO_SNDBUF, (char *)&value, size);
+ ok( !err, "setsockopt(SO_SNDBUF) failed error: %u\n", WSAGetLastError());
+ value = 0xdeadbeef;
+ err = getsockopt(s, SOL_SOCKET, SO_SNDBUF, (char *)&value, &size);
+ ok( !err, "getsockopt(SO_SNDBUF) failed error: %u\n", WSAGetLastError());
@@ -1381,7 +1381,7 @@ static void test_set_getsockopt(void)
value = 0xdeadbeef;
err = getsockopt(s, SOL_SOCKET, SO_SNDBUF, (char *)&value, &size);
ok( !err, "getsockopt(SO_SNDBUF) failed error: %u\n", WSAGetLastError() );
- todo_wine ok( value == 4096, "expected 4096, got %u\n", value );
+ ok( value == 4096, "expected 4096, got %u\n", value );
+
+ /* SO_RCVBUF */
+ value = 4096;
+ size = sizeof(DWORD);
+ err = setsockopt(s, SOL_SOCKET, SO_RCVBUF, (char *)&value, size);
+ ok( !err, "setsockopt(SO_RCVBUF) failed error: %u\n", WSAGetLastError());
+ value = 0xdeadbeef;
+ err = getsockopt(s, SOL_SOCKET, SO_RCVBUF, (char *)&value, &size);
+ ok( !err, "getsockopt(SO_RCVBUF) failed error: %u\n", WSAGetLastError());
/* SO_RCVBUF */
value = 4096;
@@ -1391,7 +1391,7 @@ static void test_set_getsockopt(void)
value = 0xdeadbeef;
err = getsockopt(s, SOL_SOCKET, SO_RCVBUF, (char *)&value, &size);
ok( !err, "getsockopt(SO_RCVBUF) failed error: %u\n", WSAGetLastError() );
- todo_wine ok( value == 4096, "expected 4096, got %u\n", value );
+ ok( value == 4096, "expected 4096, got %u\n", value );
+
/* SO_LINGER */
for( i = 0; i < sizeof(linger_testvals)/sizeof(LINGER);i++) {
size = sizeof(lingval);
--
2.7.0
2.7.1