gpgme/assuan
Marcus Brinkmann 0560f3089b assuan/
2008-06-25  Marcus Brinkmann  <marcus@g10code.de>

	* assuan-pipe-connect.c (struct spawn_fd_item_s): Add new members.
	(HANDLE_TRANSLATION): New macro.
	(pipe_connect_gpgme): Adjust caller of _gpgme_io_spawn.
	[HANDLE_TRANSLATION]: Return translated handles.

gpgme/
2008-06-25  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme-w32spawn.c: New file.
	* Makefile.am (libexec_PROGRAMS) [HAVE_W32_SYSTEM]: New variable
	with gpgme-w32spawn.
	* engine-gpgsm.c (gpgsm_new): Use server translated handles.
	(gpgsm_set_locale): Return early if locale value is NULL.
	* util.h (_gpgme_mkstemp)
	(_gpgme_get_w32spawn_path) [HAVE_W32_SYSTEM]: New function
	prototypes.
	* w32-util.c: Include <stdint.h>, <sys/stat.h> and <unistd.h>.
	(letters, mkstemp, _gpgme_mkstemp, _gpgme_get_w32spawn_path): New
	functions.
	* rungpg.c (gpg_decrypt, gpg_encrypt, gpg_encrypt_sign)
	(gpg_genkey, gpg_import, gpg_verify, gpg_sign): Pass data over
	special filename FD rather than stdin.
	(struct arg_and_data_s): Add member ARG_LOCP.
	(struct fd_data_map_s): Add member ARG_LOC.
	(struct engine_gpg): Add member ARG_LOC to status and colon.
	(_add_arg, add_arg_with_locp): New function.
	(add_arg_ext): Reimplement in terms of _add_arg.
	(gpg_new): Remember argument location for status FD.
	(build_argv): Set argument location if requested.  Also set
	argument location of fd_data_map for data items.
	(start): Adjust caller of _gpgme_io_spawn.
	* priv-io.h (struct spawn_fd_item_s): Add members peer_name and
	arg_loc.
	(_gpgme_io_spawn): Remove parent fd list argument.
	* posix-io.c (get_max_fds): New function.
	(_gpgme_io_dup): Add tracing.
	(_gpgme_io_spawn): Remove parent fd list.  Change meaning of child
	fd list to contain all child fds that should be inherited.  Close
	all other file descriptors after fork.
	* w32-io.c, w32-glib-io.c, w32-qt-io.c(_gpgme_io_spawn): Remove
	parent fd list.  Change meaning of child fd list to contain all
	child fds that should be inherited.  Do not inherit any file
	descriptors, but DuplicateHandle them.  Spawn process through
	wrapper process.  Provide wrapper process with a temporary file
	containing handle translation data.  Return translated handle
	names.
	* w32-io.c (reader): Add more tracing output.
	(_gpgme_io_read): Likewise.
	* engine-gpgconf.c (gpgconf_read): Adjust caller of
	_gpgme_io_spawn.
	* version.c (_gpgme_get_program_version): Likewise.
2008-06-25 16:52:31 +00:00
..
assuan-buffer.c New API gpgme_op_getauditlog. 2007-11-22 16:44:37 +00:00
assuan-client.c 2007-07-04 Marcus Brinkmann <marcus@g10code.de> 2007-07-04 20:03:39 +00:00
assuan-connect.c 2007-07-08 Marcus Brinkmann <marcus@g10code.de> 2007-07-08 15:46:10 +00:00
assuan-defs.h 2007-07-08 Marcus Brinkmann <marcus@g10code.de> 2007-07-08 15:46:10 +00:00
assuan-handler.c Minor fixes for W32 2007-07-12 18:54:45 +00:00
assuan-inquire.c assuan/ 2006-09-19 14:01:54 +00:00
assuan-io.c 2007-07-13 Marcus Brinkmann <marcus@g10code.de> 2007-07-13 00:43:17 +00:00
assuan-listen.c assuan/ 2006-09-19 14:01:54 +00:00
assuan-logging.c Improved debug support: Assuan logging is now directed to the gpgme debug 2007-08-02 14:59:01 +00:00
assuan-pipe-connect.c assuan/ 2008-06-25 16:52:31 +00:00
assuan-pipe-server.c 2007-07-04 Marcus Brinkmann <marcus@g10code.de> 2007-07-04 20:03:39 +00:00
assuan-socket-connect.c assuan/ 2006-09-19 14:01:54 +00:00
assuan-socket-server.c 2007-07-04 Marcus Brinkmann <marcus@g10code.de> 2007-07-04 20:03:39 +00:00
assuan-socket.c 2007-07-16 Marcus Brinkmann <marcus@g10code.de> 2007-07-16 17:26:09 +00:00
assuan-uds.c 2007-07-04 Marcus Brinkmann <marcus@g10code.de> 2007-07-04 20:03:39 +00:00
assuan-util.c Update to rev 231 of libassuan. 2006-11-29 16:25:46 +00:00
assuan.h Fixed a name clash under W32 2007-09-25 15:08:14 +00:00
ChangeLog assuan/ 2008-06-25 16:52:31 +00:00
Makefile.am 2007-07-08 Marcus Brinkmann <marcus@g10code.de> 2007-07-08 15:46:10 +00:00
mkerrors New API gpgme_op_getauditlog. 2007-11-22 16:44:37 +00:00
README.1st 2007-07-16 Marcus Brinkmann <marcus@g10code.de> 2007-07-16 17:26:09 +00:00

This is a modified copy of the libassuan library.  Don't modify it,
but instead modify the original Assuan library and merge the changes
back into this copy.

The changes to the original libassuan, that have to preserved when
updating this directory, are:

* Makefile.am
** Build the library with libtool as a convenience library, which can
   be linked into the shared library GPGME.
** Do not install the library or the header file.
** Define -D_ASSUAN_IN_GPGME_BUILD_ASSUAN to wrap some POSIX functions
   with ATH replacements.

* assuan.h
** Preserve the block between "Begin/End GPGME specific modifications".
   In particular make sure that
     #define _ASSUAN_EXT_SYM_PREFIX _gpgme_
     #define _ASSUAN_NO_PTH 
     #define _ASSUAN_NO_FIXED_SIGNALS 
     #define _ASSUAN_USE_DOUBLE_FORK
   are defined.  This puts all exported Assuan functions in the _gpgme
   namespace.  It also wraps all system functions that are wrapped by
   GNU Pth to _gpgme wrappers.

* assuan-io-pth.c
  We don't need this file as GPGME doesn't use sendmsg and recvmsg.
  If it would, we would need to pick up the W32 implementation.

* assuan-io.c
** _assuan_simple_read() and _assuan_simple_write() must always use
   read()/write() (which actually translates to _gpgme_io_read() and
   _gpgme_io_write()).  _assuan_close must always() use close() (which
   translates to _gpgme_io_close()).


 Copyright 2004, 2007 g10 Code GmbH

 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.