From 6350f796fdd1c7519c35a9cd71b33b6dafc5ed3a Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Wed, 17 May 2023 10:55:17 +0900 Subject: w32: Cleaner semantics for PID and Process handle. * src/assuan-defs.h (struct assuan_context_s): Introduce SERVER_PROC member. Clarify the use of PROCESS_ID and PID. Introduce assuan_pid_t for internal use of process id or handle. * src/assuan.h.in: Follow the change. * src/assuan.c (assuan_new_ext): Likewise. * src/client.c (_assuan_client_finish): Likewise. * src/assuan-pipe-connect.c (pipe_connect): Likewise. * src/server.c (_assuan_server_finish): Likewise. * src/system-posix.c: Likewise. * src/system-w32.c: Likewise. * src/system.c: Likewise. * src/assuan-pipe-server.c (assuan_init_pipe_server) [HAVE_W32_SYSTEM]: Exclude the use of _assuan_pipe_connect_pid. * src/assuan-socket-server.c (accept_connection_bottom) [HAVE_W32_SYSTEM]: Exclude the use of the member peercred.pid. * src/assuan-socket.c (_assuan_sock_check_nonce): Support Cygwin Unix domain emulation for having valid client process ID. * src/context.c (assuan_get_pid): Clarify the use cases. * src/posix-types.inc.h, src/w32-types.inc.h: Introduce assuan_pid_t. -- GnuPG-bug-id: 6487 Signed-off-by: NIIBE Yutaka --- src/assuan-socket-server.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/assuan-socket-server.c') diff --git a/src/assuan-socket-server.c b/src/assuan-socket-server.c index f5fe038..a260221 100644 --- a/src/assuan-socket-server.c +++ b/src/assuan-socket-server.c @@ -139,10 +139,12 @@ accept_connection_bottom (assuan_context_t ctx) } #endif +#if !defined(HAVE_W32_SYSTEM) /* This overrides any already set PID if the function returns a valid one. */ if (ctx->peercred_valid && ctx->peercred.pid != ASSUAN_INVALID_PID) ctx->pid = ctx->peercred.pid; +#endif ctx->inbound.fd = fd; ctx->inbound.eof = 0; -- cgit v1.2.3