Commit Graph

1271 Commits

Author SHA1 Message Date
Werner Koch
fbed0231f8 Minor fixes for W32 2007-07-12 18:54:45 +00:00
Marcus Brinkmann
79796a371a 2007-07-12 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am: Replace implicite rule by suffix rule.  Add
	SUFFIXES for that.
2007-07-12 18:31:22 +00:00
Marcus Brinkmann
66586ed1d8 2007-07-12 Marcus Brinkmann <marcus@g10code.de>
* gpgsm/Makefile.am (key_id): Change := into =.
2007-07-12 18:26:51 +00:00
Werner Koch
8a322a05b7 Changes for W32 2007-07-12 15:25:20 +00:00
Marcus Brinkmann
f05e78302f 2007-07-10 Marcus Brinkmann <marcus@g10code.de>
* priv-io.h (_gpgme_io_dup): New prototype.
	* posix-io.c (_gpgme_io_dup): New function. 
	* w32-io.c (_gpgme_io_dup): Likewise.
	* w32-glib-io.c (_gpgme_io_dup): Likewise.
	* engine-gpgsm.c (start): Use _gpgme_dup() instead of dup().
2007-07-10 16:06:44 +00:00
Marcus Brinkmann
7a89b37a12 Post-release fixup. 2007-07-09 13:45:06 +00:00
Marcus Brinkmann
90f25816e1 2007-07-09 Marcus Brinkmann <marcus@g10code.de>
Released 1.1.5.

	* configure.ac (LIBGPGME_LT_REVISION): Bump for release.
2007-07-09 13:07:51 +00:00
Marcus Brinkmann
fa3db4b3af Really delete the file as announced in the ChangeLog. 2007-07-08 16:00:04 +00:00
Marcus Brinkmann
e6c2ab1c49 Fix formatting. 2007-07-08 15:48:06 +00:00
Marcus Brinkmann
3e8e05d273 2007-07-08 Marcus Brinkmann <marcus@g10code.de>
* 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.
2007-07-08 15:46:10 +00:00
Marcus Brinkmann
1c6e559bca 2007-07-04 Marcus Brinkmann <marcus@g10code.de>
* assuan/Makefile.am (INCLUDES): Include $(top_srcdir)/gpgme.  *
	assuan/assuan.h: Include <ath.h> instead of trying to duplicate
	the definitions.
2007-07-04 21:07:27 +00:00
Marcus Brinkmann
9efbc9916d 2007-07-04 Marcus Brinkmann <marcus@g10code.de>
* assuan/: Update files to 2007-07-04 version of assuan.
2007-07-04 20:03:39 +00:00
Marcus Brinkmann
edf53d1cff 2007-07-04 Marcus Brinkmann <marcus@g10code.de>
* autogen.sh: Use = not == in test.
2007-07-04 20:02:38 +00:00
Werner Koch
e1cd154ed1 Added target "online". 2007-06-29 14:41:35 +00:00
Marcus Brinkmann
a77f0e1b72 2007-06-05 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Advanced Key Editing): New section.
2007-06-05 14:47:18 +00:00
Marcus Brinkmann
810b9825bc 2007-05-18 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Error Strings): Fix documentation of
	gpgme_strerror_r.
2007-05-18 22:30:42 +00:00
Marcus Brinkmann
16f2c78ca9 2007-05-03 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Registering I/O Callbacks): Fix description of EVENT
	member of gpgme_event_io_t.
2007-05-03 20:12:40 +00:00
Marcus Brinkmann
64e94518b1 2007-04-30 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (gpgsm_new): Fix error handling for ttyname_r.
	* rungpg.c (gpg_new): Likewise.
	Submitted by Stephen Tether.
2007-04-30 18:37:22 +00:00
Werner Koch
a8f0310f8b Post release updates 2007-03-05 11:18:47 +00:00
Werner Koch
c00c59b9af Preparing a new release 2007-03-05 10:56:31 +00:00
Werner Koch
ac3d1e6c9c Fixed last chnage. 2007-02-26 10:44:57 +00:00
Werner Koch
87ed9ee210 Detect and bailo out on double plaintext messages. 2007-02-26 10:36:08 +00:00
Marcus Brinkmann
94c2f110f4 2007-01-29 Marcus Brinkmann <marcus@g10code.de>
* Released 1.1.3.

        * configure.ac (LIBGPGME_LT_REVISION): Bump for release.
2007-01-29 20:53:59 +00:00
Werner Koch
6b36c96961 /
* 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.
2007-01-26 12:08:12 +00:00
Marcus Brinkmann
91ef2558f7 Fix last change. 2007-01-18 18:02:54 +00:00
Marcus Brinkmann
c6daf79943 2007-01-18 Marcus Brinkmann <marcus@g10code.de>
* data.h (_gpgme_data_get_fd): Add prototype.
	(gpgme_data_get_fd_cb): New type.
	(struct _gpgme_data_cbs): New member get_fd.
	* data.c (_gpgme_data_get_fd): New function.
	* data-fd.c (fd_get_fd): New function.
	(fd_cbs): Add fd_get_fd.
	* data-stream.c (stream_get_fd): New function.
	(stream_cbs): Add stream_get_fd.
	* data-mem.c (mem_cbs): Add NULL for get_fd callback.	
	* data-user.c (user_cbs): Likewise.
	* engine-gpgsm.c (gpgsm_set_fd) [USE_DESCRIPTOR_PASSING]: Try to
	short-cut by passing the data descriptor directly.
2007-01-18 17:59:26 +00:00
Marcus Brinkmann
12880b3b5c Add item about windows command line quoting bug fix. 2007-01-17 19:38:29 +00:00
Marcus Brinkmann
bf47bd8153 2007-01-17 Marcus Brinkmann <marcus@g10code.de>
* w32-io.c (build_commandline): Quote all command line arguments.
	* w32-glib-io.c (build_commandline): Likewise.
2007-01-17 19:35:06 +00:00
Werner Koch
ed733acb3b /
* 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.
2007-01-10 10:18:05 +00:00
Werner Koch
909b27e123 Fixes for building without gpgsm and for W32 2007-01-08 12:05:07 +00:00
Marcus Brinkmann
ebcdf674a5 2007-01-05 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Add options --with-gpg-version and
	--with-gpgsm-version to allow overriding the minimum version
	requirements.
2007-01-05 17:16:03 +00:00
Marcus Brinkmann
c9db21ce69 2006-12-17 Marcus Brinkmann <marcus@g10code.de>
* 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.
2006-12-17 21:12:40 +00:00
Marcus Brinkmann
c4cc79e750 2006-12-17 Marcus Brinkmann <marcus@g10code.de>
* engine.h (_gpgme_engine_new): Remove arguments lc_ctype and
	lc_messages from prototype.
	(_gpgme_engine_set_locale): New prototype.
	* engine.c (_gpgme_engine_set_locale): New function.
	* op-support.c (_gpgme_op_reset): Call _gpgme_engine_set_locale.
	* engine-backend.h (struct engine_ops): Add new member SET_LOCALE.
	Remove arguments lc_messages and lc_ctype from member NEW.
	* engine-gpgsm.c (struct engine_gpgsm): New members lc_ctype_set
	and lc_messages_set.
	(gpgsm_new): Remove lc_messages and lc_ctype
	arguments.
	(gpgsm_set_locale): New function.
	(_gpgme_engine_ops_gpgsm): Add gpgsm_set_locale.
	* rungpg.c (struct engine_gpg): Add new members lc_messages and
	lc_ctype.
	(gpg_release): Release lc_messages and lc_ctype if set.
	(gpg_new): Remove lc_messages and lc_ctype arguments.
	(gpg_set_locale): New function.
	(_gpgme_engine_ops_gpg): Add gpg_set_locale.
	(add_arg): Implement in terms of:
	(add_arg_ext): New function.
	(start): Set lc-messages and lc-ctype arguments here.
2006-12-17 16:40:09 +00:00
Marcus Brinkmann
a78b6deb59 2006-12-03 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (struct engine_gpgsm): Move members
	input_fd_server, output_fd_server, message_fd_server to ...
	(iocb_data): ... here (as server_fd).
	(close_notify_handler): Reset tags as well.
	(gpgsm_new): Implement support for descriptor
	passing.
	(fd_type_t): New type.
	(gpgsm_clear_fd): New function.  Use it instead of _gpgsm_io_close
	for unused communication channels.
	(gpgsm_set_fd): Rewritten to support descriptor passing.  All
	relevant callers adjusted as well (previously of _gpgme_io_close).
2006-12-03 02:05:23 +00:00
Marcus Brinkmann
3ad7656d76 2006-12-03 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Use descriptor passing only if --enable-fd-passing
	is provided.
2006-12-03 02:00:43 +00:00
Marcus Brinkmann
46260ca943 2006-12-03 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Add check for use of descriptor passing.
2006-12-02 23:58:35 +00:00
Marcus Brinkmann
cf617501eb 2006-12-02 Marcus Brinkmann <marcus@g10code.de>
* version.c: Include "assuan.h".
	(do_subsystem_inits): Call assuan_set_assuan_err_source.
2006-12-02 23:57:14 +00:00
Marcus Brinkmann
4f7f40d932 2006-12-02 Marcus Brinkmann <marcus@g10code.de>
* gpgsm/t-keylist.c (main): Skip unknown keys.  Newer versions of
	GPGSM import more keys than older ones.
2006-12-02 22:47:02 +00:00
Marcus Brinkmann
d8731af5e4 2006-12-01 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (libgpgme_real_la_SOURCES): Rename to main_sources.
	(libgpgme_la_SOURCES, libgpgme_pthread_la_SOURCES,
	libgpgme_glib_la_SOURCES, libgpgme_pth_la_SOURCES): Add
	$(main_sources).
	(libgpgme_la_DEPENDENCIES, libgpgme_la_LIBADD,
	libgpgme_pthread_la_DEPENDENCIES, libgpgme_pthread_la_LIBADD,
	libgpgme_pth_la_DEPENDENCIES, libgpgme_pth_la_LIBADD,
	libgpgme_glib_la_DEPENDENCIES, libgpgme_glib_la_LIBADD): Remove
	libgpgme-real.la.
	(noinst_LTLIBRARIES): Removed.
	(libgpgme_glib_la_CFLAGS, libgpgme_pth_la_CFLAGS): Removed.
	(AM_CFLAGS): New variable.
2006-12-01 12:22:37 +00:00
Marcus Brinkmann
29556ce301 2006-11-30 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c: Replace AssuanError with gpg_error_t and
	ASSUAN_CONTEXT with assuan_context_t.
2006-11-30 20:45:33 +00:00
Marcus Brinkmann
35fb0955cc 2006-11-29 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (gpgsm_new): Check return value of
	assuan_pipe_connect.
2006-11-29 19:21:18 +00:00
Marcus Brinkmann
cba1fa6f2d Update to rev 231 of libassuan. 2006-11-29 16:25:46 +00:00
Marcus Brinkmann
81ce89a937 2006-11-29 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (NEED_GPG_VERSION): Bump to 1.3.0.
2006-11-29 15:47:00 +00:00
Marcus Brinkmann
7dd67937a5 2006-11-29 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c: Include <unistd.h>.
	(gpg_new): Support --display, --ttyname, --ttytype, --lc-ctype and
	--lc-messages.  Fixes issue 734.
2006-11-29 15:44:29 +00:00
Moritz Schulte
dab00190af 2006-11-01 Moritz Schulte <moritz@g10code.com>
* gpgme.texi (Data Buffer I/O Operations): Fixed entry for
	gpgme_data_seek: OFFSET is not a pointer; some s/whence/offset/.
2006-11-01 10:02:12 +00:00
Marcus Brinkmann
17132419da 2006-10-24 Marcus Brinkmann <marcus@g10code.de>
* trustlist.c (gpgme_op_trustlist_next): Return error if OPD is
	NULL.
2006-10-24 09:22:33 +00:00
Marcus Brinkmann
557eb0e037 2006-10-23 Marcus Brinkmann <marcus@g10code.de>
* wait-global.c (gpgme_wait): Unlock CTX_LIST_LOCK while calling
	_gpgme_engine_io_event().
2006-10-23 18:52:14 +00:00
Marcus Brinkmann
b975ff0428 2006-10-23 Marcus Brinkmann <marcus@g10code.de>
* keylist.c (gpgme_op_keylist_next): Return error if OPD is NULL.
2006-10-23 17:17:25 +00:00
Marcus Brinkmann
df68198622 doc/
2006-09-25  Marcus Brinkmann  <marcus@g10code.de>

        * gpgme.texi (Destroying Data Buffers): Clarify that
        gpgme_data_release_and_get_mem destroys DH unconditionally.

gpgme/
2006-09-25  Marcus Brinkmann  <marcus@g10code.de>

        * data-mem.c (gpgme_data_release_and_get_mem): Release the data
        object properly.
2006-09-25 14:57:00 +00:00
Marcus Brinkmann
6549b4a1ac 2006-09-22 Marcus Brinkmann <marcus@g10code.de>
* keylist.c (keylist_colon_handler): Move debug output after
	initialising KEY.
2006-09-22 12:29:36 +00:00
Marcus Brinkmann
41f65ab203 assuan/
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.
2006-09-19 14:01:54 +00:00
Marcus Brinkmann
1336f14629 2006-07-29 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Check for network libraries and set NETLIBS.

gpgme/
2006-07-29  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme-config.in (Options): Add NETLIBS.
	* Makefile.am (libgpgme_la_LIBADD, libgpgme_pthread_la_LIBADD,
	libgpgme_pth_la_LIBADD, libgpgme_glib_la_LIBADD): Add NETLIBS.
2006-07-29 14:40:16 +00:00
Marcus Brinkmann
544dee4410 2006-07-29 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (read_status): Fix comparison disguising as an
	assignment.
2006-07-29 13:42:10 +00:00
Marcus Brinkmann
c5cb228b20 doc/
2005-03-24  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Library Version Check): Make example code compatible
	to W32 systems.

gpgme/
2005-03-24  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.c (gpgme_set_locale): Remove conditional on
	HAVE_W32_SYSTEM, and just check for LC_MESSAGES.
2006-07-16 13:36:04 +00:00
Marcus Brinkmann
bcf90a2431 2006-07-16 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (read_status): Strip potential carriage return.
	* genkey.c (get_key_parameter): Skip potential carriage return.
	* version.c (_gpgme_get_program_version): Strip potential carriage
	return.
2006-07-16 13:27:08 +00:00
Marcus Brinkmann
1fba18c63d 2006-07-16 Marcus Brinkmann <marcus@g10code.de>
* data.c (gpgme_data_set_file_name): Allow to clear the file name
	by passing NULL.
2006-07-16 13:25:19 +00:00
Marcus Brinkmann
3f2f848437 2006-07-06 Marcus Brinkmann <marcus@g10code.de>
* lang, lang/cl: New subdirectories.
	* lang/Makefile.am, lang/README: New files.
	* configure.ac (AC_CONFIG_FILES): Add lang/Makefile,
	lang/cl/Makefile and lang/cl/gpgme.asd.
	* Makefile.am (SUBDIRS): Add lang.

lang/cl/
2006-07-06  Marcus Brinkmann  <marcus@g10code.de>

	* Initial release.
2006-07-06 10:37:52 +00:00
Marcus Brinkmann
666c14e9dd 2006-06-22 Marcus Brinkmann <marcus@g10code.de>
* keylist.c (gpgme_get_key): Also clone the engine info.
2006-06-22 17:20:47 +00:00
Marcus Brinkmann
328ec449c3 2006-06-21 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Passphrase Callback): Fix inverted condition in
	description.
2006-06-21 01:15:42 +00:00
Marcus Brinkmann
c3b1fb4377 2006-06-08 Marcus Brinkmann <marcus@g10code.de>
* pth.m4: Add --all to pth-config invocation.
2006-06-08 22:07:27 +00:00
Marcus Brinkmann
823849b972 2006-03-06 Marcus Brinkmann <marcus@g10code.de>
* gpgme-config.in (cflags_pth): Revert accidential removal of
	pthread support with last change.
