Rebase against 0ec555e58ea9d5b33f4c825e96965ad0cb15d00f.

This commit is contained in:
Zebediah Figura 2021-06-30 17:34:42 -05:00
parent 260734214e
commit 8988a92bee
5 changed files with 8 additions and 66 deletions

View File

@ -51,7 +51,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "7f1623bc626d3ca2411c1a3088512d8ef461252b"
echo "0ec555e58ea9d5b33f4c825e96965ad0cb15d00f"
}
# Show version information

View File

@ -1,4 +1,4 @@
From 528811e294f3f81ccb78fc22a3e3787495a3a51a Mon Sep 17 00:00:00 2001
From 2fc3173016ecac56e884b2bc92f2aab3de3240ee Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Sun, 7 Feb 2021 22:54:19 -0600
Subject: [PATCH] server: Create processes using a limited administrator token
@ -10,18 +10,18 @@ Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/server/process.c b/server/process.c
index e5fe7cc6b6e..ed4c810878e 100644
index 9288bcc27d5..50295cc0202 100644
--- a/server/process.c
+++ b/server/process.c
@@ -578,7 +578,7 @@ struct process *create_process( int fd, struct process *parent, int inherit_all,
@@ -664,7 +664,7 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla
if (!parent)
{
process->handles = alloc_handle_table( process, 0 );
- process->token = token_create_admin( TokenElevationTypeFull );
+ process->token = token_create_admin( TokenElevationTypeLimited );
- process->token = token_create_admin( TRUE, -1, TokenElevationTypeFull );
+ process->token = token_create_admin( TRUE, -1, TokenElevationTypeLimited );
process->affinity = ~0;
}
else
--
2.20.1
2.30.2

View File

@ -1,55 +0,0 @@
From 34d03cc739e932b56597eb3b07a56be6bacfe101 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Mon, 8 Feb 2016 02:31:00 +0100
Subject: [PATCH] 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 | 4 ++--
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index ab111f726a9..cb78fa6a218 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -2116,6 +2116,14 @@ INT WINAPI WS_getsockopt(SOCKET s, INT level,
SetLastError(wsaErrno());
ret = SOCKET_ERROR;
}
+ #ifdef __linux__
+ else if (optname == SO_RCVBUF || optname == SO_SNDBUF)
+ {
+ /* For SO_RCVBUF / SO_SNDBUF, the Linux kernel always sets twice the value.
+ * Divide by two to ensure applications do not get confused by the result. */
+ *(int *)optval /= 2;
+ }
+ #endif
release_sock_fd( s, fd );
return ret;
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c
index 7534e75edb3..9d328226e71 100644
--- a/dlls/ws2_32/tests/sock.c
+++ b/dlls/ws2_32/tests/sock.c
@@ -1214,7 +1214,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;
@@ -1224,7 +1224,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 < ARRAY_SIZE(linger_testvals);i++) {
--
2.30.2

View File

@ -1,3 +0,0 @@
Fixes: [8606] Divide values returned by SO_RCVBUF and SO_SNDBUF getsockopt options by two
# In the process of upstreaming.
Disabled: true

View File

@ -1 +1 @@
7f1623bc626d3ca2411c1a3088512d8ef461252b
0ec555e58ea9d5b33f4c825e96965ad0cb15d00f