[PATCH v2 1/8] ntdll/tests: Set requestedExecutionLevel to asInvoker to prevent filesystem virtualization.

Zebediah Figura z.figura12 at gmail.com
Sat Sep 29 23:29:14 CDT 2018


Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
This fixes the test failure reported here:
https://www.winehq.org/pipermail/wine-devel/2018-September/132962.html

Unlike previous uses of this facility, the goal here is to prevent filesystem
virtualization. For whatever reason, on the w8 test machine, the contents of
the virtualized WindowsUpdate.log differ from the contents of the real file.
NtQueryDirectoryFile() retrieves the size of the latter, but NtOpenFile()
opens the former.

 dlls/ntdll/tests/Makefile.in    |  3 +++
 dlls/ntdll/tests/ntdll.manifest | 18 ++++++++++++++++++
 dlls/ntdll/tests/ntdll.rc       | 22 ++++++++++++++++++++++
 3 files changed, 43 insertions(+)
 create mode 100644 dlls/ntdll/tests/ntdll.manifest
 create mode 100644 dlls/ntdll/tests/ntdll.rc

diff --git a/dlls/ntdll/tests/Makefile.in b/dlls/ntdll/tests/Makefile.in
index 5c70f3f..c088b7b 100644
--- a/dlls/ntdll/tests/Makefile.in
+++ b/dlls/ntdll/tests/Makefile.in
@@ -23,3 +23,6 @@ C_SRCS = \
 	string.c \
 	threadpool.c \
 	time.c
+
+RC_SRCS = \
+	ntdll.rc
diff --git a/dlls/ntdll/tests/ntdll.manifest b/dlls/ntdll/tests/ntdll.manifest
new file mode 100644
index 0000000..1747ea8
--- /dev/null
+++ b/dlls/ntdll/tests/ntdll.manifest
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+    <assemblyIdentity
+        type="win32"
+        name="Wine.ntdll.Test"
+        version="1.0.0.0"
+        processorArchitecture="*"
+    />
+    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
+        <security>
+            <requestedPrivileges>
+                <requestedExecutionLevel
+                    level="asInvoker"
+                />
+            </requestedPrivileges>
+        </security>
+    </trustInfo>
+</assembly>
diff --git a/dlls/ntdll/tests/ntdll.rc b/dlls/ntdll/tests/ntdll.rc
new file mode 100644
index 0000000..74d5073
--- /dev/null
+++ b/dlls/ntdll/tests/ntdll.rc
@@ -0,0 +1,22 @@
+/*
+ * Copyright 2018 Zebediah Figura
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "winuser.h"
+
+/* @makedep: ntdll.manifest */
+1 RT_MANIFEST ntdll.manifest
-- 
2.7.4




More information about the wine-devel mailing list