| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
| |
* src/assuan-defs.h [HAVE_W64_SYSTEM] (SOCKET2HANDLE): Care for size
of integer.
* src/stpcpy.c: No K&R anymore.
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
| |
--
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac: Require libgpg-error 1.17.
(vasprintf): Remove ac_replace.
* src/assuan-defs.h [!HAVE_VASPRINTF]: Remove replace wrapper.
* src/assuan-logging.c (_assuan_log_control_channel):
(_assuan_log_control_channel): s/asprintf/gpgrt_asprintf/.
* src/debug.c (_assuan_debug): s/vasprintf/gpgrt_vasprintf/.
(_assuan_debug_begin): Ditto.
(_assuan_debug_add): Ditto. s/asprintf/gpgrt_asprintf/.
--
We plan to move more code into libgpg-error/gpgrt anyway thus this is
a good start which also fixes this bug:
GnuPG-bug-id: 1477
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/assuan-defs.h (wipememory2, wipememory): New. Taken from GnuPG.
* src/assuan.c (assuan_release): Wipe the context.
--
The assuan context has buffers which may carry senitive information.
These buffers could be wiped out with each flush but that is too
expensive. Thus we only wipe them when freeing the context.
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
| |
* src/assuan-defs.h (_assuan_error): Use error source Assuan if no CTX
is given.
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac (AC_CHECK_FUNC): Check for stat.
* src/assuan-socket.c (SUN_LEN): Add.
(eval_redirection): New.
(_assuan_sock_connect) [!W32]: Implement socket file redirection.
(_assuan_sock_set_sockaddr_un): New.
(assuan_sock_set_sockaddr_un): New.
--
This feature is useful to allow sockets with standard names even on
file system which do not supports socket and to help with shared home
directories. For example to use GnuPG 2.1 with shared home
directories one will be abale to do:
rm ~/.gnupg/S.gpg-agent || true
printf "%%Assuan%%\nsocket=${HOME}/.gnupg/S.gpg-agent_${HOSTNAME}\n" \
> ~/.gnupg/S.gpg-agent
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
| |
* src/debug.h (TRACE_ERR): Check CTX before a deref.
* src/assuan-defs.h (_assuan_error): Turn into an inline function and
check CTX before a deref.
--
Found by Hans-Christoph Steiner with cppcheck.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac (have_dosish_system): Set for W64.
* src/assuan-defs.h (SOCKET2HANDLE, HANDLE2SOCKET): Add versions for
W64.
* src/assuan-handler.c (assuan_command_parse_fd) [W64]: Use strtoull
to parse an FD.
--
Note that these changes are not complete but merely sufficient to
allow building of GpgEX.
|
| |
|
|
|
|
| |
compatibility.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
Implement getenv replacement for W32CE.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.h (assuan_set_assuan_log_stream): Add prototype.
* libassuan.def, libassuan.vers: Add back
assuan_set_assuan_log_stream.
* assuan-logging.c (assuan_set_assuan_log_stream): Add back.
* context.c (assuan_get_pointer): Don't output debug info here.
(assuan_get_peercred, assuan_get_pid): But do here.
* system.c: Improve debug output.
* assuan-defs.h (struct assuan_context_s): Rename pipe_mode to
max_accepts.
* assuan-listen.c (assuan_accept): Rework max accepts logic.
* assuan-socket-server.c (assuan_init_socket_server),
assuan-socket-connect.c (assuan_socket_connect),
assuan-pipe-server.c (assuan_init_pipe_server),
assuan-pipe-connect.c (socketpair_connect): Add debug output, set
max_accepts instead of pipe_mode.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am (common_sources): Remove assuan-connect.c and add
client.c.
* client.c, server.c: New file.
* assuan-defs.h (_assuan_disconnect): Remove.
(struct assuan_context_s): Remove members deinit_handler.
(_assuan_client_release, _assuan_client_finish)
(_assuan_server_finish, _assuan_server_release): New.
* assuan-socket-server.c (accept_connection_bottom): Use
ASSUAN_INVALID_PID, not -1.
(finish_connection, deinit_socket_server): Remove.
(assuan_init_socket_server): Use _assuan_server_release.
* assuan-socket-connect.c (do_finish, do_deinit): Remove.
(assuan_socket_connect): Use _assuan_client_release.
* assuan-pipe-connect.c (do_finish, do_deinit): Remove.
(pipe_connect): Update deinitialization.
(socketpair_connect): Here as well.
* context.c (assuan_get_pid): New from ...
* assuan-connect.c (assuan_get_pid): ... here. Remove this file.
* assuan-pipe-server.c (_assuan_deinit_server, accept_connection)
(deinit_pipe_server, finish_connection): Remove unused function.
* assuan-listen.c (assuan_accept): Check CTX->accept_handler
before calling. Initialize RC. Do not call finish handler for
pipe server.
* assuan-uds.c (_assuan_uds_deinit): Do not call finish handler.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* assuan-defs.h (struct assuan_context_s): Rename
CTX->process_done to CTX->process_complete for clarity. Remove
buffer variables from UDS.
* assuan-pipe-connect.c (socketpair_connect): Allow FD_CHILD_LIST
to be NULL.
* assuan-handler.c: Rename CTX->process_done to
CTX->process_complete for clarity.
(process_request, process_next): Handle EOF.
* assuan-uds.c (uds_reader): Remove buffering, which breaks the
pending line algorithm in assuan-buffer.c.
(_assuan_init_uds_io, _assuan_uds_deinit): Remove buffering.
* assuan-buffer.c (_assuan_read_line): Add comment.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tests/fdpassing.c (main): Call assuan_pipe_connect instead
of assuan_pipe_connect_ext.
doc/
2009-11-05 Marcus Brinkmann <[email protected]>
* assuan.texi (Client code): Document
ASSUAN_PIPE_CONNECT_FDPASSING and ASSUAN_PIPE_CONNECT_DETACHED.
(Server code): Document ASSUAN_SOCKET_SERVER_FDPASSING and
ASSUAN_SOCKET_SERVER_ACCEPTED.
(Utilities): Update documentation of assuan_get_peercred.
src/
2009-11-05 Marcus Brinkmann <[email protected]>
* assuan.h (struct _assuan_peercred, assuan_peercred_t): New.
(assuan_get_peercred): Define on all systems, return
assuan_peercred_t.
* assuan-defs.h (struct assuan_context_s): Move valid flag out of
peercred struct, use struct _assuan_peercred.
* libassuan.def: Add assuan_get_peercred.
* assuan-connect.c (assuan_get_peercred): Moved to ...
* context.c (assuan_get_peercred): ... here. Reimplement.
* assuan-socket-server.c (accept_connection_bottom): Adjust access
to peercred in context.
* assuan.h (ASSUAN_PIPE_CONNECT_FDPASSING)
(ASSUAN_PIPE_CONNECT_DETACHED, ASSUAN_SOCKET_SERVER_FDPASSING)
(ASSUAN_SOCKET_SERVER_ACCEPTED, ASSUAN_SOCKET_CONNECT_FDPASSING): New.
(assuan_pipe_connect_ext): Renamed to ...
(assuan_pipe_connect): ... this, overwriting old prototype.
(assuan_socket_connect_ext): Renamed to ...
(assuan_socket_connect): ... this, overwriting old prototype.
(assuan_init_socket_server_ext): Renamed to ...
(assuan_init_socket_server): ... this, overwriting old prototype.
* assuan-pipe-connect.c: Likewise for functions.
* assuan-socket-connect.c: Likewise.
* assuan-socket-server.c: Likewise.
* libassuan.def (assuan_init_socket_server_ext)
(assuan_pipe_connect_ext, assuan_socket_connect_ext): Removed.
* libassuan.vers: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-11-05 Marcus Brinkmann <[email protected]>
* assuan.texi (External I/O Loop Server): Document change to
assuan_process_next.
src/
2009-11-05 Marcus Brinkmann <[email protected]>
* assuan-defs.h (assuan_context_t): Add member PROCESS_DONE.
* assuan.h (assuan_process_next): Add argument DONE to prototype.
* assuan-handler.c (assuan_process_next): Likewise, handle it.
(std_handler_bye): Set PROCESS_DONE.
(assuan_process_done): Handle PROCESS_DONE in the no error case.
(assuan_process): Use PROCESS_DONE.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* assuan.h (assuan_handler_t): New type.
(assuan_register_bye_notify, assuan_register_reset_notify)
(assuan_register_cancel_notify, assuan_register_input_notify)
(assuan_register_output_notify, assuan_register_command): Use it.
* assuan-handler.c (std_handler_cancel, std_handler_bye): Pass
LINE argument to user handler.
(std_handler_reset): Likewise, and also abort RESET if error is
returned from user handler.
(std_handler_input, std_handler_output): Check return value from
user handler before assigning FD.
* assuan-defs.h (struct cmdtbl_s): Change type of member HANDLER
to assuan_handler_t.
(struct assuan_context_s): Change type of members
RESET_NOTIFY_FNC, CANCEL_NOTIFY_FNC, BYE_NOTIFY_FNC,
INPUT_NOTIFY_FNC and OUTPUT_NOTIFY_FNC to assuan_handler_t.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* autogen.sh: Remove --with-pth-prefix from configure invocation.
* configure.ac (_ASSUAN_IN_LIBASSUAN, PTH_SYSCALL_SOFT): Do not
set anymore.
(GNUPG_PATH_PTH): Don't invoke.
(HAVE_PTH): Remove conditional.
(LIBASSUAN_CONFIG_THREAD_MODULES): Removed.
doc/
2009-10-16 Marcus Brinkmann <[email protected]>
* assuan.texi: Remove documentation for thread support.
(assuan_pipe_connect_ext): Update prototype.
src/
2009-10-16 Marcus Brinkmann <[email protected]>
* conversion.c: Do not include <sys/types.h> and <time.h>.
* debug.h (TRACE_BEG6, TRACE4): New macros.
(TRACE_SYSERR): Pass _assuan_trace_context to _assuan_debug.
* context.c (assuan_set_pointer, assuan_get_pointer,
assuan_set_flag, assuan_get_flag, assuan_set_io_monitor,
assuan_set_error): Add trace messages.
* libassuan-config.in, libassuan.m4, Makefile.am: Remove PTH support.
* assuan.h (assuan_msghdr_t): New type.
(ASSUAN_INVALID_PID): New macro.
(ASSUAN_NO_FIXSIGNALS): New flag macro.
(ASSUAN_SYSTEM_HOOKS_VERSION): New macro.
(struct assuan_system_hooks, assuan_system_hooks_t): New types.
(assuan_pipe_connect, assuan_pipe_connect_ext): Don't make ARGV
const for name==NULL operation. Make fd_child_list an array of
assuan_fd_t.
(assuan_sock_init, assuan_sock_deinit, assuan_set_system_hooks,
assuan_ctx_set_system_hooks, __assuan_pipe, __assuan_close,
__assuan_spawn, __assuan_socketpair): New function prototypes.
(_ASSUAN_SYSTEM_PTH_IMPL, ASSUAN_SYSTEM_PTH_DECL,
ASSUAN_SYSTEM_PTH): New macros.
(_assuan_system_pth): New declaration.
* libassuan.vers, libassuan.defs: Add assuan_sock_init,
assuan_sock_deinit, __assuan_pipe, __assuan_close, __assuan_spawn,
__assuan_socketpair, assuan_set_system_hooks,
assuan_ctx_set_system_hooks.
* assuan-defs.h (struct assuan_io): Removed, move members to ...
(struct assuan_context_s): ... this to ENGINE. New flag
no_fixsignals. New member SYSTEM. Remove member IO.
(_assuan_pipe, _assuan_read, _assuan_write, _assuan_recvmsg,
_assuan_sendmsg, _assuan_spawn, _assuan_socketpair,
_assuan_system_hooks, _assuan_system_hooks_copy): New
declarations.
(_assuan_error_is_eagain, _assuan_waitpid, _assuan_usleep,
_assuan_close, _assuan_sock_new, _assuan_sock_connect,
_assuan_sock_bind, _assuan_sock_get_nonce,
_assuan_sock_check_nonce): Add context argument.
(_assuan_io_read, _assuan_io_write, _assuan_simple_sendmsg,
_assuan_simple_recvmsg): Removed.
* context.c (assuan_ctx_set_system_hooks): New function.
* assuan.c (assuan_set_system_hooks): New function.
(assuan_new_ext): Initialize CTX->system.
(assuan_release): Always output trace message.
* assuan-error.c (_assuan_error_is_eagain): Add ctx argument, pass
along to _assuan_usleep.
* assuan-inquire.c assuan-listen.c, assuan-socket-server.c,
assuan-handler.c, assuan-socket-connect.c, assuan-client.c,
assuan-pipe-connect.c, assuan-socket.c: Pass CTX argument to
functions that need it
(_assuan_sock_new, _assuan_sock_check_none, _assuan_close,
_assuan_error_is_eagain and many more).
* assuan-socket-server.c (assuan_init_socket_server_ext): Update
fields in CTX->engine instead of CTX->io.
* assuan-socket-connect (assuan_socket_connect_ext): Likewise.
* assuan-uds.c (uds_reader, uds_writer, uds_sendfd): Use
_assuan_recvmsg and _assuan_sendmsg instead of
_assuan_simple_recvmsg and _assuan_simple_sendmsg respectively.
(_assuan_init_uds_io): Update fields in CTX->engine instead of
CTX->io.
* assuan-buffer.c: Use functions in CTX->engine instead of CTX->io.
* assuan-pipe-server.c (assuan_init_pipe_server): Update
fields in CTX->engine instead of CTX->io.
* system.c: Include <sys/types.h>, <time.h>, <fcntl.h>, and
<windows.h> resp. <sys/wait.h>. Define MAX_OPEN_FDS.
(_assuan_system_hooks_copy, __assuan_usleep, _assuan_usleep,
__assuan_pipe, _assuan_pipe, __assuan_close, _assuan_close,
__assuan_read, _assuan_read, __assuan_write, _assuan_write,
__assuan_recvmsg, _assuan_recvmsg, __assuan_sendmsg,
_assuan_sendmsg, __assuan_spawn, _assuan_spawn, __assuan_waitpid,
_assuan_waitpid, __assuan_socketpair, _assuan_socketpair): New
functions.
(_assuan_system_hooks): New singleton.
* assuan-io.c (_assuan_waitpid, do_io_read, _assuan_io_read,
do_io_write, _assuan_io_write, _assuan_simple_sendmsg,
_assuan_simple_recvmsg, _assuan_usleep): Removed.
* assuan-pipe-connect (writen, build_w32_commandline,
create_inheritable_pipe): Removed (actually moved to system.c).
(fix_signals) [_ASSUAN_NO_FIXED_SIGNALS]: Still fix signals.
(do_finish): Move waitpid logic to _assuan_waitpid, just call
that.
(struct at_pipe_fork, struct at_socketpair_fork): New types.
(at_pipe_fork_cb, at_socketpair_fork_cb): New callback functions.
(pipe_connect_unix, pipe_connect_w32): Replaced by ...
(pipe_connect): ... this new function using new system functions.
(socketpair_connect): Reimplement to use new system functions.
(assuan_pipe_connect, assuan_pipe_connect_ext): Add trace message.
* assuan-socket.c (_assuan_close): Removed (moved to system.c).
(_assuan_sock_new, _assuan_sock_connect, _assuan_sock_bind,
_assuan_sock_get_nonce, _assuan_sock_check_nonce): Add context
argument. Use new system interface.
(sock_ctx): New singleton.
(assuan_sock_init, assuan_sock_deinit): New functions to
initialize and deinitialize the singleton.
|
|
|
|
|
| |
error reporting in the server much easier.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac: AC_REPLACE_FUNCS for vasprintf.
src/
2009-10-08 Marcus Brinkmann <[email protected]>
* assuan.h (assuan_get_assuan_log_stream,
assuan_set_assuan_log_stream): Remove prototypes.
* libassuan.def: Remove assuan_get_assuan_log_stream,
assuan_set_assuan_log_stream.
* libassuan.vers: Likewise.
* assuan-defs.h (_assuan_w32_strerror): Fix prototype.
(w32_strerror): Remove macro.
* assuan-pipe-connect.c (build_w32_commandline): Add argument for
context. Use it for malloc routines. Use _assuan_w32_strerror
instead of w32_strerror.
* vasprintf.c: New file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tests/fdpassing.c: Update to new API.
* configure.ac: Check for stdint.h and inttypes.h. Invoke
AC_TYPE_UINTPTR_T.
doc/
2009-09-21 Marcus Brinkmann <[email protected]>
* assuan.texi: Update to new API.
src/
2009-09-19 Marcus Brinkmann <[email protected]>
* src/libassuan.vers, src/libassuan.def: Update to new API.
* assuan.c, context.c, system.c, debug.c: New files.
* Makefile.am (common_sources): Add assuan.c, context.c, system.c
and debug.c.
* assuan.h: Include <stdarg.h>. Fix inclusion of <gpg-error.h>.
(_ASSUAN_EXT_SYM_PREFIX, _ASSUAN_PREFIX1, _ASSUAN_PREFIX2)
(_ASSUAN_PREFIX): Remove support for renaming the whole library,
now that we have a stable shared library interface that can evolve
to cover all needs (particularly those of GPGME).
(assuan_malloc_hooks, assuan_malloc_hooks_t, assuan_log_cb_t)
(assuan_io_monitor_t): New types.
(ASSUAN_LOG_INIT, ASSUAN_LOG_CTX, ASSUAN_LOG_ENGINE)
(ASSUAN_LOG_DATA, ASSUAN_LOG_SYSIO, ASSUAN_IO_FROM_PEER)
(ASSUAN_IO_TO_PEER, ASSUAN_IO_MONITOR_NOLOG)
(ASSUAN_IO_MONITOR_IGNORE): New symbols.
(assuan_set_gpg_err_source, assuan_get_gpg_err_source)
(assuan_get_malloc_hooks, assuan_set_log_cb, assuan_get_log_cb)
(assuan_new, assuan_new_ext, assuan_release): New function
prototypes.
(assuan_init_pipe_server, assuan_init_socket_server)
(assuan_init_socket_server_ext, assuan_pipe_connect)
(assuan_pipe_connect_ext, assuan_socket_connect)
(assuan_socket_connect_ext): Take a context argument instead of
pointer to context.
(assuan_deinit_server, assuan_disconnect)
(assuan_set_assuan_err_source): Remove function prototypes.
* assuan-defs.h (ASSUAN_GCC_A_PURE): Moved here from XXX
(_assuan_error): New macro.
(struct assuan_context_s): New members err_source, w32_strerror,
malloc_hooks, log_cb, log_cb_data: New members. Move confidential
into flags. New member engine.
(_assuan_log_handler, _assuan_error_default, _assuan_disconnect):
New prototypes.
(_assuan_new_context): Remove prototype.
(_assuan_malloc, _assuan_calloc, _assuan_realloc, _assuan_free):
Add context argument to prototype.
* assuan-util.c (alloc_func, realloc_func, free_func): Remove
global variables.
(assuan_set_malloc_hooks, _assuan_malloc, _assuan_realloc)
(_assuan_calloc, _assuan_free, assuan_set_pointer)
(assuan_get_pointer, assuan_begin_confidential)
(assuan_end_confidential, assuan_set_io_monitor, assuan_set_flag)
(assuan_get_flag): Move functions to ...
* assuan-client.c: Add ctx argument to all invocations of
_assuan_error.
* assuan-socket-server.c, assuan-socket-connect.c,
assuan-connect.c: Likewise.
* assuan-buffer.c: Likewise. Also update access to confidential
flag.
* assuan-uds.c: Add ctx argument to all invocations of
_assuan_malloc, _assuan_realloc, _assuan_calloc, _assuan_free and
_assuan_error.
* assuan_listen.c, assuan-inquire.c, assuan-handler.c: Likewise.
* assuan-error.c (err_source): Remove global variable.
(assuan_set_assuan_err_source): Removed function.
(_assuan_w32_strerror): Moved here from assuan-logging.c and made
thread-safe.
(_assuan_error): Removed function (is now macro).
* assuan-handler.c: Update access to confidential flag.
* assuan-socket-server.c (accept_connection_bottom): Update access
to confidential flag in context.
(assuan_init_socket_server, assuan_init_socket_server_ext): Take
ctx argument instead of pointer to ctx.
* assuan-inquire.c (init_membuf, put_membuf, get_membuf)
(free_membuf): Take context argument and change all callers.
* assuan-socket-server.c (assuan_socket_connect)
(assuan_socket_connect_ext): Take ctx argument instead of pointer
to ctx.
* assuan-pipe-connect.c (initial_handshake, pipe_connect_unix)
(socketpair_connect, assuan_pipe_connect)
(assuan_pipe_connect_ext): Likewise.
(socketpair_connect): Now that ctx is not a pointer argument
anymore, return if we are server or client in the argv argument.
* assuan-logging.c (_assuan_log_handler): New function.
(_assuan_w32_strerror): Move to assuan-error.c
* assuan-connect.c (assuan_disconnect): Renamed to ...
(_assuan_disconnect): ... this.
* assuan-pipe-server.c (_assuan_new_context): Removed function.
(assuan_init_pipe_server): Take ctx argument instead of pointer to
ctx.
(_assuan_release_context): Removed function.
(_assuan_deinit_server): Reimplement.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-09-01 Marcus Brinkmann <[email protected]>
* assuan.texi: (External I/O Loop Server): Document
assuan_process_done.
(assuan_register_post_cmd_notify): Change type of ERR from int to
gpg_error_t.
(assuan_set_error): Likewise.
(assuan_register_option_handler): Change types in callback handler
from int to gpg_error_t.
(assuan_inquire_ext): Likewise.
src/
2009-09-01 Marcus Brinkmann <[email protected]>
* assuan.h: Change types in all functions from int to gpg_error_t
where relevant.
* assuan-listen.c (assuan_accept): Change type of RC from int to
gpg_error_t.
* assuan-pipe-server.c (accept_connection, finish_connection):
Change return type to gpg_error_t.
* assuan-socket-server.c (accept_connection_bottom)
(accept_connection, finish_connection): Likewise.
(assuan_init_connected_socket_server): Remove.
* assuan-defs.h (struct assuan_context_s): Change return type of
accept_handler and finish_handler to gpg_error_t.
* assuan-pipe-connect.c (do_finish): Change to void.
* assuan-inquire.c (_assuan_inquire_ext_cb): Change type of RC
from int to gpg_error_t.
* assuan-handler.c: Change return codes and RC variables from int
to gpg_error_t where appropriate.
* assuan-buffer.c (_assuan_read_line): Fix error code on EOF.
|
|
|
|
|
|
| |
* assuan.h (ASSUAN_INT2FD, ASSUAN_FD2INT): Remove macros.
* assuan-defs.h (DIMof): Remove macro.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac: Set BUILD_REVISION and update calculation of data
for build info. Update libtool macros. Set NETLIBS for W32
targets.
src/
2009-09-01 Marcus Brinkmann <[email protected]>
* setenv.c: Do not include "assuan-defs.h", instead redefine
setenv, unsetenv, clearenv in place.
* assuan-socket-server.c: Use _assuan_free instead of xfree.
* assuan-pipe-connect.c: Fix syntax error.
* assuan-defs.h: Remove some duplicated W32 stuff.
* Makefile.am (libassuan_la_LIBADD, libassuan_pth_la_LIBADD): Add
@NETLIBS@.
* versioninfo.rc.in (FILEVERSION): Set to @BUILD_FILEVERSION@.
("FileDescription", "FileVersion", "InternalName")
("LegalCopyright", "OriginalFilename", "ProductName"): Replace c&p
garbage.
* libassuan.def: Remove assuan_get_peercred.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac: Test for versioned symbols support.
(LIBASSUAN_LT_CURRENT, LIBASSUAN_LT_AGE)
(LIBASSUAN_LT_REVISION): New, set to 0.
(LIBASSUAN_CONFIG_API_VERSION): Bump to 2.
(AC_CONFIG_MACRO_DIR, AC_DISABLE_STATIC, AC_LIBTOOL_WIN32_DLL)
(AC_LIBTOOL_RC, AC_PROG_LIBTOOL, AM_PATH_GPG_ERROR): Invoke.
(AC_PROG_RANLIB): Don't invoke.
(HAVE_W32_SYSTEM): New AM conditional.
(AC_CONFIG_FILES): Add src/versioninfo.rc.
* ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4,
m4/ltversion.m4, m4/lt~obsolete.m4: New files from libtool 2.2.6.
* tests/Makefile.am (AM_CFLAGS, LDADD): Add gpg-error.
* tests/fdpassing.c: Change error values to gpg-error ones.
src/
2009-08-26 Marcus Brinkmann <[email protected]>
* libassuan-config.in: Add gpg-error.
* assuan-buffer.c, assuan-inquire.c, assuan-handler.c,
assuan-util.c, assuan-client.c, assuan-socket-connect.c,
assuan-pipe-connect.c, assuan-defs.h, assuan-socket.c,
assuan-connect.c, assuan-uds.c, assuan-socket-server.c,
assuan-listen.c, assuan-pipe-server.c: Return gpg_error_t instead
assuan_error_t everywhere. Return gpg error codes everywhere.
Replace xtrymalloc, xfree, etc with _assuan_malloc, _assuan_free
etc. Protect include <config.h> by HAVE_CONFIG_H where not done
so already.
* versioninfo.rc.in, libassuan.vers, libassuan.def,
assuan-error.c: New files.
* Makefile.am: Add libtool handling and gpg-error (also for W32).
(EXTRA_DIST): Remove mkerrors, add libassuan.vers,
versioninfo.rc.in and libassuan.def.
(BUILT_SOURCES, MOSTLYCLEANFILES): Removed.
(common_sources): Remove assuan-errors.c, add assuan-error.c.
* assuan.h: Include <gpg-error.h>.
[_ASSUAN_ONLY_GPG_ERRORS]: Feature removed.
(assuan_init_connected_socket_server, assuan_strerror)
(assuan_pipe_connect2): Removed obsolete interfaces.
(assuan_error_t): Removed type.
(assuan_flag_t): Changed from enum to unsigned int.
(ASSUAN_NO_WAITPID, ASSUAN_CONFIDENTIAL): Changed from enum to macro.
(assuan_process): Return gpg_error_t instead of int.
(assuan_set_assuan_err_source): Change argument type from int to
gpg_err_source_t.
* assuan-defs.h (_assuan_error): Change types to gpg_error_t.
(err_code, err_is_eof, xtrymalloc, xtrycalloc, xtryrealloc)
(xfree): Removed.
(set_error): Adjust for gpg-error codes.
(_assuan_gpg_strerror_r, _assuan_gpg_strsource): Removed.
(struct assuan_context_s): Remove member os_errno.
* assuan-socket-server.c (accept_connection): Don't set CTX->os_errno.
* mkerrors: Removed file.
* assuan-io-pth.c (_assuan_simple_sendmsg)
(_assuan_simple_recvmsg), assuan-io.c (_assuan_simple_sendmsg,
_assuan_simple_recvmsg): Set errno instead returning error
directly (and return -1).
* assuan-handler.c (assuan_process_done): Remove handling for old
style error values.
(process_request, assuan_process): Change return type from int to
gpg_error_t.
* assuan-client.c (assuan_transact): Remove support for old style
error values.
* assuan-pipe-connect.c (assuan_pipe_connect2): Removed.
* assuan-logging.c (my_strerror_r, my_strsource)
(load_libgpg_error, _assuan_gpg_strerror_r)
(_assuan_gpg_strsource): Removed.
|
|
|
|
|
|
|
|
|
| |
* assuan-defs.h (_assuan_usleep): New prototype.
* assuan-io.c (_assuan_usleep): New function.
* assuan-io-pth.c (_assuan_usleep): New function.
* mkerrors: Do not incude <windows.h>, but assuan-defs.h.
(_assuan_error_is_eagain): Call _assuan_usleep.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* assuan-defs.h (_assuan_error_is_eagain): New prototype.
* mkerrors (_assuan_error_is_eagain): New function.
* assuan-handler.c (process_next): Leave on EAGAIN.
* assuan-handler.c (process_request),
assuan-client.c (_assuan_read_from_server),
assuan-buffer.c (assuan_read_line): Busy loop over EAGAIN.
|
|
|
|
|
|
|
|
|
| |
* assuan-defs.h (_assuan_sock_wsa2errno) [HAVE_W32_SYSTEM]: Add prototype.
* assuan-uds.c (wsa2errno) [HAVE_W32_SYSTEM]: Move and rename to ...
* assuan-socket.c (_assuan_sock_wsa2errno) [HAVE_W32_SYSTEM]: ... this.
(_assuan_close, _assuan_sock_new, _assuan_sock_connect, _assuan_sock_bind):
Always set errno on error.
|
|
|
|
|
| |
Fixed a blocking problem on Windows.
|
|
|
|
|
| |
Changed the ABI ofthe W32 socket emulation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-09-03 Marcus Brinkmann <[email protected]>
* assuan.texi: Fix prototype and documentation for
assuan_inquire_ext.
src/
2007-09-03 Marcus Brinkmann <[email protected]>
* assuan.h (assuan_inquire_ext): Move buffer and buffer_length
arguments callback in prototype.
* assuan-defs.h (struct assuan_context_s): Remove members
inquire_r_buffer and inquire_r_buffer_len. Add buffer and buffer
length arguments to inquire_cb.
* assuan-inquire.c (_assuan_inquire_ext_cb): Return buffer and
buffer length via callback.
(assuan_inquire_ext): Move buffer and buffer length arguments to
callback.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-08-09 Marcus Brinkmann <[email protected]>
* assuan.texi (External I/O Loop): New chapter.
src/
2007-08-09 Marcus Brinkmann <[email protected]>
* assuan.h (assuan_process_done, assuan_inquire_ext): New
prototypes.
* assuan-defs.h (struct assuan_context_s): New members
in_process_next, in_command, inquire_cb, inquire_cb_data,
inquire_r_buffer, inquire_r_buffer_len, inquire_membuf.
(_assuan_inquire_ext_cb, _assuan_inquire_release): New prototypes.
* assuan-handler.c (PROCESS_DONE): New macro.
(dummy_handler, std_handler_nop, std_handler_cancel)
(std_handler_option, std_handler_bye, std_handler_auth)
(std_handler_reset, std_handler_end): Use PROCESS_DONE to
optionally call assuan_process_done if CTX->in_process_next is
true.
(assuan_process_done, process_next): New functions.
(assuan_process_next): Rewritten to support external event
handling.
* mkerrors: Do not clear high bits of -1 for old style EOF.
* assuan-inquire.c (_assuan_inquire_release)
(_assuan_inquire_ext_cb, assuan_inquire_ext): New functions.
* assuan-pipe-server.c (_assuan_release_context): Call
_assuan_inquire_release.
|
| |
|
|
|
|
|
|
|
|
| |
* assuan-defs.h (struct assuan_context_s): Have full peercred
structure for HAVE_SO_PEERCRED.
* assuan-connect.c (assuan_get_peercred) [!HAVE_SO_PEERCRED]: Do
not try to set PID, UID and GID.
|
| |
|
|
|
|
|
|
|
|
|
| |
Change _WIN32 to HAVE_W32_SYSTEM for consistency.
* assuan-defs.h (struct assuan_context_s): Have full peercred
structure even if not HAVE_SO_PEERCRED, but not if
HAVE_W32_SYSTEM.
|
| |
|