diff options
Diffstat (limited to 'src/ChangeLog-2011')
-rw-r--r-- | src/ChangeLog-2011 | 2375 |
1 files changed, 2375 insertions, 0 deletions
diff --git a/src/ChangeLog-2011 b/src/ChangeLog-2011 new file mode 100644 index 0000000..2f32ea2 --- /dev/null +++ b/src/ChangeLog-2011 @@ -0,0 +1,2375 @@ +2011-12-01 Werner Koch <[email protected]> + + NB: ChangeLog files are no longer manually maintained. Starting + on December 1st, 2011 we put change information only in the GIT + commit log, and generate a top-level ChangeLog file from logs at + "make dist". See doc/HACKING for details. + +2011-08-10 Werner Koch <[email protected]> + + * assuan.h.in (ASSUAN_FORCE_CLOSE): New. + * assuan-defs.h (assuan_context_s): Add flags.FORCE_CLOSE. + * context.c (assuan_set_flag, assuan_get_flag): Set/get the flag. + * assuan-handler.c (assuan_process_done): Close connection if + requested. + +2011-04-06 Werner Koch <[email protected]> + + * libassuan-config.in: Add option --host. + * libassuan.m4: Remove cruft. Add check for correct HOST. + +2011-03-30 Werner Koch <[email protected]> + + * sysutils.c (_assuan_sysutils_blurb): Add version string. + +2011-03-09 Werner Koch <[email protected]> + + * assuan-handler.c (assuan_register_command): Use my_strcasecmp. + +2011-03-06 Ben Kibbey <[email protected]> + + * assuan-socket-connect.c (assuan_socket_connect_fd): Finalize a + context connection from an already connected socket descriptor. + * assuan.h.in (assuan_socket_connect_fd): New prototype. + +2011-03-05 Ben Kibbey <[email protected]> + + * assuan-handler.c (assuan_register_command): Let an existing command + be updated to the new values. + +2011-02-28 Werner Koch <[email protected]> + + * libassuan.vers: Fold LIBASSUAN_1.1 block into LIBASSUAN_1.0. + +2011-02-28 Ben Kibbey <[email protected]> + + * assuan-handler.c (assuan_register_pre_cmd_notify): Pass command + string as second argument. + * assuan.h (assuan_command_t): Move back to assuan-defs.h. + +2011-02-24 Ben Kibbey <[email protected]> + + * assuan-handler.c (assuan_register_pre_cmd_notify): New callback. + * assuan.h (assuan_command_t): Register command object. + (pre_cmd_notify_fnc): New prototype. + +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.h.in: Replace namespace by _namespace. + +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-12-20 Werner Koch <[email protected]> + + * gpgcedev.c (pipeimpl_new): Check malloc and CreateEvent return + codes. + +2010-12-14 Werner Koch <[email protected]> + + * gpgcemgr.c (wchar_to_utf8, utf8_to_wchar, set_show_registry): New. + (main): Add commands --gpgme-log and --gnupg-log. + +2010-11-17 Marcus Brinkmann <[email protected]> + + * vasprintf.c (int_vasprintf) [HAVE_W32CE_SYSTEM && _MSC_VER]: + Just use a fixed size buffer, as va_copy is not easy to fake. + + * gpgcedev.c (struct pipeimpl_s): Add member monitor_rvid. + (struct monitor_s, monitor_t): New types. + (monitor_table, monitor_table_size): New static variables. + (pipeimpl_new): Initialize monitor_rvid. + (allocate_monitor): New function. + (make_pipe): Also try the monitor_table if the opnctx_table fails. + (monitor): Renamed to ... + (monitor_main): ... this. Remove from monitor_table when done. + (assign_rvid): Add to monitor table when creating monitor thread. + +2010-11-15 Werner Koch <[email protected]> + + * gpgcedev.c (GPG_Init): Read debug settings. + + * gpgcemgr.c (enable_debug, enable_log): New. + (main): Add options --enable-debug, --disable-debug, --enable-log, + --disable-log. + +2010-11-12 Werner Koch <[email protected]> + + * gpgcedev.c (DEVCTX_VALUE): Rename to PIPECTX_VALUE. + (LOGCTX_VALUE): New. + (allocate_opnctx): Add arg IS_LOG. + (logimpl_t): New. + (openctx_t): Add field IS_LOG. + (struct logcontrol): New. + (enable_debug, enable_logging): New. + (log_debug): Make use of the ENABLE_DEBUG flag. + (create_log_id): New. + (logimpl_new, logimpl_unref, logimpl_flush, assert_logimpl): New. + (GPG_Init): Check for GPG2 device. + (GPG_Deinit): Close log stream. + (GPG_Open): Implement log device. + (GPG_Read): Return EOF for the GPG2 device + (GPG_Write): Implement GPG2 device. + (dllmain): Init logcontrol CS. + +2010-11-01 Werner Koch <[email protected]> + + * assuan-socket.c (_assuan_sock_bind): Replace open/fdopen by + CreateFile for building with MSC for W32CE. + (utf8_to_wchar, MyCreateFile, MyDeleteFile) [W32CE]: New. + +2010-11-01 Marcus Brinkmann <[email protected]> + + * assuan-socket.c, assuan-uds.c, system.c, assuan-pipe-server.c, + assuan-pipe-connect.c [!HAVE_FCNTL_H]: Don't include fcntl.h. + * assuan-buffer.c [!HAVE_W32CE_SYSTEM]: Do not include process.h. + * assuan-socket.c [!HAVE_W32CE_SYSTEM]: Do not include io.h. + * w32-includes.inc.h: Include winsock2.h before ws2tcpip.h. + * sysutils.c (w32_read_registry): Replace goto label "leave" by + "out" (as leave is defined by some Windows header file). + * assuan-inquire.c: Likewise. + +2010-11-01 Werner Koch <[email protected]> + + * assuan-socket.c (S_IRUSR) [W32]: Define if not defined. + + * sysutils.c: Remove include of devload.h. + + * assuan-defs.h [HAVE_WINSOCK2_H]: Include winsock2.h prior to + windows.h. + * assuan-pipe-server.c: Ditto. + * sysutils.c: Ditto. + * assuan-socket-server.c: Ditto. + * assuan-pipe-connect.c: Ditto. + * assuan-socket-connect.c: Ditto. + * assuan-uds.c: Ditto. + * assuan-logging.c: Ditto. + * system-w32ce.c: Ditto. + * assuan-io.c: Ditto. + + * w32-types.inc.h [_MSC_VER]: Define ssize_t and pid_t. + + * w32ce-fd-t.inc.h, w32-fd-t.inc.h, posix-fd-t.inc.h, debug.h: + s/inline/GPG_ERR_INLINE/. + * assuan.h.in: Let mkheader write the sys/types.h and unistd.h + include lines. + * mkheader.c: Change accordingly. + + Guard include of sys/types.h, sys/stat.h, sys/time.h and unistd.h. + +2010-09-17 Werner Koch <[email protected]> + + * assuan-socket-connect.c (INADDR_NONE): New replacement. Fixes + bug#1282. + +2010-09-01 Werner Koch <[email protected]> + + * assuan.h.in (ASSUAN_NO_LOGGING): New. + * assuan-defs.h (struct assuan_context_s): Add FLAGS.NO_LOGGING. + * context.c (assuan_set_flag, assuan_get_flag): Support new flag. + * assuan-logging.c (_assuan_log_control_channel): Implement new flag. + +2010-08-11 Werner Koch <[email protected]> + + * assuan.h.in (ASSUAN_CONVEY_COMMENTS): New. + * assuan-defs.h (struct assuan_context_s): Add flags.CONVEY_COMMENTS. + * context.c (assuan_set_flag, assuan_get_flag): Support this flag. + (_assuan_read_from_server): Add arg CONVEY_COMMENTS. Change all + callers. + * client.c (assuan_transact): Implement new flags. + +2010-08-09 Werner Koch <[email protected]> + + * assuan-socket-connect.c (assuan_socket_connect): Fix ipv6 + literal IP case. + +2010-08-03 Marcus Brinkmann <[email protected]> + + * gpgcedev.c (GPGCEDEV_IOCTL_ASSIGN_RVID): New call ASSIGN_RVID. + (PIPE_FLAG_HALT_MONITOR): New flag. + (struct pipeimpl_s): New members monitor_proc, monitor_access. + (pipeimpl_new): Initialize them. + (assert_pipeimpl): New function. + (access_opnctx, make_pipe): Use it. + (make_pipe): If there is a monitor, halt it. + (monitor, assign_rvid): New functions. + (GPG_IOControl): Handle GPGCEDEV_IOCTL_ASSIGN_RVID. + + * gpgcedev.c: Use index (between 1 and table size) into + opnctx_table as public context identifiers, instead using pointers + into the table directly (which are not stable under table resize). + (OPNCTX_TO_IDX, OPNCTX_FROM_IDX, OPNCTX_VALID_IDX_P): New macros. + +2010-06-28 Werner Koch <[email protected]> + + * gpgcedev.c (GPG_IOControl) <IOCTL_PSL_NOTIFY>: Unblock threads. + +2010-06-11 Marcus Brinkmann <[email protected]> + + * assuan-handler.c (std_handler_input, + std_handler_output) [HAVE_W32CE_SYSTEM]: Finish the pipe. We must + do this here, because otherwise assuan_close_input_fd() and + assuan_close_output_fd() can't work. + * system-w32ce.c (_assuan_w32ce_finish_pipe): Call SetLastError in + error case. + (__assuan_close): Save WSAGetLastError before trashing it! + Otherwise handle is never closed and GPGME hangs. + +2010-06-10 Marcus Brinkmann <[email protected]> + + * w32ce-add.h (ASSUAN_STDIN, ASSUAN_STDOUT): Define magic handle values. + * system-w32ce.c (__assuan_read, __assuan_write): Handle magic + handle values differently. + + * system-w32ce.c (_assuan_w32ce_finish_pipe): Return error on RVID 0. + +2010-06-09 Marcus Brinkmann <[email protected]> + + * 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. + +2010-06-07 Marcus Brinkmann <[email protected]> + + * 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. + +2010-04-22 Werner Koch <[email protected]> + + * assuan-listen.c (assuan_accept): Show the PID with the default + hello message. + +2010-04-19 Werner Koch <[email protected]> + + * system-w32.c (is_socket): New. + (__assuan_read, __assuan_write): Use is_socket. + +2010-04-16 Marcus Brinkmann <[email protected]> + + * assuan-uds.c (uds_reader, uds_sendfd): Don't break strict + aliasing rules. + +2010-04-14 Werner Koch <[email protected]> + + * Makefile.am (install-exec-hook): Rename libgpgcedev-0.dll. + +2010-04-14 Marcus Brinkmann <[email protected]> + + * Makefile.am (EXTRA_DIST): Add gpgcedev.def. + +2010-04-13 Werner Koch <[email protected]> + + * gpgcedev.c (get_new_opnctx): Always clear IS_WRITE. + +2010-04-08 Werner Koch <[email protected]> + + * gpgcedev.c (GPG_Read, GPG_Write): If the context is not + associated return ERROR_PIPE_NOT_CONNECTED. + * system-w32ce.c (__assuan_read, __assuan_write): Return EAGAIN for + ERROR_PIPE_NOT_CONNECTED. + + * assuan-pipe-connect.c (pipe_connect): Use + _assuan_close_inheritable also in the spawn error case. + +2010-04-06 Werner Koch <[email protected]> + + * posix-includes.inc.h, w32-includes.inc.h: New. + * posix-types.inc.h, w32-types.inc.h: New. + * posix-fd-t.inc.h, w32-fd-t.inc.h, w32ce-fd-t.inc.h: New. + * posix-sock-nonce.inc.h, w32-sock-nonce.inc.h: New. + * mkheader.c (write_special): Support them. + * Makefile.am (common_sources, assuan.h): Ditto + (parts_of_assuan_h): New. + + * w32-sys-pth-impl.h: Use gpg_err_set_errno. + + * assuan.h.in (_ASSUAN_SYSTEM_PTH_IMPL): Factor code out to .. + * posix-sys-pth-impl.h, w32-sys-pth-impl.h: New + * mkheader.c (write_special): Support them. + * Makefile.am (common_sources, assuan.h): Ditto + +2010-03-23 Werner Koch <[email protected]> + + * assuan-error.c (_assuan_w32_strerror) [W32CE]: Print only the code. + +2010-03-22 Werner Koch <[email protected]> + + * Makefile.am (mkheader, assuan.h): Build header file. + (nodist_libassuan_la_SOURCES): New. Use it for assuan.h. + * mkheader.c: New. + * assuan.h: Rename to assuan.h.in. + +2010-03-18 Werner Koch <[email protected]> + + * libassuan.def (_assuan_w32ce_prepare_pipe) + (_assuan_w32ce_finish_pipe): New + * gpgcedev.c (struct opnctx_s): Replace HD by RVID. + (GPGCEDEV_IOCTL_SET_HANDLE): Remove. + (GPGCEDEV_IOCTL_GET_RVID): New. + (create_rendezvous_id): New. + (get_new_opnctx): Init the RVID. + (set_handle): Remove. + (find_and_lock_opnctx, make_pipe, GPG_IOControl): Change to new + method. + * system-w32ce.c (_assuan_w32ce_prepare_pipe) + (_assuan_w32ce_finish_pipe): New. + (_assuan_w32ce_create_pipe): Re-implement using the new functions. + (__assuan_pipe): Create an inheritable pipe. + (build_w32_commandline): New arg FD2_ISNULL. + * system.c (_assuan_close_inheritable): New. + * assuan-pipe-connect.c (pipe_connect): Use the new function. + + * sysutils.c (_assuan_w32ce_create_pipe): Move to system-w32ce.c. + +2010-03-16 Werner Koch <[email protected]> + + * system-w32ce.c (build_w32_commandline): Add args to pass the + special options for the standard descriptors. + (utf8_to_wchar, free_wchar): New. + (__assuan_spawn): Adjust for changes. Convert strings for + CreateProcess to wchar_t. + + * system.c: For better readability move platform dependend code to .. + * system-posix.c, system-w32.c, system-w32ce.c: .. New. + * Makefile.am (common_sources): Account for this change. + +2010-03-11 Werner Koch <[email protected]> + + * assuan-defs.h [!HAVE_VASPRINTF]: Add macros vasprintf and asprintf. + + * vasprintf.c (asprintf): Rename to _assuan_asprintf. + (vasprintf): Rename to _assuan_vasprintf. + + * assuan.h (ASSUAN_LOG_CONTROL): New. + * assuan-logging.c (assuan_set_assuan_log_stream): Default to + ASSUAN_LOG_CONTROL. + (_assuan_log_print_buffer): Remove. + (_assuan_log_control_channel): New. + (assuan_set_assuan_log_stream): Factor envvar code out to .. + (_assuan_init_log_envvars): .. New. + * assuan.c (assuan_set_log_cb): Call _assuan_init_log_envvars. + * assuan-buffer.c (_assuan_read_line, _assuan_write_line) + (assuan_write_line, _assuan_cookie_write_data) + (_assuan_cookie_write_flush): Use _assuan_log_control_channel. + +2010-03-05 Werner Koch <[email protected]> + + * gpgcemgr.c: Add options to register a device and activate it. + +2010-02-24 Werner Koch <[email protected]> + + * gpgcemgr.c: New. + * gpgcedev.c: New. + * sysutils.c (_assuan_w32ce_create_pipe): Rewrote to make use of + the new driver. + +2010-02-16 Werner Koch <[email protected]> + + * system.c (assuan_free): New. + * libassuan.vers (assuan_free): Add it. + * libassuan.def (assuan_free): Add it. + +2010-02-11 Werner Koch <[email protected]> + + * assuan-inquire.c (assuan_inquire): Allow case insensitive + responses. + (_assuan_inquire_ext_cb): Ditto. + +2010-02-10 Werner Koch <[email protected]> + + * assuan-handler.c (std_handler_input, std_handler_output): Make + the parsed FD available to the notification functions. This is + the documented behaviour. + +2010-02-04 Werner Koch <[email protected]> + + * assuan-socket-connect.c: Include stdint.h and arpa/inet.h. + (parse_portno): New. + (assuan_socket_connect): Return a correct error code on failure. + Support assuan:// and file:// schemes. + +2010-02-03 Marcus Brinkmann <[email protected]> + + * libassuan.vers, libassuan.def: Add assuan_set_sock_nonce. + +2010-02-01 Werner Koch <[email protected]> + + * sysutils.c (_assuan_w32ce_create_pipe): New. + * libassuan.def (_assuan_w32ce_create_pipe): New. + * assuan-defs.h (CreateFile) [W32CE]: New macro + * system.c (__assuan_pipe): Make it work for W32CE. + +2010-01-28 Werner Koch <[email protected]> + + * assuan.h: Remove ranges in list of copyright years. + (getenv) [W32CE]: Provide macro. + * sysutils.c: New. + (_assuan_sysutils_blurb): New. + (_assuan_getenv): new. + * assuan-logging.c: Call _assuan_sysutils_blurb. + +2010-01-27 Werner Koch <[email protected]> + + * assuan-socket.c (_assuan_sock_bind): Replace remove by DeleteFile. + + * assuan-handler.c (assuan_get_active_fds) [W32CE]: Remove use of + _get_osfhandle. + * assuan.h (assuan_fd_from_posix_fd) [__MINGW32CE__]: Ditto. + * system.c (assuan_fdopen): Ditto. + (__assuan_spawn) [W32CE]: Do not use GetPriorityClass. + + * assuan-defs.h (getpid) [W32CE]: New. + +2010-01-22 Werner Koch <[email protected]> + + * setenv.c [W32CE]: Make it a dummy. + + * assuan-pipe-connect.c: Remove signal.h. + + * system.c (__assuan_spawn): Use CreateFileW. + (DETACHED_PROCESS) [W32CE]: Define to 0. + + * assuan-socket.c (read_port_and_nonce): Replace ENOFILE by a + proper ENOENT. + + Replace all assignments to ERRNO by a call to gpg_err_set_errno. + +2010-01-14 Werner Koch <[email protected]> + + * debug.c (_assuan_debug, _assuan_debug_begin) + (_assuan_debug_buffer): Check CTX before dereferencing. + + * assuan.c (assuan_release): Immediately leave on NULL CTX. + +2010-01-05 Marcus Brinkmann <[email protected]> + + * 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). + +2009-12-14 Werner Koch <[email protected]> + + * assuan.h (ASSUAN_RESPONSE_COMMENT): New. + * client.c (assuan_client_read_response): Return comment lines. + (assuan_client_parse_response): Return ASSUAN_RESPONSE_COMMENT. + (_assuan_read_from_server): Skip comment lines. + +2009-12-08 Marcus Brinkmann <[email protected]> + + * assuan.h (struct assuan_system_hooks): Don't use "namespace" as + argument name in declaration (C++ keyword). + + * client.c (assuan_client_read_response): Fix linelen. + + * assuan.h (ASSUAN_SPAWN_DETACHED): New macro. + * assuan-pipe-connect.c (pipe_connect): Calculate spawn_flags from + flags. + + * assuan.h (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. + +2009-12-03 Marcus Brinkmann <[email protected]> + + * 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. + +2009-12-01 Marcus Brinkmann <[email protected]> + + * assuan-pipe-server.c (assuan_init_pipe_server): Fix debug output. + +2009-11-27 Marcus Brinkmann <[email protected]> + + * 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-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-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-19 Marcus Brinkmann <[email protected]> + + * 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. + +2009-11-10 Marcus Brinkmann <[email protected]> + + * 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. + +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. + + * 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-04 Marcus Brinkmann <[email protected]> + + * debug.c (_assuan_debug): Free MSG. + +2009-11-04 Werner Koch <[email protected]> + + * Makefile.am (common_sources): Add debug.h. + + * assuan-defs.h (cmdtbl_s): Add field HELPSTR. + * assuan-handler.c (assuan_register_command): Add arg HELP_STRING. + (std_handler_help): Print the help. + +2009-11-02 Marcus Brinkmann <[email protected]> + + * 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-30 Marcus Brinkmann <[email protected]> + + * system.c (_assuan_spawn): Check fd_child_list before dumping it. + +2009-10-20 Marcus Brinkmann <[email protected]> + + * assuan.h (__assuan_usleep): Add declaration. + * system.c (__assuan_usleep): Make non-static. + * libassuan.vers, libassuan.defs: Sort lexicographically. + +2009-10-19 Marcus Brinkmann <[email protected]> + + * system.c (__assuan_waitpid): Return something. + (_assuan_usleep): Don't return value in void function. + +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-14 Werner Koch <[email protected]> + + * assuan-defs.h (assuan_context_s): Add field CURRENT_CMD_NAME. + * assuan-handler.c (dispatch_command): Set this field. + (assuan_get_command_name): New. + * assuan.h, libassuan.vers, libassuan.def: Add new fucntion. + +2009-10-08 Marcus Brinkmann <[email protected]> + + * Makefile.am (libassuan_pth): Removed. + (lib_LTLIBRARIES): Remove $(libassuan_pth). + (libassuan_pth_la_SOURCES, libassuan_pth_la_CPPFLAGS) + (libassuan_pth_la_CFLAGS, libassuan_pth_la_LIBADD): Removed. + * libassuan.m4 (AM_PATH_LIBASSUAN_PTH, AM_PATH_LIBASSUAN_PTHREAD): + Removed. + * assuan-io-pth.c: Removed. + * libassuan-config.in (all_thread_modules): Removed. Also removed + option --thread. + +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-29 Werner Koch <[email protected]> + + * assuan.h: Comment fix. + + * assuan.c (assuan_release): Allow passing a NULL ctx. + +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.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. Add io_monitor_data. + * 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. + + * 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. + +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. + +2009-04-03 Werner Koch <[email protected]> + + * assuan-handler.c (std_cmd_table): Remove second OPTION entry. + +2009-02-24 Werner Koch <[email protected]> + + * assuan-buffer.c (assuan_send_data): Add hack to optionally send + a final "CAN". + +2008-11-03 Marcus Brinkmann <[email protected]> + + * assuan-handler.c (std_handler_help): Make I unsigned to silence + gcc -W warning. + * assuan-logging.c (_assuan_log_print_buffer): Likewise for N. + * funopen.c (_assuan_funopen): Remove initializer to silence gcc + -W warning. + * assuan-handler.c (std_cmd_table): Add missing initializer to + silence gcc -W warning. + * assuan-socket-server.c (io): Likewise. + * assuan-socket-connect.c (assuan_socket_connect_ext): Likewise. + +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. + +2008-10-15 Werner Koch <[email protected]> + + * assuan-logging.c (_assuan_log_printf): Flush if the format + string ends with a LF. + +2008-09-01 Werner Koch <[email protected]> + + * assuan-io.c: Include time.h. Fixes bug#951. + (_assuan_usleep): Use nanosleep only is available. + +2008-03-25 Marcus Brinkmann <[email protected]> + + * assuan-inquire.c (assuan_inquire): Loop over _assuan_read_line + for EAGAIN. + +2008-03-21 Marcus Brinkmann <[email protected]> + + * 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. + + * mkerrors [HAVE_W32_SYSTEM]: Include <windows.h> + (_assuan_error_is_eagain) [HAVE_W32_SYSTEM]: Wait the tenth of a + second. + +2007-11-23 Marcus Brinkmann <[email protected]> + + * assuan-inquire.c (_assuan_inquire_ext_cb): Pass through return + value from callback function. + Suggested by Ben Kibbey <[email protected]>. + +2007-11-14 Werner Koch <[email protected]> + + * assuan-pipe-connect.c (pipe_connect_unix): Add dummy arg FLAGS. + (pipe_connect_w32): Add arg FLAGS and start process detached if + requested. Changed callers to pass 0. + (assuan_pipe_connect_ext): Pass FLAG. + +2007-11-12 Marcus Brinkmann <[email protected]> + + * assuan-inquire.c (_assuan_inquire_ext_cb): Clear + CTX->inquire_membuf after deallocating it. + +2007-10-18 Marcus Brinkmann <[email protected]> + + * assuan-handler.c (std_handler_help): New function. + (std_cmd_table): Add new command HELP. + +2007-10-08 Werner Koch <[email protected]> + + * assuan-util.c (assuan_set_io_hooks): New. + * assuan.h (struct assuan_io_hooks): New. + (assuan_set_io_hooks, _assuan_io_hooks): Add prefix macros. + * assuan-defs.h (_assuan_io_hooks): New. + * assuan-io.c (do_io_read): Take all code from _assuan_io_read. + (_assuan_io_read, _assuan_simple_read): Add hook feature. + (do_io_write): Take all code from _assuan_io_write. + (_assuan_io_write, _assuan_simple_write): Add hook feature. + * assuan-io-pth.c (_assuan_simple_read, _assuan_simple_write) + (_assuan_io_read, _assuan_io_write): Add hook feature. + +2007-10-05 Marcus Brinkmann <[email protected]> + + * assuan.h (_assuan_error_is_eagain): Add prefix macro. + + * 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. + +2007-10-05 Werner Koch <[email protected]> + + * assuan-socket.c (_assuan_sock_wsa2errno): Map WSANOTINITIALISED. + (_assuan_sock_new): Use assuan_fd_t. + * assuan.h (_assuan_sock_wsa2errno): Add prefix macro. + +2007-10-05 Marcus Brinkmann <[email protected]> + + * 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. + + * assuan-uds.c (wsa2errno) [HAVE_W32_SYSTEM]: New function. + (uds_reader, uds_writer) [HAVE_W32_SYSTEM]: Set errno. + +2007-10-04 Werner Koch <[email protected]> + + * mkerrors: Map EAGAIN to GPG_ERR_EAGAIN for read and write + errors. + +2007-10-02 Werner Koch <[email protected]> + + * assuan-io.c (_assuan_io_read) [W32]: Map WSAEWOULDBLOCK to EAGAIN. + * assuan-socket.c (_assuan_sock_check_nonce): N needs to be signed. + + * assuan-defs.h (struct assuan_context_s): Add LISTEN_NONCE. + * assuan-socket-server.c (assuan_set_sock_nonce): New. + (accept_connection): Check the nonce. + +2007-10-01 Werner Koch <[email protected]> + + * assuan.h (ASSUAN_INT2FD, ASSUAN_FD2INT): New. + + * assuan-socket.c: Rewritten. + (assuan_sock_new, assuan_sock_connect, assuan_sock_bind) + (assuan_sock_get_nonce, assuan_sock_check_nonce): New APIs. + + * assuan-io.c (_assuan_simple_read, _assuan_simple_write): + Factored code out to ... + (_assuan_io_read, _assuan_io_write): .. new. + * assuan-io-pth.c (_assuan_io_read, _assuan_io_write): New. + +2007-09-25 Werner Koch <[email protected]> + + * assuan.h (_assuan_gpg_strerror_r, _assuan_gpg_strsource): Add + wrappers for these new internal functions. + +2007-09-24 Marcus Brinkmann <[email protected]> + + * assuan-uds.c (uds_reader) [HAVE_W32_SYSTEM]: Do not touch the + UDS structure in the context. Reported by Frank Osterfeld. + (uds_writer): Clarify code. + +2007-09-14 Marcus Brinkmann <[email protected]> + + * assuan-pipe-connect.c (do_finish) [HAVE_W32_SYSTEM]: Close + ctx->pid as handle. + (pipe_connect_w32): Save the spawned processes handle. + +2007-09-13 Werner Koch <[email protected]> + + * assuan-socket.c (_assuan_close): Add inactive debug outputs. + +2007-09-11 Marcus Brinkmann <[email protected]> + + * assuan.h: Use _WIN32 instead of HAVE_W32_SYSTEM. + +2007-09-07 Marcus Brinkmann <[email protected]> + + * assuan-inquire.c (assuan_inquire_ext): If MAXLEN is 0, still + initialize MEMBUF. + + * assuan-inquire.c (_assuan_inquire_ext_cb): Clear CTX->in_inquire + before invoking callback and returning. + +2007-09-05 Marcus Brinkmann <[email protected]> + + * assuan-handler.c (dispatch_command): Return non-critical errors + with PROCESS_DONE (). + +2007-09-03 Marcus Brinkmann <[email protected]> + + * assuan.h [_ASSUAN_EXT_SYM_PREFIX]: Add missing symbol renames + with _ASSUAN_PREFIX. + +2007-09-03 Marcus Brinkmann <[email protected]> + + * assuan.h [_ASSUAN_EXT_SYM_PREFIX]: Add missing symbol renames + with _ASSUAN_PREFIX. + + * 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-24 Werner Koch <[email protected]> + + Switched license to back to LGPLv2.1. + +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. + +2007-07-12 Werner Koch <[email protected]> + + * assuan.h (assuan_fd_t): New. + (ASSUAN_INVALID_FD): New. Use it everywhere. + * assuan-defs.h (SOCKET2HANDLE, HANDLE2SOCKET) [W32]: New. Use + them to cast descriptors for socket fucntions. + * assuan-pipe-connect.c (fd_to_handle, handle_to_fd): Remove + definition and all uses. + (pid_to_handle, handle_to_pid): Remove as they are ununsed. + * assuan-io.c (_assuan_simple_write, _assuan_simple_read) [W32]: + Make use of HANDLE2SOCKET. + * assuan-socket.c (_assuan_close) [W32]: Use CloseHandle and not + close. + * assuan-handler.c (assuan_get_active_fds) [W32]: Use + _get_osfhandle for the data fp. + + * assuan-io.c (_assuan_simple_write): Return EPIPE on a closed pipe. + (_assuan_simple_read): Likewise + +2007-07-08 Marcus Brinkmann <[email protected]> + + * 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. + +2007-07-05 Werner Koch <[email protected]> + + * assuan-defs.h (struct assuan_context_s): Have peercred.valid + even for Windows. This makes some other code cleaner. + + * assuan.h (ASSUAN_CONFIDENTIAL): New flag. + * assuan-util.c (assuan_set_flag, assuan_get_flag): Support flag. + +2007-07-04 Marcus Brinkmann <[email protected]> + + 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. + +2007-06-18 Werner Koch <[email protected]> + + * assuan-logging.c (load_libgpg_error, _assuan_gpg_strerror_r) + (_assuan_gpg_strsource): New. + * assuan-handler.c (process_request) [W32]: Use these new + functions for human understable error codes. + +2007-06-12 Werner Koch <[email protected]> + + * assuan-io.c (_assuan_simple_read): Hack to allow reading from a + socket. + (_assuan_simple_write): Likewise. + +2007-06-11 Werner Koch <[email protected]> + + * assuan-io-pth.c (_assuan_simple_read, _assuan_simple_write): Use + pth versions also for W32. + +2007-05-29 Werner Koch <[email protected]> + + * assuan-io-pth.c: Include sys/socket.h only if available. Remove + double inclusion of sys/wait.h + + * assuan-pipe-connect.c (build_w32_commandline): Make ARGV const. + + * assuan-pipe-server.c (is_valid_socket) [W32]: Do not define. + + * assuan-socket-server.c [W32]: Include ws2tcpip.h to define + socklen_t. + * assuan-defs.h (struct assuan_context_s): Define most peercred + members only if we can really set them. + (_assuan_simple_sendmsg, _assuan_simple_recvmsg) [W32]: Use a + different prototype. + * assuan.h (assuan_get_peercred) [W32]: Do not define. + * assuan-io.c (_assuan_simple_sendmsg, _assuan_simple_recvmsg) + [w32]: Use another prototype. + +2007-05-09 Werner Koch <[email protected]> + + * libassuan.m4: Print found version on success. + +2007-05-01 Werner Koch <[email protected]> + + * assuan-uds.c (uds_reader): Cast void ptr for arithmetics. + Reported by Peter O'Gorman. + +2006-12-03 Marcus Brinkmann <[email protected]> + + * assuan-handler.c (assuan_command_parse_fd): Also allow white + space after FD. + +2006-12-02 Marcus Brinkmann <[email protected]> + + * assuan-uds.c (uds_reader): Return 0 if recvmsg returns 0. + +2006-12-01 Marcus Brinkmann <[email protected]> + + * assuan-client.c (assuan_transact): Also translate some of the + legacy error codes. + +2006-11-22 Werner Koch <[email protected]> + + * assuan-handler.c (fun1_cookie_write, fun2_cookie_write): New. + (assuan_get_data_fp) [HAVE_FUNOPEN]: Use it. + +2006-11-21 Werner Koch <[email protected]> + + * Makefile.am (libassuan_pth_a_CFLAGS): New. + + * assuan-pipe-server.c (_assuan_release_context): Free CMDTBL. + +2006-11-14 Werner Koch <[email protected]> + + * libassuan.m4 (AM_CHECK_LIBASSUAN): New. + + * assuan-handler.c (assuan_register_post_cmd_notify) + (assuan_register_post_cmd_notify): New. + * assuan-util.c (assuan_set_io_monitor): New. + * assuan-buffer.c (_assuan_read_line): Use it. + (_assuan_write_line): Ditto. + (_assuan_cookie_write_data): Ditto. + (_assuan_cookie_write_flush): Ditto. + +2006-10-18 Werner Koch <[email protected]> + + * libassuan.m4: Pass "pthread" to the common macro. Reported by + Rex Dieter. + +2006-10-16 Werner Koch <[email protected]> + + * mkerrors: Map ASSUAN_Not_Confirmed. + +2006-10-10 Werner Koch <[email protected]> + + * libassuan.m4 (AM_PATH_LIBASSUAN_PTH) + (AM_PATH_LIBASSUAN_PTHREAD): Fixed. + + * assuan-buffer.c (assuan_sendfd): Implement a runtime detection + of implemented descripotr passing. + + * assuan-uds.c: Take care of USE_DESCRIPTOR_PASSING. + + * assuan-defs.h: Add missing semicolon. + +2006-10-09 Werner Koch <[email protected]> + + * assuan-handler.c (process_request): Use weak pragma for the sake + of old gcc's. Reported by Alain Guibert. + + * assuan-io.c: Removed Pth support. + * assuan-io-pth.c: New. Based on assuan-io.c + +2006-10-06 Werner Koch <[email protected]> + + * libassuan-config.in: New options --api-version and --thread. + +2006-10-04 Werner Koch <[email protected]> + + * assuan-client.c (assuan_transact): Need to map old assuan status + codes so that for example CANCELED is correctly mapped. + +2006-09-28 Marcus Brinkmann <[email protected]> + + * assuan-client.c (assuan_transact): Do not convert error on + status line, it is already a gpg-error. Do convert + ASSUAN_Server_Fault. + +2006-09-19 Marcus Brinkmann <[email protected]> + + * assuan.h (assuan_init_socket_server_ext) + [_ASSUAN_EXT_SYM_PREFIX]: Fix typo in macro. + +2006-09-19 Werner Koch <[email protected]> + + * assuan-defs.h (putc_unlocked): Add prototype. + + * assuan-socket-server.c (accept_connection): Made LEN a socklen_t. + + * assuan.h: Replaced assuan error code enum by simple defines and + made assuan_error_t an int. + * mkerrors: Changed parser accordingly. + +2006-09-19 Marcus Brinkmann <[email protected]> + + * assuan-pipe-connect.c: Add hacks for Slowaris. + * assuan-socket.c: Likewise here. + + * assuan.h (enum): Avoid trailing comma in enumerator list. Ugh. + + * mkerrors (_assuan_error): Change return type to assuan_error_t. + * assuan-buffer.c (_assuan_read_line): Change return type to + assuan_error_t. Map returned value of -1. + (_assuan_write_line): Change type of RC to assuan_error_t. + * assuan-defs.h (_assuan_read_line, _assuan_error): Likewise for + prototypes. + + * assuan-defs.h (unsetenv): Define correctly. + +2006-09-14 Werner Koch <[email protected]> + + * assuan-io.c (_assuan_waitpid): New. Changed all waitpid calls + to this. + + * assuan.h (_ASSUAN_DEPRECATED): New internal macro. + (assuan_pipe_connect2): Declare deprecated. + (assuan_init_connected_socket_server): Declare deprecated. + + * assuan-connect.c (assuan_get_peercred): New. + * assuan-socket-server.c (accept_connection_bottom): Save uid and gid. + +2006-09-13 Werner Koch <[email protected]> + + * assuan-client.c (assuan_transact): Need to map the error code. + * mkerrors: Need to map ASSUAN_No_Secret_Key. + + * assuan-pipe-server.c (is_valid_socket): New. + (assuan_init_pipe_server): Use UDS with the environmet variable is + set and a valid descriptor is given. Ignore FILEDES in this case. + + * assuan-socket-server.c (assuan_init_socket_server_ext): New. + Changed other init fucntions to make use of it. + + * assuan-handler.c (assuan_command_parse_fd): Allow for lowercase + "fd". + (std_handler_reset): Close pending fds. + * assuan-uds.c (uds_receivefd): Fixed. + (_assuan_uds_close_fds): New. + + * assuan-socket-connect.c (assuan_socket_connect_ext): New. Takes + all code of assuan_socket_connect plus an option to use sendmsg. + * assuan-pipe-connect.c (assuan_pipe_connect_ext): New arg FLAGS. + +2006-09-12 Werner Koch <[email protected]> + + * assuan-buffer.c (_assuan_write_line): Also log the prefix. + + * assuan-defs.h (DIM, DIMof): New. + + * assuan-domain-server.c: Removed. + * assuan-domain-connect.c: Renamed to .. + * assuan-uds.c: this. + (domain_reader, domain_writer, domain_sendfd, domain_receivefd) + (assuan_domain_connect, _assuan_domain_init): Removed. + (uds_reader, uds_writer, uds_sendfd, uds_receivefd) + (_assuan_init_uds_io): New. + (_assuan_uds_deinit): New. + + * assuan-io.c (_assuan_simple_sendmsg, _assuan_simple_recvmsg): New. + (my_pth_fdmode, my_pth_select): New. + +2006-09-11 Werner Koch <[email protected]> + + * assuan-pipe-server.c (assuan_init_pipe_server): Allow for + FILEDES to be NULL and try to start as a socketpair server in this + case. + + * assuan-pipe-connect.c (assuan_pipe_connect2): Split up into two + functions (unix and w32) for clarity. + (pipe_connect_unix): This is the new fucntion. Add USE_CMSG flag. + (pipe_connect_w32): Ditto. + (initial_handshake): Factored out code. + (socketpair_connect): New. + (assuan_pipe_connect_ext): New. + (do_finish): Handle case if outbound and inbound fd are the same. + This is to support socketpairs. + +2006-09-10 Werner Koch <[email protected]> + + * assuan-util.c (_assuan_log_print_buffer) + (_assuan_log_sanitized_string,assuan_set_log_stream): Moved to .. + * assuan-logging.c: .. here. + (_assuan_log_print_buffer): Only print the leading bytes in hex + log mode unless the new env variable ASSUAN_FULL_LOGGING has been + set. + (_assuan_set_default_log_stream): Test this env variable. + +2006-09-06 Werner Koch <[email protected]> + + * assuan.h (_ASSUAN_ONLY_GPG_ERRORS): New. + + * assuan-handler.c (dispatch_command): Use Syntax_Error instead of + Invalid_Command. + + * assuan-domain-connect.c: Changed alloc malloc/free/realloc to + xtrymalloc et al. + (read_int, write_int): Make args void pointers. + (domain_receivefd): Take care of realloc shrinking failure. + + * assuan-buffer.c (_assuan_read_line, _assuan_write_line) + (assuan_write_line, _assuan_cookie_write_data) + (_assuan_cookie_write_flush): Print the inbound fd instead of the + address of the context when logging I/0. This makes it more + readable. + +2006-09-05 Werner Koch <[email protected]> + + * assuan-defs.h (err_code, err_is_eof): New. + + * mkerrors (_assuan_error): New. Wrapped all error code + assignments in a call to this. + (assuan_strerror): Map gpg-style error codes back. Also print a + string for the old EOF code. + (assuan_set_assuan_err_source): New. + + * assuan-logging.c (_assuan_log_printf): Do not change ERRNO and + print the pid. + + * assuan-domain-connect.c (domain_reader): Replaced plain printf + by assuan_log function. + +2005-10-24 Werner Koch <[email protected]> + + * putc_unlocked.c, memrchr.c, isascii.c, funopen.c: Changed + distribution terms to LGPL. This are small and trivial files so + there are no obstacles of doing so. + * assuan-socket.c: Likewise, the stated GPL was not intended. + +2005-10-08 Marcus Brinkmann <[email protected]> + + * assuan-defs.h (setenv, unsetenv, clearenv) [!HAVE_SETENV]: + Define to _assuan_*. + * setenv.c: Include "assuan-defs.h". + (__add_to_environ): Make static. + +2005-10-07 Marcus Brinkmann <[email protected]> + + * assuan-defs.h (memrchr) [!HAVE_MEMRCHR]: New prototype. + (stpcpy) [!HAVE_STPCPY]: Likewise. + * stpcpy.c: New LGPL'ed file from the GNU C Library. + * setenv.c: New file. + * assuan-domain-connect.c (read_int): New function. + (write_int): New function. + (domain_reader): Use read_int. + (domain_sendfd): Use write_int. + +2005-10-01 Marcus Brinkmann <[email protected]> + + * assuan.h (assuan_pipe_connect, assuan_pipe_connect2): Make type + of ARGV parameter const in prototype. + * assuan-pipe-connect.c (assuan_pipe_connect, + assuan_pipe_connect2): Likewise in declaration. + (assuan_pipe_connect2): Add braindead cast to make execv happy. + + * assuan-client.c (assuan_transact): Change LINE, S and D from + unsigned char * to char * to silence gcc warning. + * assuan-util.c (_assuan_log_sanitized_string): Add explicit cast + to silence gcc warning. + * assuan-inquire.c (assuan_inquire): Likewise. + +2005-09-08 Marcus Brinkmann <[email protected]> + + * assuan-pipe-connect.c (assuan_pipe_connect2): Add missing + declaration of PID. + +2005-08-09 Werner Koch <[email protected]> + + * mkerrors: Include config.h into assuan-errors.c. This is + required so that assuan.h knows about the W32 macro. + + * assuan.h [_ASSUAN_EXT_SYM_PREFIX]: New. + * assuan-io.c [_ASSUAN_NO_PTH]: New. + * assuan-pipe-connect.c (fix_signals) [_ASSUAN_NO_FIXED_SIGNALS]: New. + (assuan_pipe_connect2) [_ASSUAN_USE_DOUBLE_FORK]: Use double fork. + (fix_signals) [_ASSUAN_USE_DOUBLE_FORK]: Do not wait.. + +2005-05-21 Werner Koch <[email protected]> + + * assuan-util.c (assuan_set_flag, assuan_get_flag): New. + * assuan-defs.h (struct assuan_context_s): New field flags. + * assuan.h (assuan_flag_t): New with one flag value + ASSUAN_NO_WAITPID for now. + * assuan-pipe-connect.c (do_finish): Take care of the no_waitpid + flag. + +2005-04-04 Werner Koch <[email protected]> + + * assuan-util.c (_assuan_calloc): Avoid integer overflow. + +2005-03-22 Werner Koch <[email protected]> + + * assuan-defs.h (struct assuan_io): Renamed elements READ and + WRITE to READFNC and WRITEFNC to avoid problems with read defined + as macros. Changed callers. Noted by Ville Skyttä. + +2005-02-24 Werner Koch <[email protected]> + + * assuan-client.c (assuan_transact): Handle empty and comment + commands correctly. + +2004-12-20 Werner Koch <[email protected]> + + * assuan-socket-connect.c (assuan_socket_connect) [W32]: Allow for + a drive letter in the path. + +2004-12-19 Werner Koch <[email protected]> + + * assuan-pipe-server.c (assuan_init_pipe_server) [W32]: Map file + descriptors using _get_osfhandle. + +2004-12-19 Moritz Schulte <[email protected]> + + * assuan-pipe-connect.c (assuan_pipe_connect2): Removed "`" + character at beginning of line 532. + +2004-12-18 Werner Koch <[email protected]> + + * assuan-logging.c (_assuan_w32_strerror): New. + * assuan-defs.h (w32_strerror): new. + * assuan-pipe-connect.c (assuan_pipe_connect2, fix_signals): + Factored signal code out to new function. + (build_w32_commandline, create_inheritable_pipe): New. Taken + from gnupg 1.9. + (assuan_pipe_connect2) [W32]: Implemented for W32. + +2004-12-14 Werner Koch <[email protected]> + + * assuan-socket-connect.c (assuan_socket_connect): Always allow + NAME to start with a froward slash. + +2004-12-07 Werner Koch <[email protected]> + + * assuan-logging.c, assuan-io.c: Include config.h + + Replaced all usages of _WIN32 by the new HAVE_W32_SYSTEM because + there is nothing winning in this API. + + * assuan-pipe-connect.c (assuan_pipe_connect2) [_WIN32]: Return + error Not Imlemented. + +2004-11-27 Werner Koch <[email protected]> + + * assuan-socket.c: Include sys/types.h. Noted by Michael + Nottebrock. + +2004-11-26 Werner Koch <[email protected]> + + * assuan-io.c [_WIN32]: Avoid warnings about unknown pragmas. + +2004-11-24 Werner Koch <[email protected]> + + * assuan-logging.c (_assuan_log_printf): New. + * assuan-domain-connect.c (LOG): Removed and replaced all callers + by _assuan_log_printf. This is needed for C89 and gcc 2.95 which + both don't have C99 style variable arg macros. + * assuan-pipe-connect.c (LOG): Ditto. + * assuan-socket-connect.c (LOG): Ditto. + + * assuan-socket.c[!_WIN32]: Fixed includes. + +2004-11-23 Timo Schulz <[email protected]> + + * assuan-socket.c (_assuan_sock_connect): Get local port from + the sun_path[] file. + (_assuan_sock_bind): Write local port to the sun_path[] file. + * assuan-socket-connect.c (assuan_socket_connect): Use DIRSEP_C + for a better portability. + (assuan-defs.h): Define DIRSEP_C. + +2004-11-19 Werner Koch <[email protected]> + + * assuan-handler.c (assuan_write_status): Return an error code. + +2004-11-22 Timo Schulz <[email protected]> + + * assuan-io.c (_assuan_simple_read, _assuan_simple_write): W32 + support. + * assuan-socket.c (_assuan_close): New. + (_assuan_sock_new): New. + (_assuan_sock_bind): New. + +2004-11-16 Werner Koch <[email protected]> + + * assuan-socket-connect.c (LOG): Fixed macro to print not only the + prefix. + * assuan-domain-connect.c, assuan-socket-connect.c (LOG): Ditto. + +2004-10-02 Werner Koch <[email protected]> + + * assuan-socket-connect.c: Define SUN_LEN, AF_LOCAL and PF_LOCAL + if they are not available. + * assuan-domain-connect.c: Define PF_LOCAL and AF_LOCAL if needed. + +2004-06-23 Marcus Brinkmann <[email protected]> + + * assuan-domain-connect.c [HAVE_SYS_UIO_H]: Include <sys/uio.h>. + +2004-05-11 Werner Koch <[email protected]> + + * assuan-listen.c (assuan_set_hello_line, assuan_accept): Allow + for multi line hello strings. + + * assuan-buffer.c (_assuan_write_line): New with parts of .. + (assuan_write_line): .. factored out. + +2004-04-29 Werner Koch <[email protected]> + + * assuan-socket-connect.c: Include string.h. + * assuan-logging.c: Ditto. + +2004-04-22 Marcus Brinkmann <[email protected]> + + * libassuan.m4: Quote first argument to AC_DEFUN. + +2004-04-21 Werner Koch <[email protected]> + + * assuan-socket-server.c (accept_connection_bottom): Save the pid + of the peer if it is available. + * assuan-socket-connect.c (assuan_socket_connect): Do not save the + dummy SERVED_PID arg. + * assuan-pipe-connect.c (do_finish): Don't wait if the pid is 0. + (assuan_pipe_connect2): Store the parents pid in the environment + of the child. + * assuan-pipe-server.c (assuan_init_pipe_server): Initialize the + peer's pid from the environment. + * assuan-connect.c (assuan_get_pid): Do not return 0 as a PID. + +2004-04-19 Werner Koch <[email protected]> + + * assuan-socket-server.c, assuan-socket-connect.c: Includes + sys/types.h. Reported by Michael Nottebrock. + * assuan-domain-connect.c: Ditto. + +2004-04-13 Werner Koch <[email protected]> + + * assuan-util.c (_assuan_log_print_buffer): Relaxed quoting. + (_assuan_log_sanitized_string): Ditto. + +2004-03-14 Werner Koch <[email protected]> + + * assuan-handler.c: Include <errno.h>. Reported by Bernd Kuhls. + +2004-02-18 Werner Koch <[email protected]> + + * libassuan-config.in: Ignore setting of --prefix. + + * assuan-handler.c (assuan_get_data_fp): Fail with ENOSYS if we + can't implement this. + +2004-02-15 Werner Koch <[email protected]> + + * memrchr.c (memrchr): Fixed implementation. Taken from gpgme. + +2004-02-13 Werner Koch <[email protected]> + + * assuan-domain-connect.c: Removed the unneeded alloca.h. + +2004-01-24 Werner Koch <[email protected]> + + * assuan-pipe-connect.c (assuan_pipe_connect2): New as an + extension of assuan_pipe_connect. Made the latter call this one. + +2004-01-14 Werner Koch <[email protected]> + + * assuan-buffer.c (_assuan_cookie_write_data): Return the + requested size to indicate successful operation. Fixes a spurious + bug we previously fixed using fflush(). + +2003-12-22 Werner Koch <[email protected]> + + * assuan.h (ASSUAN_Locale_Problem): Added. + * assuan-errors.c (assuan_strerror): Ditto. + +2003-12-18 Werner Koch <[email protected]> + + * assuan.h (AssuanCommand): Clarified that these are now + deprecated and actually useless. + (assuan_error_t): Clarified and added ASSUAN_USER_ERROR_FIRST, + ASSUAN_USER_ERROR_LAST. + +2003-12-16 Werner Koch <[email protected]> + + * assuan-buffer.c: Changed formatting of the debug output prefix. + * assuan-util.c (assuan_set_log_stream): Set global log stream if + it has not been done yet. + * assuan-logging.c (_assuan_set_default_log_stream): New. + (assuan_set_assuan_log_prefix): New. + +2003-12-11 Werner Koch <[email protected]> + + * funopen.c (_assuan_funopen): Renamed from funopen, to keep the + name space clean and avoid duplicate definitions if another + library uses the same replacement. + * assuan-defs.h (funopen): Renamed prototype and add a macro. + +2003-12-08 Werner Koch <[email protected]> + + * TODO: Removed. + +2003-11-12 Werner Koch <[email protected]> + + * assuan-handler.c (process_request): Kludge to print better error + messages for gpg-error enabled programs. + +2003-11-06 Werner Koch <[email protected]> + + * assuan.h (assuan_context_t): New. Should be used in favor of + ASSUAN_CONTEXT. + (assuan_error_t): New. To be used instead of AssuanError. + +2003-11-11 Moritz Schulte <[email protected]> + + * assuan-socket-connect.c (assuan_socket_connect): Fix computation + of socket address length. + +2003-08-13 Werner Koch <[email protected]> + + * assuan-inquire.c (assuan_inquire): Increase length of cmdbuf to + the Assuan limit. + +2003-06-24 Werner Koch <[email protected]> + + * mkerrors: Kludge to print libgpg-error values in an easier + readable way. + +2003-04-29 Werner Koch <[email protected]> + + * libassuan.m4: New. Based on libgrypt.m4. + * Makefile.am (m4data_DATA): New. + + * assuan.h (AssuanCommand): Removed. + + * assuan-handler.c: Remove the cmd_id element, + (assuan_register_command): Likewise. Note that semantics changed. + (_assuan_register_std_commands): Adjusted. + +2003-02-22 Neal H. Walfield <[email protected]> + + * Makefile.am (bin_SCRIPTS): Renamed from bin_PROGRAMS. + +2003-02-18 Neal H. Walfield <[email protected]> + + * Makefile.am (libassuan_a_LIBADD): New variable. + * funopen.c: Move from ../common. + * isascii.c: Likewise. + * memrchr.c: Likewise. + * putc_unlocked.c: Likewise. + +2003-02-18 Neal H. Walfield <[email protected]> + + * assuan-handler.c (_IO_cookie_io_functions_t): Remove. + (cookie_io_functions_t): Remove. + (fopencookie): Remove prototype. + (assuan_get_data_fp): Use funopen, not fopencookie. + +2003-02-18 Neal H. Walfield <[email protected]> + + * libassuan-config.in: New file. + * Makefile.am (bin_PROGRAMS): New variable. + +2003-02-17 Neal H. Walfield <[email protected]> + + * .cvsignore: New file. + +2003-02-17 Neal H. Walfield <[email protected]> + + * Makefile.am (lib_LIBRARIES): Use this instead of . . . + (noinst_LIBRARIES): . . . this. + (include_HEADERS): New variable. + (libassuan_a_SOURCES): Remove assuan.h, add assuan-logging.c. + + * assuan.h (assuan_set_assuan_log_stream): New prototype. + (assuan_get_assuan_log_stream): Likewise. + (assuan_get_assuan_log_prefix): Likewise. + * assuan-logging.c: New file. + + * assuan-buffer.c [HAVE_JNLIB_LOGGIN]: Do not include + "../jnlib/logging.h". + (my_log_prefix): Remove function. + (_assuan_read_line): Use assuan_get_assuan_log_prefix in lieu of + my_log_prefix. + (assuan_write_line): Likewise. + (_assuan_cookie_write_data): Likewise. + (_assuan_cookie_write_flush): Likewise. + * assuan-domain-connect.c (LOGERROR, LOGERROR1, LOGERROR2, + LOGERRORX): Remove. + (LOG): New macro. + (domain_reader): Use it. + (domain_writer): Likewise. + (domain_sendfd): Likewise. + (domain_receivefd): Likewise. + (_assuan_domain_init): Likewise. + (assuan_domain_connect): Likewise. + * assuan-pipe-connect.c [HAVE_JNLIB_LOGGIN]: Do not include + "../jnlib/logging.h". + (LOGERROR, LOGERROR1, LOGERROR2, LOGERRORX): Remove. + (LOG): New macro. + (assuan_pipe_connect): Use it. + * assuan-socket-connect.c [HAVE_JNLIB_LOGGIN]: Do not include + "../jnlib/logging.h". + (LOGERROR, LOGERROR1, LOGERROR2, LOGERRORX): Remove. + (LOG): New macro. + (assuan_socket_connect): Use it. + (socket_reader): Remove dead code. + (socket_writer): Likewise. + * assuan-util.c [HAVE_JNLIB_LOGGIN]: Do not include + "../jnlib/logging.h". + (_assuan_log_sanitized_string): Use assuan_get_assuan_log_stream, + not jnlib. + +2002-11-24 Neal H. Walfield <[email protected]> + + * assuan.h (assuan_command_parse_fd): New prototype. + * assuan-handler.c (assuan_command_parse_fd): Rename from + parse_cmd_input_output. Export. + (std_handler_input): Update to use assuan_command_parse_fd. + (std_handler_output): Likewise. + +2002-11-24 Neal H. Walfield <[email protected]> + + * assuan.h (assuan_sendfd): New prototype. + (assuan_receivefd): New prototype. + * assuan-buffer.c (assuan_sendfd): New function. + (assuan_receivefd): New function. + * assuan-handler.c (parse_cmd_input_output): Recognize incoming + file descriptors and act appropriately. + * assuan-defs.h (struct assuan_io): Add fields sendfd and + receivefd. + (struct assuan_context_s): Add fields pendingfds and + pendingfdscount. + * assuan-pipe-server.c (_assuan_new_context): Update IO to reflect + new features. + * assuan-domain-connect.c (do_deinit): Cleanup any unreceived file + descriptors. + (domain_reader): Receive file descriptors. + (domain_sendfd): New function. + (domain_receivefd): New function. + (_assuan_domain_init): Update initialization code to reflect new + features. + +2002-11-24 Neal H. Walfield <[email protected]> + + * assuan-domain-connect.c (do_finish): Remove. + (_assuan_domain_init): Use default handlers where possible. + Add an assert and update comments. + * assuan-domain-server.c (accept_connection): Remove. + (assuan_init_domain_server): Use default handlers where possible. + Put the server in pipe mode: it can only be used by a single + client. + +2002-11-24 Neal H. Walfield <[email protected]> + + * assuan.h: Add prototype for assuan_domain_connect and + assuan_init_domain_server. + * assuan-defs.h: Include <unistd.h>. + Add prototype for _assuan_domain_init. + * assuan-domain-connect.c: New file. + * assuan-domain-server.c: New file. + * Makefile.am (libassuan_a_SOURCES): Add assuan-domain-connect.c + and assuan-domain-server.c + +2002-11-23 Neal H. Walfield <[email protected]> + + * Makefile.am (libassuan_a_SOURCES): Add assuan-io.c. + * assuan-io.c: Restore. + (_assuan_simple_read): Rename from _assuan_read. + (_assuan_simple_write): Rename from _assuan_write. + * assuan-defs.h (_assuan_simple_read): New prototype. + (_assuan_simple_write): Likewise. + * assuan-pipe-server.c (pipe_reader): Remove. + (pipe_writer): Remove. + (_assuan_new_context): Initialize IO is with _assuan_simple_read + and _assuan_simple_write. + * assuan-socket-connect.c (socket_reader): Remove. + (socket_writer): Remove. + (assuan_socket_connect): Initialize IO is with _assuan_simple_read + and _assuan_simple_write. + * assuan-socket-server.c (io): New local variable. + (assuan_init_socket_server): Initialize CTX->io. + (assuan_init_connected_socket_server): Likewise. + +2002-11-23 Neal H. Walfield <[email protected]> + + * assuan-buffer.c (readline): Use memrchr. + (_assuan_read_line): Rewritten to use the string functions. + +2002-11-20 Neal H. Walfield <[email protected]> + + * assuan-socket-connect.c (assuan_socket_connect): Pass PF_LOCAL + to socket(), not AF_UNIX: it expects a PF_* macro and the former + is more portable. + (assuan_socket_connect): Use AF_LOCAL, not AF_UNIX which is more + POSIXy. + +2002-11-20 Neal H. Walfield <[email protected]> + + * assuan-defs.h (struct assuan_io): New structure. + (struct assuan_context_s): New field, io. + (_assuan_read): Depreciated. + (_assuan_write): Likewise. + * assuan-pipe-server.c: Include <unistd.h>. + (pipe_reader): New function. + (pipe_writer): Likewise. + (_assuan_new_context.IO): New local static. Set to pipe_reader + and pipe_writer. Use it to initialize new context. + * assuan-socket-connect.c (socket_reader): New function. + (socket_writer): New function. + (assuan_socket_connect.IO): New local static. Set to socket_reader + and socket_writer. Use it to initialize new context. + * assuan-buffer.c (writen): Take an ASSUAN_CONTEXT rather than a + file descriptor. Do not use _assuan_write but the write method + in the supplied context. + (readline): Likewise for _assuan_read. + (assuan_write_line): When calling writen, pass CTX; not the file + descriptor directly. + (_assuan_cookie_write_data): Likewise. + (_assuan_cookie_write_flush): Likewise. + (_assuan_read_line): Likewise for readline. + * Makefile.am (libassuan_a_SOURCES): Remove assuan-io.c. + * assuan-io.c: Removed. + +2002-11-10 Werner Koch <[email protected]> + + * assuan-pipe-connect.c (assuan_pipe_connect): Changed the order + of the dups to handle cases where we have already used fd 2 for + other things. + +2002-10-31 Neal H. Walfield <[email protected]> + + * assuan-util.c: Include <ctype.h>. + (_assuan_log_print_buffer): Elide the magic numbers preferring the + standard isfoo functions. Use putc_unlocked where possible. + (_assuan_log_sanitized_string): Rewrite to use putc_unlocked and + the isfoo functions. + +2002-09-05 Neal H. Walfield <[email protected]> + + * assuan-defs.h (_assuan_read_wrapper): Depreciated. + * assuan-util.c (_assuan_read_wrapper): Removed. + * assuan-defs.h (_assuan_write_wrapper): Depreciated. + * assuan-util.c (_assuan_write_wrapper): Removed. + * assuan.h (assuan_set_io_fun): Depreciated. + * assuan-util.c (assuan_set_io_fun): Removed. + + * assuan-defs.h (_assuan_read): New function. + (_assuan_write): Likewise. + * assuan-io.c: New file. + + * assuan-buffer.c (writen): Use _assuan_write rather than doing + the work here. + (readline): Likewise for _assuan_read. + + * Makefile.am (libassuan_a_SOURCES): Add assuan-io.c. + +2002-08-16 Werner Koch <[email protected]> + + * assuan.h: Renamed Bad_Certificate_Path to Bad_Certificate_Chain. + +2002-07-30 Werner Koch <[email protected]> + + Changed the license from GPL to LGPL. + +2002-07-23 Werner Koch <[email protected]> + + * assuan-handler.c (_IO_cookie_io_functions_t): Define it here if + it does not exists. + +2002-06-27 Werner Koch <[email protected]> + + * assuan-pipe-connect.c (assuan_pipe_connect): No special handling + for the log_fd and stderr. Connect stderr to /dev/null if it + should not be retained. + +2002-06-26 Werner Koch <[email protected]> + + * assuan-buffer.c (assuan_write_line): Make sure we never + accidently print an extra LF. + +2002-05-23 Werner Koch <[email protected]> + + * assuan-util.c (assuan_set_io_func): New. + * assuan-buffer.c (writen, readline): Use the new functions + instead of pth. + * assuan-socket-server.c (accept_connection): Don't use the + pth_accept - using the assuan included accept code would be a bad + idea within Pth so we don't need a replacement function. + +2002-05-22 Werner Koch <[email protected]> + + * assuan-socket-server.c (assuan_init_connected_socket_server): New. + (accept_connection): Factored most code out to.. + (accept_connection_bottom): .. new function. + +2002-04-04 Werner Koch <[email protected]> + + * assuan-buffer.c (my_log_prefix): New. Use it for all i/o debug + output. + +2002-03-06 Werner Koch <[email protected]> + + * assuan-client.c (_assuan_read_from_server): Detect END. + (assuan_transact): Pass it to the data callback. + +2002-02-27 Werner Koch <[email protected]> + + * assuan-client.c (assuan_transact): Add 2 more arguments to + support status lines. Passing NULL yields the old behaviour. + + * assuan-handler.c (process_request): Flush data lines send + without using the data fp. + +2002-02-14 Werner Koch <[email protected]> + + * assuan-inquire.c (assuan_inquire): Check for a cancel command + and return ASSUAN_Canceled. Allow for non-data inquiry. + + * assuan.h: Add a few token specific error codes. + +2002-02-13 Werner Koch <[email protected]> + + * assuan-defs.h (assuan_context_s): New var CLIENT_PID. + * assuan-pipe-server.c (_assuan_new_context): set default value. + * assuan-socket-server.c (accept_connection): get the actual pid. + +2002-02-12 Werner Koch <[email protected]> + + * assuan-buffer.c (writen,readline) [USE_GNU_PT]: Use pth_read/write. + * assuan-socket-server.c (accept_connection) [USE_GNU_PTH]: Ditto. + +2002-02-01 Marcus Brinkmann <[email protected]> + + * Makefile.am (MOSTLYCLEANFILES): New variable. + +2002-01-23 Werner Koch <[email protected]> + + * assuan-socket-connect.c (LOGERRORX): and removed typo. + +2002-01-22 Marcus Brinkmann <[email protected]> + + * assuan-socket-connect.c (LOGERRORX): Reverse arguments to fputs. + +2002-01-21 Werner Koch <[email protected]> + + * assuan-connect.c: Move all except assuan_get_pid to... + * assuan-pipe-connect.c: this. + (assuan_pipe_disconnect): Removed. + (do_finish, do_deinit): New + (assuan_pipe_connect): and set them into the context. + * assuan-socket-connect.c: New. + + * assuan-util.c (_assuan_log_sanitized_string): New. + + * assuan-pipe-server.c (assuan_init_pipe_server): Factored most + code out to ... + (_assuan_new_context): new func. + (_assuan_release_context): New + * assuan-connect.c (assuan_pipe_connect): Use the new functions. + +2002-01-20 Werner Koch <[email protected]> + + * assuan.h: Added Invalid Option error code. + + * assuan-handler.c (std_handler_option): New. + (std_cmd_tbl): Add OPTION as standard command. + (assuan_register_option_handler): New. + (dispatch_command): Use case insensitive matching as a fallback. + (my_strcasecmp): New. + +2002-01-19 Werner Koch <[email protected]> + + * assuan-buffer.c (_assuan_read_line): Add output logging. + (assuan_write_line): Ditto. + (_assuan_cookie_write_data): Ditto. + (_assuan_cookie_write_flush): Ditto. + * assuan-util.c (_assuan_log_print_buffer): New. + (assuan_set_log_stream): New. + (assuan_begin_confidential): New. + (assuan_end_confidential): New. + + * assuan-defs.h: Add a few handler variables. + * assuan-pipe-server.c (assuan_deinit_pipe_server): Removed. + (deinit_pipe_server): New. + (assuan_deinit_server): New. Changed all callers to use this. + * assuan-listen.c (assuan_accept): Use the accept handler. + * assuan-handler.c (process_request): Use the close Handler. + * assuan-socket-server.c: New. + +2002-01-14 Werner Koch <[email protected]> + + * assuan-client.c (_assuan_read_from_server): Skip spaces after + the keyword. + +2002-01-03 Werner Koch <[email protected]> + + * assuan-handler.c (assuan_set_okay_line): New. + (process_request): And use it here. + +2002-01-02 Werner Koch <[email protected]> + + * assuan-inquire.c (init_membuf,put_membuf,get_membuf): Apply a + hidden 0 behind the buffer so that the buffer can be used as a + string in certain contexts. + +2001-12-14 Marcus Brinkmann <[email protected]> + + * assuan-connect.c (assuan_pipe_connect): New argument + FD_CHILD_LIST. Don't close those fds. + * assuan.h: Likewise for prototype. + +2001-12-14 Werner Koch <[email protected]> + + * assuan-listen.c (assuan_close_input_fd): New. + (assuan_close_output_fd): New. + * assuan-handler.c (std_handler_reset): Always close them after a + reset command. + (std_handler_bye): Likewise. + +2001-12-14 Marcus Brinkmann <[email protected]> + + * assuan-buffer.c (_assuan_read_line): New variable ATTICLEN, use + it to save the length of the attic line. + Rediddle the code a bit to make it more clear what happens. + +2001-12-14 Marcus Brinkmann <[email protected]> + + * assuan-defs.h (LINELENGTH): Define as ASSUAN_LINELENGTH. + assuan.h: Define ASSUAN_LINELENGTH. + +2001-12-13 Marcus Brinkmann <[email protected]> + + * assuan-buffer.c (assuan_read_line): Fix order of execution to + get correct return values. + +2001-12-13 Werner Koch <[email protected]> + + * assuan-handler.c (assuan_get_active_fds): Fixed silly bug, + pretty obvious that nobody ever tested this function. + +2001-12-12 Werner Koch <[email protected]> + + * assuan-connect.c (assuan_pipe_connect): Implemented the inital + handshake. + * assuan-client.c (read_from_server): Renamed to + (_assuan_read_from_server): this and made external. + + * assuan-listen.c (assuan_set_hello_line): New. + (assuan_accept): Use a custom hello line is available. + + * assuan-buffer.c (assuan_read_line): New. + (assuan_pending_line): New. + (_assuan_write_line): Renamed to .. + (assuan_write_line): this, made public and changed all callers. + +2001-12-04 Werner Koch <[email protected]> + + * assuan-connect.c (assuan_pipe_connect): Add more error reporting. + * assuan-client.c: New. + + * assuan-inquire.c: New. + * assuan-handler.c (process_request): Check for nested invocations. + +2001-11-27 Werner Koch <[email protected]> + + * assuan-handler.c (assuan_register_input_notify): New. + (assuan_register_output_notify): New. + +2001-11-26 Werner Koch <[email protected]> + + * assuan.h: Added more status codes. + +2001-11-25 Werner Koch <[email protected]> + + * assuan-handler.c (assuan_register_bye_notify) + (assuan_register_reset_notify) + (assuan_register_cancel_notify): New and call them from the + standard handlers. + (assuan_process): Moved bulk of function to .. + (process_request): .. new. + (assuan_process_next): One shot version of above. + (assuan_get_active_fds): New. + +2001-11-24 Werner Koch <[email protected]> + + * assuan-connect.c (assuan_get_pid): New. + + * assuan-buffer.c (_assuan_read_line): Deal with reads of more + than a line. + * assuan-defs.h: Add space in the context for this. + + + Copyright 2001, 2002, 2006, 2007, 2010 Free Software Foundation, Inc. + + This file is free software; as a special exception the author gives + unlimited permission to copy and/or distribute it, with or without + modifications, as long as this notice is preserved. + + This file is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY, to the extent permitted by law; without even the + implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |