| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
| |
* gpgcedev.c (GPGCEDEV_IOCTL_UNBLOCK): New ioctl.
(PIPE_FLAG_UNBLOCK_READER, PIPE_FLAG_UNBLOCK_WRITER): New flags.
(GPG_Read): Check if PIPE_FLAG_UNBLOCK_READER is set and return
ERROR_BUSY in that case.
(GPG_Write): Likewise for PIPE_FLAG_UNBLOCK_WRITER.
(unblock_call): New function.
(GPG_IOControl): Implement GPGCEDEV_IOCTL_UNBLOCK.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gpgcedev.c: This rewrite does away with troublesome race
conditions (close vs everything else, for example) by simplifying
the locking model. It also handles EOF, EPIPE, but still assumes
that there is always only ever one reader and writer. Also, no
need to treat ERROR_PIPE_NOT_CONNECTED and ERROR_BUSY as EAGAIN
anymore.
(struct pipeimpl_s, pipeimpl_t): New types.
(PIPE_FLAG_NO_READER, PIPE_FLAG, NO_WRITER): New macros.
(struct opnctx_s): Remove everything that's now in struct
pipeimpl_s. Remove also assoc and locked. Add pipeimpl field.
(pipeimpl_new, pipeimpl_unref, allocate_opnctx, verify_opnctx,
access_opnctx): New functions.
(get_new_opnctx, find_and_lock_opnctx, validate_and_lock_opnctx,
unlock_opnctx): Removed.
(GPG_Init, GPG_Deinit): Improve debugging output.
(GPG_Open): Improve debugging output, use allocate_opnctx instead
of get_new_opnctx.
(GPG_Close): Improve debugging output. Rewrite to use reference
counting. Also check if reader or writer is closed and set flags
for triggering EOF or EPIPE.
(GPG_Read): Improve debugging output. Rewrite using pipeimpl.
Check for EOF.
(GPG_Write): Improve debugging output. Rewrite using pipeimpl.
Check for EPIPE.
(make_pipe): Rewrite using pipeimpl.
(GPG_IOControl): Improve debugging output.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* assuan-uds.c (uds_reader, uds_sendfd): Don't break strict
aliasing rules.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* Makefile.am (EXTRA_DIST): Add gpgcedev.def.
|
|
|
|
|
| |
fixed a problem for W32CE and Pth.
|
| |
|
| |
|
|
|
|
|
| |
Reorganized the source.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* libassuan.vers, libassuan.def: Add assuan_set_sock_nonce.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Implement getenv replacement for W32CE.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* configure.ac (_DARWIN_C_SOURCE): Define on frapple.
|
|
|
|
|
|
|
|
| |
* debug.h (TRACE_LOG5): Add macro.
* debug.c (_assuan_debug_buffer): Add newline
* system.c: Add more debug output (conditioned on the compile-time
DEBUG_SYSIO macro).
|
| |
|
|
|
|
|
| |
* configure.ac: Do not use echo -n.
|
| |
|
|
|
|
|
| |
* configure.ac: Bump version to 2.0.0.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* assuan.h (struct assuan_system_hooks): Don't use "namespace" as
argument name in declaration (C++ keyword).
|
|
|
|
|
|
| |
* assuan.texi: Use our own copy of the setfont macro, as it takes
an extra argument since texinfo 4.13.
|
|
|
|
|
| |
* client.c (assuan_client_read_response): Fix linelen.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-12-08 Marcus Brinkmann <[email protected]>
* assuan.texi (Contexts): Document ASSUAN_SPAWN_DETACHED.
src/
2009-12-08 Marcus Brinkmann <[email protected]>
* assuan.h (ASSUAN_SPAWN_DETACHED): New macro.
* assuan-pipe-connect.c (pipe_connect): Calculate spawn_flags from
flags.
|
| |
|
|
|
|
|
| |
* assuan_fd_from_posix_fd (assuan_fd_from_posix_fd): Handle invalid fd early.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* assuan-socket.c (get_nonce): Cast buffer to unsigned.
(_assuan_sock_connect) [HAVE_W32_SYSTEM]: Drop ctx argument from
read_port_and_nonce invocation.
* system.c (assuan_fdopen) [HAVE_W32_SYSTEM]: Fix typo in variable
name.
(__assuan_spawn) [HAVE_W32_SYSTEM]: Fix types of fd and fdp. Use
ASSUAN_INVALID_FD. Add missing context argument to _assuan_free,
and fix call to _assuan_w32_strerror. Set errno on error.
(__assuan_socketpair) [HAVE_W32_STRERROR]: Fix type of filedes
argument.
* assuan-pipe-connect.c (pipe_connect, assuan_pipe_connect,
socketpair_connect) [HAVE_W32_SYSTEM]: Fix type of fd_child_list.
* assuan-defs.h (_assuan_socketpair): Likewise for prototype.
* assuan.h (assuan_fd_from_posix_fd): New static inline function.
|
|
|
|
|
|
|
|
|
|
| |
* assuan-logging.c: (log_cats): New static variable.
(TEST_LOG_CAT): New macro.
(_assuan_log_handler): Check log category.
(assuan_set_assuan_log_stream): Check ASSUAN_DEBUG for logging
categories.
(assuan_set_log_stream): Call assuan_set_assuan_log_stream.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-12-02 Marcus Brinkmann <[email protected]>
* Makefile.am (common_sources): Remove assuan-client.c.
* assuan-client.c: File removed.
* assuan.h (ASSUAN_RESPONSE_ERROR, ASSUAN_RESPONSE_OK)
(ASSUAN_RESPONSE_STATUS, ASSUAN_RESPONSE_INQUIRE)
(ASSUAN_RESPONSE_STATUS): New macros.
(assuan_response_t): New type.
(assuan_client_read_response, assuan_client_parse_response): New
prototypes.
* libassuan.def, libassuan.vers: Add assuan_client_read_response,
assuan_client_parse_response.
* assuan-client.c (xtoi_1, xtoi_2, assuan_transact)
(_assuan_read_from_server): Moved to ...
* client.c: ... here, with updates to use new functions and types.
Include <stdlib.h>.
(assuan_client_read_response, assuan_client_parse_response): New
functions.
* assuan-defs.h (_assuan_read_from_server): Use assuan_response_t.
* assuan-pipe-connect.c (initial_handshake): Use assuan_response_t
and ASSUAN_RESPONSE_OK.
* assuan-socket-connect.c (assuan_socket_connect): Likewise.
|
|
|
|
|
| |
* assuan-pipe-server.c (assuan_init_pipe_server): Fix debug output.
|