2006-03-06 10:33:57 +00:00
Marcus Brinkmann
28874ac0fd Post-release tweaks. 2006-03-03 10:13:49 +00:00
Marcus Brinkmann
e64d4e4ef0 2006-03-02 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (LIBGPGME_LT_REVISION): Bump for release.
2006-03-02 10:39:59 +00:00
Marcus Brinkmann
62a799f7b6 2006-02-28 Marcus Brinkmann <marcus@g10code.de>
* w32-glib-io.c (O_BINARY) [!O_BINARY]: New macro.
	(_gpgme_io_pipe): Open pipes in binary mode.
2006-02-28 16:54:59 +00:00
Marcus Brinkmann
23fa0052d3 Change history. That's double plus good. 2006-02-23 16:31:54 +00:00
Marcus Brinkmann
7f37d46b8d 2006-02-22 Marcus Brinkmann <marcus@g10code.de>
Released 1.1.1.

	* configure.ac (LIBGPGME_LT_CURRENT, LIBGPGME_LT_AGE): Bump for
	release.
	(LIBGPGME_LT_REVISION): Reset to 0 for release.
2006-02-22 12:03:33 +00:00
Marcus Brinkmann
643892eb71 Fix copyright year. 2006-02-22 12:01:27 +00:00
Marcus Brinkmann
789cb8d390 2006-02-22 Marcus Brinkmann <marcus@g10code.de>
* pth.m4: Fix code generation (required for Max OS X).
	Submitted by Emanuele Giaquinta <exg@gentoo.org>.
2006-02-22 11:58:33 +00:00
Marcus Brinkmann
fbca0984ad 2006-02-22 Marcus Brinkmann <marcus@g10code.de>
* engine.c (gpgme_engine_check_version): Reimplemented to allow
	checking the version correctly even after changing the engine
	information.  Bug reported by Stéphane Corthésy.
2006-02-22 11:44:16 +00:00
Marcus Brinkmann
a88529e029 2006-02-22 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (read_colon_line): Invoke colon preprocess handler if
	it is set.
	(colon_preprocessor_t): New type.
	(struct engine_gpg): New member colon.preprocess_fnc.
	(gpg_keylist_preprocess): New function.
	* keylist.c (keylist_colon_handler): Allow short key IDs.
2006-02-22 11:02:50 +00:00
Marcus Brinkmann
be3db378b0 2006-02-15 Marcus Brinkmann <marcus@g10code.de>
* w32-io.c (create_writer): Make C->have_data a manually resetted
	event.
	(writer): Move code from end of if block to beginning, so it
	is also run the first time.
	(_gpgme_io_write): Move assert check after error check.  Reset
	the is_empty event, and also do it eagerly.
	(_gpgme_io_select): Unconditionally wait for the is_empty event.
2006-02-15 13:30:08 +00:00
Werner Koch
643ff0a1f5 . 2006-01-26 10:56:56 +00:00
Werner Koch
247c7e7b37 [W32] Add a tuning feature 2006-01-26 10:23:15 +00:00
Werner Koch
543436c687 Minor glib fix.
Pretty up debug output.
2006-01-05 08:58:50 +00:00
Werner Koch
b848c5e6bf Append revision number to the version string 2006-01-03 18:40:33 +00:00
Werner Koch
56417991ee Added PKA stuff 2006-01-03 18:31:48 +00:00
Marcus Brinkmann
c5ad877039 2006-01-03 Marcus Brinkmann <marcus@g10code.de>
* w32-glib-io.c (_gpgme_io_close): Only close fd if there is no
	channel for it.
2006-01-03 14:20:12 +00:00
Marcus Brinkmann
43418e449a Fix last change. 2005-12-31 12:56:49 +00:00
Marcus Brinkmann
eab321ee3c 2005-12-31 Marcus Brinkmann <marcus@g10code.de>
* w32-glib-io.c (find_channel): Set channel to unbuffered.
	(_gpgme_io_select): Fix debug output.
2005-12-31 04:22:14 +00:00
Werner Koch
6da0dd817e Basic PKA support. 2005-12-20 20:22:19 +00:00
Werner Koch
9efae3c8ab * Fixed a bug in that the fingerprints of subkeys are not available.
* Clarified usage of the SECRET flag in key listings.  It is now
   reset for stub keys.
2005-12-06 16:30:21 +00:00
Marcus Brinkmann
dbf3ae7a6a 2005-11-27 Marcus Brinkmann <marcus@g10code.de>
* engine.c (_gpgme_set_engine_info): Use new_file_name in
	engine_get_version invocation.  Reported by Stéphane Corthésy.
2005-11-27 17:11:55 +00:00
Marcus Brinkmann
96723f664f 2005-11-24 Marcus Brinkmann <marcus@g10code.de>
* w32-glib-io.c (_gpgme_io_fd2str): Remove debug printf.
2005-11-24 08:39:23 +00:00
Werner Koch
dcd3ac6e7a GPA does now work with the glib based i/o backend. 2005-11-18 16:52:38 +00:00
Marcus Brinkmann
faee87892f 2005-11-18 Marcus Brinkmann <marcus@g10code.de>
* priv-io.h (_gpgme_io_fd2str): New prototype.
	* posix-io.c (_gpgme_io_fd2str): New function.
	* w32-io.c (_gpgme_io_fd2str): New function.
	* rungpg.c: Use this new function.
	* w32-glib-io.c (_gpgme_io_fd2str): Rewrote the file handle code
	again.  Two's company, three's the musketeers.
2005-11-18 14:00:50 +00:00
Marcus Brinkmann
5eb56fada1 2005-11-18 Marcus Brinkmann <marcus@g10code.de>
* w32-glib-io.c: Rewrote the file handle code.  We don't create
	system fds for every handle (doesn't work for inherited handles),
	but we create pseudo fds in a private namespace that designate a
	handle and potentially a giochannel.
2005-11-18 11:18:01 +00:00
Marcus Brinkmann
708be0cea4 2005-11-17 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Add support for --enable-w32-glib (disabled by
	default).  Invoke AM_PATH_GLIB_2_0.

gpgme/
2005-11-17  Marcus Brinkmann  <marcus@g10code.de>

	* w32-glib-io.c: New file.
	* gpgme.def (gpgme_get_giochannel): Add symbol.
	* Makefile.am (system_components) [HAVE_DOSISH_SYSTEM]: Remove
	w32-io.c.
	(ltlib_gpgme_extra): New variable.
	(lib_LTLIBRARIES): Add $(ltlib_gpgme_extra).
	(system_components_not_extra): New variable.
	(libgpgme_la_SOURCES, libgpgme_pthread_la_SOURCES,
	(libgpgme_pth_la_SOURCES): Add $(system_components_not_extra).
	(libgpgme_glib_la_LDFLAGS, libgpgme_glib_la_DEPENDENCIES,
	(libgpgme_glib_la_LIBADD, libgpgme_glib_la_CFLAGS)
	[BUILD_W32_GLIB]: New variables. 
	* gpgme-config.in (glib): New option.
	* gpgme.m4 (AM_PATH_GPGME_GLIB): New macro.

m4/
2005-11-17  Marcus Brinkmann  <marcus@g10code.de>

	* glib-2.0.m4: New file.
2005-11-17 18:45:30 +00:00
Marcus Brinkmann
2259df1be2 2005-11-17 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Add support for --enable-w32-glib (disabled by
	default).  Invoke AM_PATH_GLIB_2_0.

gpgme/
2005-11-17  Marcus Brinkmann  <marcus@g10code.de>

	* w32-glib-io.c: New file.
	* gpgme.def (gpgme_get_giochannel): Add symbol.
	* Makefile.am (system_components) [HAVE_DOSISH_SYSTEM]: Remove
	w32-io.c.
	(ltlib_gpgme_extra): New variable.
	(lib_LTLIBRARIES): Add $(ltlib_gpgme_extra).
	(system_components_not_extra): New variable.
	(libgpgme_la_SOURCES, libgpgme_pthread_la_SOURCES,
	(libgpgme_pth_la_SOURCES): Add $(system_components_not_extra).
	(libgpgme_glib_la_LDFLAGS, libgpgme_glib_la_DEPENDENCIES,
	(libgpgme_glib_la_LIBADD, libgpgme_glib_la_CFLAGS)
	[BUILD_W32_GLIB]: New variables. 
	* gpgme-config.in (glib): New option.
	* gpgme.m4 (AM_PATH_GPGME_GLIB): New macro.

m4/
2005-11-17  Marcus Brinkmann  <marcus@g10code.de>

	* glib-2.0.m4: New file.
2005-11-17 18:45:14 +00:00
Marcus Brinkmann
a18a87b472 2005-11-17 Marcus Brinkmann <marcus@g10code.de>
* priv-io.h (_gpgme_io_waitpid, _gpgme_io_kill): Removed.
	* w32-io.c (_gpgme_io_waitpid, _gpgme_io_kill): Removed.
	* posix-io.c (_gpgme_io_kill): Removed.
	(_gpgme_io_waitpid): Declare static.
2005-11-17 16:12:27 +00:00
Werner Koch
5fdb340ed6 build static and shared lib by default - required by gpgol. 2005-11-15 16:04:28 +00:00
Marcus Brinkmann
1f0aa70b9f 2005-10-24 Marcus Brinkmann <marcus@g10code.de>
* w32-io.c (_gpgme_io_spawn): Don't minimize window, hide it.
2005-10-24 09:53:59 +00:00
Werner Koch
fdbbbd9ca1 fixed c+p error and a typo 2005-10-21 16:18:08 +00:00
Marcus Brinkmann
8f384cc3da 2005-10-20 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am: Build versioninfo.lo, not versioninfo.o.  Also, fix
	the whole mess.
2005-10-20 19:21:30 +00:00
Marcus Brinkmann
34e012d158 2005-10-20 Marcus Brinkmann <marcus@g10code.de>
* w32-dll/ChangeLog, w32-dll/build-dll, w32-dll/gpgme.def: Remove
	files.
2005-10-20 13:32:48 +00:00
Marcus Brinkmann
ce60c2671e 2005-10-20 Marcus Brinkmann <marcus@g10code.de>
* 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.
2005-10-20 13:05:04 +00:00
Werner Koch
dc7817fa5f Add a test for expired subkeys 2005-10-19 08:23:23 +00:00
Marcus Brinkmann
0ab325554b 2005-10-16 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (gpg_edit): Don't add a key argument if in card edit
	mode.
2005-10-16 19:38:32 +00:00
Marcus Brinkmann
c96cdf0b89 2005-10-07 Marcus Brinkmann <marcus@g10code.de>
* gpgsm/t-keylist.c (main): Allow for an email address as a second
	uid.
2005-10-07 13:34:22 +00:00
Marcus Brinkmann
bd91d68071 2005-10-07 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-sig-notation.c: Change critical notation to something
	GnuPG understands.
2005-10-06 23:28:50 +00:00
Marcus Brinkmann
5b37e8afda 2005-10-06 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (gpgme.dll gpgme.dll.a): Use $(srcdir) for
	gpgme.def.
2005-10-06 11:06:25 +00:00
Marcus Brinkmann
daee12140f doc/
2005-10-06  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Destroying Data Buffers): Document gpgme_free.

gpgme/
2005-10-06  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h (gpgme_free): New prototype.
	* data-mem.c (gpgme_free): New function.
	* libgpgme.vers (GPGME_1.1): Add gpgme_free.
	* gpgme.def: Add gpgme_free.
2005-10-06 10:44:26 +00:00
Marcus Brinkmann
acd9724a34 Update some items. 2005-10-02 14:55:33 +00:00
Marcus Brinkmann
d9f9aca709 Update some items. 2005-10-02 14:41:03 +00:00
Marcus Brinkmann
fdbd99e902 doc/
2005-10-02  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Key Management): Add the new member notations of
	gpgme_sig_key_t.
	(Key Listing Mode): Document GPGME_KEYLIST_MODE_SIG_NOTATIONS.

gpgme/
2005-10-02  Marcus Brinkmann  <marcus@g10code.de>

	* util.h (_gpgme_decode_percent_string): Add new argument BINARY
	to prototype.
	* verify.c (parse_notation): Likewise for invocation.
	* conversion.c (_gpgme_decode_percent_string): Likewise to
	declaration.  If set, do not replace '\0' characters with a
	printable string.
	* gpgme.h (struct _gpgme_key_sig): New field notations.
	* ops.h (_gpgme_parse_notation): New prototype.
	* sig-notation.c (_gpgme_parse_notation): New function.
	* key.c (gpgme_key_unref): Free all signature notations.
	* keylist.c (op_data_t): New member tmp_keysig.
	(finish_key): Clear OPD->tmp_keysig.
	* gpgme.c (gpgme_set_keylist_mode): Remove check.
	* rungpg.c (gpg_keylist): Support listing signature notations.
	(gpg_keylist_ext): Likewise.
2005-10-02 14:39:31 +00:00
Marcus Brinkmann
8c7c23f76b Add item about docs. 2005-10-01 22:17:03 +00:00
Marcus Brinkmann
ffa590e42e Fix copyright year. 2005-10-01 22:15:20 +00:00
Marcus Brinkmann
7d3e3fd372 2005-10-01 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi: Enclose all return parameters of deftypefuns in
	curly brackets.
2005-10-01 22:14:40 +00:00
Marcus Brinkmann
5aa387b046 Post-release fixup. 2005-10-01 21:58:29 +00:00
Marcus Brinkmann
294a06f892 Fix typo. 2005-10-01 21:39:42 +00:00
Marcus Brinkmann
0d15687de0 2005-10-01 Marcus Brinkmann <marcus@g10code.de>
Released 1.1.0.

	* configure.ac (LIBGPGME_LT_CURRENT, LIBGPGME_LT_AGE): Bump for
	release.
	(LIBGPGME_LT_REVISION): Reset to 0 for release.
2005-10-01 21:31:24 +00:00
Marcus Brinkmann
7f1b06a5d5 Update some items. 2005-10-01 21:02:48 +00:00
Marcus Brinkmann
6481a72196 Remove ath item. 2005-10-01 20:53:27 +00:00
Marcus Brinkmann
81866b05cd 2005-10-01 Marcus Brinkmann <marcus@g10code.de>
* engine.h (_gpgme_set_engine_info): Add prototype.
	* engine-backend.h (struct engine_ops): Change return type of
	get_file_name() to const char * to silence gcc warning.
	* engine.c (engine_get_file_name): Change return type to const
	char * to silence gcc warning.
	(gpgme_get_engine_info): Use transitional variable to go from
	const char * to char * to silence gcc warning.
	(_gpgme_set_engine_info): Likewise.
	* engine-gpgsm.c (struct engine_gpgsm): Change type of LINE to
	char * to silence gcc warning.
	(gpgsm_new): Make ARGV a pointer to const char.
	(status_handler): Change type of SRC, END, DST, ALINE and NEWLINE
	to char * to silence gcc warning.
2005-10-01 20:42:34 +00:00
Marcus Brinkmann
39b7bc3345 2005-10-01 Marcus Brinkmann <marcus@g10code.de>
* gpg/Makefile.am (EXTRA_DIST): Remove gpg.conf.
	(DISTCLEANFILES): Add gpg.conf.
	(all-local): Add gpg.conf.
	(./gpg.conf): New target.
	* gpg/gpg.conf: Remove file.
2005-10-01 20:41:41 +00:00
Marcus Brinkmann
4b9abc67d6 2005-10-01 Marcus Brinkmann <marcus@g10code.de>
* 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.
2005-10-01 20:17:03 +00:00
Marcus Brinkmann
d33f1d9e42 2005-10-01 Marcus Brinkmann <marcus@g10code.de>
* 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-10-01 19:51:27 +00:00
Marcus Brinkmann
8eea04b5c9 2005-10-01 Marcus Brinkmann <marcus@g10code.de>
* gpg/Makefile.am (EXTRA_DIST): Add gpg.conf.
2005-10-01 19:22:16 +00:00
Marcus Brinkmann
ca1fd6ce32 doc/
2005-10-01  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Signature Notation Data): New section.
	(Verify): Added more about the notation data structure.

gpgme/
2005-10-01  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.def: Add gpgme_data_set_file_name,
	gpgme_data_get_file_name, gpgme_sig_notation_clear,
	gpgme_sig_notation_add and gpgme_sig_notation_get.
	* libgpgme.vers: Add gpgme_sig_notation_clear,
	gpgme_sig_notation_add and gpgme_sig_notation_get.
	* Makefile.am (libgpgme_real_la_SOURCES): Add sig-notation.c.
	* context.h (struct gpgme_context): New field sig_notations.
	* gpgme.h (struct _gpgme_sig_notation): New member value_len and
	critical.
	(GPGME_SIG_NOTATION_CRITICAL): New symbol.
	(gpgme_sig_notation_flags_t): New type.
	(gpgme_sig_notation_add, gpgme_sig_notation_clear,
	gpgme_sig_notation_get): New prototypes.
	* ops.h (_gpgme_sig_notation_create, _gpgme_sig_notation_free):
	New prototypes.
	* sig-notation.c (_gpgme_sig_notation_free): New file.
	* verify.c (parse_notation): Use support functions.
	(release_op_data): Likewise.
	* rungpg.c (append_args_from_sig_notations): New function.
	(gpg_encrypt_sign, gpg_sign): Call it.


tests/
2005-10-01  Marcus Brinkmann  <marcus@g10code.de>

	* gpg/Makefile.am (TESTS): Add t-sig-notation.
	* gpg/t-sig-notation.c (check_result): New file.
	* gpg/t-verify.c (check_result): Also check the length of the
	notation data.
	* gpg/gpg.conf: New file.
2005-10-01 02:33:35 +00:00
Marcus Brinkmann
d38348b362 doc/
2005-09-30  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Data Buffer I/O Operations, Data Buffer Meta-Data):
	New subsections.

gpgme/
2005-09-30  Marcus Brinkmann  <marcus@g10code.de>

	* data.h (struct gpgme_data): New member file_name.
	* data.c (gpgme_data_set_filename): New function.
	(_gpgme_data_release): Free DH->filename if necessary.
	(gpgme_data_get_filename): New function.
	* rungpg.c (gpg_encrypt): Set filename option.
	(gpg_encrypt_sign): Likewise.
	(gpg_sign): Likewise.
	* libgpgme.vers (GPGME_1.1): Add gpgme_data_set_file_name and
	gpgme_data_get_file_name.

tests/
2005-09-30  Marcus Brinkmann  <marcus@g10code.de>

	* gpg/Makefile.am (TESTS): Add t-filename.
	* gpg/t-filename.c: New file.
2005-09-30 14:17:47 +00:00
Marcus Brinkmann
6ef0862a0b doc/
2005-09-30  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi: Replace plaintext_filename with file_name.

gpgme/
2005-09-30  Marcus Brinkmann  <marcus@g10code.de>

	* decrpyt.c, verify.c, gpgme.h: Replace plaintext_filename with
	file_name.
2005-09-30 13:24:40 +00:00
Marcus Brinkmann
b7ea8cd0e7 2005-09-30 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Key Management): Document is_qualified.
2005-09-30 11:01:37 +00:00
Marcus Brinkmann
a7629514b4 2005-09-29 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h (struct _gpgme_key): Add field is_qualified.
	(struct _gpgme_subkey): Likewise.
	* keylist.c (set_subkey_capability, set_mainkey_capability): Set
	field is_qualified.
