mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-07-02 12:02:47 -05:00
winnpc.c: add low-level connect_to_named_pipe() function.
This contains most of the guts of the previously monolithic function new_named_pipe_client(), but it directly returns the HANDLE to the opened pipe, or a string error message on failure. new_named_pipe_client() is now a thin veneer on top of that, which returns a Socket * by wrapping up the HANDLE into a HandleSocket or the error message into an ErrorSocket as appropriate. So it's now possible to connect to a named pipe, using all our usual infrastructure (including in particular the ownership check of the server, to defend against spoofing attacks), without having to have a Socket-capable event loop in progress.
This commit is contained in:
@ -373,6 +373,12 @@ Socket *make_handle_socket(HANDLE send_H, HANDLE recv_H, HANDLE stderr_H,
|
||||
Socket *new_named_pipe_client(const char *pipename, Plug *plug); /* winnpc */
|
||||
Socket *new_named_pipe_listener(const char *pipename, Plug *plug); /* winnps */
|
||||
|
||||
/* A lower-level function in winnpc.c, which does most of the work of
|
||||
* new_named_pipe_client (including checking the ownership of what
|
||||
* it's connected to), but returns a plain HANDLE instead of wrapping
|
||||
* it into a Socket. */
|
||||
HANDLE connect_to_named_pipe(const char *pipename, char **err);
|
||||
|
||||
/*
|
||||
* Exports from winctrls.c.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user