Commit Graph

1816 Commits

Author SHA1 Message Date
Marcus Brinkmann
2ffb03a969 doc/
2003-04-27  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Deleting Keys): Document
	GPGME_Ambiguous_Specification.
	(Error Values): Remove GPGME_Invalid_Type and GPGME_Invalid_Mode.
	Add GPGME_Unknown_Reason, GPGME_Not_Found,
	GPGME_Ambiguous_Specification, GPGME_Wrong_Key_Usage,
	GPGME_Key_Revoked, GPGME_Key_Expired, GPGME_No_CRL_Known,
	GPGME_CRL_Too_Old, GPGME_Policy_Mismatch, GPGME_No_Secret_Key,
	GPGME_Key_Not_Trusted, GPGME_Issuer_Missing, GPGME_Chain_Too_Long,
	GPGME_Unsupported_Algorithm, GPGME_Sig_Expired,
	GPGME_Bad_Signature, GPGME_No_Public_Key.

gpgme/
2003-04-27  Marcus Brinkmann  <marcus@g10code.de>

	* delete.c: Include <errno.h> and "gpgme.h", but not "util.h" or
	"key.h".
	(enum delete_problem): Move into function delete_status_handler.
	(delete_status_handler): Change first argument to void *.  Parse
	delete problem with strtol instead atoi.  Return better error
	values.
	(_gpgme_op_delete_start): Rename to ...
	(delete_start): ... this.  Rework error handling.
	(gpgme_op_delete_start): Use delete_start instead
	_gpgme_op_delete_start.
	(gpgme_op_delete): Likewise.
	* gpgme.h (GpgmeDataType): Removed.
2003-04-27 17:35:42 +00:00
Marcus Brinkmann
ffa2b2158c doc/
2003-04-25  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Importing Keys): Change GPGME_IMPORT_PRIVATE to
	GPGME_IMPORT_SECRET.

gpgme/
2003-04-25  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h: Change GPGME_IMPORT_PRIVATE to GPGME_IMPORT_SECRET.
	* import.c (parse_import_res): Parse unchanged field.

tests/
2003-04-25  Marcus Brinkmann  <marcus@g10code.de>

	* gpg/t-import.c: Rewritten.
2003-04-25 17:08:00 +00:00
Marcus Brinkmann
d99f1faa17 2003-04-25 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Importing Keys): Remove note about gpgme_get_op_info.
	(Detailed Results): Remove note about import.
2003-04-25 16:11:25 +00:00
Marcus Brinkmann
8cfb3cdd07 doc/
2003-04-25  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Importing Keys): Add documentation for
	GpgmeImportStatus, GpgmeImportResult and gpgme_op_import_result.

gpgme/
2003-04-25  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h: New enum for GPGME_IMPORT_NEW, GPGME_IMPORT_UID,
	GPGME_IMPORT_SIG, GPGME_IMPORT_SUBKEY, GPGME_IMPORT_PRIVATE.
	(GpgmeError): GPGME_Unknown_Reason, GPGME_Not_Found,
	GPGME_Ambiguous_Specification, GPGME_Wrong_Key_Usage,
	GPGME_Key_Revoked, GPGME_Key_Expired, GPGME_No_CRL_Known,
	GPGME_CRL_Too_Old, GPGME_Policy_Mismatch, GPGME_No_Secret_Key,
	GPGME_Key_Not_Trusted, GPGME_Issuer_Missing, GPGME_Chain_Too_Long,
	GPGME_Unsupported_Algorithm, GPGME_Sig_Expired,
	GPGME_Bad_Signature, GPGME_No_Public_Key): New error codes.
	(struct _gpgme_import_status): New structure.
	(GpgmeImportStatus): New type.
	(struct _gpgme_op_import_result): New structure.
	(GpgmeImportResult): New type.
	(gpgme_op_import_result): New function.
	* import.c: Include <errno.h> and "gpgme.h", but not "util.h".
	(struct import_result): Change to type op_data_t.
	(release_import_result): Rename to ...
	(release_op_data): ... this.
	(append_xml_impinfo): Function removed.
	(gpgme_op_import_result): New function.
	(parse_import): New function.
	(parse_import_res): Likewise.
	(import_status_handler): Change first argument to void *.  Rewrite
	to use new functions.
	(_gpgme_op_import_start): Rework error handling.
2003-04-25 15:56:24 +00:00
Marcus Brinkmann
cceb2cc292 2003-04-25 Marcus Brinkmann <marcus@g10code.de>
* edit.c: Do not include <assert.h>, "util.h", but "gpgme.h".
	(edit_resut): Change to typedef for op_data_t.
	(edit_status_handler): Change first argument to void *.
	Rework error handling.
	(command_handler): Rework error handling.
	(_gpgme_op_edit_start): Rename to ...
	(edit_start): ... this.  Rework error handling.
	(gpgme_op_edit_start): Rewrite using edit_start.
	(gpgme_op_edit): Likewise.
2003-04-25 14:46:03 +00:00
Marcus Brinkmann
8002f98d48 2003-04-25 Marcus Brinkmann <marcus@g10code.de>
* ops.h (_gpgme_passphrase_start): Remove prototype.
	* passphrase.c: Do not include <assert.h>, "util.h" or
	"debug.h", but "gpgme.h".
	(struct passphrase_result): Change to typedef for op_data_t.
	(release_passphrase_result): Rename to release_op_data.
	(_gpgme_passphrase_status_handler): Change first argument to void *.
	Use new op_data_t type.
	(_gpgme_passphrase_command_handler): Use new op_data_t type.
	(_gpgme_passphrase_start): Remove function.
	* decrypt.c (_gpgme_decrypt_start): Rewrite error handling.  Do
	not call _gpgme_passphrase_start, but install command handler.
	* encrypt.c (_gpgme_op_encrypt_start): Likewise.
	* encrypt-sign.c (_gpgme_op_encrypt_sign_start): Likewise.
	* sign.c (_gpgme_op_sign_start): Likewise.
2003-04-25 14:24:17 +00:00
Marcus Brinkmann
9dbd9c6dff 2003-04-25 Marcus Brinkmann <marcus@g10code.de>
* context.h (struct gpgme_context_s): Remove member initialized,
	use_cms and help_data_1.  Add member protocol.  Make use_armor and
	use_textmode bit flags.  Make keylist_mode, include_certs,
	signers_len and signers_size unsigned.
	* gpgme.c (gpgme_new): Initialize CTX->protocol.
	(gpgme_set_protocol): Do not check CTX.  Use CTX->protocol.
	(gpgme_get_protocol): Likewise.
	(gpgme_release): Do not release CTX->help_data_1.
	* op-support.c (_gpgme_op_reset): Use CTX->protocol.
2003-04-25 13:42:02 +00:00
Marcus Brinkmann
7869230d18 2003-04-25 Marcus Brinkmann <marcus@g10code.de>
* wait-private.c (_gpgme_wait_private_event_cb): Remove variable CTX.
2003-04-25 13:25:56 +00:00
Marcus Brinkmann
d5993c256b 2003-04-25 Marcus Brinkmann <marcus@g10code.de>
* data.c: Do not include <assert.h>, but "gpgme.h".
	(_gpgme_data_inbound_handler): Expand _gpgme_data_append, because
	it will go.  Do not assert DH.
	(_gpgme_data_outbound_handler): Do not assert DH.
2003-04-25 13:23:27 +00:00
Marcus Brinkmann
359c251b4d 2003-04-25 Marcus Brinkmann <marcus@g10code.de>
* export.c: Do not include <stdlib.h>, "debug.h" and "util.h", but
	"gpgme.h".
	(export_status_handler): Change type of first argument to void *.
	(_gpgme_op_export_start): Rename to ...
	(export_start): ... this.  Rework error handling.
	(gpgme_op_export_start): Rewritten to use export_start instead
	_gpgme_op_export_start.
	(gpgme_op_export): Likewise.
2003-04-25 13:18:13 +00:00
Marcus Brinkmann
a6c92323b6 2003-04-25 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Generating Keys): Fix documentation of ppublic and
	secret arguments.
2003-04-25 12:48:48 +00:00
Marcus Brinkmann
66be7f23a1 2003-04-25 Marcus Brinkmann <marcus@g10code.de>
* gpgsm/t-genkey.c: Rewritten.
	* gpgsm/Makefile.am (noinst_PROGRAMS): Add t-genkey.
	* gpg/t-genkey.c: Include <stdlib.h>.
	(main): Check result->fpr before checking its length.
2003-04-25 12:38:55 +00:00
Marcus Brinkmann
bd07371233 2003-04-25 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h (GpgmeError): Add GPGME_Busy, GPGME_No_Request.
	(GPGME_No_Recipients, GPGME_Invalid_Recipient,
	GPGME_No_Passphrase): New macros.
2003-04-25 11:31:14 +00:00
Marcus Brinkmann
8c359e5416 2003-04-25 Marcus Brinkmann <marcus@g10code.de>
* key.c (gpgme_key_get_string_attr): Fix validity attribute.
2003-04-25 10:59:52 +00:00
Marcus Brinkmann
f0ee6af9f8 Complete genkey example. 2003-04-24 17:28:05 +00:00
Marcus Brinkmann
671edce1ae doc/
2003-04-24  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Generating Keys): Document changed gpgme_op_genkey
	and new gpgme_op_genkey_result function.  Document
	GpgmeGenKeyResult data type.

gpgme/
2003-04-24  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h (struct _gpgme_op_genkey_result): New structure.
	(GpgmeGenKeyResult): New type.
	(gpgme_op_genkey): Drop last argument.
	(gpgme_op_genkey_result): New function.
	* genkey.c: Do not include "util.h", but "gpgme.h".
	(struct genkey_result): Replace with ...
	(op_data_t): ... this new type.
	(release_genkey_result): Replace with ...
	(release_op_data): ... this new function.
	(gpgme_op_genkey_result): New function.
	(genkey_status_handler): Rewritten using new op_data_t type.
	(get_key_parameter): New function.
	(_gpgme_op_genkey_start): Renamed to
	(genkey_start): ... this and rewritten.
	(gpgme_op_genkey_start): Use genkey_start instead
	_gpgme_op_genkey_start.
	(gpgme_op_genkey): Rewritten.  Remove FPR argument.

tests/
2003-04-24  Marcus Brinkmann  <marcus@g10code.de>

	* gpg/t-genkey.c: Rewritten to match new semantics.
2003-04-24 17:16:28 +00:00
Marcus Brinkmann
e927e5c617 2003-04-24 Marcus Brinkmann <marcus@g10code.de>
* context.h (struct gpgme_context_s): Remove member verbosity.
	* gpgme.c (gpgme_new): Do not set member verbosity.
	* engine.h (_gpgme_engine_set_verbosity): Remove prototype.
	* engine.c (_gpgme_engine_set_verbosity): Remove function.
	* engine-backend.h (struct engine_ops): Remove set_verbosity.
	* engine-gpgsm.c (_gpgme_engine_ops_gpgsm): Remove set_verbosity member.
	* rungpg.c (_gpgme_engine_ops_gpg): Likewise.
	(gpg_set_verbosity): Remove function.
	* decrypt.c (_gpgme_decrypt_start): Don't call
	_gpgme_engine_set_verbosity.
	* delete.c (_gpgme_op_delete_start): Likewise.
	* edit.c (_gpgme_op_edit_start): Likewise.
	* encrypt.c (_gpgme_op_encrypt_start): Likewise.
	* encrypt-sign.c (_gpgme_op_encrypt_sign_start): Likewise.
	* export.c (_gpgme_op_export_start): Likewise.
	* genkey.c (_gpgme_op_genkey_start): Likewise.
	* import.c (_gpgme_op_import_start): Likewise.
	* keylist.c (gpgme_op_keylist_start): Likewise.
	(gpgme_op_keylist_ext_start): Likewise.
	* sign.c (_gpgme_op_sign_start): Likewise.
	* verify.c (_gpgme_op_verify_start): Likewise.
2003-04-24 15:58:49 +00:00
Marcus Brinkmann
5375105fad 2003-04-24 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (libgpgme_la_SOURCES): Add key-cache.c.
	* key.c (key_cache_initialized, key_cache_size,
	key_cache_max_chain_length, ): Removed.
	(struct key_cache_item_s, key_cache_lock, key_cache,
	key_cache_unused_items, hash_key, _gpgme_key_cache_add,
	_gpgme_key_cache_get, gpgme_get_key): Moved to ...
	* key-cache.c: ... here.  New file.
	* key.h (_gpgme_key_cache_init): Remove prototypes.
	(_gpgme_key_cache_add,_gpgme_key_cache_get): Move to ...
	* ops.h: ... here.
	* version.c: Do not include "key.h".
	(do_subsystem_inits): Do not call _gpgme_key_cache_init.
2003-04-24 15:40:49 +00:00
Marcus Brinkmann
5b88552e74 Pretty print. 2003-04-24 15:15:29 +00:00
Marcus Brinkmann
f58531a211 2003-04-24 Marcus Brinkmann <marcus@g10code.de>
* mkstatus: Strip trailing comma.
	* gpgme.h (GpgmeStatus): Pretty print.
2003-04-24 15:11:45 +00:00
Marcus Brinkmann
8208786b91 doc/
2003-04-24  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Error Values): Rename GPGME_No_Passphrase to
	GPGME_Bad_Passphrase.
	* gpgme.texi (Decrypt): Likewise.
	(Decrypt and Verify): Likewise.
	(Creating a Signature): Likewise.
	(Encrypting a Plaintext): Likewise.

	* gpgme.texi (Error Values): Rename GPGME_No_Recipients to
	GPGME_No_UserID and GPGME_Invalid_Recipient to
	GPGME_Invalid_UserID.
	(Encrypting a Plaintext): Likewise.

	* gpgme.texi (Error Values): Remove GPGME_Busy and GPGME_No_Request.
	(Listing Keys): Likewise.
	(Listing Trust Items): Likewise.

gpgme/
2003-04-24  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h (GpgmeError): Rename GPGME_No_Passphrase to
	GPGME_Bad_Passphrase.
	* passphrase.c (_gpgme_passphrase_status_handler): Use
	GPGME_Bad_Passphrase instead GPGME_No_Passphrase.

	* gpgme.h (GpgmeError): Rename GPGME_No_Recipients to
	GPGME_No_UserID and GPGME_Invalid_Recipient to
	GPGME_Invalid_UserID.
	* encrypt.c (_gpgme_encrypt_status_handler): Use GPGME_No_UserID
	instead GPGME_No_Recipients and GPGME_Invalid_UserID instead
	GPGME_Invalid_Recipient.
	(_gpgme_op_encrypt_start): Likewise.

	* gpgme.h (GpgmeError): Remove GPGME_Busy and GPGME_No_Request.
	* wait-user.c (_gpgme_wait_user_event_cb): Don't clear CTX->pending.
	* wait-private.c (_gpgme_wait_private_event_cb): Likewise.
	* wait-global.c (gpgme_wait): Likewise.
	* verify.c (_gpgme_op_verify_start): Likewise.
	(gpgme_get_sig_status): Don't check pending flag.
	(gpgme_get_sig_string_attr): Likewise.
	(gpgme_get_sig_ulong_attr): Likewise.
	(gpgme_get_sig_key): Likewise.
	* op-support.c (_gpgme_op_reset): Likewise.
	* trustlist.c (gpgme_op_trustlist_start): Don't clear pending flag.
	(gpgme_op_trustlist_next): Don't check or clear pending flag.
	(gpgme_op_trustlist_end): Likewise.
	* sign.c (_gpgme_op_sign_start): Likewise.
	* context.h (struct gpgme_context_s): Remove member PENDING.
	* decrypt.c (_gpgme_decrypt_start): Likewise.
	* delete.c (_gpgme_op_delete_start): Likewise.
	* edit.c (_gpgme_op_edit_start): Likewise.
	* encrypt.c (_gpgme_op_encrypt_start): Likewise.
	* encrypt-sign.c (_gpgme_op_encrypt_sign_start): Likewise.
	* export.c (_gpgme_op_export_start): Likewise.
	* genkey.c (_gpgme_op_genkey_start): Likewise.
	* import.c (_gpgme_op_import_start): Likewise.
	* key.c (gpgme_get_key): Likewise.
	* keylist.c (gpgme_op_keylist_start): Likewise.
	(gpgme_op_keylist_ext_start): Likewise.
	(gpgme_op_keylist_next): Likewise.
	(gpgme_op_keylist_end): Likewise.
	* data-compat.c (gpgme_error_to_errno): Don't convert EBUSY.