2005-09-29 17:58:00 +00:00
Marcus Brinkmann
b77eec5f41 2005-09-29 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h (struct _gpgme_key): Add field is_qualified.
	(struct _gpgme_subkey): Likewise.
2005-09-29 17:54:25 +00:00
Werner Koch
063283595b Boosted performance of w32 I/O 2005-09-23 13:29:04 +00:00
Werner Koch
6f399bb321 * ath.c: Changes to make it work under W32.
* w32-io.c (build_commandline): Quote argv[0].
2005-09-13 14:17:04 +00:00
Marcus Brinkmann
7251d5fb78 2005-09-12 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (HAVE_PTH): Don't add $PTH_CFLAGS to $CFLAGS here.

gpgme/
2005-09-12  Marcus Brinkmann  <marcus@g10code.de>

	* Makefile.am (libgpgme_la_SOURCES): Set to ath.h and ath.c.
	(ath_pth_src, ath_pthread_src): Removed.
	(w32_o_files): Replace ath-compat.o with ath.o.
	(libgpgme_pth_la_CFLAGS): New variable.
	* ath-compat.c, ath-pthread-compat.c, ath-pth-compat.c: Removed.
	* ath.h (ath_pthread_available, ath_pth_available): Removed.
	(ath_init) [!_ATH_EXT_SYM_PREFIX]: Do not define macro.
	(struct ath_ops, ath_init) [_ATH_COMPAT]: Removed.
	(_ATH_COMPAT): Macro removed.
	* posix-sema.c (_gpgme_sema_subsystem_init): Do not call
	_gpgme_ath_init.
2005-09-12 19:15:14 +00:00
Marcus Brinkmann
3b7b7f014f 2005-09-12 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (HAVE_PTH): Don't add $PTH_CFLAGS to $CFLAGS here.

gpgme/
2005-09-12  Marcus Brinkmann  <marcus@g10code.de>

	* Makefile.am (libgpgme_la_SOURCES): Set to ath.h and ath.c.
	(ath_pth_src, ath_pthread_src): Removed.
	(w32_o_files): Replace ath-compat.o with ath.o.
	(libgpgme_pth_la_CFLAGS): New variable.
	* ath-compat.c, ath-pthread-compat.c, ath-pth-compat.c: Removed.
	* ath.h (ath_pthread_available, ath_pth_available): Removed.
	(ath_init) [!_ATH_EXT_SYM_PREFIX]: Do not define macro.
	(struct ath_ops, ath_init) [_ATH_COMPAT]: Removed.
	(_ATH_COMPAT): Macro removed.
	* posix-sema.c (_gpgme_sema_subsystem_init): Do not call
	_gpgme_ath_init.
2005-09-12 19:14:36 +00:00
Marcus Brinkmann
b77d6d04ee 2005-09-12 Marcus Brinkmann <marcus@g10code.de>
* keylist.c (release_op_data): Do not free opd->tmp_uid.
2005-09-12 19:06:45 +00:00
Marcus Brinkmann
3a9d4acc1c Restore the key files. 2005-09-08 15:17:58 +00:00
Marcus Brinkmann
a8313b71dc 2005-08-26 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (command_handler): Use _gpgme_io_write instead of write.
2005-08-26 15:35:37 +00:00
Marcus Brinkmann
c67c7ffd2f 2005-08-26 Marcus Brinkmann <marcus@g10code.de>
* edit.c (command_handler): Do not depend on PROCESSED being
	available.
2005-08-26 15:00:18 +00:00
Marcus Brinkmann
15d6ff2e59 2005-08-26 Marcus Brinkmann <marcus@g10code.de>
* engine.h (engine_command_handler_t): Add new argument processed.
	* ops.h (_gpgme_passphrase_command_handler_internal): Rename
	prototype to ...
	(_gpgme_passphrase_command_handler): ... this one.
	* passphrase.c (_gpgme_passphrase_command_handler_internal):
	Rename to ...
	(_gpgme_passphrase_command_handler): ... this one.
	* edit.c (command_handler): Add new argument processed.  Remove
	local variable with the same name.  Always return processed as
	true.
	* rungpg.c (command_handler): Send a newline character if the
	handler did not.
2005-08-26 14:53:55 +00:00
Werner Koch
10d5072bf4 * configure.ac (SEPCONSTANTS): New to define DIRSEP_C et al.
* 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.
2005-08-26 12:38:57 +00:00
Werner Koch
b9f021ea1d Added missing files and fixed stuff from the recent merged. I did only
tests on W32 at that time.
2005-08-19 16:34:42 +00:00
Werner Koch
369daede61 Changes to allow building a W32 DLL 2005-08-19 16:11:46 +00:00
Werner Koch
1e619ce23f Merged changes from upstream libassuan to allow building a W32 DLL. 2005-08-09 13:19:24 +00:00
Marcus Brinkmann
8fd4723820 doc/
2005-07-27  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Decrypt): Add plaintext_filename to
	gpgme_decrypt_result_t.
	(Verify): Likewise for gpgme_verify_result_t.

gpgme/
2005-07-27  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h (gpgme_status_code_t): Add GPGME_STATUS_PLAINTEXT.
	(struct _gpgme_op_decrypt_result): New member plaintext_filename.
	(struct _gpgme_op_verify_result): Likewise.
	* ops.h (_gpgme_parse_plaintext): Add prototype.
	* op-support.c (_gpgme_parse_plaintext): New function.
	* decrypt.c (release_op_data): Release
	OPD->result.plaintext_filename.
	(_gpgme_decrypt_status_handler): Handle GPGME_STATUS_PLAINTEXT.
	* verify.c (release_op_data): Release
	OPD->result.plaintext_filename.
	(_gpgme_verify_status_handler): Handle GPGME_STATUS_PLAINTEXT.
2005-07-27 01:50:08 +00:00
Marcus Brinkmann
66830fa5e8 2005-07-26 Marcus Brinkmann <marcus@g10code.de>
* keylist.c (gpgme_get_key): Allow key IDs.
2005-07-26 17:30:36 +00:00
Marcus Brinkmann
7390f7f709 2005-06-20 Marcus Brinkmann <marcus@g10code.de>
* gpgme.m4: Only call GPGME_CONFIG if found.
2005-06-20 18:10:33 +00:00
Marcus Brinkmann
aabe507b58 doc/
2005-06-03  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Verify): Add information about new fields in
	gpgme_signature_t.

gpgme/
2005-06-03  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h (struct _gpgme_signature): New members pubkey_algo and
	hash_algo.
	* verify.c (parse_valid_sig): Parse pubkey and hash algo numbers.
	(parse_new_sig): Parse pubkey, hash algo and timestamp for ERRSIG.
2005-06-03 19:41:56 +00:00
Marcus Brinkmann
7dc5420074 2005-06-03 Marcus Brinkmann <marcus@g10code.de>
(_gpgme_decrypt_status_handler): Fix last change.
2005-06-03 14:23:10 +00:00
Marcus Brinkmann
8beab91154 doc/
2005-06-03  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Decrypt): Add gpgme_recipient_t.

gpgme/
2005-06-03  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h (struct _gpgme_recipient): New structure.
	(gpgme_recipient_t): New type.
	(struct _gpgme_op_decrypt_result): Add member recipients.
	* decrypt.c (op_data_t): New member last_recipient_p.
	(_gpgme_op_decrypt_init_result): Initialize last_recipient_p.
	(parse_enc_to): New function.
	(_gpgme_decrypt_status_handler): Handle status ENC_TO and
	NO_SECKEY.
2005-06-03 00:42:08 +00:00
Marcus Brinkmann
7d56507ae7 gpgme/
2005-06-03  Marcus Brinkmann  <marcus@g10code.de>

	* wait-global.c (gpgme_wait): Break out of the fd processing loop
	after an error.
	Reported by Igor Belyi <gpgme@katehok.ac93.org>.

tests/
2005-06-03  Marcus Brinkmann  <marcus@g10code.de>

	* gpg/Makefile.am (TESTS): Add t-wait.
	* gpg/t-wait.c (main): New test.
2005-06-02 22:59:41 +00:00
Marcus Brinkmann
d98666b844 Add new status codes. 2005-06-02 22:01:58 +00:00
Marcus Brinkmann
bd7e67bf4f 2005-06-02 Marcus Brinkmann <marcus@g10code.de>
* wait.h (_gpgme_run_io_cb): New prototype.
	* wait.c (_gpgme_run_io_cb): New function.
	* wait-global.c (gpgme_wait): Call it.
	* wait-user.c (_gpgme_user_io_cb_handler): Likewise.
	* wait-private.c (_gpgme_wait_on_condition): Likewise.
2005-06-02 21:59:34 +00:00
Werner Koch
64794f2179 * passphrase.c (_gpgme_passphrase_status_handler): Take care of
GPGME_STATUS_NEED_PASSPHRASE_PIN.
(_gpgme_passphrase_command_handler_internal): Also act on the key
"passphrase.pin.ask".

* gpgme.h: Added status codes GPGME_STATUS_SIG_SUBPACKET,
GPGME_STATUS_NEED_PASSPHRASE_PIN, GPGME_STATUS_SC_OP_FAILURE,
GPGME_STATUS_SC_OP_SUCCESS, GPGME_STATUS_CARDCTRL,
GPGME_STATUS_BACKUP_KEY_CREATED.
2005-06-02 11:22:14 +00:00
Marcus Brinkmann
736f5ecc97 2005-05-28 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Key Listing Mode): Fix return type of
	gpgme_set_keylist_mode.
	Reported by "Sergio" <ml_sergico@virgilio.it>.
2005-05-28 20:09:20 +00:00
Marcus Brinkmann
f9a29b3cb9 2005-05-28 Marcus Brinkmann <marcus@g10code.de>
* data-user.c: Include <errno.h>.
2005-05-28 20:03:24 +00:00
Marcus Brinkmann
d9bdb262ad 2005-05-17 Marcus Brinkmann <marcus@g10code.de>
* gpgme.c (gpgme_new): Set the CTX->include_certs default to the
	default.
2005-05-17 12:26:58 +00:00
Marcus Brinkmann
40b9f0c397 2005-05-11 Marcus Brinkmann <marcus@g10code.de>
* w32-io.c (_gpgme_io_select): Fix loop increment.
2005-05-11 12:48:55 +00:00
Marcus Brinkmann
468cfa8223 2005-05-05 Marcus Brinkmann <marcus@g10code.de>
* data-user.c (user_release): Only call user hook if provided.
	(user_seek): Return EBADF if no user hook is provided.
	(user_read): Likewise.
	(user_write): Likewise.
2005-05-05 12:00:11 +00:00
Marcus Brinkmann
7aa74f897d doc/
2005-04-28  Marcus Brinkmann  <marcus@g10code.de>

        * gpgme.texi (Included Certificates): Document
        GPGME_INCLUDE_CERTS_DEFAULT.

gpgme/
2005-04-28  Marcus Brinkmann  <marcus@g10code.de>

        * gpgme.h (GPGME_INCLUDE_CERTS_DEFAULT): New macro.
        * engine-gpgsm.c (gpgsm_sign): Send the include-certs option after
        the reset, just for cleanliness, and do not sent it at all if the
        default is requested.
        * gpgme.c (gpgme_set_include_certs): Allow to use
        GPGME_INCLUDE_CERTS_DEFAULT.
2005-04-28 16:11:34 +00:00
Werner Koch
2147ff36a0 (calc_sig_summary): Set the key revoked bit. 2005-04-21 07:13:41 +00:00
Marcus Brinkmann
41a5ac15c7 2005-04-14 Marcus Brinkmann <marcus@g10code.de>
* wait-global.c (gpgme_wait): Use LI->ctx when checking a context
	in the list, not the user-provided CTX.
2005-04-14 08:49:20 +00:00
Marcus Brinkmann
05eece87bb Fix last change. 2005-04-14 08:45:00 +00:00
Marcus Brinkmann
f30992eb2d Add Igor Belyi <gpgme@katehok.ac93.org>. 2005-04-14 08:44:18 +00:00
Marcus Brinkmann
197fb96bf7 2005-04-14 Marcus Brinkmann <marcus@g10code.de>
* wait-global.c (gpgme_wait): If no context is found, and we
	should not hang, set *status to 0 and return NULL.
	Reported by Igor Belyi <gpgme@katehok.ac93.org>.
2005-04-14 08:41:12 +00:00
Marcus Brinkmann
669f8728cb 2005-03-24 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (AH_BOTTOM): Removed.

gpgme/
2005-03-24  Marcus Brinkmann  <marcus@g10code.de>

	* data.h (EOPNOTSUPP) [_WIN32]: Remove definition.
	* data.c (EOPNOTSUPP) [HAVE_W32_SYSTEM]: Remove definition.
	(gpgme_data_read, gpgme_data_write, gpgme_data_seek): Return
	ENOSYS instead EOPNOTSUPP.
	* data-compat.c (EOPNOTSUPP) [HAVE_W32_SYSTEM]: Remove definition.
	(gpgme_error_to_errno): Map GPG_ERR_NOT_SUPPORTED
	to ENOSYS.
