Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
9ac3f24f
Commit
9ac3f24f
authored
Jul 10, 2020
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ntdll: Move the FSCTL_PIPE_IMPERSONATE semi-stub to the server.
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
4a49af0c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
2 deletions
+13
-2
file.c
dlls/ntdll/unix/file.c
+2
-2
named_pipe.c
server/named_pipe.c
+11
-0
No files found.
dlls/ntdll/unix/file.c
View file @
9ac3f24f
...
...
@@ -5665,8 +5665,8 @@ NTSTATUS WINAPI NtFsControlFile( HANDLE handle, HANDLE event, PIO_APC_ROUTINE ap
case
FSCTL_PIPE_IMPERSONATE
:
FIXME
(
"FSCTL_PIPE_IMPERSONATE: impersonating self
\n
"
);
status
=
RtlImpersonateSelf
(
SecurityImpersonation
);
break
;
return
server_ioctl_file
(
handle
,
event
,
apc
,
apc_context
,
io
,
code
,
in_buffer
,
in_size
,
out_buffer
,
out_size
)
;
case
FSCTL_IS_VOLUME_MOUNTED
:
case
FSCTL_LOCK_VOLUME
:
...
...
server/named_pipe.c
View file @
9ac3f24f
...
...
@@ -1138,6 +1138,17 @@ static int pipe_server_ioctl( struct fd *fd, ioctl_code_t code, struct async *as
pipe_end_disconnect
(
&
server
->
pipe_end
,
STATUS_PIPE_DISCONNECTED
);
return
1
;
case
FSCTL_PIPE_IMPERSONATE
:
if
(
current
->
process
->
token
)
/* FIXME: use the client token */
{
struct
token
*
token
;
if
(
!
(
token
=
token_duplicate
(
current
->
process
->
token
,
0
,
SecurityImpersonation
,
NULL
)))
return
0
;
if
(
current
->
token
)
release_object
(
current
->
token
);
current
->
token
=
token
;
}
return
1
;
default:
return
pipe_end_ioctl
(
&
server
->
pipe_end
,
code
,
async
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment