Add patches to fix current Unity3D webplayer.

This commit is contained in:
Michael Müller 2014-05-31 03:42:21 +02:00
parent 01be545e92
commit 457c0bf7e1
7 changed files with 143 additions and 1 deletions

View File

@ -0,0 +1,43 @@
From 453924c0861d4d1844f8b48c05dba3b2cf49b4ae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 31 May 2014 02:44:36 +0200
Subject: server: Fix return value for FSCTL_PIPE_WAIT if pipe does not exist
---
dlls/kernel32/tests/pipe.c | 6 ++++++
server/named_pipe.c | 2 +-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/tests/pipe.c b/dlls/kernel32/tests/pipe.c
index b192f96..f7c7531 100644
--- a/dlls/kernel32/tests/pipe.c
+++ b/dlls/kernel32/tests/pipe.c
@@ -60,6 +60,12 @@ static void test_CreateNamedPipe(int pipemode)
trace("test_CreateNamedPipe starting in byte mode\n");
else
trace("test_CreateNamedPipe starting in message mode\n");
+
+ /* Wait for non existing pipe */
+ ret = WaitNamedPipeA(PIPENAME, 2000);
+ ok(ret == 0, "WaitNamedPipe returned %d for non existing pipe\n", ret);
+ ok(GetLastError() == ERROR_FILE_NOT_FOUND, "wrong error %u\n", GetLastError());
+
/* Bad parameter checks */
hnp = CreateNamedPipeA("not a named pipe", PIPE_ACCESS_DUPLEX, pipemode | PIPE_WAIT,
/* nMaxInstances */ 1,
diff --git a/server/named_pipe.c b/server/named_pipe.c
index 6ba2145..c9be0c2 100644
--- a/server/named_pipe.c
+++ b/server/named_pipe.c
@@ -887,7 +887,7 @@ static obj_handle_t named_pipe_device_ioctl( struct fd *fd, ioctl_code_t code, c
name.len = (buffer->NameLength / sizeof(WCHAR)) * sizeof(WCHAR);
if (!(pipe = (struct named_pipe *)find_object( device->pipes, &name, OBJ_CASE_INSENSITIVE )))
{
- set_error( STATUS_PIPE_NOT_AVAILABLE );
+ set_error( STATUS_OBJECT_NAME_NOT_FOUND );
return 0;
}
if (!(server = find_available_server( pipe )))
--
1.8.3.2

View File

@ -0,0 +1,4 @@
Revision: 1
Author: Michael Müller
Title: Fix return value of WaitNamedPipe if pipe does not exist.

View File

@ -0,0 +1,89 @@
From eef0d4fa08355377548c101283b62998dc10884e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 31 May 2014 02:08:45 +0200
Subject: ntdll: Stub TokenAppContainerSid in NtQueryInformationToken
---
dlls/ntdll/nt.c | 21 ++++++++++++++++++++-
include/winnt.h | 19 +++++++++++++++++++
2 files changed, 39 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
index ce648de..b9d8a52 100644
--- a/dlls/ntdll/nt.c
+++ b/dlls/ntdll/nt.c
@@ -279,7 +279,19 @@ NTSTATUS WINAPI NtQueryInformationToken(
sizeof(TOKEN_MANDATORY_LABEL) + sizeof(SID), /* TokenIntegrityLevel [sizeof(SID) includes one SubAuthority] */
0, /* TokenUIAccess */
0, /* TokenMandatoryPolicy */
- 0 /* TokenLogonSid */
+ 0, /* TokenLogonSid */
+ 0, /* TokenIsAppContainer */
+ 0, /* TokenCapabilities */
+ sizeof(TOKEN_APPCONTAINER_INFORMATION) + sizeof(SID), /* TokenAppContainerSid */
+ 0, /* TokenAppContainerNumber */
+ 0, /* TokenUserClaimAttributes*/
+ 0, /* TokenDeviceClaimAttributes */
+ 0, /* TokenRestrictedUserClaimAttributes */
+ 0, /* TokenRestrictedDeviceClaimAttributes */
+ 0, /* TokenDeviceGroups */
+ 0, /* TokenRestrictedDeviceGroups */
+ 0, /* TokenSecurityAttributes */
+ 0 /* TokenIsRestricted */
};
ULONG len = 0;
@@ -521,6 +533,13 @@ NTSTATUS WINAPI NtQueryInformationToken(
memcpy(psid, &high_level, sizeof(SID));
}
break;
+ case TokenAppContainerSid:
+ {
+ TOKEN_APPCONTAINER_INFORMATION *container = tokeninfo;
+ FIXME("QueryInformationToken( ..., TokenAppContainerSid, ...) semi-stub\n");
+ container->TokenAppContainer = NULL;
+ }
+ break;
default:
{
ERR("Unhandled Token Information class %d!\n", tokeninfoclass);
diff --git a/include/winnt.h b/include/winnt.h
index f902ba2..7934022 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -3685,6 +3685,18 @@ typedef enum _TOKEN_INFORMATION_CLASS {
TokenUIAccess,
TokenMandatoryPolicy,
TokenLogonSid,
+ TokenIsAppContainer,
+ TokenCapabilities,
+ TokenAppContainerSid,
+ TokenAppContainerNumber,
+ TokenUserClaimAttributes,
+ TokenDeviceClaimAttributes,
+ TokenRestrictedUserClaimAttributes,
+ TokenRestrictedDeviceClaimAttributes,
+ TokenDeviceGroups,
+ TokenRestrictedDeviceGroups,
+ TokenSecurityAttributes,
+ TokenIsRestricted,
MaxTokenInfoClass
} TOKEN_INFORMATION_CLASS;
@@ -4411,6 +4423,13 @@ typedef struct _TOKEN_MANDATORY_LABEL {
} TOKEN_MANDATORY_LABEL, * PTOKEN_MANDATORY_LABEL;
/*
+ * TOKEN_APPCONTAINER_INFORMATION
+ */
+typedef struct _TOKEN_APPCONTAINER_INFORMATION {
+ PSID TokenAppContainer;
+} TOKEN_APPCONTAINER_INFORMATION, * PTOKEN_APPCONTAINER_INFORMATION;
+
+/*
* ACLs of NT
*/
--
1.8.3.2

View File

@ -0,0 +1,4 @@
Revision: 1
Author: Michael Müller
Title: Add stub for TokenAppContainerSid in NtQueryInformationToken.

View File

@ -37,7 +37,7 @@ diff --git a/libs/wine/config.c b/libs/wine/config.c
index a273502..5fa0cd5 100644
--- a/libs/wine/config.c
+++ b/libs/wine/config.c
@@ -478,6 +478,38 @@ const char *wine_get_version(void)
@@ -478,6 +478,40 @@ const char *wine_get_version(void)
return PACKAGE_VERSION;
}
@ -50,12 +50,14 @@ index a273502..5fa0cd5 100644
+ { "92938b89-506b-430a-ba50-32de8b286e56:4", "Erich E. Hoover", "Store and return security attributes with extended file attributes." },
+ { "5d6bb7b5-ec88-4ed3-907d-9ad2173a2f88:1", "Sebastian Lackner", "Enable/disable windows when they are (un)mapped by foreign applications." },
+ { "94186fff-6dbf-44d0-8eb1-2463d1608a0f:1", "Sebastian Lackner", "Update gl_drawable for embedded windows." },
+ { "1d0160c7-42a4-491c-9676-fa3b1859aaab:1", "Michael Müller", "Fix return value of WaitNamedPipe if pipe does not exist." },
+ { "cbe240e8-2c58-430a-b61c-7fbb9d0e1e11:1", "Sebastian Lackner", "Change return value of stub SetNamedPipeHandleState to TRUE." },
+ { "00273da7-72f8-4025-9e96-0c2bc95dacdb:2", "Maarten Lankhorst", "Winepulse patches extracted from https://launchpad.net/~mlankhorst/+archive/ppa/+files/wine1.7_1.7.10-0ubuntu1~saucy1.debian.tar.gz." },
+ { "fbea4ef6-85ac-4524-b32d-fc9882b73e5a:1", "Erich E. Hoover", "Implement GetVolumePathName." },
+ { "4cd13e94-7f2d-11e3-b5eb-0090f5c75ad5:1", "Erich E. Hoover", "Support for junction points/reparse points." },
+ { "5fb1f5c8-7f17-11e3-9b62-0090f5c75ad5:1", "Erich E. Hoover", "Implement TransmitFile." },
+ { "3d7c4774-9e7f-11e3-9cfc-0090f5c75ad5:1", "Erich E. Hoover", "Implement missing fonts expected by Silverlight." },
+ { "c0ac8f22-1483-4e1f-8136-88e5fb99a41f:1", "Michael Müller", "Add stub for TokenAppContainerSid in NtQueryInformationToken." },
+ { "0b21d7ac-0387-4493-aa38-fbafe3e749f5:2", "Michael Müller", "Decrease minimum SetTimer interval to 5 ms." },
+ { "2394843e-2bc4-4fa4-8368-1ef32093b89e:1", "Michael Müller", "Allow changing strict draw ordering through an exported function." },
+ { "59bd38b7-bbdc-4cfd-9ccd-1c72c4ed84c0:1", "Sebastian Lackner", "Implement X11DRV_FLUSH_GDI_DISPLAY ExtEscape command." },