2005-03-24 13:09:54 +00:00
Marcus Brinkmann
9167a07446 2005-03-24 Marcus Brinkmann <marcus@g10code.de>
* io.h: Rename to ...
	* priv-io.h: ... this.
	* Makefile.am (libgpgme_real_la_SOURCES): Change io.h to priv-io.h.
	* data.c, engine-gpgsm.c, posix-io.c, rungpg.c, version.c,
	w32-io.c, wait-private.c, wait-global.c, wait-user.c, wait.c:
	Change all includes of "io.h" to "priv-io.h"
2005-03-24 13:05:12 +00:00
Werner Koch
204eb3165f (struct assuan_io): Renamed elements READ and
WRITE to READFNC and WRITEFNC to avoid problems with read defined
as macro.  Changed callers.  Noted by Ville Skytt��.
2005-03-22 09:10:36 +00:00
Timo Schulz
08f76d151a 2005-03-10 Timo Schulz <twoaday@g10code.com>
* gpgme.def: New. Exported GPGME functions.
        * build-dll: New.
2005-03-10 19:25:55 +00:00
Werner Koch
65e9122612 * acinclude.m4 (GNUPG_CHECK_VA_COPY): Assume no when cross-compiling.
* 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.
2005-03-09 16:03:05 +00:00
Timo Schulz
ef0c6c6aee 2005-03-07 Timo Schulz <twoaday@g10code.de>
* gpgme.h: [_WIN32] Removed ssize_t typedef.
        * ath.h: [_WIN32] Added some (dummy) types.
        * io.h: [_WIN32] include stdio.h.
        * data.h: [_WIN32] Define EOPNOTSUPP.
        * w32-io.c [_WIN32] (_gpgme_io_subsystem_init): New.
        * gpgme.c [_WIN32] (gpgme_set_locale): Disabled.
2005-03-09 11:47:21 +00:00
Marcus Brinkmann
7f0a463af0 Remove some obsolete entries. 2005-01-12 11:18:19 +00:00
Marcus Brinkmann
fce719f00f 2005-01-12 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Engine Configuration): New section.
	(Crypto Engine): New subsection.
2005-01-12 11:13:17 +00:00
Marcus Brinkmann
a77fa9076c 2004-12-28 Werner Koch <wk@g10code.com>
Released 1.0.2.

	* Makefile.am (AUTOMAKE_OPTIONS): Build bzip 2 version.
	(ACLOCAL_AMFLAGS): Add -I m4.
	* configure.ac: Require automake 1.9.3 and autoconf 2.59.
	* acinclude.m4: Changed quoting for automake 1.9.
	* README: Use SHA1 instead of MD5.
2005-01-12 10:28:42 +00:00
Marcus Brinkmann
35eac06ae9 2004-12-28 Werner Koch <wk@g10code.com>
* pth.m4: Changed quoting for use with automake 1.9.
2005-01-12 10:16:32 +00:00
Marcus Brinkmann
fbb41bdc3a 2004-12-16 Marcus Brinkmann <marcus@g10code.de>
* assuan-pipe-connect.c (do_finish): Do not wait for child to finish.
	(assuan_pipe_connect): Use double-fork approach.
	* assuan-connect.c (assuan_disconnect): Do not write BYE to the
	status line.
2004-12-21 08:42:31 +00:00
Marcus Brinkmann
862971f4fd 2004-12-12 Marcus Brinkmann <marcus@g10code.de>
* engine.c (_gpgme_set_engine_info): Fix assertion.
2004-12-12 14:58:12 +00:00
Marcus Brinkmann
c8c0c881a3 Small beautification. 2004-12-11 15:48:34 +00:00
Marcus Brinkmann
c008a15cb6 2004-12-11 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Replace ttyname_r if it doesn't exist (and warn in
	that case).

gpgme/
2004-12-11  Marcus Brinkmann  <marcus@g10code.de>

	* util.h [HAVE_CONFIG_H && HAVE_TTYNAME_R] (ttyname_r): Define
	prototype.
	* ttyname_r.c: New file.
2004-12-11 15:48:00 +00:00
Marcus Brinkmann
835e783a49 Add news entry for 0.3.16. 2004-12-07 21:24:03 +00:00
Marcus Brinkmann
d7266f613e 2004-12-07 Marcus Brinkmann <marcus@g10code.de>
* lesser.texi (Library Copying): Change from @appendixsec to
        @appendix.
        * gpgme.texi (Features): Change reference to GPL to one to LGPL.
2004-12-07 21:21:41 +00:00
Marcus Brinkmann
06fc934f56 2004-12-07 Marcus Brinkmann <marcus@g10code.de>
* README: Refer to COPYING.LESSER and "each file" instead of
	COPYING.
	* COPYING.LESSER: New file.
	* gpgme.spec.in (%doc): Add COPYING.LESSER.
	* acinclude.m4, configure.ac, Makefile.am: Change license to LGPL
	2.1 or later.
	* TODO: Add copyright notice.
	* README.CVS: Likewise.

assuan/
2004-12-07  Marcus Brinkmann  <marcus@g10code.de>

	* README.1st: Add copyright notice.

doc/
2004-12-07  Marcus Brinkmann  <marcus@g10code.de>

	* Makefile.am: Change license to LGPL.
	(gpgme_TEXINFOS): Replace gpl.texi with lesser.texi.

	* gpgme.texi: Change license to LGPL (also for documentation of
	GPGME's license).
	* lesser.texi: New file.
	* gpl.texi: File removed.

gpgme/
2004-12-07  Marcus Brinkmann  <marcus@g10code.de>

	* putc_unlocked.c, funopen.c: I just claim copyright on these
	files and change their license to LGPL, because they are totally
	trivial wrapper functions.
	* isascii.c: Change copyright notice to the one from ctype/ctype.h
	in the GNU C Library (CVS Head 2004-10-10), where isascii is
	defined as a macro doing exactly the same as the function in this
	file.
	* memrchr.c: Update from the GNU C Library (CVS Head 2001-07-06).
	* stpcpy.c: Update from the GNU C Library (CVS Head 2004-10-10).
	* ath.c, ath-compat.c, ath.h, ath-pth.c, ath-pth-compat.c,
	ath-pthread.c, ath-pthread-compat.c, context.h, conversion.c,
	data.c, data-compat.c, data-fd.c, data.h, data-mem.c,
	data-stream.c, data-user.c, debug.c, debug.h, decrypt.c,
	decrypt-verify.c, delete.c, edit.c, encrypt.c, encrypt-sign.c,
	engine-backend.h, engine.c, engine-gpgsm.c, engine.h, error.c,
	export.c, genkey.c, get-env.c, gpgme.c, gpgme.h, import.c, io.h,
	key.c, keylist.c, mkstatus, Makefile.am, ops.h, op-support.c,
	passphrase.c, posix-io.c, posix-sema.c, posix-util.c, progress.c,
	rungpg.c, sema.h, sign.c, signers.c, trust-item.c, trustlist.c,
	util.h, verify.c, version.c, w32-io.c, w32-sema.c, w32-util.c,
	wait.c, wait-global.c, wait.h, wait-private.c, wait-user.c: Change
	license to LGPL.

tests/
2004-12-07  Marcus Brinkmann  <marcus@g10code.de>

	* gpg/mkdemodirs: Add copyright notice.

	* gpgsm/Makefile.am, gpgsm/t-support.h, gpgsm/t-decrypt.c,
	gpgsm/t-encrypt.c, gpgsm/t-export.c, gpgsm/t-genkey.c,
	gpgsm/t-import.c, gpgsm/t-keylist.c, gpgsm/t-sign.c,
	gpgsm/t-verify.c, gpg/Makefile.am, gpg/t-decrypt.c,
	gpg/t-decrypt-verify.c, gpg/t-edit.c, gpg/t-encrypt.c,
	gpg/t-encrypt-sign.c, gpg/t-encrypt-sym.c, gpg/t-eventloop.c,
	gpg/t-export.c, gpg/t-genkey.c, gpg/t-import.c, gpg/t-keylist.c,
	gpg/t-keylist-sig.c, gpg/t-sign.c, gpg/t-signers.c,
	gpg/t-support.h, gpg/t-thread1.c, gpg/t-trustlist.c,
	gpg/t-verify.c, Makefile.am, t-data.c, t-engine-info.c,
	t-version.c: Change license to LGPL.
2004-12-07 21:13:39 +00:00
Marcus Brinkmann
db2f1eaae5 Add Noel Torres <envite@rolamasao.org>. 2004-12-07 19:06:29 +00:00
Marcus Brinkmann
c5454497c1 2004-12-07 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Creating Contexts): Fix cut&paste error.  Reported
	by Noel Torres <envite@rolamasao.org>.