2003-04-24 14:33:13 +00:00
Marcus Brinkmann
9b740d740b Add news item for 0.3.15. 2003-04-24 13:46:27 +00:00
Marcus Brinkmann
54cd78dbec Fix last change. 2003-02-07 01:15:08 +00:00
Marcus Brinkmann
5a37051361 doc/
2003-02-06  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Cancelling an Operation): Removed.
	(Passphrase Callback): Document new type for GpgmePassphraseCb.

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

	* gpgme.h (GpgmePassphraseCb): Change type to return GpgmeError,
	and add argument for returning the result string.
	(gpgme_cancel): Remove prototype.
	* gpgme.c (gpgme_cancel): Remove function.
	* context.h (struct gpgme_context_s): Remove member cancel.
	* passphrase.c (_gpgme_passphrase_command_handler): Call the
	passphrase callback in the new way.

tests/
2003-02-06  Marcus Brinkmann  <marcus@g10code.de>

	* gpg/t-decrypt.c (passphrase_cb): Fix to new prototype.
	* gpg/t-decrypt-verify.c (passphrase_cb): Likewise.
	* gpg/t-edit.c (passphrase_cb): Likewise.
	* gpg/t-encrypt-sign.c (passphrase_cb): Likewise.
	* gpg/t-encrypt-sym.c (passphrase_cb): Likewise.
	* gpg/t-sign.c (passphrase_cb): Likewise.
	* gpg/t-signers.c (passphrase_cb): Likewise.
2003-02-06 20:09:24 +00:00
Marcus Brinkmann
654ab24164 2003-01-30 Marcus Brinkmann <marcus@g10code.de>
* edit.c (_gpgme_edit_status_handler): Call the progress status
	handler.
2003-02-06 11:45:05 +00:00
Marcus Brinkmann
7aaa379c44 2003-02-05 Marcus Brinkmann <marcus@g10code.de>
* wait-user.c (_gpgme_wait_user_remove_io_cb): Move check for no
	I/O handlers left to ...
	(_gpgme_user_io_cb_handler): ... here.
2003-02-05 10:40:05 +00:00
Marcus Brinkmann
d2992c518c 2003-02-04 Marcus Brinkmann <marcus@g10code.de>
* trustlist.c (trustlist_colon_handler): Release ITEM if name
	could not be allocated.
	(gpgme_trust_item_release): Only release name if it is allocated.
	Reported by Marc Mutz <Marc.Mutz@uni-bielefeld.de>.
2003-02-04 20:56:50 +00:00
Marcus Brinkmann
7f0efb1923 2003-02-04 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (read_status): If he status handler returns an error,
	return it.
	(status_handler): If read_status fails, just return the error.
2003-02-04 16:08:50 +00:00
Marcus Brinkmann
350ef9afef 2003-02-01 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (start): Handle all errors, not only most of
	them.
	(xtoi_1, xtoi_2): Remove macro.
	(status_handler): Replace use of xtoi_2 with _gpgme_hextobyte.
2003-02-04 14:57:41 +00:00
Marcus Brinkmann
90beb50551 2003-02-01 Marcus Brinkmann <marcus@g10code.de>
* assuan/: Update files to 2002-11-10 version of assuan.

gpgme/
2003-02-01  Marcus Brinkmann  <marcus@g10code.de>

	* engine-gpgsm.c (map_assuan_error): Replace
	ASSUAN_Bad_Certificate_Path with ASSUAN_Bad_Certificate_Chain.
	(gpgsm_new): Use assuan_pipe_connect instead assuan_pipe_connect2.

	* util.h (DIMof): Remove macro.

	* ops.h (_gpgme_op_event_cb, _gpgme_op_event_cb_user,
	_gpgme_data_unread): Prototypes removed.
2003-02-01 18:53:06 +00:00
Marcus Brinkmann
83d3b3f449 2003-01-30 Marcus Brinkmann <marcus@g10code.de>
* types.h: File removed.
	* Makefile.am (libgpgme_la_SOURCES): Remove types.h.
	* io.h (struct spawn_fd_item_s): Do not include "types.h".
	* key.h: Likewise.
	* context.h: Likewise.
	* cengine-gpgsm.h: Likewise.
	* engine.h: Include "gpgme.h" instead "types.h".  Add prototypes
	for EngineStatusHandler, EngineColonLineHandler and
	EngineCommandHandler.
	(_gpgme_engine_set_status_handler): Change parameter type from
	GpgmeStatusHandler to EngineStatusHandler.
	(_gpgme_engine_set_command_handler): Change parameter type from
	GpgmeCommandHandler to EngineCommandHandler.
	(_gpgme_engine_set_colon_line_handler): Change parameter type from
	GpgmeColonLineHandler to EngineColonLineHandler.
	* engine-backend.h: Include "engine.h" instead "types.h".
	(struct engine_ops): Change Gpgme*Handler parameters in members
	set_command_handler, set_colon_line_handler and set_status_handler
	to Engine*Handler.
	* engine.c (_gpgme_engine_set_status_handler): Change parameter
	type from GpgmeStatusHandler to EngineStatusHandler.
	(_gpgme_engine_set_command_handler): Change parameter type from
	GpgmeCommandHandler to EngineCommandHandler.
	(_gpgme_engine_set_colon_line_handler): Change parameter type from
	GpgmeColonLineHandler to EngineColonLineHandler.
	* rungpg.c (struct gpg_object_s): Change type of member status.fnc
	from GpgmeStatusHandler to EngineStatusHandler.  Change type of
	member colon.fnc from GpgmeColonLineHandler to
	EngineColonLineHandler.  Change type of member cmd.fnc from
	GpgmeCommandHandler to EngineCommandHandler.
	* engine-gpgsm.c (struct gpgsm_object_s): Likewise.
	* rungpg.c (gpg_set_status_handler): Change parameter type from
	GpgmeStatusHandler to EngineStatusHandler.
	* engine-gpgsm.c (gpgsm_set_status_handler): Likewise.
	(assuan_simple_command): Likewise.
	* rungpg.c (gpg_set_colon_line_handler): Change parameter type
	from GpgmeColonLineHandler to EngineColonLineHandler.
	* engine-gpgsm.c (gpgsm_set_colon_line_handler): Likewise.
	* rungpg.c (gpg_set_command_handler): Change parameter type from
	GpgmeCommandHandler to EngineCommandHandler.
2003-01-30 23:02:14 +00:00
Marcus Brinkmann
7618b28f1d 2003-01-30 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (status_handler): Do not close status fd at end
	of function.

	* ops.h (_gpgme_op_data_lookup): Add prototype.
	* op-support.c: Include <stdlib.h>.
	(_gpgme_op_data_lookup): New function.
	* decrypt.c (_gpgme_release_decrypt_result): Function removed.
	(struct decrypt_result_s): Rename to ...
	(struct decrypt_resul): ... this.
	(DecryptResult): New type.
	(_gpgme_decrypt_status_handler): Don't use
	test_and_allocate_result, but use _gpgme_op_data_lookup to
	retrieve result data object.
	* sign.c (_gpgme_release_sign_result): Function removed.
	(release_sign_result): New function.
	(struct sign_result_s): Rename to ...
	(struct sign_result): ... this.
	(SignResult): New type.
	(_gpgme_sign_status_handler): Don't use
	test_and_allocate_result, but use _gpgme_op_data_lookup to
	retrieve result data object.
	* encrypt.c (struct encrypt_result_s): Rename to ...
	(struct encrypt_result): ... this.
	(_gpgme_release_encrypt_result): Function removed.
	(release_encrypt_result): New function.
	(_gpgme_encrypt_status_handler): Don't use
	test_and_allocate_result, but use _gpgme_op_data_lookup to
	retrieve result data object.
	* verify.c (struct verify_result_s): Rename to ...
	(struct verify_result): ... this.  Remove member next.
	(VerifyResult): New type.
	(_gpgme_release_verify_result): Function removed.
	(release_verify_result): New function.
	(finish_sig): Change first argument to type VerifyResult.  Diddle
	the type of the op_data structure.
	(add_notation): Change first argument to type VerifyResult.
	(_gpgme_verify_status_handler): Don't use
	test_and_allocate_result, but use _gpgme_op_data_lookup to
	retrieve result data object.
	* passphrase.c (struct passphrase_result_s): Rename to ...
	(struct passphrase_result): ... this.  Remove member next.
	(PassphraseResult): New type.
	(_gpgme_release_passphrase_result): Function removed.
	(release_passphrase_result): New function.
	(_gpgme_passphrase_status_handler): Don't use
	test_and_allocate_result, but use _gpgme_op_data_lookup to
	retrieve result data object.
	(_gpgme_passphrase_command_handler): Likewise.
	* keylist.c (struct keylist_result_s): Rename to ...
	(struct keylist_result): ... this.  Remove member next.
	(KeylistResult): New type.
	(_gpgme_release_keylist_result): Function removed.
	(release_keylist_result): New function.
	(keylist_status_handler): Don't use
	test_and_allocate_result, but use _gpgme_op_data_lookup to
	retrieve result data object.
	* edit.c (struct edit_result_s): Rename to ...
	(struct edit_result): ... this.  Remove member next.
	(EditResult): New type.
	(_gpgme_release_edit_result): Function removed.
	(release_edit_result): New function.
	(edit_status_handler): Don't use
	test_and_allocate_result, but use _gpgme_op_data_lookup to
	retrieve result data object.
	(command_handler): Likewise.
	* types.h (DecryptResult, SignResult, EncryptResult,
	PassphraseResult, ImportResult, DeleteResult, GenKeyResult,
	KeylistResult, EditResult): Types removed.
	* ops.h: Don't include "types.h", but "gpgme.h" and "context.h".
	(test_and_allocate_result): Remove macro.
	(_gpgme_release_decrypt_result): Remove prototype.
	(_gpgme_decrypt_result): Remove prototype.
	(_gpgme_release_sign_result): Remove prototype.
	(_gpgme_release_encrypt_result): Remove prototype.
	(_gpgme_release_passphrase_result): Remove prototype.
	(_gpgme_release_import_result): Remove prototype.
	(_gpgme_release_delete_result): Remove prototype.
	(_gpgme_release_genkey_result): Remove prototype.
	(_gpgme_release_keylist_result): Remove prototype.
	(_gpgme_release_edit_result): Remove prototype.
	(_gpgme_release_verify_result): Remove prototype.
	* gpgme.c (_gpgme_release_result): Rewritten.
	* context.h (enum ctx_op_data_type): New enum.
	(struct ctx_op_data): New structure.
	(struct gpgme_context_s): Replace the member result with a member
	op_data.
	(fail_on_pending_request): Remove macro.
	* op-support.c (_gpgme_op_reset): Expand macro
	fail_on_pending_request.
	* util.h: Don't include "types.h" or "debug.h", but include "gpgme.h".
2003-01-30 22:40:05 +00:00
Marcus Brinkmann
e0229fe1d6 Fix comment indentation. 2003-01-30 22:01:01 +00:00
Marcus Brinkmann
7a149cc32f 2003-01-30 Marcus Brinkmann <marcus@g10code.de>
* types.h (EngineObject): Move typedef to ...
	* engine.h: ... here.
	* types.h (GpgObject): Move typedef to ...
	* rungpg.c: ... here.
	* types.h (GpgsmObject): Move typedef to ...
	* engine-gpgsm.c: ... here.
2003-01-30 17:28:10 +00:00
Marcus Brinkmann
fb0b0b7eef 2003-01-30 Marcus Brinkmann <marcus@g10code.de>
* util.h (return_if_fail, return_null_if_fail,
	return_val_if_fail): Remove macro.
	* gpgme.c (gpgme_cancel): Don't use return_if_fail.
	* key.c (gpgme_key_ref): Likewise.
	* signers.c (gpgme_signers_enum): Likewise.
	(gpgme_signers_clear): Likewise.
2003-01-30 17:12:07 +00:00
Marcus Brinkmann
420de0b990 Small beautification. 2003-01-30 13:12:43 +00:00
Marcus Brinkmann
d102681aef doc/
2003-01-30  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Engine Information): Rename member part to
	file_name.

gpgme/
2003-01-30  Marcus Brinkmann  <marcus@g10code.de>

	* engine-backend.h (struct engine_ops): Rename get_path to
	get_file_name.
	* gpgme.h (struct _gpgme_engine_info): Rename member path to
	file_name.
	* version.c: Do not include <stdio.h>, <stdlib.h>, context.h and
	util.h.  Other clean ups.
	(parse_version_number): Protect more seriously against
	overflow.
	(gpgme_get_engine_info): Move to ...
	* engine.c (gpgme_get_engine_info): ... here.
	(_gpgme_engine_get_info): Function removed.
	(_gpgme_engine_get_path): Make static and rename to ...
	(engine_get_file_name): .. this.
	(_gpgme_engine_get_version): Make static and rename to ...
	(engine_get_version): ... this.
	(_gpgme_engine_get_req_version): Make static and rename to ...
	(engine_get_req_version): ... this.
	* engine.h (_gpgme_engine_get_path, _gpgme_engine_get_version,
	_gpgme_engine_req_version, _gpgme_engine_get_info.): Remove
	prototypes.

tests/
2003-01-30  Marcus Brinkmann  <marcus@g10code.de>

	* t-engine-info.c: Use file_name instead path throughout.
2003-01-30 13:11:25 +00:00
Marcus Brinkmann
feb78b25ec 2003-01-30 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Protocols and Engines): Document
	gpgme_get_protocol_name.
2003-01-30 12:01:21 +00:00
Marcus Brinkmann
b7779c802c Add new interfaces. 2003-01-30 11:58:42 +00:00
Marcus Brinkmann
fdbee6b211 doc/
2003-01-30  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Engine Information): Rewritten.

gpgme/
2003-01-30  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h (enum GpgmeProtocol): Remove GPGME_PROTOCOL_AUTO.
	* gpgme.c (gpgme_set_protocol): Don't handle GPGME_PROTOCOL_AUTO.
	(gpgme_get_protocol_name): New function.

	* engine-backend.h (struct engine_ops): New member
	get_req_version, remove member check_version.
	* engine.h (_gpgme_Engine_get_version): New prototype.
	* rungpg.c (gpg_get_req_version): New function.
	(gpg_check_version): Function removed.
	(_gpgme_engine_ops_gpg): Add gpg_get_req_version, remove
	gpg_check_version.
	* engine-gpgsm.c (gpgsm_get_req_version): New function.
	(gpgsm_check_version): Function removed.
	(_gpgme_engine_ops_gpgsm): Add gpgsm_get_req_version, remove
	gpgsm_check_version.
	* engine.c: Include ops.h.
	 (_gpgme_engine_get_req_version): New function.
	(gpgme_engine_check_version): Rewritten.
	* version.c (gpgme_get_engine_info): Rewritten.
	* gpgme.h (gpgme_engine_info): New structure.
	(GpgmeEngineInfo): New type.

tests/
2003-01-30  Marcus Brinkmann  <marcus@g10code.de>

	* Makefile.am (TESTS): Add t-engine-info.
	* t-engine-info.c: New file.
	* gpg/t-encrypt.c (main): Don't print engine info.
	* gpg/t-eventloop.c (main): Likewise.
	* gpg/t-encrypt-sign.c (main): Likewise.
	* gpgsm/t-encrypt.c (main): Likewise.
2003-01-30 11:54:23 +00:00
Marcus Brinkmann
693b8a2ac6 2003-01-29 Marcus Brinkmann <marcus@g10code.de>
* bonobo/gpgme.c, bonobo/main.c, bonobo/main.h, bonobo/Makefile,
	bonobo/Makefile.am, bonobo/Makefile.in: Dead files removed.
	* configure.ac: Remove automake conditional BUILD_BONOBO
	(AC_CONFIG_FILES): Remove bonobo/Makefile.
	* Makefile.am (bonobo): Remove variable.
	(SUBDIRS): Remove ${bonobo}.
2003-01-29 20:18:52 +00:00
Marcus Brinkmann
d9ecfaa9c1 Fix copyright year. 2003-01-29 20:03:24 +00:00
Marcus Brinkmann
13e4d78a82 2003-01-29 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Remove all uses of GNUPG_CHECK_TYPEDEF, for byte,
	ushort, ulong, u16 and u32.
	* acinclude.m4 (GNUPG_CHECK_TYPEDEF): Remove macro.

gpgme/
2003-01-29  Marcus Brinkmann  <marcus@g10code.de>

	* types.h: Remove byte and ulong types.
	* util.h (_gpgme_hextobyte): Change prototype to unsigned char
	instead byte.
	* conversion.c (_gpgme_hextobyte): Change argument to unsigned
	char instead byte.
	(_gpgme_decode_c_string): Likewise, and beautify.  Also support a
	few more escaped characters.  Be more strict about buffer size.
	(_gpgme_data_append_percentstring_for_xml): Change type of SRC,
	BUF and DST to unsigned char instead byte.
	* progress.c (_gpgme_progress_status_handler): Use unsigned char
	instead byte.
	* debug.c (trim_spaces): Likewise.
