Rebase against bd2999db92e63f3aa8b48945503c616c28726842.

[dwmapi-DwmSetWindowAttribute]
Removed patch to fake success in dwmapi.DwmSetWindowAttribute function
(accepted upstream).

[ntdll-NtSetLdtEntries]
Partially removed patch to implement ntdll.NtSetLdtEntries (accepted upstream).

[shell32-UNIXFS_get_unix_path]
Removed patch to check IsWoW64Process before calling Wow64 functions in
UNIXFS_get_unix_path (fixed upstream).
This commit is contained in:
Sebastian Lackner
2016-05-02 20:34:01 +02:00
parent 07d872e2bc
commit 8e5acbdae3
18 changed files with 113 additions and 359 deletions

View File

@@ -1,4 +1,4 @@
From bb902548f15deec4dc9d9eaaf6e78b4cbdb01f87 Mon Sep 17 00:00:00 2001
From b46fe984533047235c49722a6e0d48960a487cdb Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Fri, 4 Dec 2015 10:36:47 +0100
Subject: server: Introduce a new alloc_handle object callback. (v2)
@@ -74,15 +74,15 @@ index 3ff7540..7bebf13 100644
atom_table_destroy /* destroy */
};
diff --git a/server/change.c b/server/change.c
index 36a1997..6da2f63 100644
index 7c0ca99..753bf66 100644
--- a/server/change.c
+++ b/server/change.c
@@ -169,6 +169,7 @@ static const struct object_ops dir_ops =
@@ -172,6 +172,7 @@ static const struct object_ops dir_ops =
no_link_name, /* link_name */
NULL, /* unlink_name */
no_open_file, /* open_file */
+ no_alloc_handle, /* alloc_handle */
fd_close_handle, /* close_handle */
dir_close_handle, /* close_handle */
dir_destroy /* destroy */
};
diff --git a/server/clipboard.c b/server/clipboard.c
@@ -98,7 +98,7 @@ index 7b92706..fa3aa51 100644
no_destroy /* destroy */
};
diff --git a/server/completion.c b/server/completion.c
index 759c6e2..bca0963 100644
index 8b8983a..72dbc5b 100644
--- a/server/completion.c
+++ b/server/completion.c
@@ -75,6 +75,7 @@ static const struct object_ops completion_ops =
@@ -110,7 +110,7 @@ index 759c6e2..bca0963 100644
completion_destroy /* destroy */
};
diff --git a/server/console.c b/server/console.c
index 0d98b78..37e413c 100644
index 4d275f0..5575c9d 100644
--- a/server/console.c
+++ b/server/console.c
@@ -87,6 +87,7 @@ static const struct object_ops console_input_ops =
@@ -158,7 +158,7 @@ index 2eb794a..a2c07ba 100644
debug_ctx_destroy /* destroy */
};
diff --git a/server/device.c b/server/device.c
index a8f6f5d..4fdf7ad 100644
index 22ade88..b949548 100644
--- a/server/device.c
+++ b/server/device.c
@@ -81,6 +81,7 @@ static const struct object_ops irp_call_ops =
@@ -194,7 +194,7 @@ index a8f6f5d..4fdf7ad 100644
device_file_destroy /* destroy */
};
diff --git a/server/directory.c b/server/directory.c
index 45683b9..445c35c 100644
index 96555bb..26600f8 100644
--- a/server/directory.c
+++ b/server/directory.c
@@ -67,6 +67,7 @@ static const struct object_ops object_type_ops =
@@ -214,7 +214,7 @@ index 45683b9..445c35c 100644
directory_destroy /* destroy */
};
diff --git a/server/event.c b/server/event.c
index c9a0ebb..36ea8fd 100644
index cfc0f6a..608fafb 100644
--- a/server/event.c
+++ b/server/event.c
@@ -68,6 +68,7 @@ static const struct object_ops event_ops =
@@ -234,10 +234,10 @@ index c9a0ebb..36ea8fd 100644
no_destroy /* destroy */
};
diff --git a/server/fd.c b/server/fd.c
index 28f5346..c64132c 100644
index 17b1b66..3e0a62b 100644
--- a/server/fd.c
+++ b/server/fd.c
@@ -212,6 +212,7 @@ static const struct object_ops fd_ops =
@@ -217,6 +217,7 @@ static const struct object_ops fd_ops =
no_link_name, /* link_name */
NULL, /* unlink_name */
no_open_file, /* open_file */
@@ -245,7 +245,7 @@ index 28f5346..c64132c 100644
no_close_handle, /* close_handle */
fd_destroy /* destroy */
};
@@ -251,6 +252,7 @@ static const struct object_ops device_ops =
@@ -256,6 +257,7 @@ static const struct object_ops device_ops =
no_link_name, /* link_name */
NULL, /* unlink_name */
no_open_file, /* open_file */
@@ -253,7 +253,7 @@ index 28f5346..c64132c 100644
no_close_handle, /* close_handle */
device_destroy /* destroy */
};
@@ -289,6 +291,7 @@ static const struct object_ops inode_ops =
@@ -294,6 +296,7 @@ static const struct object_ops inode_ops =
no_link_name, /* link_name */
NULL, /* unlink_name */
no_open_file, /* open_file */
@@ -261,7 +261,7 @@ index 28f5346..c64132c 100644
no_close_handle, /* close_handle */
inode_destroy /* destroy */
};
@@ -329,6 +332,7 @@ static const struct object_ops file_lock_ops =
@@ -334,6 +337,7 @@ static const struct object_ops file_lock_ops =
no_link_name, /* link_name */
NULL, /* unlink_name */
no_open_file, /* open_file */
@@ -270,10 +270,10 @@ index 28f5346..c64132c 100644
no_destroy /* destroy */
};
diff --git a/server/file.c b/server/file.c
index 15fd411..e6f3fc2 100644
index dacb24a..fcf18e5 100644
--- a/server/file.c
+++ b/server/file.c
@@ -94,6 +94,7 @@ static const struct object_ops file_ops =
@@ -95,6 +95,7 @@ static const struct object_ops file_ops =
no_link_name, /* link_name */
NULL, /* unlink_name */
file_open_file, /* open_file */
@@ -282,7 +282,7 @@ index 15fd411..e6f3fc2 100644
file_destroy /* destroy */
};
diff --git a/server/handle.c b/server/handle.c
index f440f9f..eb83a3b 100644
index 37fba69..a8fd228 100644
--- a/server/handle.c
+++ b/server/handle.c
@@ -133,6 +133,7 @@ static const struct object_ops handle_table_ops =
@@ -339,7 +339,7 @@ index 3a0e4b4..dc653b8 100644
hook_table_destroy /* destroy */
};
diff --git a/server/mailslot.c b/server/mailslot.c
index a0fa6e2..bff0208 100644
index ea28825..a745a54 100644
--- a/server/mailslot.c
+++ b/server/mailslot.c
@@ -89,6 +89,7 @@ static const struct object_ops mailslot_ops =
@@ -367,7 +367,7 @@ index a0fa6e2..bff0208 100644
mailslot_device_destroy /* destroy */
};
diff --git a/server/mapping.c b/server/mapping.c
index 4384cec..fc6404f 100644
index fe30450..a612766 100644
--- a/server/mapping.c
+++ b/server/mapping.c
@@ -94,6 +94,7 @@ static const struct object_ops mapping_ops =
@@ -379,7 +379,7 @@ index 4384cec..fc6404f 100644
mapping_destroy /* destroy */
};
diff --git a/server/mutex.c b/server/mutex.c
index ca0da59..3598ac9 100644
index 3693095..e96bfd0 100644
--- a/server/mutex.c
+++ b/server/mutex.c
@@ -71,6 +71,7 @@ static const struct object_ops mutex_ops =
@@ -391,7 +391,7 @@ index ca0da59..3598ac9 100644
mutex_destroy /* destroy */
};
diff --git a/server/named_pipe.c b/server/named_pipe.c
index 1e4169d..ade9165 100644
index 0661c12..eb0696e 100644
--- a/server/named_pipe.c
+++ b/server/named_pipe.c
@@ -135,6 +135,7 @@ static const struct object_ops named_pipe_ops =
@@ -427,10 +427,10 @@ index 1e4169d..ade9165 100644
named_pipe_device_destroy /* destroy */
};
diff --git a/server/object.c b/server/object.c
index b8be122..8310067 100644
index ad22ec1..f5d7d9f 100644
--- a/server/object.c
+++ b/server/object.c
@@ -563,6 +563,10 @@ struct object *no_open_file( struct object *obj, unsigned int access, unsigned i
@@ -652,6 +652,10 @@ struct object *no_open_file( struct object *obj, unsigned int access, unsigned i
return NULL;
}
@@ -442,10 +442,10 @@ index b8be122..8310067 100644
{
return 1; /* ok to close */
diff --git a/server/object.h b/server/object.h
index c4bc40b..16bf089 100644
index 687f730..f82fb67 100644
--- a/server/object.h
+++ b/server/object.h
@@ -90,8 +90,10 @@ struct object_ops
@@ -89,8 +89,10 @@ struct object_ops
/* open a file object to access this object */
struct object *(*open_file)(struct object *, unsigned int access, unsigned int sharing,
unsigned int options);
@@ -457,7 +457,7 @@ index c4bc40b..16bf089 100644
/* destroy on refcount == 0 */
void (*destroy)(struct object *);
};
@@ -161,6 +163,7 @@ extern int no_link_name( struct object *obj, struct object_name *name, struct ob
@@ -163,6 +165,7 @@ extern int no_link_name( struct object *obj, struct object_name *name, struct ob
extern void default_unlink_name( struct object *obj, struct object_name *name );
extern struct object *no_open_file( struct object *obj, unsigned int access, unsigned int sharing,
unsigned int options );
@@ -466,7 +466,7 @@ index c4bc40b..16bf089 100644
extern void no_destroy( struct object *obj );
#ifdef DEBUG_OBJECTS
diff --git a/server/process.c b/server/process.c
index c9bcabb..cc9c01c 100644
index 48ada99..8334eaa 100644
--- a/server/process.c
+++ b/server/process.c
@@ -84,6 +84,7 @@ static const struct object_ops process_ops =
@@ -514,10 +514,10 @@ index f82060f..e097f5b 100644
thread_input_destroy /* destroy */
};
diff --git a/server/registry.c b/server/registry.c
index 5ca2a52..e38d6bb 100644
index 97b16ed..6a38de7 100644
--- a/server/registry.c
+++ b/server/registry.c
@@ -169,6 +169,7 @@ static const struct object_ops key_ops =
@@ -170,6 +170,7 @@ static const struct object_ops key_ops =
no_link_name, /* link_name */
NULL, /* unlink_name */
no_open_file, /* open_file */
@@ -526,7 +526,7 @@ index 5ca2a52..e38d6bb 100644
key_destroy /* destroy */
};
diff --git a/server/request.c b/server/request.c
index dfa4485..122de96 100644
index 597bf88..7d88202 100644
--- a/server/request.c
+++ b/server/request.c
@@ -107,6 +107,7 @@ static const struct object_ops master_socket_ops =
@@ -538,7 +538,7 @@ index dfa4485..122de96 100644
master_socket_destroy /* destroy */
};
diff --git a/server/semaphore.c b/server/semaphore.c
index c77bd58..9c06ce4 100644
index 08ff153..15e7392 100644
--- a/server/semaphore.c
+++ b/server/semaphore.c
@@ -68,6 +68,7 @@ static const struct object_ops semaphore_ops =
@@ -574,7 +574,7 @@ index c20e154..8c05c5f 100644
handler_destroy /* destroy */
};
diff --git a/server/snapshot.c b/server/snapshot.c
index 3566b89..a0cf32e 100644
index e35588a..6e788ab 100644
--- a/server/snapshot.c
+++ b/server/snapshot.c
@@ -71,6 +71,7 @@ static const struct object_ops snapshot_ops =
@@ -606,7 +606,7 @@ index dc10d2a..a11964f 100644
ifchange_destroy /* destroy */
};
diff --git a/server/symlink.c b/server/symlink.c
index bd09d34..6607e47 100644
index e176267..034ecdd 100644
--- a/server/symlink.c
+++ b/server/symlink.c
@@ -70,6 +70,7 @@ static const struct object_ops symlink_ops =
@@ -618,7 +618,7 @@ index bd09d34..6607e47 100644
symlink_destroy /* destroy */
};
diff --git a/server/thread.c b/server/thread.c
index ca02a8a..71b4d7b 100644
index 5f8405b..4069af3 100644
--- a/server/thread.c
+++ b/server/thread.c
@@ -120,6 +120,7 @@ static const struct object_ops thread_apc_ops =
@@ -638,7 +638,7 @@ index ca02a8a..71b4d7b 100644
destroy_thread /* destroy */
};
diff --git a/server/timer.c b/server/timer.c
index 0d81d90..966d65d 100644
index c8b4fa8..23c613b 100644
--- a/server/timer.c
+++ b/server/timer.c
@@ -75,6 +75,7 @@ static const struct object_ops timer_ops =
@@ -662,10 +662,10 @@ index ca12813..e13d03a 100644
token_destroy /* destroy */
};
diff --git a/server/winstation.c b/server/winstation.c
index 9dc348d..17c312a 100644
index a0be058..5f96be8 100644
--- a/server/winstation.c
+++ b/server/winstation.c
@@ -73,6 +73,7 @@ static const struct object_ops winstation_ops =
@@ -75,6 +75,7 @@ static const struct object_ops winstation_ops =
directory_link_name, /* link_name */
default_unlink_name, /* unlink_name */
no_open_file, /* open_file */
@@ -673,7 +673,7 @@ index 9dc348d..17c312a 100644
winstation_close_handle, /* close_handle */
winstation_destroy /* destroy */
};
@@ -96,6 +97,7 @@ static const struct object_ops desktop_ops =
@@ -98,6 +99,7 @@ static const struct object_ops desktop_ops =
desktop_link_name, /* link_name */
default_unlink_name, /* unlink_name */
no_open_file, /* open_file */
@@ -682,5 +682,5 @@ index 9dc348d..17c312a 100644
desktop_destroy /* destroy */
};
--
2.7.0
2.8.0