diff options
author | NIIBE Yutaka <[email protected]> | 2023-05-17 01:55:17 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2023-05-17 01:55:17 +0000 |
commit | 6350f796fdd1c7519c35a9cd71b33b6dafc5ed3a (patch) | |
tree | b95049d835579972a6f0236b018d68a2f5082aac /src/assuan-pipe-server.c | |
parent | Fix comments. (diff) | |
download | libassuan-6350f796fdd1c7519c35a9cd71b33b6dafc5ed3a.tar.gz libassuan-6350f796fdd1c7519c35a9cd71b33b6dafc5ed3a.zip |
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 <[email protected]>
Diffstat (limited to 'src/assuan-pipe-server.c')
-rw-r--r-- | src/assuan-pipe-server.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/assuan-pipe-server.c b/src/assuan-pipe-server.c index 5c960a6..4858ac5 100644 --- a/src/assuan-pipe-server.c +++ b/src/assuan-pipe-server.c @@ -65,8 +65,10 @@ is_valid_socket (const char *s) gpg_error_t assuan_init_pipe_server (assuan_context_t ctx, assuan_fd_t filedes[2]) { +#if !defined(HAVE_W32_SYSTEM) const char *s; unsigned long ul; +#endif gpg_error_t rc; assuan_fd_t infd = ASSUAN_INVALID_FD; assuan_fd_t outfd = ASSUAN_INVALID_FD; @@ -130,11 +132,13 @@ assuan_init_pipe_server (assuan_context_t ctx, assuan_fd_t filedes[2]) #endif ctx->max_accepts = 1; +#if !defined(HAVE_W32_SYSTEM) s = getenv ("_assuan_pipe_connect_pid"); if (s && (ul=strtoul (s, NULL, 10)) && ul) ctx->pid = (pid_t)ul; else ctx->pid = (pid_t)-1; +#endif ctx->accept_handler = NULL; ctx->finish_handler = _assuan_server_finish; ctx->inbound.fd = infd; |