Commit Graph

38 Commits

Author SHA1 Message Date
Marcus Brinkmann
20707b1928 2002-09-03 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (assuan_libobjs): Remove @LTLIBOBJS@ as we link them
	into gpgme unconditionally.
	(libgpgme_la_LIBADD): Change @LIBOBJS@ into @LTLIBOBJS@.
2002-09-03 11:26:01 +00:00
Marcus Brinkmann
442f2fe541 2002-09-02 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (assuan_libobjs): Use @LTLIBOBJS@ instead @LIBOBJS@.
2002-09-02 12:38:43 +00:00
Marcus Brinkmann
328bed4901 2002-09-02 Marcus Brinkmann <marcus@g10code.de>
* conversion.c: New file.
	* util.h: Add prototypes for _gpgme_decode_c_string and
	_gpgme_hextobyte.
	* keylist.c (keylist_colon_handler): Call _gpgme_decode_c_string
	on issuer name.
	* Makefile.am (libgpgme_la_SOURCES): Add conversion.c
	* key.c (_gpgme_key_append_name): Replace calls to hextobyte by
	calls to _gpgme_hextobyte.
	(hash_key): Likewise.
2002-09-01 22:23:56 +00:00
Marcus Brinkmann
166fbcc9ef 2002-08-21 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (SUBDIRS): Remove jnlib.
	* configure.ac: Don't check for unsigned short or unsigned long.
	Don't check for memicmp, strlwr, strtoul, memmove, stricmp.
	Make stpcpy a replaced function.
	Don't define HAVE_JNLIB_LOGGING.
	Don't generate jnlib/Makefile.

gpgme/
2002-08-21  Marcus Brinkmann  <marcus@g10code.de>

	* stpcpy.c: New file from gnulib.
	* Makefile.am (assuan_libobjs): Remove jnlib.
2002-08-20 22:42:48 +00:00
Marcus Brinkmann
f12433c1e4 2002-07-28 Marcus Brinkmann <marcus@g10code.de>
* data.c (gpgme_data_read): For GPGME_DATA_TYPE_NONE, return EOF
	instead an error.

	The following changes make it possible to flush an inbound data
	pipe before invoking a command handler:

	* posix-io.c (_gpgme_io_select): Accept new argument NONBLOCK to
	_gpgme_io_select.  Set timeout of 0 if this is set.
	* w32-io.c (_gpgme_io_select): Likewise.
	* io.h: Add new argument NONBLOCK to _gpgme_io_select prototype.
	* wait.c (do_select): Add new argument to _gpgme_io_select
	invocation.
	* rungpg.h (_gpgme_gpg_set_command_handler): Add new argument
	linked_data to prototype.
	* engine.h (_gpgme_engine_set_command_handler): Likewise.
	* engine.c (_gpgme_engine_set_command_handler): Likewise.
	* passphrase.c (_gpgme_passphrase_start): Pass NULL as linked_data
	argument to _gpgme_engine_set_command_handler.
	* rungpg.c (struct gpg_object_s): New members linked_data and
	linked_idx in CMD.
	(_gpgme_gpg_new): Initialize those new members.
	(_gpgme_gpg_set_command_handler): Accept new argument linked_data.
	(build_argv): Handle linked_data in the same hack as cb_data.
	(read_status): If linked_data is in use, flush the pipe before
	activating the command handler.
	* gpgme.h: Add prototypes for gpgme_op_edit_start and
	gpgme_op_edit.

	The next changes export the status codes to the user:

	* decrypt.c (_gpgme_decrypt_status_handler): Likewise, also prefix
	all STATUS_ with GPGME_.
	* delete.c (delete_status_handler): Likewise.
	* decrypt-verify.c (decrypt_verify_status_handler): Likewise.
	* encrypt.c (_gpgme_encrypt_status_handler): Likewise.
	(_gpgme_encrypt_sym_status_handler): Likewise.
	* encrypt-sign.c (encrypt_sign_status_handler): Likewise.
	* engine-gpgsm.c (parse_status): Likewise.
	(gpgsm_status_handler): Likewise.
	(gpgsm_set_recipients): Likewise.
	* export.c (export_status_handler): Likewise.
	* genkey.c (genkey_status_handler): Likewise.
	* import.c (append_xml_impinfo): Likewise.
	(import_status_handler): Likewise.
	* keylist.c (keylist_status_handler): Likewise.
	* passphrase.c (_gpgme_passphrase_status_handler): Likewise.
	(command_handler): Likewise.
	* progress.c (_gpgme_progress_status_handler): Likewise.
	* sign.c (_gpgme_sign_status_handler): Likewise.
	* trustlist.c (trustlist_status_handler): Likewise.
	* verify.c (_gpgme_verify_status_handler): Likewise.
	* gpgme.h (GpgmeEditCb): New type.
	* rungpg.h (GpgStatusCode): Rename and move to ...
	* gpgme.h (GpgmeStatusCode): ... this and here.
	* Makefile.am (status-table.h): Run mkstatus on gpgme.h, not rungpg.h.
	* mkstatus: Prefix STATUS with GPGME_.
	* rungpg.h (GpgStatusHandler, GpgCommandHandler): Change type
	accordingly.
	* ops.h (_gpgme_verify_status_handler,
	_gpgme_decrypt_status_handler, _gpgme_sign_status_handler,
	_gpgme_encrypt_status_handler, _gpgme_passphrase_status_handler,
	_gpgme_progress_status_handler): Likewise.
	* rungpg.c (struct gpg_object_s): Likewise for CMD.code.

	These changes add an edit operation to GPGME:

	* context.h (struct gpgme_context_s): New member RESULT.edit.  *
	ops.h: Add prototype for _gpgme_release_edit_result and
	_gpgme_passphrase_command_handler.
	* passphrase.c (command_handler): Make non-static and rename to ...
	(_gpgme_passphrase_command_handler): ... this.
	(_gpgme_passphrase_start): Use new name for command handler.
	* types.h: Add EditResult type.
	* gpgme.c (_gpgme_release_result): Release EDIT result.
	* edit.c: New file.
	* Makefile.am (libgpgme_la_SOURCES): Add edit.c.
	(libgpgme_la_LDADD): Rename to libgpgme_la_LIBADD, and include
	assuan_libobjs.
	(assuan_libobjs): New variable, set this instead
	libgpgme_la_LIBADD.
	* engine.h (_gpgme_engine_op_edit): New prototype.
	* engine.c (_gpgme_engine_op_edit): New function.
	* rungpg.h (_gpgme_gpg_op_edit): New prototype.
	* rungpg.c (_gpgme_gpg_op_edit): New function.
2002-07-28 18:41:02 +00:00
Marcus Brinkmann
b295bab058 2002-07-25 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (libgpgme_la_LDADD): Add @LIBOBJS@ for vasprintf and
	fopencookie.
	* vasprintf.c: Update to more recent libiberty version.
	* debug.h: Replace #elsif with #elif.

	Submitted by St�phane Corth�sy:
	* util.h (vasprintf): Correct prototype.
	* encrypt-sign.c: Include <stddef.h>.
	(encrypt_sign_status_handler): Change type of ENCRYPT_INFO_LEN to
	size_t.
	* ath-pthread.c: Include <stdlib.h>, not <malloc.h>.
	* ath-pth.c: Likewise.
