Rebase against 07030059486e0121051b452c94d37f12931cabf4.

This commit is contained in:
Alistair Leslie-Hughes 2020-07-23 09:33:43 +10:00
parent 352d5a391b
commit 02be23fa52
5 changed files with 35 additions and 35 deletions

View File

@ -1,4 +1,4 @@
From b7e3ca4678d073c92f950708c1be35f37fda86d0 Mon Sep 17 00:00:00 2001
From d8ab42564dc0d4d6be59235487c903b4197dbe8c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 5 Aug 2017 03:39:55 +0200
Subject: [PATCH] ntdll: Implement process token elevation through manifests.
@ -12,7 +12,7 @@ Subject: [PATCH] ntdll: Implement process token elevation through manifests.
5 files changed, 67 insertions(+)
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index 3513102b6f0..3b68f6685d0 100644
index bf8d71adeb3..ff35128ebe8 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -3489,6 +3489,32 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, void **entry, ULONG_PTR unknow
@ -48,7 +48,7 @@ index 3513102b6f0..3b68f6685d0 100644
/***********************************************************************
* load_global_options
*/
@@ -3922,6 +3948,7 @@ void __wine_process_init(void)
@@ -3900,6 +3926,7 @@ void __wine_process_init(void)
'k','e','r','n','e','l','3','2','.','d','l','l',0};
void (WINAPI *kernel32_start_process)(LPTHREAD_START_ROUTINE,void*) = NULL;
RTL_USER_PROCESS_PARAMETERS *params;
@ -56,9 +56,9 @@ index 3513102b6f0..3b68f6685d0 100644
WINE_MODREF *wm;
NTSTATUS status;
ANSI_STRING func_name;
@@ -4032,6 +4059,16 @@ void __wine_process_init(void)
unix_funcs->virtual_set_large_address_space();
@@ -4008,6 +4035,16 @@ void __wine_process_init(void)
NtTerminateProcess( GetCurrentProcess(), status );
}
+ /* elevate process if necessary */
+ status = RtlQueryInformationActivationContext( 0, NULL, 0, RunlevelInformationInActivationContext,
@ -74,7 +74,7 @@ index 3513102b6f0..3b68f6685d0 100644
RemoveEntryList( &wm->ldr.InLoadOrderLinks );
InsertHeadList( &peb->LdrData->InLoadOrderModuleList, &wm->ldr.InLoadOrderLinks );
diff --git a/server/process.c b/server/process.c
index c414717a8d7..100cb424623 100644
index 406167e825b..5d1248d7c4d 100644
--- a/server/process.c
+++ b/server/process.c
@@ -1086,6 +1086,14 @@ int set_process_debug_flag( struct process *process, int flag )
@ -105,10 +105,10 @@ index fb29f21cb12..d0b7ec4987b 100644
/* console functions */
extern void inherit_console( struct thread *parent_thread, struct process *parent,
diff --git a/server/protocol.def b/server/protocol.def
index bc0d0723eb3..ec67ce7ab87 100644
index 56b52dd2231..36c10ce7da8 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -3737,6 +3737,13 @@ struct handle_info
@@ -3589,6 +3589,13 @@ struct handle_info
@END

View File

@ -1,4 +1,4 @@
From 2afb2a42779c13459bf07921b57fe0d0e5cc65c6 Mon Sep 17 00:00:00 2001
From 2a24fffb9cfb960455306ba8209ce6889fb379cb 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,7 +10,7 @@ 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 3b68f6685d0..63c7109a763 100644
index d0cdad0a9ff..434f3ef8803 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -76,6 +76,9 @@ static const WCHAR system_path[] =
@ -32,7 +32,7 @@ index 3b68f6685d0..63c7109a763 100644
struct ldr_notification
{
struct list entry;
@@ -1704,6 +1709,96 @@ NTSTATUS WINAPI LdrUnlockLoaderLock( ULONG flags, ULONG_PTR magic )
@@ -1802,6 +1807,96 @@ NTSTATUS WINAPI LdrUnlockLoaderLock( ULONG flags, ULONG_PTR magic )
}
@ -129,7 +129,7 @@ index 3b68f6685d0..63c7109a763 100644
/******************************************************************
* LdrGetProcedureAddress (NTDLL.@)
*/
@@ -1724,7 +1819,7 @@ NTSTATUS WINAPI LdrGetProcedureAddress(HMODULE module, const ANSI_STRING *name,
@@ -1822,7 +1917,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 );
@ -138,20 +138,20 @@ index 3b68f6685d0..63c7109a763 100644
{
*address = proc;
ret = STATUS_SUCCESS;
@@ -4057,6 +4152,8 @@ void __wine_process_init(void)
@@ -4174,6 +4269,8 @@ void __wine_process_init(void)
NtTerminateProcess( GetCurrentProcess(), status );
}
+ hidden_exports_init( wm->ldr.FullDllName.Buffer );
+
unix_funcs->virtual_set_large_address_space();
/* elevate process if necessary */
status = RtlQueryInformationActivationContext( 0, NULL, 0, RunlevelInformationInActivationContext,
&runlevel, sizeof(runlevel), NULL );
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index 80be882e76d..783c5499d46 100644
index ccba5bc8bd6..75a008fdf4a 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -150,6 +150,11 @@ void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR);
@@ -176,6 +176,11 @@ void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR);
#define InterlockedCompareExchange64(dest,xchg,cmp) RtlInterlockedCompareExchange64(dest,xchg,cmp)
#endif

View File

