Compare commits

..

10 Commits
v4.18 ... v4.19

Author SHA1 Message Date
Alistair Leslie-Hughes
1f77584097 Release v4.19 2019-11-02 10:37:40 +11:00
Alistair Leslie-Hughes
6e793996ba Rebase against ccec532879ec14b2e79da08288152a69221ec4d1 2019-11-01 18:10:58 +11:00
Paul Gofman
6f1ebb84a2 Added ntdll-BitmaskAllocAreaSearch patchset. 2019-10-31 16:42:52 +03:00
Alistair Leslie-Hughes
d26687d90a Updated ntdll-User_Shared_Data patchset
Silence a noisy FIXME, by github user Guy1524
2019-10-31 11:48:18 +11:00
Alistair Leslie-Hughes
067a975495 Rebase against 666f7501d03983f84833a7a1952e78fd0650fde6 2019-10-30 11:26:22 +11:00
Alistair Leslie-Hughes
bc4e00ae02 Rebase against 5b62f89baa82daecd430897de0bb5cab32c5fc5e 2019-10-29 09:50:40 +11:00
Alistair Leslie-Hughes
086d99f83e Rebase against 237d5636271a1a78b02a0eb7feaab7dfb9dfed57 2019-10-28 09:12:06 +11:00
Alistair Leslie-Hughes
bc7627cdf1 Rebase against 717109ce79bbf92b5e3e93e49f96b78ece00a952 2019-10-24 08:29:06 +11:00
Alistair Leslie-Hughes
e380c1e9a7 Rebase against d82f06c07556408e9584d2a1f8b275df39c93d74 2019-10-23 10:20:30 +11:00
Alistair Leslie-Hughes
a568bd3e79 Rebase against 98c2c9a9c98d174851fa7a87db79599dd7d8af89 2019-10-22 09:01:23 +11:00
32 changed files with 430 additions and 2216 deletions

View File