2003-01-29 19:50:43 +00:00
Marcus Brinkmann
6912c46a77 2003-01-29 Marcus Brinkmann <marcus@g10code.de>
* util.h (mk_error): Remove macro.
	* conversion.c, data.c, data-compat.c, decrypt.c, delete.c,
	edit.c, encrypt.c, encrypt-sign.c, engine.c, engine-gpgsm.c,
	export.c, genkey.c, gpgme.c, import.c, key.c, keylist.c,
	passphrase.c, progress.c, recipient.c, rungpg.c, sign.c,
	signers.c, trustlist.c, verify.c, wait.c, wait-global.c,
	wait-private (literally everywhere): Expand the mk_error macro.
2003-01-29 16:10:35 +00:00
Marcus Brinkmann
ff5dfd9c9c Add some items, remove obsolete item about pipemode. 2003-01-29 15:41:25 +00:00
Marcus Brinkmann
f6604334b6 2003-01-29 Marcus Brinkmann <marcus@g10code.de>
* context.h (wait_on_request_or_fail): Remove macro.
2003-01-29 15:32:15 +00:00
Marcus Brinkmann
2c543f6a86 doc/
2003-01-29  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (I/O Callback Interface): Document new even
	GPGME_EVENT_START.
	(Waiting For Completion): Document new possible return values.
	(I/O Callback Interface): Document return type of GpgmeIOCb.

gpgme/
2003-01-29  Marcus Brinkmann  <marcus@g10code.de>

	* context.h (gpgme_context_s): Remove member ERROR.
	* types.h (GpgmeStatusHandler): Change return type to GpgmeError.
	(GpgmeCommandHandler): Change return type to GpgmeError and add
	new argument RESULT.
	* gpgme.h (GpgmeIOCb): Change return type to GpgmeError.
	(GpgmeEventIO): New event GPGME_EVENT_START.
	(GpgmeIdleFunc): Remove type.
	(gpgme_register_idle): Remove prototype.
	* data.c: Include <assert.h>.
	(_gpgme_data_inbound_handler): Change return type to GpgmeError.
	Return any error instead ignoring it, don't close file descriptor
	on error.
	(_gpgme_data_outbound_handler): Likewise.
	* decrypt.c: Do not include <stdio.h>, <string.h> and <assert.h>.
	(_gpgme_decrypt_status_handler): Change return type to GpgmeError.
	Return error instead setting ctx->error.  Return success at end of
	function.
	(gpgme_op_decrypt): Don't work around the old kludge anymore.
	* decrypt-verify.c (decrypt_verify_status_handler): Change return
	type to GpgmeError.  Return possible errors.
	* delete.c: Do not include <stdio.h>, <string.h>, <time.h> and
	<assert.h>.
	(delete_status_handler): Change return type to GpgmeError.  Return
	error instead setting ctx->error.  Return success at end of
	function.
	* edit.c: Do not include <stdio.h> and <string.h>.
	(_gpgme_edit_status_handler): Change type to GpgmeError,
	make static and rename to ...
	(edit_status_handler): ... this.  Return error directly.
	(command_handler): Change return type to GpgmeError, add result
	argument.  Return error directly.
	* encrypt.c (status_handler_finish): Remove function.
	(_gpgme_encrypt_status_handler): Change return type to GpgmeError.
	Return error directly.
	(_gpgme_encrypt_sym_status_handler): Likewise.
	* encrypt-sign.c (encrypt_sign_status_handler): Likewise.
	* engine-gpgsm.c (close_notify_handler): Do not signal done event
	anymore.
	(status_handler): Change return type to GpgmeError.  Diddle things
	around a bit to return errors directly.
	(start): Send start event.
	* export.c: Do not include <stdio.h>, <string.h> and <assert.h>.
	(export_status_handler): Change return type to GpgmeError.  Don't
	check ctx->error.
	* genkey.c: Do not include <stdio.h> and <assert.h>.
	(genkey_status_handler): Change return type to GpgmeError.  Don't
	check ctx->error.  Return errors directly.
	* gpgme.c (_gpgme_release_result): Do not initialize ctx->error.
	(_gpgme_op_event_cb): Function removed.
	(_gpgme_op_event_cb_user): Likewise.
	* import.c: Do not include <stdio.h>, <string.h> and <assert.h>.
	(import_status_handler): Change return type to GpgmeError.  Don't
	check ctx->error.
	* keylist.c (keylist_colon_handler, keylist_status_handler, finish_key):
	Change return type to GpgmeError, return error directly.
	* Makefile (libgpgme_la_SOURCES): Add wait-global.c,
	wait-private.c and wait-user.c
	* ops.h (test_and_allocate_result): Return error instead setting
	ctx->error.
	(_gpgme_data_inbound_handler, _gpgme_data_outbound_handler,
	_gpgme_verify_status_handler, _gpgme_decrypt_status_handler,
	_gpgme_sign_status_handler, _gpgme_encrypt_staus_handler,
	_gpgme_passphrase_status_handler, _gpgme_progress_status_handler):
	Change return type to GpgmeError.
	(_gpgme_passphease_command_handler): Change return type to
	GpgmeError and add new argument RESULT.
	* op-support.c: Use new callback functions, and change private
	data to ctx everywhere.
	* passphrase.c (_gpgme_passphrase_status_handler): Change return
	type to GpgmeError, return error directly.
	(_gpgme_passphrase_command_handler): Change return type to
	GpgmeError, add result argument.  Return results accordingly.
	* progress.c (_gpgme_progress_status_handler): Change return type
	to GpgmeError, return errors directly.
	* rungpg.c (status_handler): Change return type to GpgmeError.
	Return error directly.
	(close_notify_handler): Don't send done event.
	(colon_line_handler): Change return type to GpgmeError, return
	errors directly.
	* rungpg.c (start): Send start event.
	* sign.c (_gpgme_sign_status_handler): Change return type to
	GpgmeError, return errors directly.
	* trustlist.c (trustlist_status_handler): Change return type to
	GpgmeError.  Return 0.
	(trustlist_colon_handler): Change return type GpgmeError.  Return
	errors directly.
	* verify.c (add_notation): Change return type to GpgmeError,
	return errors directly.
	(_gpgme_verify_status_handler): Likewise.
	* wait.h (struct fd_table): Remove lock member.
	(struct wait_item_s): Moved here from wait.c.
	(struct tag): New structure.
	(_gpgme_wait_event_cb): Remove prototype.
	(_gpgme_wait_private_event_cb, _gpgme_wait_global_event_cb,
	_gpgme_wait_user_add_io_cb, _gpgme_wait_user_remove_io_cb,
	_gpgme_wait_user_event_io_cb): New prototypes.
	* wait.c: Don't include <stdio.h>.
	(ftd_global, ctx_done_list, ctx_done_list_size,
	ctx_done_list_length, ctx_done_list_lock, idle_function): Remove
	global variable.
	(gpgme_register_idle, do_select, _gpgme_wait_event_cb): Remove
	function.
	(gpgme_wait): Move to file wait-global.c.
	(_gpgme_add_io_cb): Take ctx as private argument, initialize ctx
	member in wait item and tag.
	(_gpgme_remove_io_cb): Take ctx from tag.  Don't use FDT lock.
	(_gpgme_wait_one, _gpgme_wait_on_condition): Move to
	wait-private.c.
	(gpgme_fd_table_init): Don't initialize FDT->lock.
	(gpgme_fd_table_deinit): Don't destroy FDT->lock.
	(_gpgme_fd_table_put): Make static and rename to ...
	(fd_table_put): ... this function.  Don't use FDT->lock.
	(struct wait_item_s): Move to wait.h.
	* wait-global.c: New file.
	* wait-private.c: New file.
	* wait-user.c: New file.