@ -52,7 +52,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "a599d645e33a128fae2d6fbfd7fdc07a8cefda95"
echo "07030059486e0121051b452c94d37f12931cabf4"
}
# Show version information

View File

@ -1,4 +1,4 @@
From 95070fa887dfecb93e3fbf8afd0cd4ac17e03b69 Mon Sep 17 00:00:00 2001
From 3a762c7717a2d06b83525fa3f709aa57bf8466d2 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 6 Sep 2015 12:41:17 +0200
Subject: [PATCH] ws2_32: Invalidate client-side file descriptor cache in
@ -17,10 +17,10 @@ Subject: [PATCH] ws2_32: Invalidate client-side file descriptor cache in
9 files changed, 35 insertions(+), 4 deletions(-)
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index 0b0d4587969..99d4c57cdfe 100644
index 2d4ced7e63e..598f57404b4 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -1577,6 +1577,7 @@
@@ -1582,6 +1582,7 @@
# Server interface
@ cdecl -norelay wine_server_call(ptr)
@ -29,10 +29,10 @@ index 0b0d4587969..99d4c57cdfe 100644
@ cdecl wine_server_handle_to_fd(long long ptr ptr)
@ cdecl wine_server_release_fd(long long)
diff --git a/dlls/ntdll/server.c b/dlls/ntdll/server.c
index 9e1cc85a36e..3f4ba60b7bb 100644
index a3ad3e68871..d6cd0b4ce22 100644
--- a/dlls/ntdll/server.c
+++ b/dlls/ntdll/server.c
@@ -130,6 +130,14 @@ int CDECL wine_server_handle_to_fd( HANDLE handle, unsigned int access, int *uni
@@ -120,6 +120,14 @@ int CDECL wine_server_handle_to_fd( HANDLE handle, unsigned int access, int *uni
return unix_funcs->server_handle_to_fd( handle, access, unix_fd, options );
}
@ -48,10 +48,10 @@ index 9e1cc85a36e..3f4ba60b7bb 100644
/***********************************************************************
* wine_server_release_fd (NTDLL.@)
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
index 51ff7f950e8..5da6dc7fa9d 100644
index 8366e3a9989..649c03f116f 100644
--- a/dlls/ntdll/unix/loader.c
+++ b/dlls/ntdll/unix/loader.c
@@ -1024,6 +1024,7 @@ static struct unix_funcs unix_funcs =
@@ -1442,6 +1442,7 @@ static struct unix_funcs unix_funcs =
exec_process,
wine_server_call,
server_send_fd,
@ -60,10 +60,10 @@ index 51ff7f950e8..5da6dc7fa9d 100644
server_handle_to_fd,
server_release_fd,
diff --git a/dlls/ntdll/unix/server.c b/dlls/ntdll/unix/server.c
index 299a311496b..0fac751d12f 100644
index cb014c91230..1687d633a4c 100644
--- a/dlls/ntdll/unix/server.c
+++ b/dlls/ntdll/unix/server.c
@@ -981,6 +981,26 @@ static int remove_fd_from_cache( HANDLE handle )
@@ -1012,6 +1012,26 @@ static int remove_fd_from_cache( HANDLE handle )
return fd;
}
@ -91,11 +91,11 @@ index 299a311496b..0fac751d12f 100644
/***********************************************************************
* server_get_unix_fd
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
index e0bc5a9603e..c24b7503ede 100644
index dad33ee5e9f..00b718dfb7e 100644
--- a/dlls/ntdll/unix/unix_private.h
+++ b/dlls/ntdll/unix/unix_private.h
@@ -111,6 +111,7 @@ extern void CDECL virtual_release_address_space(void) DECLSPEC_HIDDEN;
extern void CDECL virtual_set_large_address_space(void) DECLSPEC_HIDDEN;
@@ -114,6 +114,7 @@ extern ssize_t CDECL virtual_locked_recvmsg( int fd, struct msghdr *hdr, int fla
extern void CDECL virtual_release_address_space(void) DECLSPEC_HIDDEN;
extern void CDECL server_send_fd( int fd ) DECLSPEC_HIDDEN;
+extern void CDECL server_remove_fds_from_cache_by_type( enum server_fd_type type ) DECLSPEC_HIDDEN;
@ -103,10 +103,10 @@ index e0bc5a9603e..c24b7503ede 100644
HANDLE *handle ) DECLSPEC_HIDDEN;
extern NTSTATUS CDECL server_handle_to_fd( HANDLE handle, unsigned int access, int *unix_fd,
diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
index 311d99f482d..39b30566365 100644
index 715af516867..12c2ea15b5c 100644
--- a/dlls/ntdll/unixlib.h
+++ b/dlls/ntdll/unixlib.h
@@ -310,6 +310,7 @@ struct unix_funcs
@@ -100,6 +100,7 @@ struct unix_funcs
/* server functions */
unsigned int (CDECL *server_call)( void *req_ptr );
void (CDECL *server_send_fd)( int fd );
@ -115,7 +115,7 @@ index 311d99f482d..39b30566365 100644
HANDLE *handle );
NTSTATUS (CDECL *server_handle_to_fd)( HANDLE handle, unsigned int access, int *unix_fd,
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index f81d23650bc..27b309172ea 100644
index 6bf4140ba00..4f0c3c3adfa 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -1740,6 +1740,7 @@ INT WINAPI WSACleanup(void)

View File

@ -1 +1 @@
a599d645e33a128fae2d6fbfd7fdc07a8cefda95
07030059486e0121051b452c94d37f12931cabf4