@@ -1,4 +1,4 @@
From ee1533db82fa2a955765b6a00f5300900350d2fe Mon Sep 17 00:00:00 2001
From 9e585de1f2f28e1ef18c1edca875779c491375cb Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Thu, 2 Oct 2014 19:44:31 +0200
Subject: [PATCH] kernel32: Add winediag message to show warning, that this
@@ -9,7 +9,7 @@ Subject: [PATCH] kernel32: Add winediag message to show warning, that this
1 file changed, 10 insertions(+)
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index 0a3fd70..206224f 100644
index 36ed82bff8c..b8a677c5485 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -65,6 +65,7 @@
@@ -18,9 +18,9 @@ index 0a3fd70..206224f 100644
WINE_DECLARE_DEBUG_CHANNEL(relay);
+WINE_DECLARE_DEBUG_CHANNEL(winediag);
#ifdef __APPLE__
extern char **__wine_get_main_environment(void);
@@ -1090,6 +1091,15 @@ void WINAPI start_process( LPTHREAD_START_ROUTINE entry, PEB *peb )
typedef struct
{
@@ -997,6 +998,15 @@ void WINAPI start_process( LPTHREAD_START_ROUTINE entry, PEB *peb )
__TRY
{
@@ -37,5 +37,5 @@ index 0a3fd70..206224f 100644
being_debugged = FALSE;
--
1.9.1
2.23.0

View File

@@ -1,68 +0,0 @@
From e72b9a5931139e2d4c651e62f9b5ac226af2bedd Mon Sep 17 00:00:00 2001
From: Louis Lenders <xerox.xerox2000x@gmail.com>
Date: Mon, 8 Apr 2019 08:26:43 +0200
Subject: [PATCH 1/2] include: Add restrictederrorinfo.idl.
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
---
include/Makefile.in | 1 +
include/restrictederrorinfo.idl | 35 +++++++++++++++++++++++++++++++++++
2 files changed, 36 insertions(+)
create mode 100644 include/restrictederrorinfo.idl
diff --git a/include/Makefile.in b/include/Makefile.in
index b03b967..5bc8dde 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -545,6 +545,7 @@ SOURCES = \
reason.h \
regstr.h \
restartmanager.h \
+ restrictederrorinfo.idl \
richedit.h \
richole.idl \
rmxfguid.h \
diff --git a/include/restrictederrorinfo.idl b/include/restrictederrorinfo.idl
new file mode 100644
index 0000000..e444256
--- /dev/null
+++ b/include/restrictederrorinfo.idl
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2019 Louis Lenders
+ *
+ * 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
+ */
+
+import "oaidl.idl";
+
+[
+ object,
+ uuid(82ba7092-4c88-427d-a7bc-16dd93feb67e),
+ pointer_default(unique)
+]
+interface IRestrictedErrorInfo : IUnknown
+{
+ HRESULT GetErrorDetails (
+ [out] BSTR *desc,
+ [out] HRESULT *error,
+ [out] BSTR *restricted_desc,
+ [out] BSTR *sid);
+
+ HRESULT GetReference ([out] BSTR *reference);
+}
--
1.9.1

View File

@@ -1,128 +0,0 @@
From 50ba23f4d3f7e40bf02cb8f3cdcc4d729f6d68d4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Mon, 27 Feb 2017 20:42:27 +0100
Subject: crypt32: Add MS root CA 2010.
---
dlls/crypt32/rootstore.c | 98 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 98 insertions(+)
diff --git a/dlls/crypt32/rootstore.c b/dlls/crypt32/rootstore.c
index 73d954f7404..d6c0dfbc819 100644
--- a/dlls/crypt32/rootstore.c
+++ b/dlls/crypt32/rootstore.c
@@ -666,6 +666,103 @@ static const BYTE rootcertauthority[] = {
0x7e,0x6c,0x9e,0xdb,0x73,0x13,0x64,0x62,0x69,0xa5,0x2f,0x7d,0xca,0x96,0x6d,0x9f,
0xf8,0x04,0x4d,0x30,0x92,0x3d,0x6e,0x21,0x14,0x21,0xc9,0x3d,0xe0,0xc3,0xfd,0x8a,
0x6b,0x9d,0x4a,0xfd,0xd1,0xa1,0x9d,0x99,0x43,0x77,0x3f,0xb0,0xda };
+static const BYTE rootcertauthority2010[] = {
+0x30,0x82,0x05,0xed,0x30,0x82,0x03,0xd5,0xa0,0x03,0x02,0x01,0x02,0x02,0x10,0x28,
+0xcc,0x3a,0x25,0xbf,0xba,0x44,0xac,0x44,0x9a,0x9b,0x58,0x6b,0x43,0x39,0xaa,0x30,
+0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x0b,0x05,0x00,0x30,0x81,
+0x88,0x31,0x0b,0x30,0x09,0x06,0x03,0x55,0x04,0x06,0x13,0x02,0x55,0x53,0x31,0x13,
+0x30,0x11,0x06,0x03,0x55,0x04,0x08,0x13,0x0a,0x57,0x61,0x73,0x68,0x69,0x6e,0x67,
+0x74,0x6f,0x6e,0x31,0x10,0x30,0x0e,0x06,0x03,0x55,0x04,0x07,0x13,0x07,0x52,0x65,
+0x64,0x6d,0x6f,0x6e,0x64,0x31,0x1e,0x30,0x1c,0x06,0x03,0x55,0x04,0x0a,0x13,0x15,
+0x4d,0x69,0x63,0x72,0x6f,0x73,0x6f,0x66,0x74,0x20,0x43,0x6f,0x72,0x70,0x6f,0x72,
+0x61,0x74,0x69,0x6f,0x6e,0x31,0x32,0x30,0x30,0x06,0x03,0x55,0x04,0x03,0x13,0x29,
+0x4d,0x69,0x63,0x72,0x6f,0x73,0x6f,0x66,0x74,0x20,0x52,0x6f,0x6f,0x74,0x20,0x43,
+0x65,0x72,0x74,0x69,0x66,0x69,0x63,0x61,0x74,0x65,0x20,0x41,0x75,0x74,0x68,0x6f,
+0x72,0x69,0x74,0x79,0x20,0x32,0x30,0x31,0x30,0x30,0x1e,0x17,0x0d,0x31,0x30,0x30,
+0x36,0x32,0x33,0x32,0x31,0x35,0x37,0x32,0x34,0x5a,0x17,0x0d,0x33,0x35,0x30,0x36,
+0x32,0x33,0x32,0x32,0x30,0x34,0x30,0x31,0x5a,0x30,0x81,0x88,0x31,0x0b,0x30,0x09,
+0x06,0x03,0x55,0x04,0x06,0x13,0x02,0x55,0x53,0x31,0x13,0x30,0x11,0x06,0x03,0x55,
+0x04,0x08,0x13,0x0a,0x57,0x61,0x73,0x68,0x69,0x6e,0x67,0x74,0x6f,0x6e,0x31,0x10,
+0x30,0x0e,0x06,0x03,0x55,0x04,0x07,0x13,0x07,0x52,0x65,0x64,0x6d,0x6f,0x6e,0x64,
+0x31,0x1e,0x30,0x1c,0x06,0x03,0x55,0x04,0x0a,0x13,0x15,0x4d,0x69,0x63,0x72,0x6f,
+0x73,0x6f,0x66,0x74,0x20,0x43,0x6f,0x72,0x70,0x6f,0x72,0x61,0x74,0x69,0x6f,0x6e,
+0x31,0x32,0x30,0x30,0x06,0x03,0x55,0x04,0x03,0x13,0x29,0x4d,0x69,0x63,0x72,0x6f,
+0x73,0x6f,0x66,0x74,0x20,0x52,0x6f,0x6f,0x74,0x20,0x43,0x65,0x72,0x74,0x69,0x66,
+0x69,0x63,0x61,0x74,0x65,0x20,0x41,0x75,0x74,0x68,0x6f,0x72,0x69,0x74,0x79,0x20,
+0x32,0x30,0x31,0x30,0x30,0x82,0x02,0x22,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,
+0xf7,0x0d,0x01,0x01,0x01,0x05,0x00,0x03,0x82,0x02,0x0f,0x00,0x30,0x82,0x02,0x0a,
+0x02,0x82,0x02,0x01,0x00,0xb9,0x08,0x9e,0x28,0xe4,0xe4,0xec,0x06,0x4e,0x50,0x68,
+0xb3,0x41,0xc5,0x7b,0xeb,0xae,0xb6,0x8e,0xaf,0x81,0xba,0x22,0x44,0x1f,0x65,0x34,
+0x69,0x4c,0xbe,0x70,0x40,0x17,0xf2,0x16,0x7b,0xe2,0x79,0xfd,0x86,0xed,0x0d,0x39,
+0xf4,0x1b,0xa8,0xad,0x92,0x90,0x1e,0xcb,0x3d,0x76,0x8f,0x5a,0xd9,0xb5,0x91,0x10,
+0x2e,0x3c,0x05,0x8d,0x8a,0x6d,0x24,0x54,0xe7,0x1f,0xed,0x56,0xad,0x83,0xb4,0x50,
+0x9c,0x15,0xa5,0x17,0x74,0x88,0x59,0x20,0xfc,0x08,0xc5,0x84,0x76,0xd3,0x68,0xd4,
+0x6f,0x28,0x78,0xce,0x5c,0xb8,0xf3,0x50,0x90,0x44,0xff,0xe3,0x63,0x5f,0xbe,0xa1,
+0x9a,0x2c,0x96,0x15,0x04,0xd6,0x07,0xfe,0x1e,0x84,0x21,0xe0,0x42,0x31,0x11,0xc4,
+0x28,0x36,0x94,0xcf,0x50,0xa4,0x62,0x9e,0xc9,0xd6,0xab,0x71,0x00,0xb2,0x5b,0x0c,
+0xe6,0x96,0xd4,0x0a,0x24,0x96,0xf5,0xff,0xc6,0xd5,0xb7,0x1b,0xd7,0xcb,0xb7,0x21,
+0x62,0xaf,0x12,0xdc,0xa1,0x5d,0x37,0xe3,0x1a,0xfb,0x1a,0x46,0x98,0xc0,0x9b,0xc0,
+0xe7,0x63,0x1f,0x2a,0x08,0x93,0x02,0x7e,0x1e,0x6a,0x8e,0xf2,0x9f,0x18,0x89,0xe4,
+0x22,0x85,0xa2,0xb1,0x84,0x57,0x40,0xff,0xf5,0x0e,0xd8,0x6f,0x9c,0xed,0xe2,0x45,
+0x31,0x01,0xcd,0x17,0xe9,0x7f,0xb0,0x81,0x45,0xe3,0xaa,0x21,0x40,0x26,0xa1,0x72,
+0xaa,0xa7,0x4f,0x3c,0x01,0x05,0x7e,0xee,0x83,0x58,0xb1,0x5e,0x06,0x63,0x99,0x62,
+0x91,0x78,0x82,0xb7,0x0d,0x93,0x0c,0x24,0x6a,0xb4,0x1b,0xdb,0x27,0xec,0x5f,0x95,
+0x04,0x3f,0x93,0x4a,0x30,0xf5,0x97,0x18,0xb3,0xa7,0xf9,0x19,0xa7,0x93,0x33,0x1d,
+0x01,0xc8,0xdb,0x22,0x52,0x5c,0xd7,0x25,0xc9,0x46,0xf9,0xa2,0xfb,0x87,0x59,0x43,
+0xbe,0x9b,0x62,0xb1,0x8d,0x2d,0x86,0x44,0x1a,0x46,0xac,0x78,0x61,0x7e,0x30,0x09,
+0xfa,0xae,0x89,0xc4,0x41,0x2a,0x22,0x66,0x03,0x91,0x39,0x45,0x9c,0xc7,0x8b,0x0c,
+0xa8,0xca,0x0d,0x2f,0xfb,0x52,0xea,0x0c,0xf7,0x63,0x33,0x23,0x9d,0xfe,0xb0,0x1f,
+0xad,0x67,0xd6,0xa7,0x50,0x03,0xc6,0x04,0x70,0x63,0xb5,0x2c,0xb1,0x86,0x5a,0x43,
+0xb7,0xfb,0xae,0xf9,0x6e,0x29,0x6e,0x21,0x21,0x41,0x26,0x06,0x8c,0xc9,0xc3,0xee,
+0xb0,0xc2,0x85,0x93,0xa1,0xb9,0x85,0xd9,0xe6,0x32,0x6c,0x4b,0x4c,0x3f,0xd6,0x5d,
+0xa3,0xe5,0xb5,0x9d,0x77,0xc3,0x9c,0xc0,0x55,0xb7,0x74,0x00,0xe3,0xb8,0x38,0xab,
+0x83,0x97,0x50,0xe1,0x9a,0x42,0x24,0x1d,0xc6,0xc0,0xa3,0x30,0xd1,0x1a,0x5a,0xc8,
+0x52,0x34,0xf7,0x73,0xf1,0xc7,0x18,0x1f,0x33,0xad,0x7a,0xec,0xcb,0x41,0x60,0xf3,
+0x23,0x94,0x20,0xc2,0x48,0x45,0xac,0x5c,0x51,0xc6,0x2e,0x80,0xc2,0xe2,0x77,0x15,
+0xbd,0x85,0x87,0xed,0x36,0x9d,0x96,0x91,0xee,0x00,0xb5,0xa3,0x70,0xec,0x9f,0xe3,
+0x8d,0x80,0x68,0x83,0x76,0xba,0xaf,0x5d,0x70,0x52,0x22,0x16,0xe2,0x66,0xfb,0xba,
+0xb3,0xc5,0xc2,0xf7,0x3e,0x2f,0x77,0xa6,0xca,0xde,0xc1,0xa6,0xc6,0x48,0x4c,0xc3,
+0x37,0x51,0x23,0xd3,0x27,0xd7,0xb8,0x4e,0x70,0x96,0xf0,0xa1,0x44,0x76,0xaf,0x78,
+0xcf,0x9a,0xe1,0x66,0x13,0x02,0x03,0x01,0x00,0x01,0xa3,0x51,0x30,0x4f,0x30,0x0b,
+0x06,0x03,0x55,0x1d,0x0f,0x04,0x04,0x03,0x02,0x01,0x86,0x30,0x0f,0x06,0x03,0x55,
+0x1d,0x13,0x01,0x01,0xff,0x04,0x05,0x30,0x03,0x01,0x01,0xff,0x30,0x1d,0x06,0x03,
+0x55,0x1d,0x0e,0x04,0x16,0x04,0x14,0xd5,0xf6,0x56,0xcb,0x8f,0xe8,0xa2,0x5c,0x62,
+0x68,0xd1,0x3d,0x94,0x90,0x5b,0xd7,0xce,0x9a,0x18,0xc4,0x30,0x10,0x06,0x09,0x2b,
+0x06,0x01,0x04,0x01,0x82,0x37,0x15,0x01,0x04,0x03,0x02,0x01,0x00,0x30,0x0d,0x06,
+0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x0b,0x05,0x00,0x03,0x82,0x02,0x01,
+0x00,0xac,0xa5,0x96,0x8c,0xbf,0xbb,0xae,0xa6,0xf6,0xd7,0x71,0x87,0x43,0x31,0x56,
+0x88,0xfd,0x1c,0x32,0x71,0x5b,0x35,0xb7,0xd4,0xf0,0x91,0xf2,0xaf,0x37,0xe2,0x14,
+0xf1,0xf3,0x02,0x26,0x05,0x3e,0x16,0x14,0x7f,0x14,0xba,0xb8,0x4f,0xfb,0x89,0xb2,
+0xb2,0xe7,0xd4,0x09,0xcc,0x6d,0xb9,0x5b,0x3b,0x64,0x65,0x70,0x66,0xb7,0xf2,0xb1,
+0x5a,0xdf,0x1a,0x02,0xf3,0xf5,0x51,0xb8,0x67,0x6d,0x79,0xf3,0xbf,0x56,0x7b,0xe4,
+0x84,0xb9,0x2b,0x1e,0x9b,0x40,0x9c,0x26,0x34,0xf9,0x47,0x18,0x98,0x69,0xd8,0x1c,
+0xd7,0xb6,0xd1,0xbf,0x8f,0x61,0xc2,0x67,0xc4,0xb5,0xef,0x60,0x43,0x8e,0x10,0x1b,
+0x36,0x49,0xe4,0x20,0xca,0xad,0xa7,0xc1,0xb1,0x27,0x65,0x09,0xf8,0xcd,0xf5,0x5b,
+0x2a,0xd0,0x84,0x33,0xf3,0xef,0x1f,0xf2,0xf5,0x9c,0x0b,0x58,0x93,0x37,0xa0,0x75,
+0xa0,0xde,0x72,0xde,0x6c,0x75,0x2a,0x66,0x22,0xf5,0x8c,0x06,0x30,0x56,0x9f,0x40,
+0xb9,0x30,0xaa,0x40,0x77,0x15,0x82,0xd7,0x8b,0xec,0xc0,0xd3,0xb2,0xbd,0x83,0xc5,
+0x77,0x0c,0x1e,0xae,0xaf,0x19,0x53,0xa0,0x4d,0x79,0x71,0x9f,0x0f,0xaf,0x30,0xce,
+0x67,0xf9,0xd6,0x2c,0xcc,0x22,0x41,0x7a,0x07,0xf2,0x97,0x42,0x18,0xce,0x59,0x79,
+0x10,0x55,0xde,0x6f,0x10,0xe4,0xb8,0xda,0x83,0x66,0x40,0x16,0x09,0x68,0x23,0x5b,
+0x97,0x2e,0x26,0x9a,0x02,0xbb,0x57,0x8c,0xc5,0xb8,0xba,0x69,0x62,0x32,0x80,0x89,
+0x9e,0xa1,0xfd,0xc0,0x92,0x7c,0x7b,0x2b,0x33,0x19,0x84,0x2a,0x63,0xc5,0x00,0x68,
+0x62,0xfa,0x9f,0x47,0x8d,0x99,0x7a,0x45,0x3a,0xa7,0xe9,0xed,0xee,0x69,0x42,0xb5,
+0xf3,0x81,0x9b,0x47,0x56,0x10,0x7b,0xfc,0x70,0x36,0x84,0x18,0x73,0xea,0xef,0xf9,
+0x97,0x4d,0x9e,0x33,0x23,0xdd,0x26,0x0b,0xba,0x2a,0xb7,0x3f,0x44,0xdc,0x83,0x27,
+0xff,0xbd,0x61,0x59,0x2b,0x11,0xb7,0xca,0x4f,0xdb,0xc5,0x8b,0x0c,0x1c,0x31,0xae,
+0x32,0xf8,0xf8,0xb9,0x42,0xf7,0x7f,0xdc,0x61,0x9a,0x76,0xb1,0x5a,0x04,0xe1,0x11,
+0x3d,0x66,0x45,0xb7,0x18,0x71,0xbe,0xc9,0x24,0x85,0xd6,0xf3,0xd4,0xba,0x41,0x34,
+0x5d,0x12,0x2d,0x25,0xb9,0x8d,0xa6,0x13,0x48,0x6d,0x4b,0xb0,0x07,0x7d,0x99,0x93,
+0x09,0x61,0x81,0x74,0x57,0x26,0x8a,0xab,0x69,0xe3,0xe4,0xd9,0xc7,0x88,0xcc,0x24,
+0xd8,0xec,0x52,0x24,0x5c,0x1e,0xbc,0x91,0x14,0xe2,0x96,0xde,0xeb,0x0a,0xda,0x9e,
+0xdd,0x5f,0xb3,0x5b,0xdb,0xd4,0x82,0xec,0xc6,0x20,0x50,0x87,0x25,0x40,0x3a,0xfb,
+0xc7,0xee,0xcd,0xfe,0x33,0xe5,0x6e,0xc3,0x84,0x09,0x55,0x03,0x25,0x39,0xc0,0xe9,
+0x35,0x5d,0x65,0x31,0xa8,0xf6,0xbf,0xa0,0x09,0xcd,0x29,0xc7,0xb3,0x36,0x32,0x2e,
+0xdc,0x95,0xf3,0x83,0xc1,0x5a,0xcf,0x8b,0x8d,0xf6,0xea,0xb3,0x21,0xf8,0xa4,0xed,
+0x1e,0x31,0x0e,0xb6,0x4c,0x11,0xab,0x60,0x0b,0xa4,0x12,0x23,0x22,0x17,0xa3,0x36,
+0x64,0x82,0x91,0x04,0x12,0xe0,0xab,0x6f,0x1e,0xcb,0x50,0x05,0x61,0xb4,0x40,0xff,
+0x59,0x86,0x71,0xd1,0xd5,0x33,0x69,0x7c,0xa9,0x73,0x8a,0x38,0xd7,0x64,0x0c,0xf1,
+0x69 };
static const BYTE rootcertauthority2011[] = {
0x30,0x82,0x05,0xed,0x30,0x82,0x03,0xd5,0xa0,0x03,0x02,0x01,0x02,0x02,0x10,0x3f,
0x8b,0xc8,0xb5,0xfc,0x9f,0xb2,0x96,0x43,0xb5,0x69,0xd6,0x6c,0x42,0xe1,0x44,0x30,
@@ -771,6 +868,7 @@ static const struct CONST_BLOB {
{ authenticode, sizeof(authenticode) },
{ rootauthority, sizeof(rootauthority) },
{ rootcertauthority, sizeof(rootcertauthority) },
+ { rootcertauthority2010, sizeof(rootcertauthority2010) },
{ rootcertauthority2011, sizeof(rootcertauthority2011) },
};
--
2.14.1

View File

@@ -1 +0,0 @@
Fixes: Add MS root certificates 2010/2011

View File

@@ -1,15 +1,15 @@
From 31a800096eb212cda55f6fbea955f05c650ea2c1 Mon Sep 17 00:00:00 2001
From c01cbb5811cb9de58a0c3fa7822382f45900b435 Mon Sep 17 00:00:00 2001
From: Paul Gofman <gofmanp@gmail.com>
Date: Fri, 27 Sep 2019 16:26:04 +0300
Subject: [PATCH] d3d11/tests: Add a basic test for drawing with deferred
context.
---
dlls/d3d11/tests/d3d11.c | 101 +++++++++++++++++++++++++++++++--------
1 file changed, 81 insertions(+), 20 deletions(-)
dlls/d3d11/tests/d3d11.c | 100 +++++++++++++++++++++++++++++++--------
1 file changed, 81 insertions(+), 19 deletions(-)
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
index e653fb30b2..202179174b 100644
index 7f11a59d0cb..c63bae8bbab 100644
--- a/dlls/d3d11/tests/d3d11.c
+++ b/dlls/d3d11/tests/d3d11.c
@@ -1692,10 +1692,11 @@ static void release_test_context_(unsigned int line, struct d3d11_test_context *
@@ -158,7 +158,7 @@ index e653fb30b2..202179174b 100644
static void test_device_interfaces(const D3D_FEATURE_LEVEL feature_level)
{
struct device_desc device_desc;
@@ -29400,11 +29462,11 @@ START_TEST(d3d11)
@@ -29639,11 +29701,11 @@ START_TEST(d3d11)
}
print_adapter_info();
@@ -171,13 +171,6 @@ index e653fb30b2..202179174b 100644
queue_test(test_create_texture1d);
queue_test(test_texture1d_interfaces);
queue_test(test_create_texture2d);
@@ -29538,6 +29600,5 @@ START_TEST(d3d11)
queue_test(test_render_a8);
queue_test(test_standard_pattern);
queue_test(test_desktop_window);
-
run_queued_tests();
}
--
2.21.0
2.17.1

View File

@@ -1,10 +1,9 @@
From 1a21bd1a5584a1d2b54a8a6df9944d44a83b05d1 Mon Sep 17 00:00:00 2001
From 2dbc476ab7a1edb75f07108a6a44ea2700513797 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Wed, 29 Jul 2015 17:09:50 +0200
Subject: [PATCH] ddraw: Create rendering targets in video memory if possible.
Based on a patch by Henri Verbeet.
---
dlls/ddraw/ddraw.c | 6 +++---
dlls/ddraw/ddraw_private.h | 3 ++-
@@ -13,10 +12,10 @@ Based on a patch by Henri Verbeet.
4 files changed, 56 insertions(+), 15 deletions(-)
diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index 68e9286590..1141739e78 100644
index e77aab1cc5c..7df9cf5b28f 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -4296,7 +4296,7 @@ static HRESULT WINAPI d3d7_CreateDevice(IDirect3D7 *iface, REFCLSID riid,
@@ -4297,7 +4297,7 @@ static HRESULT WINAPI d3d7_CreateDevice(IDirect3D7 *iface, REFCLSID riid,
TRACE("iface %p, riid %s, surface %p, device %p.\n", iface, debugstr_guid(riid), surface, device);
wined3d_mutex_lock();
@@ -25,7 +24,7 @@ index 68e9286590..1141739e78 100644
{
*device = &object->IDirect3DDevice7_iface;
}
@@ -4325,7 +4325,7 @@ static HRESULT WINAPI d3d3_CreateDevice(IDirect3D3 *iface, REFCLSID riid,
@@ -4326,7 +4326,7 @@ static HRESULT WINAPI d3d3_CreateDevice(IDirect3D3 *iface, REFCLSID riid,
return CLASS_E_NOAGGREGATION;
wined3d_mutex_lock();
@@ -34,7 +33,7 @@ index 68e9286590..1141739e78 100644
{
*device = &device_impl->IDirect3DDevice3_iface;
}
@@ -4351,7 +4351,7 @@ static HRESULT WINAPI d3d2_CreateDevice(IDirect3D2 *iface, REFCLSID riid,
@@ -4352,7 +4352,7 @@ static HRESULT WINAPI d3d2_CreateDevice(IDirect3D2 *iface, REFCLSID riid,
iface, debugstr_guid(riid), surface, device);
wined3d_mutex_lock();
@@ -44,10 +43,10 @@ index 68e9286590..1141739e78 100644
*device = &device_impl->IDirect3DDevice2_iface;
}
diff --git a/dlls/ddraw/ddraw_private.h b/dlls/ddraw/ddraw_private.h
index 771b2a44d1..4bf0e46462 100644
index 4ecd83d006b..c11f4f0aa80 100644
--- a/dlls/ddraw/ddraw_private.h
+++ b/dlls/ddraw/ddraw_private.h
@@ -307,6 +307,7 @@ struct d3d_device
@@ -309,6 +309,7 @@ struct d3d_device
IUnknown IUnknown_inner;
LONG ref;
UINT version;
@@ -55,8 +54,8 @@ index 771b2a44d1..4bf0e46462 100644
IUnknown *outer_unknown;
struct wined3d_device *wined3d_device;
@@ -354,7 +355,7 @@ struct d3d_device
struct wined3d_stateblock *recording;
@@ -356,7 +357,7 @@ struct d3d_device
struct wined3d_stateblock *recording, *state, *update_state;
};
-HRESULT d3d_device_create(struct ddraw *ddraw, struct ddraw_surface *target, IUnknown *rt_iface,
@@ -65,7 +64,7 @@ index 771b2a44d1..4bf0e46462 100644
enum wined3d_depth_buffer_type d3d_device_update_depth_stencil(struct d3d_device *device) DECLSPEC_HIDDEN;
diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index 43e5d0aa92..5d18a129f7 100644
index 3702454bde0..cc43cdc8840 100644
--- a/dlls/ddraw/device.c
+++ b/dlls/ddraw/device.c
@@ -1854,7 +1854,7 @@ static HRESULT d3d_device7_SetRenderTarget(IDirect3DDevice7 *iface,
@@ -95,7 +94,7 @@ index 43e5d0aa92..5d18a129f7 100644
{
WARN("Surface %p is not in video memory.\n", target_impl);
IDirectDrawSurface_AddRef(target);
@@ -6933,7 +6933,7 @@ enum wined3d_depth_buffer_type d3d_device_update_depth_stencil(struct d3d_device
@@ -6947,7 +6947,7 @@ enum wined3d_depth_buffer_type d3d_device_update_depth_stencil(struct d3d_device
return WINED3D_ZB_TRUE;
}
@@ -104,7 +103,7 @@ index 43e5d0aa92..5d18a129f7 100644
struct ddraw_surface *target, IUnknown *rt_iface, UINT version, IUnknown *outer_unknown)
{
static const D3DMATRIX ident =
@@ -6956,6 +6956,7 @@ static HRESULT d3d_device_init(struct d3d_device *device, struct ddraw *ddraw,
@@ -6970,6 +6970,7 @@ static HRESULT d3d_device_init(struct d3d_device *device, struct ddraw *ddraw,
device->IUnknown_inner.lpVtbl = &d3d_device_inner_vtbl;
device->ref = 1;
device->version = version;
@@ -112,7 +111,7 @@ index 43e5d0aa92..5d18a129f7 100644
if (outer_unknown)
device->outer_unknown = outer_unknown;
@@ -7009,14 +7010,18 @@ static HRESULT d3d_device_init(struct d3d_device *device, struct ddraw *ddraw,
@@ -7026,14 +7027,18 @@ static HRESULT d3d_device_init(struct d3d_device *device, struct ddraw *ddraw,
return D3D_OK;
}
@@ -134,7 +133,7 @@ index 43e5d0aa92..5d18a129f7 100644
if (!(target->surface_desc.ddsCaps.dwCaps & DDSCAPS_3DDEVICE)
|| (target->surface_desc.ddsCaps.dwCaps & DDSCAPS_ZBUFFER))
@@ -7039,7 +7044,7 @@ HRESULT d3d_device_create(struct ddraw *ddraw, struct ddraw_surface *target, IUn
@@ -7056,7 +7061,7 @@ HRESULT d3d_device_create(struct ddraw *ddraw, struct ddraw_surface *target, IUn
return DDERR_OUTOFMEMORY;
}
@@ -143,7 +142,7 @@ index 43e5d0aa92..5d18a129f7 100644
{
WARN("Surface %p is not in video memory.\n", target);
return D3DERR_SURFACENOTINVIDMEM;
@@ -7057,7 +7062,7 @@ HRESULT d3d_device_create(struct ddraw *ddraw, struct ddraw_surface *target, IUn
@@ -7074,7 +7079,7 @@ HRESULT d3d_device_create(struct ddraw *ddraw, struct ddraw_surface *target, IUn
return DDERR_OUTOFMEMORY;
}
@@ -153,7 +152,7 @@ index 43e5d0aa92..5d18a129f7 100644
WARN("Failed to initialize device, hr %#x.\n", hr);
heap_free(object);
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
index 66e5a9e616..31ccce29b8 100644
index 0c03120662b..3e0d6d66573 100644
--- a/dlls/ddraw/surface.c
+++ b/dlls/ddraw/surface.c
@@ -223,7 +223,7 @@ static HRESULT WINAPI ddraw_surface7_QueryInterface(IDirectDrawSurface7 *iface,
@@ -165,7 +164,7 @@ index 66e5a9e616..31ccce29b8 100644
1, &This->device1, (IUnknown *)&This->IDirectDrawSurface_iface)))
{
This->device1 = NULL;
@@ -6197,7 +6197,42 @@ HRESULT ddraw_surface_create(struct ddraw *ddraw, const DDSURFACEDESC2 *surface_
@@ -6198,7 +6198,42 @@ HRESULT ddraw_surface_create(struct ddraw *ddraw, const DDSURFACEDESC2 *surface_
if (desc->ddsCaps.dwCaps & DDSCAPS_SYSTEMMEMORY)
{
@@ -210,5 +209,5 @@ index 66e5a9e616..31ccce29b8 100644
}
else
--
2.21.0
2.17.1

View File

@@ -0,0 +1,165 @@
From 19635dea9206b1606ad0ac53c99205d48bc2ee41 Mon Sep 17 00:00:00 2001
From: Paul Gofman <gofmanp@gmail.com>
Date: Thu, 24 Oct 2019 20:17:36 +0300
Subject: [PATCH] ntdll: Fix free area search outside of reserved area in
map_view() for non-zero bitmask.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Patch includes logic changes suggested and edited by Rémi Bernon.
---
dlls/ntdll/virtual.c | 90 ++++++++++++++++++++++++++++++++------------
1 file changed, 66 insertions(+), 24 deletions(-)
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
index 72ee2cade3..25fbe3b0b1 100644
--- a/dlls/ntdll/virtual.c
+++ b/dlls/ntdll/virtual.c
@@ -543,6 +543,24 @@ static struct file_view *find_view_range( const void *addr, size_t size )
return NULL;
}
+/***********************************************************************
+ * try_map_free_area
+ *
+ * Try mmaping some expected free memory region, and return whether it
+ * succeeded as expected.
+ */
+static BOOL try_map_free_area( void *start, size_t size, int unix_prot )
+{
+ void *map_ptr;
+
+ if ((map_ptr = wine_anon_mmap(start, size, unix_prot, 0)) == start)
+ return TRUE;
+
+ if (map_ptr != (void *)-1)
+ munmap(map_ptr, size);
+
+ return FALSE;
+}
/***********************************************************************
* find_free_area
@@ -550,7 +568,7 @@ static struct file_view *find_view_range( const void *addr, size_t size )
* Find a free area between views inside the specified range.
* The csVirtual section must be held by caller.
*/
-static void *find_free_area( void *base, void *end, size_t size, size_t mask, int top_down )
+static void *find_free_area( void *base, void *end, size_t size, size_t mask, int top_down, BOOL map, int unix_prot )
{
struct wine_rb_entry *first = NULL, *ptr = views_tree.root;
void *start;
@@ -579,33 +597,53 @@ static void *find_free_area( void *base, void *end, size_t size, size_t mask, in
if (top_down)
{
start = ROUND_ADDR( (char *)end - size, mask );
- if (start >= end || start < base) return NULL;
- while (first)
+ for (;;)
{
- struct file_view *view = WINE_RB_ENTRY_VALUE( first, struct file_view, entry );
+ if (start >= end || start < base) return NULL;
+
+ while (first)
+ {
+ struct file_view *view = WINE_RB_ENTRY_VALUE( first, struct file_view, entry );
+
+ if ((char *)view->base + view->size <= (char *)start) break;
+ start = ROUND_ADDR( (char *)view->base - size, mask );
+ /* stop if remaining space is not large enough */
+ if (!start || start >= end || start < base) return NULL;
+ first = wine_rb_prev( first );
+ }
- if ((char *)view->base + view->size <= (char *)start) break;
- start = ROUND_ADDR( (char *)view->base - size, mask );
- /* stop if remaining space is not large enough */
- if (!start || start >= end || start < base) return NULL;
- first = wine_rb_prev( first );
+ if (!map || try_map_free_area(start, size, unix_prot))
+ break;
+
+ TRACE("Found free area is already mapped, start %p.\n", start);
+ start = ROUND_ADDR((char *)start - 1, mask);
}
}
else
{
start = ROUND_ADDR( (char *)base + mask, mask );
- if (!start || start >= end || (char *)end - (char *)start < size) return NULL;
- while (first)
+ for (;;)
{
- struct file_view *view = WINE_RB_ENTRY_VALUE( first, struct file_view, entry );
-
- if ((char *)view->base >= (char *)start + size) break;
- start = ROUND_ADDR( (char *)view->base + view->size + mask, mask );
- /* stop if remaining space is not large enough */
if (!start || start >= end || (char *)end - (char *)start < size) return NULL;
- first = wine_rb_next( first );
+
+ while (first)
+ {
+ struct file_view *view = WINE_RB_ENTRY_VALUE( first, struct file_view, entry );
+
+ if ((char *)view->base >= (char *)start + size) break;
+ start = ROUND_ADDR( (char *)view->base + view->size + mask, mask );
+ /* stop if remaining space is not large enough */
+ if (!start || start >= end || (char *)end - (char *)start < size) return NULL;
+ first = wine_rb_next( first );
+ }
+
+ if (!map || try_map_free_area(start, size, unix_prot))
+ break;
+
+ TRACE("Found free area is already mapped, start %p.\n", start);
+ start = (char *)start + mask + 1;
}
}
return start;
@@ -1101,13 +1139,13 @@ static int alloc_reserved_area_callback( void *start, size_t size, void *arg )
{
/* range is split in two by the preloader reservation, try first part */
if ((alloc->result = find_free_area( start, preload_reserve_start, alloc->size,
- alloc->mask, alloc->top_down )))
+ alloc->mask, alloc->top_down, FALSE, 0 )))
return 1;
/* then fall through to try second part */
start = preload_reserve_end;
}
}
- if ((alloc->result = find_free_area( start, end, alloc->size, alloc->mask, alloc->top_down )))
+ if ((alloc->result = find_free_area( start, end, alloc->size, alloc->mask, alloc->top_down, FALSE, 0 )))
return 1;
return 0;
@@ -1210,14 +1248,18 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
goto done;
}
- for (;;)
+ if (zero_bits_64)
{
- if (!zero_bits_64)
- ptr = NULL;
- else if (!(ptr = find_free_area( (void*)0, alloc.limit, view_size, mask, top_down )))
+ if (!(ptr = find_free_area(address_space_start, alloc.limit, size,
+ mask, top_down, TRUE, VIRTUAL_GetUnixProt(vprot))))
return STATUS_NO_MEMORY;
+ TRACE( "got mem with find_free_area %p-%p\n", ptr, (char *)ptr + size );
+ goto done;
+ }
- if ((ptr = wine_anon_mmap( ptr, view_size, VIRTUAL_GetUnixProt(vprot), ptr ? MAP_FIXED : 0 )) == (void *)-1)
+ for (;;)
+ {
+ if ((ptr = wine_anon_mmap(NULL, view_size, VIRTUAL_GetUnixProt(vprot), 0 )) == (void *)-1)
{
if (errno == ENOMEM) return STATUS_NO_MEMORY;
return STATUS_INVALID_PARAMETER;
--
2.23.0

View File

@@ -0,0 +1,2 @@
Fixes: [47974] X Rebirth: NtVirtualAlloc() does not find available memory with nonzero bitmask

View File

@@ -1,4 +1,4 @@
From 7d5594cc0b3760843d7d566e642e175a9e542a08 Mon Sep 17 00:00:00 2001
From 169d29bc138015c6d54cc71c817bad9ff25ba7f3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Mon, 3 Apr 2017 05:30:27 +0200
Subject: [PATCH] ntdll: Implement HashLinks field in LDR module data.
@@ -10,7 +10,7 @@ Subject: [PATCH] ntdll: Implement HashLinks field in LDR module data.
3 files changed, 145 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
index bdcb3448ab7..8e9e780bb50 100644
index d48c422e432..1d246ec7a71 100644
--- a/dlls/kernel32/tests/loader.c
+++ b/dlls/kernel32/tests/loader.c
@@ -30,6 +30,7 @@
@@ -21,7 +21,7 @@ index bdcb3448ab7..8e9e780bb50 100644
#include "wine/test.h"
#include "delayloadhandler.h"
@@ -3993,6 +3994,79 @@ static void test_dll_file( const char *name )
@@ -4039,6 +4040,79 @@ static void test_dll_file( const char *name )
#undef OK_FIELD
}
@@ -101,10 +101,10 @@ index bdcb3448ab7..8e9e780bb50 100644
START_TEST(loader)
{
int argc;
@@ -4061,10 +4135,12 @@ START_TEST(loader)
test_import_resolution();
@@ -4110,10 +4184,12 @@ START_TEST(loader)
test_ExitProcess();
test_InMemoryOrderModuleList();
test_wow64_redirection();
+ test_HashLinks();
test_dll_file( "ntdll.dll" );
test_dll_file( "kernel32.dll" );
@@ -115,10 +115,10 @@ index bdcb3448ab7..8e9e780bb50 100644
test_Loader();
}
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index 8fe2038b346..5a3036e1246 100644
index 432369e40a8..b00d9ce13bb 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -96,6 +96,9 @@ static const char * const reason_names[] =
@@ -119,6 +119,9 @@ static const char * const reason_names[] =
static const WCHAR dllW[] = {'.','d','l','l',0};
@@ -128,7 +128,7 @@ index 8fe2038b346..5a3036e1246 100644
/* internal representation of 32bit modules. per process. */
typedef struct _wine_modref
{
@@ -429,6 +432,52 @@ static void call_ldr_notifications( ULONG reason, LDR_MODULE *module )
@@ -461,6 +464,52 @@ static void call_ldr_notifications( ULONG reason, LDR_MODULE *module )
}
}
@@ -181,7 +181,7 @@ index 8fe2038b346..5a3036e1246 100644
/*************************************************************************
* get_modref
*
@@ -1176,7 +1225,12 @@ static WINE_MODREF *alloc_module( HMODULE hModule, const UNICODE_STRING *nt_name
@@ -1208,7 +1257,12 @@ static WINE_MODREF *alloc_module( HMODULE hModule, const UNICODE_STRING *nt_name
&wm->ldr.InLoadOrderModuleList);
InsertTailList(&NtCurrentTeb()->Peb->LdrData->InMemoryOrderModuleList,
&wm->ldr.InMemoryOrderModuleList);
@@ -194,7 +194,7 @@ index 8fe2038b346..5a3036e1246 100644
if (!(nt->OptionalHeader.DllCharacteristics & IMAGE_DLLCHARACTERISTICS_NX_COMPAT))
{
@@ -1921,6 +1975,7 @@ static void load_builtin_callback( void *module, const char *filename )
@@ -1953,6 +2007,7 @@ static void load_builtin_callback( void *module, const char *filename )
/* the module has only be inserted in the load & memory order lists */
RemoveEntryList(&wm->ldr.InLoadOrderModuleList);
RemoveEntryList(&wm->ldr.InMemoryOrderModuleList);
@@ -202,7 +202,7 @@ index 8fe2038b346..5a3036e1246 100644
/* FIXME: free the modref */
builtin_load_info->status = STATUS_DLL_NOT_FOUND;
return;
@@ -2288,6 +2343,7 @@ static NTSTATUS load_native_dll( LPCWSTR load_path, const UNICODE_STRING *nt_nam
@@ -2476,6 +2531,7 @@ static NTSTATUS load_native_dll( LPCWSTR load_path, const UNICODE_STRING *nt_nam
/* the module has only be inserted in the load & memory order lists */
RemoveEntryList(&wm->ldr.InLoadOrderModuleList);
RemoveEntryList(&wm->ldr.InMemoryOrderModuleList);
@@ -210,7 +210,7 @@ index 8fe2038b346..5a3036e1246 100644
/* FIXME: there are several more dangling references
* left. Including dlls loaded by this dll before the
@@ -3451,6 +3507,7 @@ static void free_modref( WINE_MODREF *wm )
@@ -3650,6 +3706,7 @@ static void free_modref( WINE_MODREF *wm )
{
RemoveEntryList(&wm->ldr.InLoadOrderModuleList);
RemoveEntryList(&wm->ldr.InMemoryOrderModuleList);
@@ -218,7 +218,7 @@ index 8fe2038b346..5a3036e1246 100644
if (wm->ldr.InInitializationOrderModuleList.Flink)
RemoveEntryList(&wm->ldr.InInitializationOrderModuleList);
@@ -3937,6 +3994,7 @@ void __wine_process_init(void)
@@ -4376,6 +4433,7 @@ void __wine_process_init(void)
UNICODE_STRING nt_name;
void * (CDECL *init_func)(void);
INITIAL_TEB stack;
@@ -226,7 +226,7 @@ index 8fe2038b346..5a3036e1246 100644
thread_init();
@@ -3946,6 +4004,10 @@ void __wine_process_init(void)
@@ -4385,6 +4443,10 @@ void __wine_process_init(void)
load_global_options();
@@ -237,7 +237,7 @@ index 8fe2038b346..5a3036e1246 100644
/* setup the load callback and create ntdll modref */
wine_dll_set_callback( load_builtin_callback );
@@ -4000,6 +4062,9 @@ void __wine_process_init(void)
@@ -4439,6 +4501,9 @@ void __wine_process_init(void)
RemoveEntryList( &wm->ldr.InMemoryOrderModuleList );
InsertHeadList( &NtCurrentTeb()->Peb->LdrData->InMemoryOrderModuleList, &wm->ldr.InMemoryOrderModuleList );
@@ -248,10 +248,10 @@ index 8fe2038b346..5a3036e1246 100644
{
ERR( "Main exe initialization for %s failed, status %x\n",
diff --git a/include/winternl.h b/include/winternl.h
index 4cd531a4613..0d5e0e9bd8a 100644
index df1418477ad..2d7c86c389c 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -2225,8 +2225,8 @@ typedef struct _LDR_MODULE
@@ -2242,8 +2242,8 @@ typedef struct _LDR_MODULE
ULONG Flags;
SHORT LoadCount;
SHORT TlsIndex;
@@ -261,7 +261,7 @@ index 4cd531a4613..0d5e0e9bd8a 100644
ULONG TimeDateStamp;
HANDLE ActivationContext;
PVOID PatchInformation;
@@ -2236,6 +2236,9 @@ typedef struct _LDR_MODULE
@@ -2253,6 +2253,9 @@ typedef struct _LDR_MODULE
PVOID ContextInformation;
ULONG_PTR OriginalBase;
LARGE_INTEGER LoadTime;

View File

@@ -1,4 +1,4 @@
From e319578c8c47d7a2f7303f39de7f20e0d10e6675 Mon Sep 17 00:00:00 2001
From f13c148654c044ac15de82d43febf6469340e922 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 30 May 2015 02:23:15 +0200
Subject: [PATCH] ntdll: Add support for hiding wine version information from
@@ -10,18 +10,18 @@ Subject: [PATCH] ntdll: Add support for hiding wine version information from
2 files changed, 103 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index 174569d3cf..2dc0202b36 100644
index 4400b7ecbe8..9cb5ed420bf 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -68,6 +68,7 @@ typedef void (CALLBACK *LDRENUMPROC)(LDR_MODULE *, void *, BOOLEAN *);
const WCHAR system_dir[] = {'C',':','\\','w','i','n','d','o','w','s','\\',
's','y','s','t','e','m','3','2','\\',0};
@@ -70,6 +70,7 @@ const WCHAR system_dir[] = {'C',':','\\','w','i','n','d','o','w','s','\\',
const WCHAR syswow64_dir[] = {'C',':','\\','w','i','n','d','o','w','s','\\',
's','y','s','w','o','w','6','4','\\',0};
+
/* system search path */
static const WCHAR system_path[] =
{'C',':','\\','w','i','n','d','o','w','s','\\','s','y','s','t','e','m','3','2',';',
@@ -76,6 +77,9 @@ static const WCHAR system_path[] =
@@ -78,6 +79,9 @@ static const WCHAR system_path[] =
static const WCHAR dotW[] = {'.',0};
@@ -31,7 +31,7 @@ index 174569d3cf..2dc0202b36 100644
static BOOL imports_fixup_done = FALSE; /* set once the imports have been fixed up, before attaching them */
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 */
@@ -92,6 +96,8 @@ struct dll_dir_entry
@@ -94,6 +98,8 @@ struct dll_dir_entry
static struct list dll_dir_list = LIST_INIT( dll_dir_list ); /* extra dirs from LdrAddDllDirectory */
@@ -40,7 +40,7 @@ index 174569d3cf..2dc0202b36 100644
struct ldr_notification
{
struct list entry;
@@ -1707,6 +1713,96 @@ NTSTATUS WINAPI LdrUnlockLoaderLock( ULONG flags, ULONG_PTR magic )
@@ -1709,6 +1715,96 @@ NTSTATUS WINAPI LdrUnlockLoaderLock( ULONG flags, ULONG_PTR magic )
}
@@ -137,7 +137,7 @@ index 174569d3cf..2dc0202b36 100644
/******************************************************************
* LdrGetProcedureAddress (NTDLL.@)
*/
@@ -1727,7 +1823,7 @@ NTSTATUS WINAPI LdrGetProcedureAddress(HMODULE module, const ANSI_STRING *name,
@@ -1729,7 +1825,7 @@ NTSTATUS WINAPI LdrGetProcedureAddress(HMODULE module, const ANSI_STRING *name,
LPCWSTR load_path = NtCurrentTeb()->Peb->ProcessParameters->DllPath.Buffer;
void *proc = name ? find_named_export( module, exports, exp_size, name->Buffer, -1, load_path )
: find_ordinal_export( module, exports, exp_size, ord - exports->Base, load_path );
@@ -146,7 +146,7 @@ index 174569d3cf..2dc0202b36 100644
{
*address = proc;
ret = STATUS_SUCCESS;
@@ -4289,6 +4385,7 @@ void __wine_process_init(void)
@@ -4291,6 +4387,7 @@ void __wine_process_init(void)
NtCurrentTeb()->Peb->LoaderLock = &loader_section;
update_user_process_params( &wm->ldr.FullDllName );
version_init( wm->ldr.FullDllName.Buffer );
@@ -155,10 +155,10 @@ index 174569d3cf..2dc0202b36 100644
LdrQueryImageFileExecutionOptions( &wm->ldr.FullDllName, globalflagW, REG_DWORD,
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index a111530534..e7bf510c28 100644
index 88fed7ebcff..c7b821cbf30 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -269,6 +269,11 @@ extern SYSTEM_CPU_INFORMATION cpu_info DECLSPEC_HIDDEN;
@@ -270,6 +270,11 @@ extern SYSTEM_CPU_INFORMATION cpu_info DECLSPEC_HIDDEN;
NTSTATUS WINAPI RtlHashUnicodeString(PCUNICODE_STRING,BOOLEAN,ULONG,ULONG*);
void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR);
@@ -171,5 +171,5 @@ index a111530534..e7bf510c28 100644
extern BOOL read_process_time(int unix_pid, int unix_tid, unsigned long clk_tck,
LARGE_INTEGER *kernel, LARGE_INTEGER *user) DECLSPEC_HIDDEN;
--
2.21.0
2.23.0

View File

@@ -1,7 +1,7 @@
From 4ae8c8dcc501081481fd07302f7cba16d19ecda6 Mon Sep 17 00:00:00 2001
From fb0f6b366765e5cd7cf236d660a974541e85b100 Mon Sep 17 00:00:00 2001
From: Andrew Wesie <awesie@gmail.com>
Date: Fri, 12 Apr 2019 20:04:03 -0500
Subject: [PATCH 2/3] ntdll: Return ntdll.dll as the first entry for
Subject: [PATCH] ntdll: Return ntdll.dll as the first entry for
SystemModuleInformation.
---
@@ -9,10 +9,10 @@ Subject: [PATCH 2/3] ntdll: Return ntdll.dll as the first entry for
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
index 7cc5d81b2..df3c40fcc 100644
index a9cec53e0b6..c7d4c804e2c 100644
--- a/dlls/ntdll/nt.c
+++ b/dlls/ntdll/nt.c
@@ -2352,6 +2352,33 @@ BOOLEAN WINAPI RtlIsProcessorFeaturePresent( UINT feature )
@@ -2454,6 +2454,33 @@ BOOLEAN WINAPI RtlIsProcessorFeaturePresent( UINT feature )
return feature < PROCESSOR_FEATURE_MAX && user_shared_data->ProcessorFeatures[feature];
}
@@ -27,14 +27,14 @@ index 7cc5d81b2..df3c40fcc 100644
+ entry = NtCurrentTeb()->Peb->LdrData->InLoadOrderModuleList.Flink;
+ mod = CONTAINING_RECORD(entry, LDR_MODULE, InLoadOrderModuleList);
+
+ sm->Reserved1 = 0;
+ sm->Reserved2 = 0;
+ sm->Section = 0;
+ sm->MappedBaseAddress = 0;
+ sm->ImageBaseAddress = mod->BaseAddress;
+ sm->ImageSize = mod->SizeOfImage;
+ sm->Flags = mod->Flags;
+ sm->Id = 0;
+ sm->Rank = 0;
+ sm->Unknown = 0;
+ sm->LoadOrderIndex = 0;
+ sm->InitOrderIndex = 0;
+ sm->LoadCount = 0;
+ str.Length = 0;
+ str.MaximumLength = MAXIMUM_FILENAME_LENGTH;
+ str.Buffer = (char*)sm->Name;
@@ -46,7 +46,7 @@ index 7cc5d81b2..df3c40fcc 100644
/******************************************************************************
* NtQuerySystemInformation [NTDLL.@]
* ZwQuerySystemInformation [NTDLL.@]
@@ -2780,7 +2807,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
@@ -2853,7 +2880,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
FIXME("returning fake driver list\n");
smi->ModulesCount = 1;
@@ -56,5 +56,5 @@ index 7cc5d81b2..df3c40fcc 100644
}
break;
--
2.21.0
2.17.1

View File

@@ -1,4 +1,4 @@
From 6416e68e4d81d9b37d24076d446115f08f99bf81 Mon Sep 17 00:00:00 2001
From 06a283fc4f686ee3c3cf33fec4f7e7b2c3f64bc4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 9 Mar 2017 16:27:23 +0100
Subject: [PATCH] ntdll: Fill process kernel and user time.
@@ -10,10 +10,10 @@ Subject: [PATCH] ntdll: Fill process kernel and user time.
3 files changed, 57 insertions(+), 37 deletions(-)
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
index 2cd2ab327..c3250746b 100644
index 91d504f90aa..9c138726d68 100644
--- a/dlls/ntdll/nt.c
+++ b/dlls/ntdll/nt.c
@@ -2384,6 +2384,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
@@ -2600,6 +2600,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
{
SYSTEM_PROCESS_INFORMATION* spi = SystemInformation;
SYSTEM_PROCESS_INFORMATION* last = NULL;
@@ -21,7 +21,7 @@ index 2cd2ab327..c3250746b 100644
HANDLE hSnap = 0;
WCHAR procname[1024];
WCHAR* exename;
@@ -2421,7 +2422,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
@@ -2637,7 +2638,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
if (Length >= len + procstructlen)
{
@@ -30,7 +30,7 @@ index 2cd2ab327..c3250746b 100644
* vmCounters, ioCounters
*/
@@ -2439,6 +2440,9 @@ NTSTATUS WINAPI NtQuerySystemInformation(
@@ -2655,6 +2656,9 @@ NTSTATUS WINAPI NtQuerySystemInformation(
/* spi->ti will be set later on */
@@ -41,10 +41,10 @@ index 2cd2ab327..c3250746b 100644
len += procstructlen;
}
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index 3463ebd38..78831cf37 100644
index 70707bec042..db7f00359cf 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -265,6 +265,10 @@ extern SYSTEM_CPU_INFORMATION cpu_info DECLSPEC_HIDDEN;
@@ -270,6 +270,10 @@ extern SYSTEM_CPU_INFORMATION cpu_info DECLSPEC_HIDDEN;
NTSTATUS WINAPI RtlHashUnicodeString(PCUNICODE_STRING,BOOLEAN,ULONG,ULONG*);
void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR);
@@ -56,13 +56,13 @@ index 3463ebd38..78831cf37 100644
int __cdecl NTDLL_tolower( int c );
int __cdecl _stricmp( LPCSTR str1, LPCSTR str2 );
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index 70320afe7..8dac11393 100644
index c6b70c557b4..029d94d8a38 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -149,6 +149,53 @@ static ULONG_PTR get_image_addr(void)
}
@@ -153,6 +153,53 @@ static ULONG_PTR get_image_addr(void)
#endif
+
+BOOL read_process_time(int unix_pid, int unix_tid, unsigned long clk_tck,
+ LARGE_INTEGER *kernel, LARGE_INTEGER *user)
@@ -111,9 +111,9 @@ index 70320afe7..8dac11393 100644
+
+
/***********************************************************************
* thread_init
* set_process_name
*
@@ -902,42 +949,7 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
@@ -975,42 +1022,7 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
#ifdef __linux__
/* only /proc provides exact values for a specific thread */
if (unix_pid != -1 && unix_tid != -1)
@@ -158,5 +158,5 @@ index 70320afe7..8dac11393 100644
/* get values for current process instead */
--
2.21.0
2.23.0

View File

@@ -1,4 +1,4 @@
From d2f9bcfc14a960a4b365406a8610f9ab96f78e9b Mon Sep 17 00:00:00 2001
From d9078607a8e6b8ff82df648b94b5340e6736b923 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 9 Mar 2017 22:56:45 +0100
Subject: [PATCH] ntdll: Fill process virtual memory counters in
@@ -13,10 +13,10 @@ FIXME: fill_VM_COUNTERS now uses a different method ... which one is better?
4 files changed, 41 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
index 3c2838f365e..5092b97d252 100644
index 2b2d3df89f..a8fb48a83d 100644
--- a/dlls/ntdll/nt.c
+++ b/dlls/ntdll/nt.c
@@ -2510,8 +2510,11 @@ NTSTATUS WINAPI NtQuerySystemInformation(
@@ -2561,8 +2561,11 @@ NTSTATUS WINAPI NtQuerySystemInformation(
/* spi->ti will be set later on */
if (reply->unix_pid != -1)
@@ -29,10 +29,10 @@ index 3c2838f365e..5092b97d252 100644
}
len += procstructlen;
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index 40bf66f1d24..5ec14a399cc 100644
index 425ede4486..51965eccaf 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -263,6 +263,7 @@ void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR);
@@ -270,6 +270,7 @@ void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR);
/* process / thread time */
extern BOOL read_process_time(int unix_pid, int unix_tid, unsigned long clk_tck,
LARGE_INTEGER *kernel, LARGE_INTEGER *user) DECLSPEC_HIDDEN;
@@ -41,10 +41,10 @@ index 40bf66f1d24..5ec14a399cc 100644
/* string functions */
int __cdecl NTDLL_tolower( int c );
diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c
index 34051c2ef93..94e8df8d8d1 100644
index c7e2cdb1b7..b1f529fb3d 100644
--- a/dlls/ntdll/process.c
+++ b/dlls/ntdll/process.c
@@ -203,7 +203,7 @@ static void fill_VM_COUNTERS(VM_COUNTERS* pvmi)
@@ -188,7 +188,7 @@ static void fill_VM_COUNTERS(VM_COUNTERS* pvmi)
static void fill_VM_COUNTERS(VM_COUNTERS* pvmi)
{
@@ -54,11 +54,11 @@ index 34051c2ef93..94e8df8d8d1 100644
#endif
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index 4279ae77099..0f90291e222 100644
index 8b6c937df2..863b337024 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -195,6 +195,42 @@ BOOL read_process_time(int unix_pid, int unix_tid, unsigned long clk_tck,
return FALSE;
@@ -314,6 +314,42 @@ void thread_init(void)
NtCreateKeyedEvent( &keyed_event, GENERIC_READ | GENERIC_WRITE, NULL, 0 );
}
+BOOL read_process_memory_stats(int unix_pid, VM_COUNTERS *pvmi)
@@ -99,7 +99,7 @@ index 4279ae77099..0f90291e222 100644
+}
/***********************************************************************
* thread_init
* free_thread_data
--
2.20.1
2.23.0

View File

@@ -1,4 +1,4 @@
From 690b0a49ae9e8ee3935e7c4e19bcd6c637ce28d8 Mon Sep 17 00:00:00 2001
From 74b51edf67a0b31bf8e3341a403b11387ad5801d Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Wed, 26 Nov 2014 10:46:09 +0100
Subject: [PATCH] ntdll: Move code to update user shared data into a separate
@@ -10,10 +10,10 @@ Subject: [PATCH] ntdll: Move code to update user shared data into a separate
2 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index fb01a26590d..b7dfdc44e19 100644
index f0ac1d77b00..4003a36c8be 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -1552,3 +1552,6 @@
@@ -1574,3 +1574,6 @@
# Filesystem
@ cdecl wine_nt_to_unix_file_name(ptr ptr long long)
@ cdecl wine_unix_to_nt_file_name(ptr ptr)
@@ -21,10 +21,10 @@ index fb01a26590d..b7dfdc44e19 100644
+# User shared data
+@ cdecl __wine_user_shared_data()
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index c1d6012b4da..b6ede0d18cf 100644
index 863b337024c..90d49f2d92e 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -245,7 +245,6 @@ void thread_init(void)
@@ -211,7 +211,6 @@ void thread_init(void)
void *addr;
BOOL suspend;
SIZE_T size, info_size;
@@ -32,7 +32,7 @@ index c1d6012b4da..b6ede0d18cf 100644
NTSTATUS status;
struct ntdll_thread_data *thread_data;
@@ -333,7 +332,23 @@ void thread_init(void)
@@ -300,7 +299,23 @@ void thread_init(void)
init_directories();
init_user_process_params( info_size );
@@ -57,7 +57,7 @@ index c1d6012b4da..b6ede0d18cf 100644
NtQuerySystemTime( &now );
user_shared_data->SystemTime.LowPart = now.u.LowPart;
user_shared_data->SystemTime.High1Time = user_shared_data->SystemTime.High2Time = now.u.HighPart;
@@ -341,10 +356,7 @@ void thread_init(void)
@@ -308,10 +323,7 @@ void thread_init(void)
user_shared_data->u.TickCount.High2Time = user_shared_data->u.TickCount.High1Time;
user_shared_data->TickCountLowDeprecated = user_shared_data->u.TickCount.LowPart;
user_shared_data->TickCountMultiplier = 1 << 24;
@@ -68,7 +68,7 @@ index c1d6012b4da..b6ede0d18cf 100644
+ return (BYTE *)user_shared_data;
}
BOOL read_process_memory_stats(int unix_pid, VM_COUNTERS *pvmi)
--
2.20.1
2.23.0

View File

@@ -1,21 +1,21 @@
From f3483229e702bed0791a35666237e8583f5d47b0 Mon Sep 17 00:00:00 2001
From daa8c43bfa8584ef006f324f8009759bd4ce6d70 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 5 May 2017 05:40:50 +0200
Subject: [PATCH] ntdll: Create thread to update user_shared_data time values
when necessary.
---
dlls/ntdll/loader.c | 31 ++++++++++++++++++++++
dlls/ntdll/ntdll_misc.h | 3 +++
dlls/ntdll/thread.c | 70 ++++++++++++++++++++++++++++++++++++++++++++-----
dlls/ntdll/virtual.c | 17 ++++++++++++
4 files changed, 114 insertions(+), 7 deletions(-)
dlls/ntdll/loader.c | 31 ++++++++++++++++++
dlls/ntdll/ntdll_misc.h | 3 ++
dlls/ntdll/thread.c | 71 ++++++++++++++++++++++++++++++++++++-----
dlls/ntdll/virtual.c | 17 ++++++++++
4 files changed, 114 insertions(+), 8 deletions(-)
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index 8073434..0546478 100644
index 9cb5ed420bf..39e122d9933 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -3340,6 +3340,36 @@ PIMAGE_NT_HEADERS WINAPI RtlImageNtHeader(HMODULE hModule)
@@ -3815,6 +3815,36 @@ PIMAGE_NT_HEADERS WINAPI RtlImageNtHeader(HMODULE hModule)
}
@@ -52,7 +52,7 @@ index 8073434..0546478 100644
/******************************************************************
* LdrInitializeThunk (NTDLL.@)
*
@@ -3669,6 +3699,7 @@ void __wine_process_init(void)
@@ -4387,6 +4417,7 @@ void __wine_process_init(void)
NtCurrentTeb()->Peb->LoaderLock = &loader_section;
update_user_process_params( &wm->ldr.FullDllName );
version_init( wm->ldr.FullDllName.Buffer );
@@ -61,10 +61,10 @@ index 8073434..0546478 100644
virtual_set_large_address_space();
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index 0dba878..47abfba 100644
index c7b821cbf30..6d6cccab6b5 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -194,6 +194,9 @@ extern void virtual_set_large_address_space(void) DECLSPEC_HIDDEN;
@@ -197,6 +197,9 @@ extern void virtual_set_large_address_space(void) DECLSPEC_HIDDEN;
extern void virtual_fill_image_information( const pe_image_info_t *pe_info,
SECTION_IMAGE_INFORMATION *info ) DECLSPEC_HIDDEN;
extern struct _KUSER_SHARED_DATA *user_shared_data DECLSPEC_HIDDEN;
@@ -75,10 +75,10 @@ index 0dba878..47abfba 100644
/* completion */
extern NTSTATUS NTDLL_AddCompletion( HANDLE hFile, ULONG_PTR CompletionValue,
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index 0a11cfe..1c09344 100644
index 90d49f2d92e..14f355cebb5 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -44,6 +44,7 @@
@@ -47,6 +47,7 @@
#include "wine/library.h"
#include "wine/server.h"
#include "wine/debug.h"
@@ -86,7 +86,7 @@ index 0a11cfe..1c09344 100644
#include "ntdll_misc.h"
#include "ddk/wdm.h"
#include "wine/exception.h"
@@ -54,7 +55,9 @@ WINE_DEFAULT_DEBUG_CHANNEL(thread);
@@ -57,7 +58,9 @@ WINE_DEFAULT_DEBUG_CHANNEL(thread);
#define PTHREAD_STACK_MIN 16384
#endif
@@ -97,7 +97,7 @@ index 0a11cfe..1c09344 100644
static const WCHAR default_windirW[] = {'C',':','\\','w','i','n','d','o','w','s',0};
void (WINAPI *kernel32_start_process)(LPTHREAD_START_ROUTINE,void*) = NULL;
@@ -263,7 +266,7 @@ void thread_init(void)
@@ -227,7 +230,7 @@ void thread_init(void)
MESSAGE( "wine: failed to map the shared user data: %08x\n", status );
exit(1);
}
@@ -106,16 +106,17 @@ index 0a11cfe..1c09344 100644
memcpy( user_shared_data->NtSystemRoot, default_windirW, sizeof(default_windirW) );
/* allocate and initialize the PEB */
@@ -355,18 +358,71 @@ void thread_init(void)
@@ -315,17 +318,69 @@ void thread_init(void)
*/
BYTE* CDECL __wine_user_shared_data(void)
{
- LARGE_INTEGER now;
+ static int spinlock;
+ ULARGE_INTEGER interrupt;
LARGE_INTEGER now;
+
+ LARGE_INTEGER now;
+
+ while (interlocked_cmpxchg( &spinlock, 1, 0 ) != 0);
+
+
NtQuerySystemTime( &now );
- user_shared_data->SystemTime.LowPart = now.u.LowPart;
- user_shared_data->SystemTime.High1Time = user_shared_data->SystemTime.High2Time = now.u.HighPart;
@@ -137,12 +138,11 @@ index 0a11cfe..1c09344 100644
+ user_shared_data->u.TickCount.High1Time = interrupt.HighPart;
+ user_shared_data->TickCountLowDeprecated = interrupt.LowPart;
user_shared_data->TickCountMultiplier = 1 << 24;
+
+
+ spinlock = 0;
return (BYTE *)user_shared_data;
}
+static void *user_shared_data_thread(void *arg)
+{
+ struct timeval tv;
@@ -168,7 +168,7 @@ index 0a11cfe..1c09344 100644
+ if (interlocked_cmpxchg(&thread_created, 1, 0) != 0)
+ return;
+
+ FIXME("Creating user shared data update thread.\n");
+ TRACE("Creating user shared data update thread.\n");
+
+ user_shared_data = user_shared_data_external;
+ __wine_user_shared_data();
@@ -179,15 +179,14 @@ index 0a11cfe..1c09344 100644
+ pthread_attr_destroy(&attr);
+}
+
+
/***********************************************************************
* free_thread_data
*/
BOOL read_process_memory_stats(int unix_pid, VM_COUNTERS *pvmi)
{
BOOL ret = FALSE;
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
index da40aab..de63460 100644
index d15b49f6fdf..186d7335bfc 100644
--- a/dlls/ntdll/virtual.c
+++ b/dlls/ntdll/virtual.c
@@ -2013,6 +2013,7 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err, BOOL on_signal_stack )
@@ -2088,6 +2088,7 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err, BOOL on_signal_stack )
{
NTSTATUS ret = STATUS_ACCESS_VIOLATION;
void *page = ROUND_ADDR( addr, page_mask );
@@ -195,7 +194,7 @@ index da40aab..de63460 100644
sigset_t sigset;
BYTE vprot;
@@ -2038,7 +2039,23 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err, BOOL on_signal_stack )
@@ -2113,7 +2114,23 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err, BOOL on_signal_stack )
ret = STATUS_SUCCESS;
}
}
@@ -220,5 +219,5 @@ index da40aab..de63460 100644
}
--
1.9.1
2.23.0

View File

@@ -52,13 +52,13 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "8c74027ba60a360f24cf232ee233e71262d8f1ff"
echo "6f2ef158b78f7d0a950c9398c26278d6523c112e"
}
# Show version information
version()
{
echo "Wine Staging 4.18"
echo "Wine Staging 4.19"
echo "Copyright (C) 2014-2019 the Wine Staging project authors."
echo "Copyright (C) 2018-2019 Alistair Leslie-Hughes"
echo ""
@@ -100,7 +100,6 @@ patch_enable_all ()
enable_comdlg32_lpstrFileTitle="$1"
enable_configure_Absolute_RPATH="$1"
enable_crypt32_CMS_Certificates="$1"
enable_crypt32_MS_Root_Certs="$1"
enable_cryptext_CryptExtOpenCER="$1"
enable_d2d1_ID2D1Factory1="$1"
enable_d3d11_Deferred_Context="$1"
@@ -180,6 +179,7 @@ patch_enable_all ()
enable_ntdll_APC_Performance="$1"
enable_ntdll_Activation_Context="$1"
enable_ntdll_ApiSetMap="$1"
enable_ntdll_BitmaskAllocAreaSearch="$1"
enable_ntdll_Builtin_Prot="$1"
enable_ntdll_CriticalSection="$1"
enable_ntdll_DOS_Attributes="$1"
@@ -281,7 +281,6 @@ patch_enable_all ()
enable_shlwapi_UrlCombine="$1"
enable_stdole32_idl_Typelib="$1"
enable_stdole32_tlb_SLTG_Typelib="$1"
enable_uianimation_stubs="$1"
enable_user32_DM_SETDEFID="$1"
enable_user32_Dialog_Paint_Event="$1"
enable_user32_DrawMenuItem="$1"
@@ -424,9 +423,6 @@ patch_enable ()
crypt32-CMS_Certificates)
enable_crypt32_CMS_Certificates="$2"
;;
crypt32-MS_Root_Certs)
enable_crypt32_MS_Root_Certs="$2"
;;
cryptext-CryptExtOpenCER)
enable_cryptext_CryptExtOpenCER="$2"
;;
@@ -664,6 +660,9 @@ patch_enable ()
ntdll-ApiSetMap)
enable_ntdll_ApiSetMap="$2"
;;
ntdll-BitmaskAllocAreaSearch)
enable_ntdll_BitmaskAllocAreaSearch="$2"
;;
ntdll-Builtin_Prot)
enable_ntdll_Builtin_Prot="$2"
;;
@@ -967,9 +966,6 @@ patch_enable ()
stdole32.tlb-SLTG_Typelib)
enable_stdole32_tlb_SLTG_Typelib="$2"
;;
uianimation-stubs)
enable_uianimation_stubs="$2"
;;
user32-DM_SETDEFID)
enable_user32_DM_SETDEFID="$2"
;;
@@ -2243,14 +2239,11 @@ fi
# |
# | Modified files:
# | * dlls/api-ms-win-core-winrt-error-l1-1-0/api-ms-win-core-winrt-error-l1-1-0.spec, dlls/api-ms-win-core-winrt-error-l1-1-1
# | /api-ms-win-core-winrt-error-l1-1-1.spec, dlls/combase/combase.spec, dlls/combase/roapi.c, include/Makefile.in,
# | include/restrictederrorinfo.idl
# | /api-ms-win-core-winrt-error-l1-1-1.spec, dlls/combase/combase.spec, dlls/combase/roapi.c
# |
if test "$enable_combase_GetRestrictedErrorInfo" -eq 1; then
patch_apply combase-GetRestrictedErrorInfo/0001-include-Add-restrictederrorinfo.idl.patch
patch_apply combase-GetRestrictedErrorInfo/0002-combase-Add-GetRestrictedErrorInfo-and-RoOriginateLa.patch
(
printf '%s\n' '+ { "Louis Lenders", "include: Add restrictederrorinfo.idl.", 1 },';
printf '%s\n' '+ { "Louis Lenders", "combase: Add GetRestrictedErrorInfo and RoOriginateLanguageException stubs.", 1 },';
) >> "$patchlist"
fi
@@ -2348,18 +2341,6 @@ if test "$enable_crypt32_CMS_Certificates" -eq 1; then
) >> "$patchlist"
fi
# Patchset crypt32-MS_Root_Certs
# |
# | Modified files:
# | * dlls/crypt32/rootstore.c
# |
if test "$enable_crypt32_MS_Root_Certs" -eq 1; then
patch_apply crypt32-MS_Root_Certs/0001-crypt32-Add-MS-root-CA-2010-2011.patch
(
printf '%s\n' '+ { "Michael MĂĽller", "crypt32: Add MS root CA 2010.", 1 },';
) >> "$patchlist"
fi
# Patchset cryptext-CryptExtOpenCER
# |
# | Modified files:
@@ -4540,6 +4521,21 @@ if test "$enable_ntdll_ApiSetMap" -eq 1; then
) >> "$patchlist"
fi
# Patchset ntdll-BitmaskAllocAreaSearch
# |
# | This patchset fixes the following Wine bugs:
# | * [#47974] X Rebirth: NtVirtualAlloc() does not find available memory with nonzero bitmask
# |
# | Modified files:
# | * dlls/ntdll/virtual.c
# |
if test "$enable_ntdll_BitmaskAllocAreaSearch" -eq 1; then
patch_apply ntdll-BitmaskAllocAreaSearch/0001-ntdll-Fix-free-area-search-outside-of-reserved-area-.patch
(
printf '%s\n' '+ { "Paul Gofman", "ntdll: Fix free area search outside of reserved area in map_view() for non-zero bitmask.", 1 },';
) >> "$patchlist"
fi
# Patchset ntdll-Builtin_Prot
# |
# | This patchset has the following (direct or indirect) dependencies:
@@ -5410,20 +5406,12 @@ fi
# Patchset quartz-MediaSeeking_Positions
# |
# | Modified files:
# | * dlls/quartz/filtergraph.c, dlls/strmbase/pospass.c
# | * dlls/strmbase/pospass.c
# |
if test "$enable_quartz_MediaSeeking_Positions" -eq 1; then
patch_apply quartz-MediaSeeking_Positions/0001-strmbase-Fix-MediaSeekingPassThru_GetPositions-retur.patch
patch_apply quartz-MediaSeeking_Positions/0002-quartz-Include-the-stream-position-in-addition-to-th.patch
patch_apply quartz-MediaSeeking_Positions/0003-quartz-Implement-MediaSeeking_GetCurrentPosition-on-.patch
patch_apply quartz-MediaSeeking_Positions/0004-quartz-Implement-MediaSeeking_GetStopPosition-on-top.patch
patch_apply quartz-MediaSeeking_Positions/0005-quartz-Remove-unused-cache-of-MediaSeeking-stop-posi.patch
(
printf '%s\n' '+ { "Erich E. Hoover", "strmbase: Fix MediaSeekingPassThru_GetPositions return when the pins are unconnected.", 1 },';
printf '%s\n' '+ { "Erich E. Hoover", "quartz: Include the stream position in addition to the reference clock offset in the time returned by MediaSeeking_GetPositions.", 1 },';
printf '%s\n' '+ { "Erich E. Hoover", "quartz: Implement MediaSeeking_GetCurrentPosition on top of MediaSeeking_GetPositions.", 1 },';
printf '%s\n' '+ { "Erich E. Hoover", "quartz: Implement MediaSeeking_GetStopPosition on top of MediaSeeking_GetPositions.", 1 },';
printf '%s\n' '+ { "Erich E. Hoover", "quartz: Remove unused cache of MediaSeeking stop position.", 1 },';
) >> "$patchlist"
fi
@@ -6041,25 +6029,6 @@ if test "$enable_stdole32_tlb_SLTG_Typelib" -eq 1; then
) >> "$patchlist"
fi
# Patchset uianimation-stubs
# |
# | This patchset fixes the following Wine bugs:
# | * [#41369] Add UIAnimation and stubs interfaces
# |
# | Modified files:
# | * dlls/uianimation/Makefile.in, dlls/uianimation/main.c, dlls/uianimation/uianimation_typelib.idl
# |
if test "$enable_uianimation_stubs" -eq 1; then
patch_apply uianimation-stubs/0002-uianimation-Add-stub-dll.patch
patch_apply uianimation-stubs/0003-uianimation-Implement-IUIAnimationManager-CreateStor.patch
patch_apply uianimation-stubs/0004-uianimation-Implement-IUIAnimationManager-CreateAnim.patch
(
printf '%s\n' '+ { "Louis Lenders", "uianimation: Add stub dll.", 1 },';
printf '%s\n' '+ { "Louis Lenders", "uianimation: Implement IUIAnimationManager CreateStoryboard.", 1 },';
printf '%s\n' '+ { "Louis Lenders", "uianimation: Implement IUIAnimationManager CreateAnimationVariable.", 1 },';
) >> "$patchlist"
fi
# Patchset user32-DM_SETDEFID
# |
# | This patchset fixes the following Wine bugs:

View File

@@ -1,58 +0,0 @@
From fb2417ad73fb67b20340a65d645b9dac245bdbf0 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Tue, 22 Jul 2014 08:26:47 -0600
Subject: quartz: Include the stream position in addition to the reference
clock offset in the time returned by MediaSeeking_GetPositions.
---
dlls/quartz/filtergraph.c | 27 ++++++++++++++++++++++++---
1 file changed, 24 insertions(+), 3 deletions(-)
diff --git a/dlls/quartz/filtergraph.c b/dlls/quartz/filtergraph.c
index 771a330..ad24691 100644
--- a/dlls/quartz/filtergraph.c
+++ b/dlls/quartz/filtergraph.c
@@ -2539,16 +2539,37 @@ static HRESULT WINAPI MediaSeeking_SetPositions(IMediaSeeking *iface, LONGLONG *
return hr;
}
+static HRESULT WINAPI found_getposition(IFilterGraphImpl *This, IMediaSeeking *seek, DWORD_PTR pargs)
+{
+ struct pos_args *args = (void*)pargs;
+
+ return IMediaSeeking_GetPositions(seek, args->current, args->stop);
+}
+
static HRESULT WINAPI MediaSeeking_GetPositions(IMediaSeeking *iface, LONGLONG *pCurrent,
LONGLONG *pStop)
{
IFilterGraphImpl *This = impl_from_IMediaSeeking(iface);
+ struct pos_args args;
+ LONGLONG time = 0;
HRESULT hr;
TRACE("(%p/%p)->(%p, %p)\n", This, iface, pCurrent, pStop);
- hr = IMediaSeeking_GetCurrentPosition(iface, pCurrent);
- if (SUCCEEDED(hr))
- hr = IMediaSeeking_GetStopPosition(iface, pStop);
+
+ args.current = pCurrent;
+ args.stop = pStop;
+ EnterCriticalSection(&This->cs);
+ hr = all_renderers_seek(This, found_getposition, (DWORD_PTR)&args);
+ if (This->state == State_Running && This->refClock && This->start_time >= 0)
+ {
+ IReferenceClock_GetTime(This->refClock, &time);
+ if (time)
+ time -= This->start_time;
+ }
+ if (This->pause_time > 0)
+ time += This->pause_time;
+ *pCurrent += time;
+ LeaveCriticalSection(&This->cs);
return hr;
}
--
1.7.9.5

View File

@@ -1,71 +0,0 @@
From 5e1836cb61edfb4940ced2b9fd44efc93c2d3e82 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Tue, 22 Jul 2014 08:27:52 -0600
Subject: quartz: Implement MediaSeeking_GetCurrentPosition on top of
MediaSeeking_GetPositions.
---
dlls/quartz/filtergraph.c | 40 +++++++++++++++-------------------------
1 file changed, 15 insertions(+), 25 deletions(-)
diff --git a/dlls/quartz/filtergraph.c b/dlls/quartz/filtergraph.c
index ad24691..0491131 100644
--- a/dlls/quartz/filtergraph.c
+++ b/dlls/quartz/filtergraph.c
@@ -2451,31 +2451,6 @@ static HRESULT WINAPI MediaSeeking_GetStopPosition(IMediaSeeking *iface, LONGLON
return hr;
}
-static HRESULT WINAPI MediaSeeking_GetCurrentPosition(IMediaSeeking *iface, LONGLONG *pCurrent)
-{
- IFilterGraphImpl *This = impl_from_IMediaSeeking(iface);
- LONGLONG time = 0;
-
- if (!pCurrent)
- return E_POINTER;
-
- EnterCriticalSection(&This->cs);
- if (This->state == State_Running && This->refClock && This->start_time >= 0)
- {
- IReferenceClock_GetTime(This->refClock, &time);
- if (time)
- time -= This->start_time;
- }
- if (This->pause_time > 0)
- time += This->pause_time;
- *pCurrent = time;
- LeaveCriticalSection(&This->cs);
-
- TRACE("Time: %u.%03u\n", (DWORD)(*pCurrent / 10000000), (DWORD)((*pCurrent / 10000)%1000));
-
- return S_OK;
-}
-
static HRESULT WINAPI MediaSeeking_ConvertTimeFormat(IMediaSeeking *iface, LONGLONG *pTarget,
const GUID *pTargetFormat, LONGLONG Source, const GUID *pSourceFormat)
{
@@ -2574,6 +2549,21 @@ static HRESULT WINAPI MediaSeeking_GetPositions(IMediaSeeking *iface, LONGLONG *
return hr;
}
+static HRESULT WINAPI MediaSeeking_GetCurrentPosition(IMediaSeeking *iface, LONGLONG *pCurrent)
+{
+ LONGLONG time;
+ HRESULT hr;
+
+ if (!pCurrent)
+ return E_POINTER;
+
+ hr = MediaSeeking_GetPositions(iface, pCurrent, &time);
+
+ TRACE("Time: %u.%03u\n", (DWORD)(*pCurrent / 10000000), (DWORD)((*pCurrent / 10000)%1000));
+
+ return hr;
+}
+
static HRESULT WINAPI MediaSeeking_GetAvailable(IMediaSeeking *iface, LONGLONG *pEarliest,
LONGLONG *pLatest)
{
--
1.7.9.5

View File

@@ -1,68 +0,0 @@
From e2abc9b73d2e909f62468de5d66c5d9ec51fce0f Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Tue, 22 Jul 2014 08:32:31 -0600
Subject: quartz: Implement MediaSeeking_GetStopPosition on top of
MediaSeeking_GetPositions.
---
dlls/quartz/filtergraph.c | 37 ++++++++++++++++---------------------
1 file changed, 16 insertions(+), 21 deletions(-)
diff --git a/dlls/quartz/filtergraph.c b/dlls/quartz/filtergraph.c
index 4c093f3..0d06ba4 100644
--- a/dlls/quartz/filtergraph.c
+++ b/dlls/quartz/filtergraph.c
@@ -2430,27 +2430,6 @@ static HRESULT WINAPI MediaSeeking_GetDuration(IMediaSeeking *iface, LONGLONG *p
return hr;
}
-static HRESULT WINAPI MediaSeeking_GetStopPosition(IMediaSeeking *iface, LONGLONG *pStop)
-{
- IFilterGraphImpl *This = impl_from_IMediaSeeking(iface);
- HRESULT hr = S_OK;
-
- TRACE("(%p/%p)->(%p)\n", This, iface, pStop);
-
- if (!pStop)
- return E_POINTER;
-
- EnterCriticalSection(&This->cs);
- if (This->stop_position < 0)
- /* Stop position not set, use duration instead */
- hr = IMediaSeeking_GetDuration(iface, pStop);
- else
- *pStop = This->stop_position;
- LeaveCriticalSection(&This->cs);
-
- return hr;
-}
-
static HRESULT WINAPI MediaSeeking_ConvertTimeFormat(IMediaSeeking *iface, LONGLONG *pTarget,
const GUID *pTargetFormat, LONGLONG Source, const GUID *pSourceFormat)
{
@@ -2565,6 +2544,22 @@ static HRESULT WINAPI MediaSeeking_GetCurrentPosition(IMediaSeeking *iface, LONG
return hr;
}
+static HRESULT WINAPI MediaSeeking_GetStopPosition(IMediaSeeking *iface, LONGLONG *pStop)
+{
+ IFilterGraphImpl *This = impl_from_IMediaSeeking(iface);
+ LONGLONG time;
+ HRESULT hr;
+
+ TRACE("(%p/%p)->(%p)\n", This, iface, pStop);
+
+ if (!pStop)
+ return E_POINTER;
+
+ hr = MediaSeeking_GetPositions(iface, &time, pStop);
+
+ return hr;
+}
+
static HRESULT WINAPI MediaSeeking_GetAvailable(IMediaSeeking *iface, LONGLONG *pEarliest,
LONGLONG *pLatest)
{
--
1.7.9.5

View File

@@ -1,44 +0,0 @@
From 3c9438db949d434b8cb5fba36ee55df384624016 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Tue, 22 Jul 2014 08:34:09 -0600
Subject: quartz: Remove unused cache of MediaSeeking stop position.
---
dlls/quartz/filtergraph.c | 7 -------
1 file changed, 7 deletions(-)
diff --git a/dlls/quartz/filtergraph.c b/dlls/quartz/filtergraph.c
index 0d06ba4..df6b4bd 100644
--- a/dlls/quartz/filtergraph.c
+++ b/dlls/quartz/filtergraph.c
@@ -201,7 +201,6 @@ typedef struct _IFilterGraphImpl {
GUID timeformatseek;
REFERENCE_TIME start_time;
REFERENCE_TIME pause_time;
- LONGLONG stop_position;
LONG recursioncount;
IUnknown *pSite;
LONG version;
@@ -2471,11 +2470,6 @@ static HRESULT WINAPI MediaSeeking_SetPositions(IMediaSeeking *iface, LONGLONG *
(dwCurrentFlags & 0x7) != AM_SEEKING_NoPositioning)
FIXME("Adjust method %x not handled yet!\n", dwCurrentFlags & 0x7);
- if ((dwStopFlags & 0x7) == AM_SEEKING_AbsolutePositioning)
- This->stop_position = *pStop;
- else if ((dwStopFlags & 0x7) != AM_SEEKING_NoPositioning)
- FIXME("Stop position not handled yet!\n");
-
if (state == State_Running && !(dwCurrentFlags & AM_SEEKING_NoFlush))
IMediaControl_Pause(&This->IMediaControl_iface);
args.current = pCurrent;
@@ -5669,7 +5663,6 @@ HRESULT FilterGraph_create(IUnknown *pUnkOuter, LPVOID *ppObj)
fimpl->nItfCacheEntries = 0;
memcpy(&fimpl->timeformatseek, &TIME_FORMAT_MEDIA_TIME, sizeof(GUID));
fimpl->start_time = fimpl->pause_time = 0;
- fimpl->stop_position = -1;
fimpl->punkFilterMapper2 = NULL;
fimpl->recursioncount = 0;
fimpl->version = 0;
--
1.7.9.5

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