mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Rebase against f55db7882db25019e1af1a497bd7723d10541989.
This commit is contained in:
parent
661976a145
commit
f6e35db051
@ -1,4 +1,4 @@
|
||||
From 82f162911442f78bae91fe8655cd2f4a33f638f7 Mon Sep 17 00:00:00 2001
|
||||
From f31780d39178e9e4aa98962d04a51e4f7440757d Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 6 Jun 2015 01:21:05 +0200
|
||||
Subject: server: Return correct error codes for NtWriteFile when pipes are
|
||||
@ -25,10 +25,10 @@ index 3035dd4..9986337 100644
|
||||
CloseHandle(hfile);
|
||||
|
||||
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
|
||||
index 8e6dc12..15a957d 100644
|
||||
index a925899..af4b64e 100644
|
||||
--- a/dlls/ntdll/file.c
|
||||
+++ b/dlls/ntdll/file.c
|
||||
@@ -1210,6 +1210,9 @@ static NTSTATUS write_unix_fd(int fd, const char *buf, ULONG *total, ULONG lengt
|
||||
@@ -1211,6 +1211,9 @@ static NTSTATUS write_unix_fd(int fd, const char *buf, ULONG *total, ULONG lengt
|
||||
return STATUS_SUCCESS;
|
||||
else if (errno == EFAULT)
|
||||
return STATUS_INVALID_USER_BUFFER;
|
||||
@ -39,10 +39,10 @@ index 8e6dc12..15a957d 100644
|
||||
}
|
||||
}
|
||||
diff --git a/server/named_pipe.c b/server/named_pipe.c
|
||||
index 2297976..1759b00 100644
|
||||
index 55c0db7..e4dbf26 100644
|
||||
--- a/server/named_pipe.c
|
||||
+++ b/server/named_pipe.c
|
||||
@@ -145,6 +145,7 @@ static const struct object_ops named_pipe_ops =
|
||||
@@ -147,6 +147,7 @@ static const struct object_ops named_pipe_ops =
|
||||
/* server end functions */
|
||||
static void pipe_server_dump( struct object *obj, int verbose );
|
||||
static struct fd *pipe_server_get_fd( struct object *obj );
|
||||
@ -50,8 +50,8 @@ index 2297976..1759b00 100644
|
||||
static void pipe_server_destroy( struct object *obj);
|
||||
static obj_handle_t pipe_server_flush( struct fd *fd, const async_data_t *async, int blocking );
|
||||
static enum server_fd_type pipe_server_get_fd_type( struct fd *fd );
|
||||
@@ -168,7 +169,7 @@ static const struct object_ops pipe_server_ops =
|
||||
no_lookup_name, /* lookup_name */
|
||||
@@ -172,7 +173,7 @@ static const struct object_ops pipe_server_ops =
|
||||
NULL, /* unlink_name */
|
||||
no_open_file, /* open_file */
|
||||
no_alloc_handle, /* alloc_handle */
|
||||
- fd_close_handle, /* close_handle */
|
||||
@ -59,7 +59,7 @@ index 2297976..1759b00 100644
|
||||
pipe_server_destroy /* destroy */
|
||||
};
|
||||
|
||||
@@ -190,6 +191,7 @@ static const struct fd_ops pipe_server_fd_ops =
|
||||
@@ -194,6 +195,7 @@ static const struct fd_ops pipe_server_fd_ops =
|
||||
static void pipe_client_dump( struct object *obj, int verbose );
|
||||
static int pipe_client_signaled( struct object *obj, struct wait_queue_entry *entry );
|
||||
static struct fd *pipe_client_get_fd( struct object *obj );
|
||||
@ -67,8 +67,8 @@ index 2297976..1759b00 100644
|
||||
static void pipe_client_destroy( struct object *obj );
|
||||
static obj_handle_t pipe_client_flush( struct fd *fd, const async_data_t *async, int blocking );
|
||||
static enum server_fd_type pipe_client_get_fd_type( struct fd *fd );
|
||||
@@ -211,7 +213,7 @@ static const struct object_ops pipe_client_ops =
|
||||
no_lookup_name, /* lookup_name */
|
||||
@@ -217,7 +219,7 @@ static const struct object_ops pipe_client_ops =
|
||||
NULL, /* unlink_name */
|
||||
no_open_file, /* open_file */
|
||||
no_alloc_handle, /* alloc_handle */
|
||||
- fd_close_handle, /* close_handle */
|
||||
@ -76,7 +76,7 @@ index 2297976..1759b00 100644
|
||||
pipe_client_destroy /* destroy */
|
||||
};
|
||||
|
||||
@@ -276,6 +278,8 @@ static const struct fd_ops named_pipe_device_fd_ops =
|
||||
@@ -284,6 +286,8 @@ static const struct fd_ops named_pipe_device_fd_ops =
|
||||
default_fd_cancel_async /* cancel_async */
|
||||
};
|
||||
|
||||
@ -85,7 +85,7 @@ index 2297976..1759b00 100644
|
||||
static void named_pipe_dump( struct object *obj, int verbose )
|
||||
{
|
||||
fputs( "Named pipe\n", stderr );
|
||||
@@ -386,6 +390,23 @@ static void do_disconnect( struct pipe_server *server )
|
||||
@@ -394,6 +398,23 @@ static void do_disconnect( struct pipe_server *server )
|
||||
server->fd = NULL;
|
||||
}
|
||||
|
||||
@ -109,7 +109,7 @@ index 2297976..1759b00 100644
|
||||
static void pipe_server_destroy( struct object *obj)
|
||||
{
|
||||
struct pipe_server *server = (struct pipe_server *)obj;
|
||||
@@ -412,6 +433,24 @@ static void pipe_server_destroy( struct object *obj)
|
||||
@@ -420,6 +441,24 @@ static void pipe_server_destroy( struct object *obj)
|
||||
release_object( server->pipe );
|
||||
}
|
||||
|
||||
@ -135,7 +135,7 @@ index 2297976..1759b00 100644
|
||||
{
|
||||
struct pipe_client *client = (struct pipe_client *)obj;
|
||||
diff --git a/server/protocol.def b/server/protocol.def
|
||||
index e6e52de..4a24595 100644
|
||||
index 2d87f03..1dc70d4 100644
|
||||
--- a/server/protocol.def
|
||||
+++ b/server/protocol.def
|
||||
@@ -2378,6 +2378,7 @@ enum message_type
|
||||
@ -147,5 +147,5 @@ index e6e52de..4a24595 100644
|
||||
|
||||
/* Get named pipe information by handle */
|
||||
--
|
||||
2.6.4
|
||||
2.7.0
|
||||
|
||||
|
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "36b38b8a203c2cca77b101810770afe952f7164a"
|
||||
echo "f55db7882db25019e1af1a497bd7723d10541989"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
From 92d7a9ef41b33c33c0d63a2f96e202a816cdb638 Mon Sep 17 00:00:00 2001
|
||||
From b66d03524b625b22f92f60b1856c7ac89197e809 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 4 Dec 2015 01:22:29 +0100
|
||||
Subject: server: Track desktop handle count more correctly.
|
||||
@ -54,10 +54,10 @@ index 2b8502b..b59ed4e 100644
|
||||
}
|
||||
|
||||
diff --git a/server/handle.c b/server/handle.c
|
||||
index 9d9ff4b..731f287 100644
|
||||
index eb83a3b..38f38d5 100644
|
||||
--- a/server/handle.c
|
||||
+++ b/server/handle.c
|
||||
@@ -488,7 +488,7 @@ obj_handle_t find_inherited_handle( struct process *process, const struct object
|
||||
@@ -490,7 +490,7 @@ obj_handle_t find_inherited_handle( struct process *process, const struct object
|
||||
/* enumerate handles of a given type */
|
||||
/* this is needed for window stations and desktops */
|
||||
obj_handle_t enumerate_handles( struct process *process, const struct object_ops *ops,
|
||||
@ -66,7 +66,7 @@ index 9d9ff4b..731f287 100644
|
||||
{
|
||||
struct handle_table *table = process->handles;
|
||||
unsigned int i;
|
||||
@@ -501,6 +501,7 @@ obj_handle_t enumerate_handles( struct process *process, const struct object_ops
|
||||
@@ -503,6 +503,7 @@ obj_handle_t enumerate_handles( struct process *process, const struct object_ops
|
||||
if (!entry->ptr) continue;
|
||||
if (entry->ptr->ops != ops) continue;
|
||||
*index = i + 1;
|
||||
@ -88,10 +88,10 @@ index f1deb79..1347836 100644
|
||||
extern struct handle_table *alloc_handle_table( struct process *process, int count );
|
||||
extern struct handle_table *copy_handle_table( struct process *process, struct process *parent );
|
||||
diff --git a/server/process.c b/server/process.c
|
||||
index 39d8bc9..c9f9f1d 100644
|
||||
index 0f37a3b..0bc1edd 100644
|
||||
--- a/server/process.c
|
||||
+++ b/server/process.c
|
||||
@@ -832,7 +832,6 @@ static void process_killed( struct process *process )
|
||||
@@ -838,7 +838,6 @@ static void process_killed( struct process *process )
|
||||
|
||||
assert( list_empty( &process->thread_list ));
|
||||
process->end_time = current_time;
|
||||
@ -100,7 +100,7 @@ index 39d8bc9..c9f9f1d 100644
|
||||
process->desktop = 0;
|
||||
close_process_handles( process );
|
||||
diff --git a/server/winstation.c b/server/winstation.c
|
||||
index 9bc08e3..ecf78e5 100644
|
||||
index ab3dd05..9924cbe 100644
|
||||
--- a/server/winstation.c
|
||||
+++ b/server/winstation.c
|
||||
@@ -50,6 +50,7 @@ static void winstation_destroy( struct object *obj );
|
||||
@ -111,16 +111,16 @@ index 9bc08e3..ecf78e5 100644
|
||||
static int desktop_close_handle( struct object *obj, struct process *process, obj_handle_t handle );
|
||||
static void desktop_destroy( struct object *obj );
|
||||
static unsigned int desktop_map_access( struct object *obj, unsigned int access );
|
||||
@@ -92,7 +93,7 @@ static const struct object_ops desktop_ops =
|
||||
default_set_sd, /* set_sd */
|
||||
no_lookup_name, /* lookup_name */
|
||||
@@ -96,7 +97,7 @@ static const struct object_ops desktop_ops =
|
||||
no_link_name, /* link_name */
|
||||
NULL, /* unlink_name */
|
||||
no_open_file, /* open_file */
|
||||
- no_alloc_handle, /* alloc_handle */
|
||||
+ desktop_alloc_handle, /* alloc_handle */
|
||||
desktop_close_handle, /* close_handle */
|
||||
desktop_destroy /* destroy */
|
||||
};
|
||||
@@ -234,14 +235,54 @@ static struct object_type *desktop_get_type( struct object *obj )
|
||||
@@ -240,14 +241,54 @@ static struct object_type *desktop_get_type( struct object *obj )
|
||||
return get_object_type( &str );
|
||||
}
|
||||
|
||||
@ -175,7 +175,7 @@ index 9bc08e3..ecf78e5 100644
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -249,6 +290,7 @@ static void desktop_destroy( struct object *obj )
|
||||
@@ -255,6 +296,7 @@ static void desktop_destroy( struct object *obj )
|
||||
{
|
||||
struct desktop *desktop = (struct desktop *)obj;
|
||||
|
||||
@ -183,7 +183,7 @@ index 9bc08e3..ecf78e5 100644
|
||||
free_hotkeys( desktop, 0 );
|
||||
if (desktop->top_window) destroy_window( desktop->top_window );
|
||||
if (desktop->msg_window) destroy_window( desktop->msg_window );
|
||||
@@ -276,40 +318,6 @@ struct desktop *get_thread_desktop( struct thread *thread, unsigned int access )
|
||||
@@ -282,40 +324,6 @@ struct desktop *get_thread_desktop( struct thread *thread, unsigned int access )
|
||||
return get_desktop_obj( thread->process, thread->desktop, access );
|
||||
}
|
||||
|
||||
@ -224,7 +224,7 @@ index 9bc08e3..ecf78e5 100644
|
||||
/* set the process default desktop handle */
|
||||
void set_process_default_desktop( struct process *process, struct desktop *desktop,
|
||||
obj_handle_t handle )
|
||||
@@ -326,12 +334,6 @@ void set_process_default_desktop( struct process *process, struct desktop *deskt
|
||||
@@ -332,12 +340,6 @@ void set_process_default_desktop( struct process *process, struct desktop *deskt
|
||||
LIST_FOR_EACH_ENTRY( thread, &process->thread_list, struct thread, proc_entry )
|
||||
if (!thread->desktop) thread->desktop = handle;
|
||||
|
||||
@ -237,7 +237,7 @@ index 9bc08e3..ecf78e5 100644
|
||||
if (old_desktop) release_object( old_desktop );
|
||||
}
|
||||
|
||||
@@ -381,8 +383,8 @@ done:
|
||||
@@ -387,8 +389,8 @@ done:
|
||||
void close_process_desktop( struct process *process )
|
||||
{
|
||||
struct desktop *desktop;
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f06a13e553d543e7b49c805b9292611ab1c68371 Mon Sep 17 00:00:00 2001
|
||||
From 2380d7451dc978cdab3ebcbeb75272c9147d0f68 Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Wed, 25 Jun 2014 11:49:12 -0600
|
||||
Subject: server: Add default security descriptor ownership for processes.
|
||||
@ -11,10 +11,10 @@ Subject: server: Add default security descriptor ownership for processes.
|
||||
4 files changed, 69 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
|
||||
index 466100d..ca4a8ad 100644
|
||||
index 498d19a..c09b097 100644
|
||||
--- a/dlls/advapi32/tests/security.c
|
||||
+++ b/dlls/advapi32/tests/security.c
|
||||
@@ -4253,11 +4253,15 @@ static void test_acls(void)
|
||||
@@ -4303,11 +4303,15 @@ static void test_acls(void)
|
||||
|
||||
static void test_GetSecurityInfo(void)
|
||||
{
|
||||
@ -30,7 +30,7 @@ index 466100d..ca4a8ad 100644
|
||||
ACL_SIZE_INFORMATION acl_size;
|
||||
PSECURITY_DESCRIPTOR pSD;
|
||||
ACCESS_ALLOWED_ACE *ace;
|
||||
@@ -4382,6 +4386,37 @@ static void test_GetSecurityInfo(void)
|
||||
@@ -4434,6 +4438,37 @@ static void test_GetSecurityInfo(void)
|
||||
}
|
||||
LocalFree(pSD);
|
||||
CloseHandle(obj);
|
||||
@ -69,7 +69,7 @@ index 466100d..ca4a8ad 100644
|
||||
|
||||
static void test_GetSidSubAuthority(void)
|
||||
diff --git a/server/process.c b/server/process.c
|
||||
index 26f8924..1047c25 100644
|
||||
index d51c884..14e36b0 100644
|
||||
--- a/server/process.c
|
||||
+++ b/server/process.c
|
||||
@@ -62,6 +62,7 @@ static int shutdown_stage; /* current stage in the shutdown process */
|
||||
@ -88,8 +88,8 @@ index 26f8924..1047c25 100644
|
||||
+ process_get_sd, /* get_sd */
|
||||
default_set_sd, /* set_sd */
|
||||
no_lookup_name, /* lookup_name */
|
||||
no_open_file, /* open_file */
|
||||
@@ -642,6 +643,29 @@ static unsigned int process_map_access( struct object *obj, unsigned int access
|
||||
no_link_name, /* link_name */
|
||||
@@ -664,6 +665,29 @@ static unsigned int process_map_access( struct object *obj, unsigned int access
|
||||
return access & ~(GENERIC_READ | GENERIC_WRITE | GENERIC_EXECUTE | GENERIC_ALL);
|
||||
}
|
||||
|
||||
@ -120,7 +120,7 @@ index 26f8924..1047c25 100644
|
||||
{
|
||||
struct process *process = get_fd_user( fd );
|
||||
diff --git a/server/security.h b/server/security.h
|
||||
index 855f2e7..01bf637 100644
|
||||
index 925a85b..bdb7d42 100644
|
||||
--- a/server/security.h
|
||||
+++ b/server/security.h
|
||||
@@ -47,6 +47,7 @@ extern const PSID security_local_user_sid;
|
||||
@ -132,7 +132,7 @@ index 855f2e7..01bf637 100644
|
||||
|
||||
/* token functions */
|
||||
diff --git a/server/token.c b/server/token.c
|
||||
index cb81eec..914dfba 100644
|
||||
index ca12813..d66c39a 100644
|
||||
--- a/server/token.c
|
||||
+++ b/server/token.c
|
||||
@@ -91,6 +91,13 @@ static const struct /* same fields as struct SID */
|
||||
@ -158,5 +158,5 @@ index cb81eec..914dfba 100644
|
||||
static luid_t prev_luid_value = { 1000, 0 };
|
||||
|
||||
--
|
||||
2.3.5
|
||||
2.7.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 361a906c0026d132a08bc292450a098fd2fc072b Mon Sep 17 00:00:00 2001
|
||||
From 93e58d6178dcfdea0c120c1330e28df88c47439b Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Thu, 16 Jan 2014 19:08:30 -0700
|
||||
Subject: ws2_32: Add support for TF_REUSE_SOCKET to TransmitFile.
|
||||
@ -12,10 +12,10 @@ Subject: ws2_32: Add support for TF_REUSE_SOCKET to TransmitFile.
|
||||
5 files changed, 75 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
|
||||
index 9cff400..c2dbbf4 100644
|
||||
index cb16583..c7a7c54 100644
|
||||
--- a/dlls/ws2_32/socket.c
|
||||
+++ b/dlls/ws2_32/socket.c
|
||||
@@ -2888,6 +2888,17 @@ static NTSTATUS WS2_transmitfile_base( int fd, struct ws2_transmitfile_async *ws
|
||||
@@ -2933,6 +2933,17 @@ static NTSTATUS WS2_transmitfile_base( int fd, struct ws2_transmitfile_async *ws
|
||||
if (status != STATUS_SUCCESS)
|
||||
return status;
|
||||
|
||||
@ -33,7 +33,7 @@ index 9cff400..c2dbbf4 100644
|
||||
if (wsa->flags & TF_DISCONNECT)
|
||||
{
|
||||
/* we can't use WS_closesocket because it modifies the last error */
|
||||
@@ -2931,7 +2942,7 @@ static BOOL WINAPI WS2_TransmitFile( SOCKET s, HANDLE h, DWORD file_bytes, DWORD
|
||||
@@ -2976,7 +2987,7 @@ static BOOL WINAPI WS2_TransmitFile( SOCKET s, HANDLE h, DWORD file_bytes, DWORD
|
||||
LPOVERLAPPED overlapped, LPTRANSMIT_FILE_BUFFERS buffers,
|
||||
DWORD flags )
|
||||
{
|
||||
@ -43,10 +43,10 @@ index 9cff400..c2dbbf4 100644
|
||||
unsigned int uaddrlen = sizeof(uaddr);
|
||||
struct ws2_transmitfile_async *wsa;
|
||||
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c
|
||||
index 41554b4..9462628 100644
|
||||
index e10d01c..82f8ef0 100644
|
||||
--- a/dlls/ws2_32/tests/sock.c
|
||||
+++ b/dlls/ws2_32/tests/sock.c
|
||||
@@ -8049,7 +8049,6 @@ static void test_TransmitFile(void)
|
||||
@@ -8053,7 +8053,6 @@ static void test_TransmitFile(void)
|
||||
err, WSAENOTSOCK);
|
||||
|
||||
/* Test TransmitFile with a UDP datagram socket */
|
||||
@ -67,10 +67,10 @@ index cf9adf5..2feb224 100644
|
||||
#define FD_WINE_NONBLOCKING 0x20000000
|
||||
#define FD_WINE_CONNECTED 0x40000000
|
||||
diff --git a/server/protocol.def b/server/protocol.def
|
||||
index 04814c9..8a2d395 100644
|
||||
index a5a45eb..592fbe2 100644
|
||||
--- a/server/protocol.def
|
||||
+++ b/server/protocol.def
|
||||
@@ -1263,6 +1263,12 @@ enum server_fd_type
|
||||
@@ -1260,6 +1260,12 @@ enum server_fd_type
|
||||
@END
|
||||
|
||||
|
||||
@ -84,7 +84,7 @@ index 04814c9..8a2d395 100644
|
||||
@REQ(set_socket_event)
|
||||
obj_handle_t handle; /* handle to the socket */
|
||||
diff --git a/server/sock.c b/server/sock.c
|
||||
index 57d3d93..37c78b1 100644
|
||||
index a11964f..26f1c72 100644
|
||||
--- a/server/sock.c
|
||||
+++ b/server/sock.c
|
||||
@@ -86,6 +86,7 @@
|
||||
@ -103,8 +103,8 @@ index 57d3d93..37c78b1 100644
|
||||
|
||||
static int sock_get_ntstatus( int err );
|
||||
static int sock_get_error( int err );
|
||||
@@ -155,7 +157,7 @@ static const struct object_ops sock_ops =
|
||||
no_lookup_name, /* lookup_name */
|
||||
@@ -157,7 +159,7 @@ static const struct object_ops sock_ops =
|
||||
NULL, /* unlink_name */
|
||||
no_open_file, /* open_file */
|
||||
no_alloc_handle, /* alloc_handle */
|
||||
- fd_close_handle, /* close_handle */
|
||||
@ -112,7 +112,7 @@ index 57d3d93..37c78b1 100644
|
||||
sock_destroy /* destroy */
|
||||
};
|
||||
|
||||
@@ -627,6 +629,47 @@ static struct fd *sock_get_fd( struct object *obj )
|
||||
@@ -629,6 +631,47 @@ static struct fd *sock_get_fd( struct object *obj )
|
||||
return (struct fd *)grab_object( sock->fd );
|
||||
}
|
||||
|
||||
@ -160,7 +160,7 @@ index 57d3d93..37c78b1 100644
|
||||
static void sock_destroy( struct object *obj )
|
||||
{
|
||||
struct sock *sock = (struct sock *)obj;
|
||||
@@ -678,15 +721,8 @@ static struct object *create_socket( int family, int type, int protocol, unsigne
|
||||
@@ -680,15 +723,8 @@ static struct object *create_socket( int family, int type, int protocol, unsigne
|
||||
struct sock *sock;
|
||||
int sockfd;
|
||||
|
||||
@ -177,7 +177,7 @@ index 57d3d93..37c78b1 100644
|
||||
if (!(sock = alloc_object( &sock_ops )))
|
||||
{
|
||||
close( sockfd );
|
||||
@@ -1263,6 +1299,17 @@ DECL_HANDLER(accept_into_socket)
|
||||
@@ -1267,6 +1303,17 @@ DECL_HANDLER(accept_into_socket)
|
||||
release_object( sock );
|
||||
}
|
||||
|
||||
@ -196,5 +196,5 @@ index 57d3d93..37c78b1 100644
|
||||
DECL_HANDLER(set_socket_event)
|
||||
{
|
||||
--
|
||||
2.6.2
|
||||
2.7.0
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user