2003-01-29 15:20:58 +00:00
Marcus Brinkmann
8a5c6d0de2 2003-01-29 Marcus Brinkmann <marcus@g10code.de>
* key.c (gpgme_key_sig_get_string_attr): Use validity_to_string
	instead otrust_to_string to calculate validity.
2003-01-29 13:52:08 +00:00
Marcus Brinkmann
c44f5e0a3c 2003-01-19 Miguel Coca <mcoca@gnu.org>
* w32-io.c (_gpgme_io_select): Add missing argument in calls to
	DEBUG_BEGIN.
	* w32-util.c: Include "sema.h".
	(find_program_in_registry): Change DEBUG1 to DEBUG2, fixes compilation
	error.
2003-01-19 22:05:40 +00:00
Marcus Brinkmann
b083ea8da3 2003-01-19 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (_gpgme_engine_ops_gpg): Remove gpg_start.
	(gpg_start): Rename to ...
	(start): ... this function.  Change arguments to GpgObject.
	(gpg_decrypt): Call start.
	(gpg_edit): Likewise.
	(gpg_encrypt): Likewise.
	(gpg_encrypt_sign): Likewise.
	(gpg_export): Likewise.
	(gpg_import): Likewise.
	(gpg_keylist): Likewise.
	(gpg_keylist_ext): Likewise.
	(gpg_trustlist): Likewise.
	(gpg_verify): Likewise.

	* engine-gpgsm.c (_gpgme_engine_ops_encrypt): Remove gpgsm_start.
	(gpgsm_start): Rename to ...
	(struct gpgsm_object_s): Remove member command.
	(gpgsm_release): Don't free command.
	(start): ... this function.  Change arguments to GpgsmObject and
	const char *.
	(gpgsm_decrypt): Call start.
	(gpgsm_delete): Likewise.
	(gpgsm_encrypt): Likewise.
	(gpgsm_export): Likewise.
	(gpgsm_genkey): Likewise.
	(gpgsm_import): Likewise.
	(gpgsm_keylist): Likewise.
	(gpgsm_keylist_ext): Likewise.
	(gpgsm_verify): Likewise.

	* decrypt.c (_gpgme_decrypt_start): Don't call
	_gpgme_engine_start.
	* delete.c (_gpgme_op_delete_start): Likewise.
	* edit.c (_gpgme_op_edit_start): Likewise.
	* encrypt.c (_gpgme_op_encrypt_start):
	* encrypt-sign.c (_gpgme_op_encrypt_sign_start):
	* export.c (_gpgme_op_export_start): Likewise.
	* genkey.c (_gpgme_op_genkey_start): Likewise.
	* import.c (_gpgme_op_import_start): Likewise.
	* keylist.c (gpgme_op_keylist_ext_start): Likewise.
	(gpgme_op_keylist_start): Likewise.
	* sign.c (_gpgme_op_sign_start): Likewise.
	* trustlist.c (gpgme_op_trustlist_start): Likewise.
	* verify.c (_gpgme_op_verify_start): Likewise.

	* engine-backend.h (struct engine_ops): Remove member start.

	* engine.h (_gpgme_engine_start): Remove prototype.
	* engine.c (_gpgme_engine_start): Remove function.
2003-01-19 21:51:07 +00:00