Rebase against cd858d59d6532a0cf624ff1dabc57a370deb43bf.

This commit is contained in:
Alistair Leslie-Hughes
2025-10-31 15:17:38 +11:00
parent 6e5b36c9ee
commit c8c2492b13
4 changed files with 16 additions and 346 deletions

View File

@@ -1,4 +1,4 @@
From f0d41c59ac06aabfba83d598fb017c7f0a918a99 Mon Sep 17 00:00:00 2001
From 5f3feef99f8c9740f04dbe0ee1b23ca27d60548e Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Thu, 16 Jan 2014 20:56:49 -0700
Subject: [PATCH] ntdll: Add support for creating reparse points.
@@ -12,11 +12,11 @@ Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
4 files changed, 310 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 242eb15ec19..ccd5095f3ba 100644
index b675da34d58..63e3bb5bdc7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2132,6 +2132,8 @@ AC_CHECK_FUNCS(\
prctl \
@@ -2137,6 +2137,8 @@ AC_CHECK_FUNCS(\
process_vm_writev \
sched_getcpu \
sched_yield \
+ renameat \

View File

@@ -1,19 +1,19 @@
From e4b0e1bd0ae993ac209367318a98ad63a5eec62b Mon Sep 17 00:00:00 2001
From 4d813b6202a9fb74ee1ca1573658bd27dce11f78 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@wine-staging.com>
Date: Mon, 3 May 2021 09:28:08 -0600
Subject: [PATCH] ntdll: Add support for creating Unix/Linux symlinks.
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
---
dlls/ntdll/unix/file.c | 38 ++++++++++++++++++++++++++------------
include/winnt.h | 1 +
3 files changed, 62 insertions(+), 12 deletions(-)
dlls/ntdll/unix/file.c | 38 ++++++++++++++++++++++++++------------
include/winnt.h | 1 +
2 files changed, 27 insertions(+), 12 deletions(-)
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c
index fe1c50468a4..f87117438b8 100644
index cb1932949d6..4fa7c610c46 100644
--- a/dlls/ntdll/unix/file.c
+++ b/dlls/ntdll/unix/file.c
@@ -3761,20 +3761,33 @@ NTSTATUS create_reparse_point(HANDLE handle, REPARSE_DATA_BUFFER *buffer)
@@ -3864,20 +3864,33 @@ NTSTATUS create_reparse_point(HANDLE handle, REPARSE_DATA_BUFFER *buffer)
* *) Append the base64-url encoded reparse point buffer
* *) Append the filename of the first continuing symlink (0) in case we need it
*/
@@ -58,7 +58,7 @@ index fe1c50468a4..f87117438b8 100644
/* Produce the link in a temporary location in the same folder */
strcpy( tmpdir, unix_src );
@@ -3839,7 +3852,8 @@ NTSTATUS create_reparse_point(HANDLE handle, REPARSE_DATA_BUFFER *buffer)
@@ -3942,7 +3955,8 @@ NTSTATUS create_reparse_point(HANDLE handle, REPARSE_DATA_BUFFER *buffer)
}
/* create the very last link directory */
@@ -69,17 +69,17 @@ index fe1c50468a4..f87117438b8 100644
strcpy( link_path, target_path );
strcpy( link_dir, link_path );
diff --git a/include/winnt.h b/include/winnt.h
index 019d0b16693..469287cc0ef 100644
index 24485ef0e39..1e31471e797 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -2330,6 +2330,7 @@ extern struct _TEB * WINAPI NtCurrentTeb(void);
@@ -2563,6 +2563,7 @@ static FORCEINLINE struct _TEB * WINAPI NtCurrentTeb(void)
#define IO_REPARSE_TAG_CLOUD_MASK __MSABI_LONG(0x0000F000)
#define IO_REPARSE_TAG_APPEXECLINK __MSABI_LONG(0x8000001B)
#define IO_REPARSE_TAG_GVFS __MSABI_LONG(0x9000001C)
#define IO_REPARSE_TAG_PROJFS __MSABI_LONG(0x9000001C)
+#define IO_REPARSE_TAG_LX_SYMLINK __MSABI_LONG(0xA000001D)
#define IO_REPARSE_TAG_STORAGE_SYNC __MSABI_LONG(0x8000001E)
#define IO_REPARSE_TAG_WCI_TOMBSTONE __MSABI_LONG(0xA000001F)
#define IO_REPARSE_TAG_UNHANDLED __MSABI_LONG(0x80000020)
--
2.37.2
2.51.0