2002-07-25 17:51:42 +00:00
Marcus Brinkmann
5b75138331 2002-06-10 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (_gpgme_gpgsm_start): Move the code that sets the
	close notification for the status fd to ...
	(_gpgme_gpgsm_new): ... here.
	* wait.h: Include "sema.h".  Remove prototypes of
	_gpgme_remove_proc_from_wait_queue and
	_gpgme_register_pipe_handler.  Add prototypes of
	_gpgme_fd_table_init, _gpgme_fd_table_deinit, _gpgme_fd_table_put,
	_gpgme_add_io_cb, _gpgme_remove_io_cb, _gpgme_wait_event_cb and
	_gpgme_wait_one..
	* wait.c: Remove global variables PROC_QUEUE, PROC_QUEUE_LOCK,
	FD_TABLE_SIZE, FD_TABLE, FD_TABLE_LOCK.  New global variables
	FDT_GLOBAL, CTX_DONE_LIST, CTX_DONE_LIST_SIZE,
	CTX_DONE_LIST_LENGTH and CTX_DONE_LIST_LOCK.  Remove struct
	proc_s.  Replace struct wait_item_s.
	(_gpgme_fd_table_init): New function.
	(_gpgme_fd_table_deinit): Likewise.
	(_gpgme_fd_table_put): Likewise.
	(set_process_done): Remove function.
	(do_select): Take argument FDT.  Use that to decide which fds to
	select on.
	(_gpgme_remove_proc_from_wait_queue): Remove function.
	(_gpgme_wait_event_cb): New function.
	(_gpgme_wait_one): Likewise.
	(_gpgme_register_pipe_hanldler): Remove function.
	(_gpgme_add_io_cb): New function.
	(_gpgme_remove_io_cb): Likewise.
	(_gpgme_freeze_fd): Remove function.
	(_gpgme_thaw_fd): Remove function.
	* rungpg.c (struct fd_data_map_s): Add new member TAG.
	(struct gpg_object_s): Likewise for STATUS and COLON.  Add member
	IDX to CMD.  Add new member IO_CBS.
	(close_notify_handler): New variables POSSIBLY_DONE and NOT_DONE.
	For each I/O callback, check if it should be unregistered.  If all
	callbacks have been unregistered, trigger GPGME_EVENT_DONE.
	Remove member RUNNING.
	(_gpgme_gpg_new): Initialize new members.
	(_gpgme_gpg_release): Check PID not RUNNING.  Don't call
	_gpgme_remove_proc_from_wait_queue.  Close GPG->CMD.FD if set.
	(build_argv): Store away the index instead the file descriptor for
	CMD.
	(_gpgme_gpg_add_io_cb): New function.
	(_gpgme_gpg_spawn): Use _gpgme_gpg_add_io_cb to register IO
	callbacks.
	(gpg_status_handler): Change return type to void, remove PID
	argument, close filedescriptor if EOF or error occurs.
	(read_status): Use _gpgme_gpg_add_io_cb instead _gpgme_thaw_fd.
	Use IO_CBS->remove instead _gpgme_freeze_fd.
	(gpg_colon_line_handler): Change return type to void, remove PID
	argument, close filedescriptor if EOF or error occurs.
	(command_cb): Use IO_CBS->remove instead _gpgme_freeze_fd.
	(_gpgme_gpg_set_io_cbs): New function.
	* rungpg.h (_gpgme_gpg_set_io_cbs): Prototype for
	_gpgme_gpg_set_io_cbs.
	* gpgme.h (GpgmeIOCb): New type.
	(GpgmeRegisterIOCb): Likewise.
	(GpgmeRemoveIOCb): Likewise.
	(GpgmeEventIO): Likewise.
	(GpgmeEventIOCb): Likewise.
	(struct GpgmeIOCbs): New structure to hold I/O callbacks.
	(gpgme_set_op_io_cbs): New prototype.
	(gpgme_get_op_io_cbs): Likewise.
	* ops.h: New prototype for _gpgme_op_event_cb.  Remove prototypes
	for _gpgme_freeze_fd and _gpgme_thaw_fd.  Remove PID argument from
	_gpgme_data_inbound_handler and _gpgme_data_outbound_handler
	prototype.  Add prototype for _gpgme_op_reset.
	Add synchronous argument to _gpgme_decrypt_start prototype.
	* io.h: Beautification.
	* gpgme.c: Include "wait.h".
	(gpgme_new): Initialize FDT.
	(gpgme_set_io_cbs): New function.
	(gpgme_get_io_cbs): Likewise.
	(_gpgme_op_event_cb): Likewise.
	* data.c (_gpgme_data_inbound_handler): Change return type to
	void.  Drop PID argument.  Close FD on error and EOF.
	(write_mem_data): Don't close FD here ...
	(write_cb_data): ... or here ...
	(_gpgme_data_outbound_handler): ... but here.  Change return type
	to void.  Drop PID argument.
	* context.h: Include "wait.h".
	(struct gpgme_context_s): New members FDT and IO_CBS.
	* op-support.c: New file.
	* Makefile.am (libgpgme_la_SOURCES): Add op-support.c.
	* ops.h: Add prototype for _gpgme_op_reset().
	* decrypt.c (_gpgme_decrypt_start): New argument SYNCHRONOUS.  Use
	_gpgme_op_reset.
	(gpgme_op_decrypt_start): Add synchronous argument.
	(gpgme_op_decrypt): Likewise.  Use _gpgme_wait_one instead
	gpgme_wait.
	* delete.c (gpgme_op_delete_start): Rename to ...
	(_gpgme_op_delete_start): ... this.  New argument SYNCHRONOUS.
	Use _gpgme_op_reset.  Make function static.
	(gpgme_op_delete_start): Just a wrapper around
	_gpgme_op_delete_start now.
	(gpgme_op_delete): Add synchronous argument.  Use _gpgme_wait_one
	instead gpgme_wait.
	* encrypt.c: Include "wait.h".
	(ggpgme_op_encrypt_start): Rename to ...
	(_gpgme_op_encrypt_start): ... this.  New argument SYNCHRONOUS.
	Use _gpgme_op_reset.  Make function static.
	(gpgme_op_encrypt_start): Just a wrapper around
	_gpgme_op_encrypt_start now.
	(gpgme_op_encrypt): Add synchronous argument.  Use _gpgme_wait_one
	instead gpgme_wait.
	* encrypt_sign.c (gpgme_op_encrypt_sign_start): Rename to ...
	(_gpgme_op_encrypt_sign_start): ... this.  New argument
	SYNCHRONOUS.  Use _gpgme_op_reset.  Make function static.
	(gpgme_op_encrypt_sign_start): Just a wrapper around
	_gpgme_op_encrypt_sign_start now.
	(gpgme_op_encrypt_sign): Add synchronous argument.  Use
	_gpgme_wait_one instead gpgme_wait.
	* export.c (gpgme_op_export_start): Rename to ...
	(_gpgme_op_export_start): ... this.  New argument SYNCHRONOUS.
	Use _gpgme_op_reset.  Make function static.
	(gpgme_op_export_start): Just a wrapper around
	_gpgme_op_export_start now.
	(gpgme_op_export): Add synchronous argument.  Use _gpgme_wait_one
	instead gpgme_wait.
	* genkey.c (gpgme_op_genkey_start): Rename to ...
	(_gpgme_op_genkey_start): ... this.  New argument SYNCHRONOUS.
	Use _gpgme_op_reset.  Make function static.
	(gpgme_op_genkey_start): Just a wrapper around
	_gpgme_op_genkey_start now.
	(gpgme_op_genkey): Add synchronous argument.  Use _gpgme_wait_one
	instead gpgme_wait.
	* import.c (gpgme_op_import_start): Rename to ...
	(_gpgme_op_import_start): ... this.  New argument SYNCHRONOUS.
	Use _gpgme_op_reset.  Make function static.
	(gpgme_op_import_start): Just a wrapper around
	_gpgme_op_import_start now.
	(gpgme_op_import): Add synchronous argument.  Use _gpgme_wait_one
	instead gpgme_wait.
	* keylist.c (gpgme_op_keylist_start): Use _gpgme_op_reset.
	(gpgme_op_keylist_ext_start): Likewise.
	* sign.c (gpgme_op_sign_start): Rename to ...
	(_gpgme_op_sign_start): ... this.  New argument SYNCHRONOUS.  Use
	_gpgme_op_reset.  Make function static.
	(gpgme_op_sign_start): Just a wrapper around _gpgme_op_sign_start
	now.
	(gpgme_op_sign): Add synchronous argument.  Use _gpgme_wait_one
	instead gpgme_wait.
	* trustlist.c (gpgme_op_trustlist_start): Use _gpgme_op_reset.
	* verify.c (gpgme_op_verify_start): Rename to ...
	(_gpgme_op_verify_start): ... this.  New argument SYNCHRONOUS.
	Use _gpgme_op_reset.  Make function static.
	(gpgme_op_verify_start): Just a wrapper around
	_gpgme_op_verify_start now.
	(gpgme_op_verify): Add synchronous argument.  Use _gpgme_wait_one
	instead gpgme_wait.
	* engine-gpgsm.c (iocb_data_t): New type.
	(struct gpgsm_object_s): New member status_cb.  Replace input_fd
	and input_data with input_cb.  Replace output_fd and output_data
	with output_cb.  Replace message_fd and message_data with
	message_cb.  New member io_cbs.
	(_gpgme_gpgsm_new): Initialize all new members (and drop the old
	ones).
	(close_notify_handler): New variable POSSIBLY_DONE.  For each I/O
	callback, check if it should be unregistered.  If all callbacks
	have been unregistered, trigger GPGME_EVENT_DONE.
	(_gpgme_gpgsm_release): Remove variable PID.  Use new variable
	names to close the file descriptors.
	(_gpgme_gpgsm_op_decrypt): Use new variable names,
	(_gpgme_gpgsm_op_encrypt): Likewise.
	(_gpgme_gpgsm_op_genkey): Likewise.
	(_gpgme_gpgsm_op_import): Likewise.
	(_gpgme_gpgsm_op_keylist): Likewise.
	(_gpgme_gpgsm_op_keylist_ext): Likewise.
	(_gpgme_gpgsm_op_sign): Likewise.
	(_gpgme_gpgsm_op_verify): Likewise.
	(gpgsm_status_handler): Drop argument PID.  Change return type to
	void.  Close status pipe before returning because of EOF or error.
	(_gpgme_gpgsm_add_io_cb): New function.
	(_gpgme_gpgsm_start): Use _gpgme_gpgsm_add_io_cb to register
	callback function.
	(_gpgme_gpgsm_set_io_cbs): New function.
	* engine-gpgsm.h: New prototype for _gpgme_gpgsm_set_io_cbs.
	* engine.c (_gpgme_engine_set_io_cbs): New function.
	* engine.h: New prototype for _gpgme_engine_set_io_cbs.
