From d0b609c68ad040910313dfb3b145d6299ce8dbf4 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Mon, 3 Jan 2022 11:24:29 +0000 Subject: [PATCH] Move agent_named_pipe_name into its own source file. It's used by server and client, so it seems silly to have it live in the client code. --- windows/CMakeLists.txt | 1 + windows/agent-client.c | 11 ----------- windows/utils/agent_named_pipe_name.c | 17 +++++++++++++++++ 3 files changed, 18 insertions(+), 11 deletions(-) create mode 100644 windows/utils/agent_named_pipe_name.c diff --git a/windows/CMakeLists.txt b/windows/CMakeLists.txt index 0a999e51..54a72018 100644 --- a/windows/CMakeLists.txt +++ b/windows/CMakeLists.txt @@ -1,6 +1,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) add_sources_from_current_dir(utils + utils/agent_named_pipe_name.c utils/arm_arch_queries.c utils/cryptoapi.c utils/defaults.c diff --git a/windows/agent-client.c b/windows/agent-client.c index 408480df..1183bff8 100644 --- a/windows/agent-client.c +++ b/windows/agent-client.c @@ -123,17 +123,6 @@ static void wm_copydata_agent_query(strbuf *query, void **out, int *outlen) LocalFree(psd); } -char *agent_named_pipe_name(void) -{ - char *username, *suffix, *pipename; - username = get_username(); - suffix = capi_obfuscate_string("Pageant"); - pipename = dupprintf("\\\\.\\pipe\\pageant.%s.%s", username, suffix); - sfree(username); - sfree(suffix); - return pipename; -} - Socket *agent_connect(Plug *plug) { char *pipename = agent_named_pipe_name(); diff --git a/windows/utils/agent_named_pipe_name.c b/windows/utils/agent_named_pipe_name.c new file mode 100644 index 00000000..aa64b3f6 --- /dev/null +++ b/windows/utils/agent_named_pipe_name.c @@ -0,0 +1,17 @@ +/* + * Return the full pathname of the named pipe Pageant will listen on. + * Used by both the Pageant server code and client code. + */ + +#include "putty.h" +#include "cryptoapi.h" + +char *agent_named_pipe_name(void) +{ + char *username = get_username(); + char *suffix = capi_obfuscate_string("Pageant"); + char *pipename = dupprintf("\\\\.\\pipe\\pageant.%s.%s", username, suffix); + sfree(username); + sfree(suffix); + return pipename; +}