2004-12-07 19:05:18 +00:00
Marcus Brinkmann
678c8ad3f5 Update. 2004-12-07 18:49:35 +00:00
Marcus Brinkmann
b51c2219ec 2004-12-07 Marcus Brinkmann <marcus@g10code.de>
* libgpgme.vers (GPGME_1.1): New version.
	* engine-backend.h (struct engine_ops): Add argument FILE_NAME to
	member get_version().  Add arguments FILE_NAME and HOME_DIR to
	member new().  Change return type of get_file_name and get_version
	to char *.
	* engine-gpgsm.c (gpgsm_get_version): Change return type to char
	pointer.  Do not cache result.
	(gpgsm_new): Add file_name and home_dir argument, and use them
	instead of the defaults, if set.
	* rungpg.c (struct engine_gpg): New member file_name.
	(gpg_get_version): Change return type to char pointer, and do not
	cache result.
	(gpg_release): Free gpg->file_name.
	(gpg_new): Take new arguments file_name and home_dir.  Set the
	--homedir argument if HOME_DIR is not NULL.  Set gpg->file_name.
	(start): Use gpg->file_name instead _gpgme_get_gpg_path, if set.
	* engine.h (_gpgme_engine_info_copy, _gpgme_engine_info_release):
	New prototypes.
	(_gpgme_engine_new): Change first argument to gpgme_engine_info_t
	info.
	* engine.c: Include <assert.h>.
	(gpgme_get_engine_info): Set *INFO within the lock.  Move
	ENGINE_INFO and ENGINE_INFO_LOCK to ....
	(engine_info, engine_info_lock): ... here.  New static variables.
	(engine_get_version): Add file_name argument to
	get_version invocation.  Change return type to char pointer.
	(gpgme_engine_check_version): Rewritten to free() the return value
	of engine_get_version after using it.
	(_gpgme_engine_info_release): New function.
	(gpgme_get_engine_info): Rewritten.
	(_gpgme_engine_info_copy): New function.
	(_gpgme_set_engine_info): New function.
	(gpgme_set_engine_info): New function.
	(_gpgme_engine_new): Change first argument to gpgme_engine_info_t
	info, and use that.
	* gpgme.h (struct _gpgme_engine_info): Change type of file_name
	and version to char * (remove the const).  New member home_dir.
	(gpgme_set_engine_info, gpgme_ctx_get_engine_info,
	gpgme_ctx_set_engine_info): New prototypes.
	* context.h (struct gpgme_context): New member engine_info.
	* gpgme.c (gpgme_new): Allocate CTX->engine_info.
	(gpgme_release): Deallocate CTX->engine_info.
	(gpgme_ctx_get_engine_info, gpgme_ctx_set_engine_info): New
	functions.
	* op-support.c (_gpgme_op_reset): Look for correct engine info and
	pass it to _gpgme_engine_new.
	* version.c (gpgme_check_version): Adjust to
	_gpgme_compare_versions returning an int.
	(_gpgme_compare_versions): Return an int value, not a const char
	pointer.
	* ops.h (_gpgme_compare_versions): Same for prototype.
2004-12-07 18:25:54 +00:00
Marcus Brinkmann
7114bbd148 2004-12-07 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (GPGSM_VERSION): Fix filter to get it.
2004-12-07 15:30:36 +00:00
Marcus Brinkmann
e3aed83e80 Fix up gpgme-1.0.1 release changes. Somehow the correct change didn't
make it into the repository.
2004-12-07 15:27:11 +00:00
Marcus Brinkmann
015900c93d Revert change to fix up gpgme-1.0.1 release tag glitch. 2004-12-07 15:25:48 +00:00
Marcus Brinkmann
2ca7f464aa 2004-12-07 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (GPGSM_VERSION): Fix filter to get it.
2004-12-07 14:37:00 +00:00
Werner Koch
6df2948bf0 . 2004-11-04 13:58:06 +00:00
Marcus Brinkmann
b2d0a8f0d9 2004-10-22 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (LIBGPGME_LT_REVISION): Bump up to 2.
	(AC_INIT): Set version to 1.0.1.
2004-10-22 18:21:43 +00:00
Marcus Brinkmann
8a95e6ff80 2004-10-22 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (LIBGPGME_LT_REVISION): Bump up to 2.
	(AC_INIT): Set version to 1.0.1.
2004-10-22 18:19:04 +00:00
Marcus Brinkmann
720e7065d1 2004-10-22 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Set HAVE_GPGSM to true only if $GPGSM is not "no".
2004-10-22 18:16:49 +00:00
Marcus Brinkmann
379a804dc0 Add item about 1.0.1. 2004-10-22 18:11:33 +00:00
Marcus Brinkmann
6af44222ff 2004-10-03 Marcus Brinkmann <marcus@g10code.de>
* verify.c (parse_trust): If no reason is provided, set
	SIG->validity_reason to 0.
	(calc_sig_summary): Set GPGME_SIGSUM_CRL_TOO_OLD if appropriate.
2004-10-22 17:57:56 +00:00
Marcus Brinkmann
8cb3353e48 2004-10-22 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (map_assuan_error): Return 0 if ERR is 0.
	(start): Call map_assuan_error on return value of
	assuan_write_line.
2004-10-22 16:55:16 +00:00
Marcus Brinkmann
5a430dc15f 2004-10-05 Marcus Brinkmann <marcus@g10code.de>
* op-support.c (_gpgme_op_data_lookup): Use char pointer for
	pointer arithmetic.
2004-10-05 15:08:45 +00:00
Marcus Brinkmann
8bab0ced01 Add some more info. 2004-09-30 02:37:13 +00:00
Marcus Brinkmann
96c3a5f868 2004-09-30 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (gpgme_TEXINFOS): Remove fdl.texi.
	* gpgme.texi: Do not include fdl.texi.  Change license to GPL.
	* fdl.texi: File removed.
2004-09-30 02:11:18 +00:00
Marcus Brinkmann
ab7566d5fc Update the information before release, for what it's worth. 2004-09-30 01:44:17 +00:00
Marcus Brinkmann
7936631f39 Update for 1.0.0 release. 2004-09-30 01:33:49 +00:00
Marcus Brinkmann
51b46513c5 2004-09-30 Marcus Brinkmann <marcus@g10code.de>
Released 1.0.0.

	* configure.ac (LIBGPGME_LT_REVISION): Bump up to 1.
	(AC_INIT): Set version to 1.0.0.
2004-09-30 01:32:17 +00:00
Marcus Brinkmann
222df68e2a Update information. 2004-09-30 01:30:28 +00:00
Marcus Brinkmann
982c32fe41 2004-09-30 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (EXTRA_DIST): Remove README-alpha.
	* README-alpha: Remove file.
2004-09-30 01:30:10 +00:00
Marcus Brinkmann
0a0c5718b0 2004-09-30 Marcus Brinkmann <marcus@g10code.de>
* gpgme.m4: Implement the --api-version check.
2004-09-30 01:06:19 +00:00
Marcus Brinkmann
f23da05769 2004-09-30 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (read_status): Move the polling of the output data pipe
	to just before removing the command fd, from just before adding
	it.  This avoids buffering problems.
2004-09-30 00:24:58 +00:00
Marcus Brinkmann
c2f9533955 2004-09-30 Marcus Brinkmann <marcus@g10code.de>
* data.c (_gpgme_data_inbound_handler): Use _gpgme_io_read, not
	read, to improve debug output.
2004-09-30 00:19:22 +00:00