2002-06-10 14:13:55 +00:00
Marcus Brinkmann
4816ac107a 2002-06-04 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (libgpgme_la_SOURCES): Remove mutex.h.
2002-06-04 10:40:34 +00:00
Marcus Brinkmann
ae0d104de2 2002-06-02 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Add checks for Pth and pthreads.
	* acinclude.m4: Add slightly hacked check for pth (seems to be an
	autoconf version problem).

gpgme/
2002-06-02  Marcus Brinkmann  <marcus@g10code.de>

	* Makefile.am (ath_components): New variable.
	(ath_components_pthread): Likewise.
	(ath_components_pth): Likewise.
	(system_components): Add ath_componentes.

	* ath.h: New file.
	* ath.c: Likewise.
	* ath-pthread.c: Likewise.
	* ath-pth.c: Likewise.
	* posix-sema.c (_gpgme_sema_cs_enter): Rework to use the ATH
	interface.
	* mutex.h: Remove file.
2002-06-02 19:19:25 +00:00
Marcus Brinkmann
5d03d9b7eb 2002-05-08 Marcus Brinkmann <marcus@g10code.de>
* debug.h: New file.
	* Makefile.am (libgpgme_la_SOURCES): Add debug.h.
	* util.h: Removed all prototypes and declarations related to
	debugging.  Include "debug.h".

	* debug.c (debug_level): Comment variable and remove superfluous
	zero initializer.
	(errfp): Likewise.
	(_gpgme_debug_enabled): Function removed.
	(struct debug_control_s): Definition removed.
	(_gpgme_debug_level): Function removed.
	(_gpgme_debug_begin): Rewritten to use vasprintf.  Accept a
	pritnf-style format specification and a variable number of
	arguments.
	(_gpgme_debug_add): Rewritten using vasprintf.  Expect that format
	starts out with "%s" for simplicity.
	(_gpgme_debug_end): Rewritten using vasprintf.  Do not accept a
	TEXT argument anymore.

	* posix-io.c (_gpgme_io_select): Use new level argument for
	DEBUG_BEGIN instead explicit if construct.

	* debug.c (debug_init): Remove superfluous zero initializer,
	remove volatile flag of INITIALIZED.  Do not use the
	double-checked locking algorithm, it is fundamentally flawed and
	will empty your fridge (on a more serious note, despite the
	volatile flag it doesn't give you the guarantee you would expect,
	for example on a DEC Alpha or an SMP machine.  The volatile only
	serializes accesses to the volatile variable, but not to the other
	variables).
