aboutsummaryrefslogtreecommitdiffstats
path: root/src/assuan.h.in (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-10-26Support hostname based SOCKS5 connection.Werner Koch1-0/+12
* src/assuan.h.in (ASSUAN_SOCK_SOCKS): New. (ASSUAN_SOCK_TOR): New. (assuan_sock_connect_byname): New. * src/libassuan.def, src/libassuan.vers: Add that function. * src/assuan-socket.c (socks5_connect): Add args socksport, credentials, hostname, and hostport. Implement user/password authentication and domainname address type. Change callers accordingly. (_assuan_sock_connect_byname): New. (assuan_sock_connect_byname): New. * tests/socks5.c (main): Add options --byname, --user, and --pass. -- The assuan_sock_connect_byname may eventually be extended to work without Tor or SOCKS by using getaddrinfo. Or we move that all to libgpgrt (aka libgpg-error). Signed-off-by: Werner Koch <[email protected]>
2015-08-28Release 2.3.0libassuan-2.3.0Werner Koch1-1/+1
* configure.ac: Set LT version to C6/A6/R0. Signed-off-by: Werner Koch <[email protected]>
2015-06-30Add assuan_sock_set_flag and assuan_sock_get_flag.Werner Koch1-0/+2
* src/assuan-socket.c (_assuan_sock_set_flag): New. (assuan_sock_set_flag): New. (_assuan_sock_get_flag, assuan_sock_get_flag): New. * src/assuan.h.in (assuan_sock_set_flag): New. (assuan_sock_get_flag): New. * src/libassuan.def: Add them. * src/libassuan.vers: Add them. -- These new functions are intended for a Cygwin socket emulation. This commit merely introduces a generic framework. Signed-off-by: Werner Koch <[email protected]>
2014-11-28Implement socket file redirection.Werner Koch1-0/+2
* 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]>
2014-08-17Update copyright infoWerner Koch1-2/+2
--
2013-02-22Add assuan_check_version and ASSUAN_VERSION_NUMBER.Werner Koch1-1/+13
* src/assuan.c (assuan_check_version): New. (digitp, parse_version_number, parse_version_string) (compare_versions): New. Taken from libksba. * configure.ac (VERSION_NUMBER): New ac_subst. * src/Makefile.am (assuan.h): Pass VERSION and VERSION_NUMBER to mkheader. * src/assuan.h.in (ASSUAN_VERSION, ASSUAN_VERSION_NUMBER): New macros. (assuan_check_version): New prototype. * src/libassuan.def, src/libassuan.vers: Add assuan_check_version. * src/mkheader.c (write_special, main): Support version and version_number. * tests/version.c: New. * tests/Makefile.am (TESTS): Add version. -- All our other libs have a version number check, thus we should have one in Libassuan as well.
2012-01-24Fix npth port file handle use.Marcus Brinkmann1-7/+20
* 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.
2012-01-03Make assuan portable to NPTH.Marcus Brinkmann1-0/+31
2011-12-20Release version 2.0.3.libassuan-2.0.3Werner Koch1-2/+2
* configure.ac: Bump LT version to C3/A3/R0.
2011-08-10Add new flag ASSUAN_FORCE_CLOSE.Werner Koch1-4/+6
2011-03-09Added assuan_socket_connect_fd() to attach an existing socket file ↵[email protected]1-0/+4
descriptor to a context.
2011-02-28Pass only the command name to the pre_cmd_notify() callback to keep ABI ↵Ben Kibbey1-10/+1
compatibility.
2011-02-24assuan_register_pre_cmd_notify().Ben Kibbey1-0/+11
2011-02-02Fix C++ users.Marcus Brinkmann1-1/+1
2011-02-02 Marcus Brinkmann <[email protected]> * assuan.h.in: Replace namespace by _namespace.
2011-02-02Fix C++ users.Marcus Brinkmann1-1/+1
2011-02-02 Marcus Brinkmann <[email protected]> * assuan.h.in: Replace namespace by _namespace.
2011-02-02Extend system hooks table by socket and connect functions.Marcus Brinkmann1-2/+7
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.
2010-11-01Changes to allow building the CE version with MSC.Werner Koch1-2/+2
2010-09-01Add a no_logging flag.Werner Koch1-0/+2
2010-08-19Prepare for a gpg-error changeWerner Koch1-1/+1
2010-08-11Add ASSUAN_CONVEY_COMMENTS flag.Werner Koch1-0/+3
2010-04-06Removed sysdep stuff from assuan.h.Werner Koch1-154/+5
fixed a problem for W32CE and Pth.
2010-03-22Changed the implementation of CreatePipe under W32CE.Werner Koch1-8/+4
Reorganized the source.
2010-03-11Cleaned up the loggingWerner Koch1-0/+1
2010-02-24A couple of changes to eventually fully support W32ce.Werner Koch1-0/+11
2010-01-28Cleanups for W32CE.Werner Koch1-2/+7
Implement getenv replacement for W32CE.
2009-12-14Return and parse comment lines with the assuan_client_ functions.Werner Koch1-0/+1
2009-12-08Another one.Marcus Brinkmann1-1/+1
2009-12-082009-12-08 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-1/+1
* assuan.h (struct assuan_system_hooks): Don't use "namespace" as argument name in declaration (C++ keyword).
2009-12-08doc/Marcus Brinkmann1-0/+1
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.
2009-12-082009-12-08 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-1/+4
* assuan_fd_from_posix_fd (assuan_fd_from_posix_fd): Handle invalid fd early.
2009-12-082009-12-08 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-0/+10
* 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-02src/Marcus Brinkmann1-0/+20
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.
2009-11-272009-11-27 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-0/+3
* 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.
2009-11-25doc/Marcus Brinkmann1-1/+4
2009-11-25 Marcus Brinkmann <[email protected]> * assuan.texi (Data Types): Document assuan_fdopen. src/ 2009-11-25 Marcus Brinkmann <[email protected]> * assuan.h (assuan_init_pipe_server): Change type of filedes to assuan_fd_t. (assuan_fdopen): New prototype. * libassuan.vers, libassuan.def: Add assuan_fdopen. * system.c (assuan_fdopen): New function. * assuan-pipe-server.c (assuan_init_pipe_server): Change type of filedes to assuan_fd_t. No longer translate fd to handle. Don't set to binary either (that doesn't do anything for handles, it only affects the libc fd).
2009-11-24doc/Marcus Brinkmann1-10/+14
2009-11-24 Marcus Brinkmann <[email protected]> * assuan.texi: Remove assuan_disconnect, assuan_deinit_server. Many smaller API fixes. src/ 2009-11-24 Marcus Brinkmann <[email protected]> * assuan.h (struct _assuan_peercred) [_WIN32]: Define dummy member so struct is not empty. * assuan-socket.c (assuan_sock_deinit): Set sock_ctx to NULL.
2009-11-052009-11-05 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-22/+23
* 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-05doc/Marcus Brinkmann1-1/+1
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.
2009-11-04Extended HELP command.Werner Koch1-3/+6
2009-11-022009-11-02 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-6/+8
* 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.
2009-10-202009-10-20 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-0/+1
* assuan.h (__assuan_usleep): Add declaration. * system.c (__assuan_usleep): Make non-static. * libassuan.vers, libassuan.defs: Sort lexicographically.
2009-10-162009-10-16 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-20/+187
* 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.
2009-10-14Add new ducntion assuan_get_command_name. This makesWerner Koch1-0/+1
error reporting in the server much easier.
2009-10-082009-10-08 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-10/+0
* 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.
2009-09-29Comment fix.Werner Koch1-2/+2
2009-09-212009-09-19 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-227/+150
* 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-01doc/Marcus Brinkmann1-44/+47
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.
2009-09-012009-09-01 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-4/+0
* assuan.h (ASSUAN_INT2FD, ASSUAN_FD2INT): Remove macros. * assuan-defs.h (DIMof): Remove macro.
2009-08-262009-08-26 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-210/+55
* 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.
2008-10-29src/Marcus Brinkmann1-4/+5
2008-10-29 Marcus Brinkmann <[email protected]> * assuan.h (assuan_error_t) (_ASSUAN_ONLY_GPG_ERRORS): Make unsigned int. (assuan_transact): Change return type of callback handlers to assuan_error_t. doc/ 2008-10-29 Marcus Brinkmann <[email protected]> * assuan.texi: Change return type of callback handlers in assuan_transact.
2008-05-25Preparing a release.libassuan-1.0.5Werner Koch1-1/+2