* assuan-pipe-connect.c (pipe_connect_gpgme): Do not close process
handle here. Use this function also on Unix systems.
gpgme/
2007-09-27 Marcus Brinkmann <marcus@g10code.de>
* w32-glib-io.c (_gpgme_io_spawn),
w32-qt-io.cpp (_gpgme_io_spawn), w32-io.c (_gpgme_io_spawn): Close
the process handle, return 0.
tests/
2007-09-27 Marcus Brinkmann <marcus@g10code.de>
* t-engine-info.c (check_engine_info): Fix debug output.
* gpg/Makefile.am (tests_unix): New variable.
(TESTS): Use it.
* gpg/t-support.h (passphrase_cb) [HAVE_W32_SYSTEM]: Use WriteFile instead of write.
* gpg/t-wait.c [HAVE_W32_SYSTEM]: Define sleep as _sleep.
* assuan/assuan-io.c (_assuan_simple_read, _assuan_simple_write):
Always use read/write (which means _gpgme_io_read and
_gpgme_io_write).
gpgme/
2007-07-13 Marcus Brinkmann <marcus@g10code.de>
* priv-io.h (_gpgme_io_set_close_notify): Change type of HANDLER
to _gpgme_close_notify_handler.
(_gpgme_close_notify_handler): New type.
(_gpgme_io_dup): Remove prototype.
* posix-io.c (notify_table, _gpgme_io_set_close_notify): Change
type of HANDLER to _gpgme_close_notify_handler_t.
(_gpgme_io_close): Do not close the FD if handler returns 0.
(_gpgme_io_dup): Remove function.
* w32-io.c (notify_table, _gpgme_io_set_close_notify,
_gpgme_io_close): Change type of HANDLER to
_gpgme_close_notify_handler_t.
(_gpgme_io_close): Do not close the FD if handler returns 0.
(_gpgme_io_dup): Remove function.
* w32-glib-io.c (_gpgme_io_dup): Remove function.
(_gpgme_io_set_close_notify, notify_table): Change type of HANDLER
to _gpgme_close_notify_handler_t.
(_gpgme_io_close): Do not close the FD if handler returns 0.
* rungpg.c (close_notify_handler): Change return type to int,
return 1.
* engine-gpgsm.c (close_notify_handler): Change return type to
int, return 0 for status FD and 1 for all other FDs.
(start): Do not duplicate the status FD.
* configure.ac (GPGSM_DEFAULT) [*-mingw32*]: Initialize it.
(HAVE_ASSUAN_H): Set to 1 if we have it.
(funopen): Use AC_REPLACE_FUNCS.
(USE_DESCRIPTOR_PASSING): Define to 1 if we have it. Do not
define it at all if we don't.
(NETLIBS) [have_w32_system]: Add -lws2_32.
(DIRSEP_C, DIRSEP_S, EXPSEP_C, EXPSEP_S, PATHSEP_S)
[HAVE_DOSISH_SYSTEM]: Remove definitions.
* assuan/assuan.h (_assuan_funopen): Define to _gpgme_funopen.
* assuan/funopen.c: Move to ../gpgme/funopen.c.
* assuan/Makefile.am (libassuan_la_SOURCES): Remove funopen.c.
assuan/
2007-07-08 Marcus Brinkmann <marcus@g10code.de>
* assuan-defs.h (struct assuan_context_s): Have partial peercred
structure even if HAVE_W32_SYSTEM, and have full peercred
structure only if HAVE_SO_PEERCRED.
* assuan-connect.c (assuan_get_peercred) [!HAVE_SO_PEERCRED]: Do
not try to set PID, UID and GID.
gpgme/
2007-07-08 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c [HAVE_W32_SYSTEM]: Enable the bunch of the file.
* funopen.c (funopen): Rename to _gpgme_funopen.
* configure.ac: Changed gpg and gpgsm version checks to work with
arbitrary names of the gpg binary. New option --disable-gpg-test
and --disable-gpgsm-test.
gpgme/
* w32-io.c (build_commandline): Fixed stupid quoting bug.
* w32-glib-io.c (build_commandline): Ditto.
* rungpg.c (gpg_set_locale): Avoid dangling pointer after free.
* gpgme-config.in: New options --get-gpg and --get-gpgsm.
* configure.ac (NEED_GPG_VERSION,
(NEED_GPGSM_VERSION): Must define after it may have been changed
by an option.
* configure.ac: Require gpg-error 1.4 due to the use of
gpg_error_from_syserror.
(HAVE_ASSUAN_H): New.
gpgme/
* ttyname_r.c (ttyname_r) [W32]: Return a dummy name.
* version.c (do_subsystem_inits): Do assuan init only if building
with Assuan.
* setenv.c: Include assuan-def.h only if building with Assuan
support.
* op-support.c (_gpgme_op_reset): Set LC_MESSAGES only if
if defined.
* engine-gpgsm.c (gpgsm_set_locale): Ditto.
* rungpg.c (gpg_set_locale): Ditto.
* configure.ac: Fix two typos in last change.
gpgme/
2006-12-17 Marcus Brinkmann <marcus@g10code.de>
* gpgme.c (gpgme_set_protocol): Shut down the engine when
switching protocols.
(gpgme_ctx_set_engine_info): Likewise for engine info.
* engine.h (_gpgme_engine_reset): New function prototype.
* engine.c (_gpgme_engine_reset): New function.
* engine-backend.h (struct engine_ops): New member RESET.
* rungpg.c (_gpgme_engine_ops_gpg): Add NULL for reset function.
* engine-gpgsm.c (_gpgme_engine_ops_gpgsm)
[USE_DESCRIPTOR_PASSING]: Add gpgsm_reset for reset.
(_gpgme_engine_ops_gpgsm) [!USE_DESCRIPTOR_PASSING]: Add NULL for
reset function.
(gpgsm_reset) [USE_DESCRIPTOR_PASSING]: New function.
* op-support.c (_gpgme_op_reset): Try to use the engine's reset
function if available.
* engine-gpgsm.c (gpgsm_new): Move code to dup status_fd to ...
(start): ... here.
* posix-io.c (_gpgme_io_recvmsg, _gpgme_io_sendmsg): New functions.
Update to current version.
2006-09-19 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Turn stpcpy into a replacement function.
Check for unistd.h and add setenv as replacement function.
gpgme/
2006-09-19 Marcus Brinkmann <marcus@g10code.de>
* setenv.c: New file.
* configure.ac: Instead checking for windres and dlltool, invoke
AC_LIBTOOL_WIN32_DLL and AC_LIBTOOL_RC.
* src/Makefile.am [HAVE_W32_SYSTEM]: Use libtool, which simplifies
the rules.
* w32-util.c (read_w32_registry_string): Updated from code used by
GnuPG. This allows for expanding strings and features the
implicit fallback key.
(w32_shgetfolderpath, find_program_at_standard_place): New.
(_gpgme_get_gpg_path, _gpgme_get_gpgsm_path): With no registry
entry, locate the programs at the standard place.
(dlopen, dlsym, dlclose): New, so that we can keep on using what
we are accustomed to.
* debug.c (debug_init): Use PATHSEP_C so that under W32 a
semicolon is used which allows us to create files with drive
letters.
* w32-io.c (_gpgme_io_read, _gpgme_io_write): Print content in
debug mode too.
* Makefile.am (EXTRA_DIST): Include autogen.sh
* autogen.sh: Added the usual code to build for W32 (--build-w32).
* configure.ac: Fixed the mingw32 host string, removed OS/2 stuff.
(HAVE_DRIVE_LETTERS): Removed.
(HAVE_W32_SYSTEM): Added.
(AC_GNU_SOURCE): New to replace the identical AH_VERBATIM.
(AH_BOTTOM): Added.
* w32-util.c (_gpgme_get_gpg_path, _gpgme_get_gpgsm_path): Do not
cast away type checks.
* io.h [W32]: Do not include stdio.h. If it is needed do it at
the right place.
* data.h [W32]: Removed kludge for EOPNOTSUP.
* data.c, data-compat.c [W32]: Explicitly test for it here.