2002-05-08 03:57:42 +00:00
Werner Koch
ffc9f44932 * Makefile.am: Create libtool libraries.
* Makefile.am (libgpgme_la_LIBADD): Use libtool libraries.

* Makefile.am: Create libtool libraries
2002-04-26 12:38:27 +00:00
Werner Koch
dd2cb388a9 * Makefile.am (libgpgme_la_SOURCES): Add mutex.h 2002-03-26 10:15:22 +00:00
Marcus Brinkmann
6cee0a4f3f 2002-03-17 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Add automake conditional HAVE_DOSISH_SYSTEM.

gpgme/
2002-03-18  Marcus Brinkmann  <marcus@g10code.de>

	* Makefile.am (system_components): New variable, set depending on
	HAVE_DOSISH_SYSTEM.
	(libgpgme_la_SOURCES): Use system_components.  Remove `syshdr.h'.
	* syshdr.h: File removed.

	* posix-io.c: Remove !HAVE_DOSISH_SYSTEM safeguard.  Clean up source.
	* posix-sema.c: Likewise.
	* posix-util.c: Likewise.

	* w32-io.c: Remove HAVE_DOSISH_SYSTEM safeguard.
	* w32-sema.c: Likewise.
	* w32-util.c: Likewise.

	* posix-io.c: Include `unistd.h', do not include `syshdr.h'.
	* posix-sema.c: Likewise.
	* w32-io.c: Include `io.h', do not include `syshdr.h'
	* w32-sema.c: Likewise.
	* w32-util.c: Likewise.
	* data.c: Do not include `syshdr.h'.
	* wait.c: Likewise.
	* wait.h: Code cleanup.

	* mutex.h: New file.
	* posix-sema.c: Implement.
2002-03-18 00:04:06 +00:00
Marcus Brinkmann
c22974f99f doc/
2002-02-26  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Encrypting a Plaintext): Document
	gpgme_op_encrypt_sign and gpgme_op_encrypt_sign_start.

gpgme/
2002-02-25  Marcus Brinkmann  <marcus@g10code.de>

	* engine.c (_gpgme_engine_op_encrypt_sign): New function.
	* engine.h (_gpgme_engine_op_encrypt_sign): New prototype.
	* rungpg.c (_gpgme_append_gpg_args_from_signers): New function.
	(_gpgme_gpg_op_sign): Use that new function.
	(_gpgme_gpg_op_encrypt_sign): New function.
	* rungpg.h (_gpgme_gpg_op_encrypt_sign): New prototype.
	* gpgme.h (gpgme_op_encrypt_sign_start): New prototype.
	(gpgme_op_encrypt_sign): Likewise.
	* Makefile.am (libgpgme_la_SOURCES): Add encrypt-sign.c.
	* ops.h (_gpgme_encrypt_status_handler): Add prototype.
	(_gpgme_sign_status_handler): Add prototype.
	* sign.c (sign_status_handler): Rename to ...
	(_gpgme_sign_status_handler): ... this and make non-static.
	* encrypt.c (encrypt_status_handler): Rename to ...
	(_gpgme_encrypt_status_handler): ... this and make non-static.
	* encrypt.c (gpgme_op_encrypt_start): Use new status handler name.
	* sign.c (gpgme_op_sign_start): Likewise.

tests/
2002-02-26  Marcus Brinkmann  <marcus@g10code.de>

	* gpg/t-encrypt-sign.c: New file.
	* gpg/Makefile.am (TESTS): Add t-encrypt-sign.
2002-02-26 00:08:09 +00:00
Marcus Brinkmann
92bbc39616 2002-02-01 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (MOSTLYCLEANFILES): New variable.
2002-02-01 20:28:59 +00:00
Marcus Brinkmann
129da707d1 doc/
2002-01-31  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Generating Keys): Document error at creation
	failure.

gpgme/
2002-01-31  Marcus Brinkmann  <marcus@g10code.de>

	* rungpg.h: Add STATUS_KEY_CREATED.

	* progress.c: New file.
	* Makefile.am (libgpgme_la_SOURCES): Add progress.c.

	* genkey.c (genkey_status_handler): Use
	_gpgme_progress_status_handler.  Add check for status.
	(struct genkey_result_s): New structure.
	(_gpgme_release_genkey_result): New function.
	(gpgme_op_genkey): Check for error.
	* gpgme.c (_gpgme_release_result): Call
	_gpgme_release_genkey_result.
	* ops.h (_gpgme_release_genkey_result): Add prototype.
	* types.h (GenKeyResult): New type.
	* context.h (gpgme_context_s): Add GenKeyResult to member result.
2002-01-31 00:31:44 +00:00
Marcus Brinkmann
498ba7818c 2002-01-22 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (_gpgme_gpgsm_release): Call assuan_disconnect,
	not assuan_pipe_disconnect.

	* Makefile.am (libgpgme_la_LIBADD): Change to link assuan and
	jnlib (needed by assuan) statically into libgpgme.  Linking a
	static library into a shared library this way is not portable.
2002-01-22 16:36:08 +00:00
Marcus Brinkmann
ad428df905 2001-11-20 Marcus Brinkmann <marcus@g10code.de>
* types.h: Add types EngineObject and GpgsmObject.

	* Makefile.am (libgpgme_la_SOURCES): Add engine-gpgsm.h,
	engine-gpgsm.c, engine.h and engine.c.
	* engine.h: New file.
	* engine.c: Likewise.
	* engine-gpgsm.h: Likewise.
	* engine-gpgsm.c: Likewise.

	* rungpg.c (_gpgme_gpg_get_version): New function.
	(_gpgme_gpg_check_version): Likewise.
	* rungpg.h: Add prototypes for _gpgme_gpg_get_version and
	_gpgme_gpg_check_version.

	* version.c (compare_versions): Rename to ...
	(_gpgme_compare_versions): ... this.  Make non-static.
	(gpgme_check_version): Use _gpgme_compare_versions rather than
	compare_versions.
	(gpgme_check_engine): Likewise.
	* ops.h (_gpgme_get_program_version): Add prototype.
2001-11-20 06:01:24 +00:00
Marcus Brinkmann
a441158cc7 2001-11-20 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (SUBDIRS): Support building the assuan library
	(currently if GPGSM_PATH is set)..
	* configure.ac: Support building the assuan library.
	* assuan: New directory, populated with the Assuan library
	(copied from the newpg repository).

gpgme/
2001-11-20  Marcus Brinkmann  <marcus@g10code.de>

	* Makefile.am (libgpgme_la_INCLUDES): Remove obsolete directive.
	(AM_CPPFLAGS): New directive [BUILD_ASSUAN].
	(libgpgme_la_LIBADD): Likewise.
2001-11-20 05:27:46 +00:00
Marcus Brinkmann
d65c4b72d9 gpgme/
2001-11-16  Marcus Brinkmann  <marcus@g10code.de>

	* decrypt-verify.c: New file.
	* Makefile.am (libgpgme_la_SOURCES): Add decrypt-verify.c.
	* types.h: Add decrypt-verify types.
	* ops.h: Likewise.
	* context.h: Add result type for decrypt-verify.
	* gpgme.h: Add decrypt-verify prototypes.

	* decrypt.c (decrypt_status_handler): Renamed to ...
	(_gpgme_decrypt_status_handler): ... this.  Make non-static.
	(_gpgme_decrypt_start): New function, derived from
	gpgme_op_decrypt_start.
	(gpgme_op_decrypt_start): Reimplement in terms of
	_gpgme_decrypt_start.
	(_gpgme_decrypt_result): New function to retrieve error value.
	(gpgme_op_decrypt): Use _gpgme_decrypt_result.
	* ops.h: Add prototypes for new functions.

	* verify.c (verify_status_handler): Renamed to ...
	(_gpgme_verify_status_handler): ... this.  Make non-static.
	(gpgme_op_verify_start): Use new function name.
	(intersect_stati): Renamed to ...
	(_gpgme_intersect_stati): ... this.  Make non-static.
	(gpgme_op_verify): Use new name.
	* ops.h: Add prototypes for new functions.

tests/
2001-11-16  Marcus Brinkmann  <marcus@g10code.de>

	* Makefile.am (TESTS): Add t-decrypt-verify.
	* t-decrypt-verify.c: New file.
	* cipher-2.asc: Likewise.
2001-11-16 01:37:06 +00:00
Marcus Brinkmann
550bc31b44 2001-11-16 Marcus Brinkmann <marcus@g10code.de>
* passphrase.c: New file.
	* Makefile.am (libgpgme_la_SOURCES): Add passphrase.c.
	* ops.h (_gpgme_passphrase_result): Add prototypes from
	passphrase.c.
	* types.h: Likewise.
	* context.h: Add member passphrase to result.
	* gpgme.c (_gpgme_release_result): Release passphrase member.

	* decrypt.c: Some formatting and variable name changes (like
	CTX instead C).
	(struct decrypt_result_s): Remove members now found in
	passphrase result.
	(_gpgme_release_decrypt_result): Don't release removed members.
	(decrypt_status_handler): Call _gpgme_passphrase_status_handler,
	and don't handle the cases catched there.
	(command_handler): Removed.
	(gpgme_op_decrypt_start): Don't set command handler, but invoke
	_gpgme_passphrase_start which does it.
	(gpgme_op_decrypt): Invoke _gpgme_passphrase_result and drop the
	cases covered by it.

	* sign.c Some formatting and variable name changes (like
	CTX instead C).
	(struct sign_result_s): Remove members now found in
	passphrase result.
	(_gpgme_release_sign_result): Don't release removed members.
	(sign_status_handler): Call _gpgme_passphrase_status_handler,
	and don't handle the cases catched there.
	(command_handler): Removed.
	(gpgme_op_sign_start): Don't set command handler, but invoke
	_gpgme_passphrase_start which does it.
	(gpgme_op_sign): Invoke _gpgme_passphrase_result and drop the
	cases covered by it.
2001-11-16 00:20:11 +00:00
Werner Koch
bf6779bf74 Release 0.2.1 2001-04-02 08:40:32 +00:00
Werner Koch
9db5d05376 Lookup the path in the Registry 2001-01-30 16:00:50 +00:00
Werner Koch
e318473836 Add better debug printing. Use reader threads for W32 2001-01-30 11:01:41 +00:00
Werner Koch
f2be414251 Some new but untested functions 2001-01-22 20:22:41 +00:00
Werner Koch
d6cd1f97ca More changes and and some new functions 2001-01-08 20:40:25 +00:00
Werner Koch
a92ecd4470 Add key generation 2000-12-18 20:54:43 +00:00
Werner Koch
715cf2aed3 Add key import and export facility 2000-12-14 14:45:35 +00:00
Werner Koch
edcc338a59 Add a passphrase callback and minor changes to the interface 2000-12-12 13:31:25 +00:00
Werner Koch
6bf05e9c06 Added some comments and prepared for W32 support 2000-11-22 17:10:48 +00:00
Werner Koch
fabce92fe3 configuration changes 2000-11-17 21:20:53 +00:00
Werner Koch
3868237d95 Added sign functionality 2000-11-16 14:53:52 +00:00
Werner Koch
7f8c3532e7 Added decryption 2000-11-16 13:15:48 +00:00
Werner Koch
cbb513962a Started with --list-key 2000-11-10 17:50:24 +00:00
Werner Koch
36966ea498 Add verify function 2000-11-09 16:35:35 +00:00
Werner Koch
b9bf49968b Just a backup for now 2000-11-07 13:32:38 +00:00
Werner Koch
30ee22c7d2 First prototypes 2000-10-27 17:26:12 +00:00
Werner Koch
77fa0ec399 Starting project 'GnuPG Made Easy' 2000-10-27 14:55:24 +00:00