| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/assuan-defs.h (struct assuan_context_s): Have w32_error field.
(_assuan_sock_wsa2errno): Supply CTX argument.
* src/assuan-socket.c (_assuan_sock_wsa2errno): Put ERR to the field
in CTX argument.
(_assuan_sock_get_flag): Support "w32_error" string.
(_assuan_sock_accept, _assuan_sock_bind): Follow the change.
* src/assuan-uds.c (uds_reader, uds_writer): Likewise.
* src/system-w32.c (__assuan_close, __assuan_socket): Likewise.
(__assuan_connect): Likewise.
--
GnuPG-bug-id: 7456
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/assuan-pipe-connect.c (assuan_pipe_wait_server_termination)
(assuan_pipe_kill_server): New.
* src/assuan.h.in: Add new functions.
* src/libassuan.def: Add symbols for those functions.
* src/libassuan.vers: Likewise.
* src/system-posix.c (__assuan_waitpid): Extend the semantics for
OPTIONS.
* src/system-w32.c (__assuan_waitpid): Likewise.
--
GnuPG-bug-id: T6487
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/system-w32.c (__assuan_close): Revert the change.
--
There are use cases where closing output_fd / input_fd which
may be not socket.
Fixes-commit: c93eb901e58d5b31294c2d452659b5150d95ec59
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
|
| |
* src/system-w32.c (get_file_handle): Have a CTX to compose an error.
(w32_fdpass_send): Check PROCESS_ID.
Compose an error with _assuan_error.
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/assuan-handler.c (w32_handler_sendfd): It's Windows HANDLE.
* src/system-w32.c (get_file_handle, w32_fdpass_send): Likewise.
* tests/fdpassing.c (cmd_echo): Received FD is Windows HANDLE.
(client): Use Windows HANDLE for assuan_sendfd.
--
GnuPG-bug-id: 6236
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/assuan-defs.h (struct assuan_context_s): Rename to process_id.
* src/assuan-pipe-connect.c (initial_handshake): Fix variable name
and access to the member field.
* src/assuan-socket-connect.c (_assuan_connect_finalize): Likewise.
* src/system-w32.c (get_file_handle): Likewise.
(w32_fdpass_send): Likewise.
--
Fixes-commit: ba84b780df973ba7ca7f7c51fbd1b6d1a69b8c01
GnuPG-bug-id: 6236
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/assuan-defs.h (struct assuan_context_s): Add process_handle
field. It's "int" instead of DWORD, because of getpid function.
* src/assuan-pipe-connect.c (initial_handshake): Set ->process_handle,
not override ->pid.
* src/assuan-socket-connect.c (assuan_connect_finalize): Likewise.
* src/system-w32.c (w32_fdpass_send): Use ->process_handle.
--
In the client code, ctx->pid (by the function assuan_get_pid) may be
used to watch the finish of server process. Thus, it should not be
overridden. See: gnupg/agent/call-daemon.c.
GnuPG-bug-id: 6236
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/assuan-defs.h (w32_fdpass_send, w32_fdpass_recv): New.
* src/assuan-pipe-connect.c [HAVE_W32_SYSTEM] (pipe_connect): Set
w32_fdpass_send.
[!HAVE_W32_SYSTEM] (assuan_pipe_connect): Use socketpair_connect.
* src/assuan-pipe-server.c
[HAVE_W32_SYSTEM] (assuan_init_pipe_server): Set w32_fdpass_recv.
* src/system-w32.c (get_file_handle): New.
(w32_fdpass_send): New, using "SENDFD" internal command.
(w32_fdpass_recv): New, using the result of "SENDFD" internal command.
--
GnuPG-bug-id: 6236
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/assuan-defs.h (struct assuan_context_s): Add is_socket flag.
* src/assuan-socket.c (assuan_sock_init): Set the flag.
* src/assuan-socket-connect.c (_assuan_connect_finalize): Likewise.
* src/assuan-socket-server.c (assuan_init_socket_server): Likewise.
* src/system-w32.c (__assuan_close): Use the flag.
(is_socket): Remove.
(__assuan_read, __assuan_write): Use the flag.
--
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/posix-fd-t.inc.h (assuan_fd_from_posix_fd): Revert.
* src/w32-fd-t.inc.h (assuan_fd_from_posix_fd): Revert.
* src/system-w32.c (assuan_fd_from_posix_fd): Revert.
--
Note that assuan_fd_from_posix_fd is exposed inline function.
Fixes-commit: 28a40a298661877e1bbeb3eb9ac58a85bdd85b02
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/assuan-defs.h (_assuan_pre_syscall, _assuan_post_syscall): New.
* src/assuan.c (_assuan_pre_syscall, _assuan_post_syscall): New.
(pre_syscall_func, post_syscall_func): New.
(_assuan_syscall_func_initialized): New.
(assuan_new_ext): Call gpgrt_get_syscall_clamp to get clamp functions.
* src/system-posix.c (_assuan_system_hooks): Use version 0.
* src/system-w32.c (_assuan_system_hooks): Likewise.
* src/system.c (_assuan_usleep): Call clamp functions if no hooks.
(_assuan_close, _assuan_close_inheritable, _assuan_read): Likewise.
(_assuan_write, _assuan_recvmsg, _assuan_sendmsg): Likewise.
(_assuan_waitpid, _assuan_connect): Likewise.
(_assuan_pipe): Call __assuan_pipe directly if no hooks.
(_assuan_spawn): Call __assuan_spawn directly if no hooks.
(_assuan_socketpair): Call __assuan_socketpair directly if no hooks.
(_assuan_socket): Call __assuan_socket directly if no hooks.
--
GnuPG-bug-id: 5914
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/assuan.h.in (assuan_socket_connect_fd): Second arg assuan_fd_t.
* src/assuan-socket-connect.c (assuan_socket_connect_fd): Second arg
should be an object of type SOCKET.
* src/posix-fd-t.inc.h (assuan_fd_from_posix_fd): Remove.
* src/w32-fd-t.inc.h (assuan_fd_from_posix_fd): Move to...
* src/system-w32.c (assuan_fd_from_posix_fd): ... here.
--
On Windows, when an application has an already-connected socket, it
must be an object of type SOCKET. In this case, it is wrong to use
_get_osfhandle.
This does not constitute any ABI/API change for POSIX system.
This is an API change for Windows, as assuan_fd_t on Windows is
pointer type, but it's a fix from non-correctly-usable API.
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/assuan-defs.h (_assuan_socket): Return value has type assuan_fd_t.
(_assuan_connect): Second argument has type assuan_fd_t.
[HAVE_W64_SYSTEM] (SOCKET2HANDLE): Revert the change before.
* src/assuan-socket.c (_assuan_sock_new): No type coercion for
_assuan_socket.
(socks5_connect): No type coercion for _assuan_connect.
(_assuan_sock_connect): Likewise.
* src/assuan.h.in (struct assuan_system_hooks): Fix method signature
of socket for return value type and of connect for the second
argument.
(__assuan_socket): Return value has type assuan_fd_t.
(__assuan_connect): Second argument has type assuan_fd_t.
(ASSUAN_SYSTEM_NPTH_IMPL): Fix for _assuan_npth_connect for its
second argument.
* src/system-w32.c (__assuan_socket): Return value has type
assuan_fd_t.
Use SOCKET2HANDLE for type coercion for socket.
Use INVALID_SOCKET.
(__assuan_connect): Second argument has type assuan_fd_t.
Use HANDLE2SOCKET for type coercion for sock.
* src/system.c (_assuan_socket): Return value has type assuan_fd_t.
(_assuan_connect): Second argument has type assuan_fd_t.
--
Note that this change does *NOT* constitute any ABI change, no API
change, either. It is fix for internal consistency for socket.
The change of SOCKET2HANDLE in the past for HAVE_W64_SYSTEM was done,
because of internal use of 'int' which represents the type for socket.
Instead of fixing that part of code for 'int', I touched another part
to silence warnings. That's not correct fix, but a work around.
This time, with the changes, whole parts are now consisitent.
Fixes-commit: 6c736325c028647dc3283bf723e2e28199e7f45b
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
|
|
| |
* src/assuan-socket.c (utf8_to_wchar): Rename to
(_assuan_utf8_to_wchar): this and give global scope.
* src/system-w32.c (__assuan_spawn): Use CreateProcessW.
--
GnuPG-bug-id: 4398
|
|
|
|
| |
--
|
|
|
|
|
| |
--
Signed-off-by: Justus Winter <[email protected]>
|
|
|
|
|
|
|
| |
* src/system-w32.c (__assuan_read): Retry using select. Map
WSAECONNRESET to EPIPE.
(__assuan_write): Retry using select.
* src/assuan-buffer.c (readline) [W32]: Return EOF instead of EPIPE.
|
|
|
|
|
|
|
|
| |
* src/system-w32.c: Do not include windows.h here.
--
winsock2.h must now be included before windows.h. This is already
properly handled by assuan-defs.h.
|
|
|
|
|
|
|
|
|
| |
* assuan.h.in (ASSUAN_SYSTEM_NPTH_IMPL): Use npth_unprotect and
npth_protect with actual assuan functions instead of npth wrappers.
* libassuan.def: Add __assuan_read, __assuan_write, __assuan_sendmsg,
__assuan_recvmsg, __assuan_waitpid exports.
* system-w32.c (__assuan_read, __assuan_write, __assuan_sendmsg,
__assuan_recvmsg, __assuan_waitpid): Make non-static.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
assuan-socket.c.
2011-02-03 Marcus Brinkmann <[email protected]>
* assuan-socket.c (_assuan_sock_new): Call _assuan_socket instead
of socket.
(_assuan_sock_connect): Call _assuan_connect instead of connect.
* assuan-socket-connect.c (assuan_socket_connect): Call
_assuan_sock_new and _assuan_sock_connect instead of
_assuan_socket and assuan_connect.
* src/system-w32.c, src/system-w32ce.c (__assuan_socket): Call
socket instead of _assuan_sock_new.
(__assuan_connect): Call connect instead of _assuan_sock_connect.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2011-02-02 Marcus Brinkmann <[email protected]>
* assuan-defs.h (_assuan_socket, _assuan_connect): New prototypes.
* assuan.h.in (ASSUAN_SYSTEM_HOOKS_VERSION): Bumped to 2.
(struct assuan_system_hooks): Add socket and connect members.
(__assuan_socket, __assuan_connect): New prototypes.
(_ASSUAN_SYSTEM_PTH_IMPL): Add socket and connect members. *
assuan-socket-connect.c (assuan_socket_connect): Call
_assuan_socket and _assuan_connect instead _assuan_sock_new and
_assuan_sock_connect.
(libassuan.def, libassuan.vers): Add __assuan_socket and
__assuan_connect.
* system.c (_assuan_system_hooks_copy): Initialize destination
from system hooks, so we don't get any NULL pointers if there is a
version mismatch. Support version 2 of the system hook structure.
(_assuan_socket, _assuan_connect): New functions.
* system-posix.c (__assuan_socket, __assuan_connect): New functions.
(_assuan_system_hooks): Add __assuan_socketm, __assuan_connect.
* system-w32.c (__assuan_socket, __assuan_connect): New functions.
(_assuan_system_hooks): Add __assuan_socketm, __assuan_connect.
* system-w32ce.c (__assuan_socket, __assuan_connect): New functions.
(_assuan_system_hooks): Add __assuan_socketm, __assuan_connect.
|
| |
|
| |
|
|
|
|
|
| |
Reorganized the source.
|
|
|