Commit Graph

880 Commits

Author SHA1 Message Date
Marcus Brinkmann
948030189e doc/
2003-04-29  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Trust Item Management): Add data members of
	GpgmeTrustItem type.
	(Information About Trust Items): Add note about obsoleteness.
	(Manipulating Trust Items): Add gpgme_trust_item_ref and
	gpgme_trust_item_unref.

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

	* gpgme.h (struct _gpgme_trust_item): New structure.
	(GpgmeTrustItem): New type.
	(gpgme_trust_item_ref, gpgme_trust_item_unref): New prototypes.
	* context.h (struct trust_queue_item_s): Remove structure.
	(struct gpgme_context_s): Remove trust_queue member.
	* Makefile.am (libgpgme_la_SOURCES): Add trust-item.c.
	* trust-item.c: New file.
	* trustlist.c: Do not include <stdio.h> or <time.h>, but
	"gpgme.h".
	(struct trust_queue_item_s): Change to new type op_data_t.
	(trust_status_handler): Change first argument to void *.
	(trust_colon_handler): Likewise.
	(_gpgme_op_trustlist_event_cb): Use op_data_t type.
	(gpgme_op_trustlist_start): Use op_data_t and rework error
	handling.
	(gpgme_op_trustlist_next): Use op_data_t.
	(gpgme_trust_item_release): Remove function.
	(gpgme_trust_item_get_string_attr): Likewise.
	(gpgme_trust_item_get_int_attr): Likewise.

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

	* gpg/t-trustlist.c: Rewritten.
2003-04-29 21:53:58 +00:00
Marcus Brinkmann
f26dded962 2003-04-29 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-verify.c (main): Rewritten.
	* gpg/t-decrypt-verify.c: Rewritten.
	* gpgsm/t-verify.c (main): Rewritten.
2003-04-29 20:51:25 +00:00
Marcus Brinkmann
fad3d7a008 2003-04-29 Marcus Brinkmann <marcus@g10code.de>
* verify.c (calc_sig_summary): Do not set GPGME_SIGSUM_SYS_ERROR
	for bad signatures.
2003-04-29 20:50:15 +00:00
Marcus Brinkmann
067a56f2d3 2003-04-28 Marcus Brinkmann <marcus@g10code.de>
* context.h: Remove OPDATA_VERIFY_COLLECTING.
	(struct gpgme_context_s): Remove member notation.
	* gpgme.h: Make enum for GPGME_KEYLIST_MODE_* values.
2003-04-29 00:54:11 +00:00
Marcus Brinkmann
beb100c237 doc/
2003-04-28  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Verify): Rewritten to take into account new and
	deprecated functions and data types.

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

	* gpgme.h (struct _gpgme_sig_notation): New structure.
	(GpgmeSigNotation): New type.
	(struct _gpgme_signature): New structure.
	(GpgmeSignature): New type.
	(struct _gpgme_op_verify_result): New structure.
	(GpgmeVerifyResult): New type.
	(gpgme_op_verify_result): New prototype.
	(gpgme_get_notation): Remove prototype.
	* ops.h (_gpgme_op_verify_init_result): New prototype.
	(_gpgme_verify_status_handler): Change first argument to void *.
	* util.h (_gpgme_decode_percent_string, _gpgme_map_gnupg_error):
	New prototypes.
	* conversion.c (_gpgme_decode_percent_string): New function.
	(gnupg_errors): New static global.
	(_gpgme_map_gnupg_error): New function.
	* gpgme.c (gpgme_release): Don't release CTX->notation.
	(gpgme_get_notation): Remove function.
	* decrypt-verify.c (_gpgme_op_decrypt_verify_start): Call
	_gpgme_op_verify_init_result.
	* verify.c: Do not include <stdio.h>, <assert.h> and "key.h", but
	do include "gpgme.h".
	(struct verify_result): Replace with ...
	(op_data_t): ... this type.
	(release_verify_result): Remove function.
	(release_op_data): New function.
	(is_token): Remove function.
	(skip_token): Remove function.
	(copy_token): Remove function.
	(gpgme_op_verify_result): New function.
	(calc_sig_summary): Rewritten.
	(finish_sig): Remove function.
	(parse_new_sig): New function.
	(parse_valid_sig): New function.
	(parse_notation): New function.
	(parse_trust): New function.
	(parse_error): New function.
	(_gpgme_verify_status_handler): Rewritten.  Change first argument
	to void *.
	(_gpgme_op_verify_start): Rework error handling.  Call
	_gpgme_op_verify_init_result.
	(gpgme_op_verify): Do not release or clear CTX->notation.
	(gpgme_get_sig_status): Rewritten.
	(gpgme_get_sig_string_attr): Likewise.
	(gpgme_get_sig_ulong_attr): Likewise.
	(gpgme_get_sig_key): Likewise.
2003-04-28 23:59:03 +00:00
Marcus Brinkmann
922faa0426 2003-04-28 Marcus Brinkmann <marcus@g10code.de>
* gpgsm/t-decrypt.c (main): Rewritten.
2003-04-28 21:28:22 +00:00
Marcus Brinkmann
3eac6d6d7b doc/
2003-04-28  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Decrypt): Descript gpgme_op_decrypt_result and
	GpgmeDecryptResult.

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

	* gpgme.h (struct _gpgme_op_decrypt_result): New structure.
	(GpgmeDecryptResult): New type.
	(gpgme_op_decrypt_result): New prototype.
	* ops.h (_gpgme_op_decrypt_init_result): New prototype.
	(_gpgme_decrypt_status_handler): Fix prototype.
	(_gpgme_decrypt_start): Remove prototype.
	* decrypt-verify.c: Do not include <stdio.h>, <stdlib.h>,
	<string.h> and <assert.h>, "util.h" and "context.h", but
	"gpgme.h".
	(decrypt_verify_status_handler): Change first argument to void *,
	and rework error handling.
	(_gpgme_op_decrypt_verify_start): New function.
	(gpgme_op_decrypt_verify_start): Rewrite using
	_gpgme_op_decrypt_verify_start.
	(gpgme_op_decrypt_verify): Likewise.
	* decrypt.c: Include <string.h>, "gpgme.h" and "util.h".
	(struct decrypt_result): Change to typedef op_data_t, rewritten.
	(is_token): Remove function.
	(release_op_data): New function.
	(skip_token): Remove function.
	(gpgme_op_decrypt_result): New function.
	(_gpgme_decrypt_status_handler): Change first argument to void *.
	Rework error handling.
	(_gpgme_decrypt_start): Rename to ...
	(decrypt_start): ... this.  Call _gpgme_op_decrypt_init_result.
	(_gpgme_op_decrypt_init_result): New function.
	(gpgme_op_decrypt_start): Use decrypt_start.
	(gpgme_op_decrypt): Likewise.

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

	* gpg/t-decrypt.c: Rewritten.
2003-04-28 21:17:15 +00:00
Marcus Brinkmann
8075039c15 2003-04-28 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-signers.c (print_data): Rewritten.
2003-04-28 20:23:20 +00:00
Marcus Brinkmann
9b4e4da794 2003-04-27 Marcus Brinkmann <marcus@g10code.de>
* encrypt-sign.c: Do not include <stddef.h>, <stdio.h>,
	<stdlib.h>, <string.h>, <assert.h> and "util.h", but "gpgme.h".
	(_gpgme_op_encrypt_sign_start): Rename to ...
	(encrypt_sign_start): ... this.
	(gpgme_op_encrypt_sign_start): Use encrypt_sign_start, not
	_gpgme_op_encrypt_sign_start.
	(gpgme_op_encrypt_sign): Likewise.
2003-04-27 23:05:03 +00:00
Marcus Brinkmann
8d3960c3cc Add item about passphrase handler. 2003-04-27 22:52:37 +00:00
Marcus Brinkmann
0ebc3e4736 2003-04-27 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-encrypt-sign.c (check_result): Rewritten.
2003-04-27 22:52:09 +00:00
Marcus Brinkmann
b28c295e0e doc/
2003-04-27  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Encrypting a Plaintext): Add info about
	GpgmeEncryptResult and gpgme_op_encrypt_result.

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

	* gpgme.h (GpgmeEncryptResult): New data type.
	(gpgme_op_encrypt_result): New prototype.
	* ops.h (_gpgme_op_encrypt_init_result): New prototype.
	(_gpgme_op_encrypt_status_handler): Fix prototype.
	* encrypt-sign.c (_gpgme_op_encrypt_sign_start): Call
	_gpgme_op_encrypt_init_result.
	* encrypt.c: Do not include <stdio.h>, <assert.h>, "util.h" and
	"wait.h".  Include <errno.h> and "gpgme.h".
	(SKIP_TOKEN_OR_RETURN): Remove macro.
	(struct encrypt_result): Rename to ...
	(op_data_t): ... new data type.  Rewrite for user result data.
	(append_xml_encinfo): Remove function.
	(release_op_data): New function.
	(gpgme_op_encrypt_result): New function.
	(_gpgme_op_encrypt_status_handler): Change first argument to void *.
	Rewrite result parsing.
	(_gpgme_op_encrypt_sym_status_handler): Change first argument to
	void *.
	(_gpgme_op_encrypt_init_result): New function.
	(_gpgme_op_encrypt_start): Rename to ...
	(encrypt_start): ... this.
	(gpgme_op_encrypt_start): Use encrypt_start, not
	gpgme_op_encrypt_start.
	(gpgme_op_encrypt): Likewise.

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

	* gpg/t-sign.c: Rewritten.
	* gpgsm/t-sign.c: Rewritten.
	* gpg/t-encrypt.c: Check for invalid recipients.
	* gpgsm/t-encrypt.c: Likewise.
2003-04-27 22:24:37 +00:00
Marcus Brinkmann
17612da14e doc/
2003-04-27  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Creating a Signature): Add info about
	GpgmeNewSignature, GpgmeSignResult and gpgme_op_sign_result.
	(Crypto Operations): Add GpgmeInvalidUserID.
	(Algorithms): New chapter.

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

	* gpgme.h (GpgmePubKeyAlgo, GpgmeHashAlgo, GpgmeInvalidUserID,
	GpgmeNewSignature, GpgmeSignResult): New data types.
	(gpgme_op_sign_result, gpgme_pubkey_algo_name,
	gpgme_hash_algo_name): New prototypes.
	* gpgme.c (gpgme_pubkey_algo_name): New function.
	(gpgme_hash_algo_name): Likewise.
	* ops.h (_gpgme_parse_inv_userid, _gpgme_op_sign_init_result): New
	prototype.
	(_gpgme_op_sign_status_handler): Fix prototype.
	* op-support.c: Include <errno.h> and <string.h>.
	(_gpgme_parse_inv_userid): New function.
	* sign.c: Include <errno.h> and "gpgme.h", but not <stdio.h>,
	<assert.h> and "util.h".
	(SKIP_TOKEN_OR_RETURN): Remove macro.
	(struct sign_result): Change to op_data_t type and rework it.
	(release_sign_result): Rename to ...
	(release_op_data): ... this and rewrite it.
	(append_xml_info): Remove function.
	(gpgme_op_sign_result): New function.
	(parse_sig_created): New function.
	(_gpgme_sign_status_handler): Change first argument to void *.
	Rewrite the function to use the new result structure and functions.
	(_gpgme_op_sign_init_result): New function.
	(_gpgme_op_sign_start): Rename to ...
	(sign_start): ... this.  Call _gpgme_op_sign_init_result.
	(gpgme_op_sign_start): Use sign_start instead _gpgme_op_sign_start.
	(gpgme_op_sign): Likewise.
2003-04-27 20:53:04 +00:00
Marcus Brinkmann
4debe05006 Add some items to do. 2003-04-27 18:31:25 +00:00
Marcus Brinkmann
ab7c10f73a 2003-04-27 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-import.c (check_result): Really use FPR.
	* gpgsm/t-import.c (check_result): Rewritten.
2003-04-27 18:25:07 +00:00
Marcus Brinkmann
ef48d49007 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
80c89e2139 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
a913fe3d36 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
f9b16ae12c 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
b14be3f96f 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
106a8feda5 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
350fdc93b0 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
8b504a2dcb 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
b229dd2bf1 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
5844be8acb 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
d3d0f6f5dc 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
0a5f26ada7 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
701b56a68c 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
1fd59c6a00 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
e00de34126 Complete genkey example. 2003-04-24 17:28:05 +00:00
Marcus Brinkmann
ab895399f6 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
acce7b23d6 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
721fc9b996 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
33e3a1b6ce Pretty print. 2003-04-24 15:15:29 +00:00
Marcus Brinkmann
d0176c25ea 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
6069c95e41 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
1404e8e41e Add news item for 0.3.15. 2003-04-24 13:46:27 +00:00
Marcus Brinkmann
53fb00fefa Fix last change. 2003-02-07 01:15:08 +00:00
Marcus Brinkmann
c4b47cfcc5 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
f8eb57f7c3 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
073baca2e2 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
f76f8c1c11 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
c1386bb643 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
1c359759ab 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
2e1a1033ee 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
75172f969c 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
910e24350a 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
23149245a3 Fix comment indentation. 2003-01-30 22:01:01 +00:00
Marcus Brinkmann
065df3be06 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
1c292fcf7a 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
aed35305ce Small beautification. 2003-01-30 13:12:43 +00:00
Marcus Brinkmann
56f0cf4150 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
bf34ba4903 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
95ac65e434 Add new interfaces. 2003-01-30 11:58:42 +00:00
Marcus Brinkmann
3880d91b09 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
7fa84cc3b5 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
b1b891e55f Fix copyright year. 2003-01-29 20:03:24 +00:00
Marcus Brinkmann
53b8f22131 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
4ecf851abd 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
dedcad1282 Add some items, remove obsolete item about pipemode. 2003-01-29 15:41:25 +00:00
Marcus Brinkmann
80f51dfe73 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
d0bd6306f2 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
36aadc4f5c 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
76cf2c4bfb 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
434a047e68 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
Werner Koch
e9d276f080 * keylist.c (set_mainkey_capability): Handle 'd' and 'D' used
since gpg 1.3 to denote disabled keys.
2003-01-06 21:06:23 +00:00
Marcus Brinkmann
560f62996f 2003-01-06 Marcus Brinkmann <marcus@g10code.de>
* data-mem.c: Include <string.h>.
	* engine.c: Likewise.
2003-01-06 14:07:56 +00:00
Marcus Brinkmann
983cb98be3 2003-01-06 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (libgpgme_la_DEPENDENCIES): Correct bug in last change.
2003-01-05 23:37:14 +00:00
Marcus Brinkmann
cdbbac096d doc/
2002-12-24  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Verify): Drop R_STAT argument in gpgme_op_verify.
	* gpgme.texi (Decrypt and Verify): Likewise for
	gpgme_op_decrypt_verify.

gpgme/
2002-12-24  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h (gpgme_op_verify, gpgme_op_decrypt_verify): Drop R_STAT
	argument.
	* decrypt-verify.c (gpgme_op_decrypt_verify): Drop R_STAT
	argument.
	* verify.c (gpgme_op_verify): Drop R_STAT argument.
	(_gpgme_intersect_stati): Function removed.
	* ops.h (_gpgme_intersect_stati): Remove prototype.

tests/
2002-12-24  Marcus Brinkmann  <marcus@g10code.de>

	* gpgsm/t-verify.c (main): Adjust caller of gpgme_op_verify.
	* gpg/t-verify.c (main): Likewise.
	* gpg/t-decrypt-verify.c (main): Likewise for
	gpgme_op_decrypt_verify.
2002-12-24 13:08:56 +00:00
Marcus Brinkmann
9cf242a01a 2002-12-24 Marcus Brinkmann <marcus@g10code.de>
* libgpgme.vers: New file.
	* Makefile.am (EXTRA_DIST): Add libgpgme.vers.
	(libgpgme_version_script_cmd): New variable.
	(libgpgme_la_LDFLAGS): Add libgpgme_version_script_cmd here.
	(libgpgme_la_DEPENDENCIES): New variable.
2002-12-23 23:47:27 +00:00
Marcus Brinkmann
886298a1ab 2002-12-24 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: New conditional HAVE_LD_VERSION_SCRIPT.
	Call AC_CANONICAL_HOST, use host instead target.

gpgme/
2002-12-24  Marcus Brinkmann  <marcus@g10code.de>

	* libgpgme.vers: New file.
	* Makefile.am (EXTRA_DIST): Add libgpgme.vers.
	(libgpgme_version_script_cmd): New variable.
	(libgpgme_la_LDFLAGS): Add libgpgme_version_script_cmd here.
	(libgpgme_la_DEPENDENCIES): New variable.
2002-12-23 23:45:28 +00:00
Marcus Brinkmann
8af3e16cc6 Fix last change. 2002-12-23 23:44:22 +00:00
Marcus Brinkmann
4dab468aad Fingerprints of subkeys are available. 2002-12-23 22:51:33 +00:00
Marcus Brinkmann
5446e4445f I believe this was fixed a while ago. 2002-12-23 22:49:09 +00:00
Marcus Brinkmann
7b234835c1 doc/
2002-12-23  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Information About Keys): Document that
	GPGME_ATTR_IS_SECRET is not representable as a string anymore.
2002-12-23 22:34:25 +00:00
Marcus Brinkmann
7d7b242b8d 2002-12-23 Marcus Brinkmann <marcus@g10code.de>
* key.c (gpgme_key_get_string_attr): Don't accept GPGME_ATTR_IS_SECRET.
	(otrust_to_string): New function.
	(gpgme_key_get_as_xml): Use it.
	(validity_to_string): New function.
	(gpgme_key_get_string_attr): Beautify using above functions.
	(gpgme_key_get_ulong_attr): Likewise.
2002-12-23 22:31:03 +00:00
Marcus Brinkmann
c028a4388e 2002-12-23 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Bump up to 0.4.1.

	Released 0.4.0.
2002-12-23 21:28:35 +00:00
Marcus Brinkmann
1df359265a Added new items. 2002-12-23 21:19:23 +00:00
Marcus Brinkmann
ce204e975c 2002-12-23 Marcus Brinkmann <marcus@g10code.de>
* gpgsm/Makefile.am (./gpgsm.conf): Add a faked system time to
	avoid certification's expiry.
	* gpgsm/t-encrypt.c (main): Use the short certification name.
2002-12-23 21:06:38 +00:00
Marcus Brinkmann
0548bb8db3 2002-12-23 Marcus Brinkmann <marcus@g10code.de>
* autogen.sh (automake_vers): Require 1.7 (really 1.7.1) for the
	conditional source distribution bug fix.
2002-12-23 20:29:33 +00:00
Marcus Brinkmann
23dbb95840 2002-12-23 Marcus Brinkmann <marcus@g10code.de>
* data-mem.c (mem_release): Fix gcc warning.
	* data-user.c (user_release): Likewise.
2002-12-23 17:47:01 +00:00
Marcus Brinkmann
3c2daf3309 2002-12-22 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Key Signatures): New section.
	(Listing Keys): Add gpgme_get_key.
2002-12-23 17:12:48 +00:00
Marcus Brinkmann
781dd6e59a Add 0.3 branch changes. 2002-12-22 13:55:00 +00:00
Marcus Brinkmann
675425ba68 2002-12-08 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (LIBGPGME_LT_CURRENT): Increase by one.
	(LIBGPGME_LT_AGE, LIBGPGME_LT_REVISION): Set to 0.
2002-12-08 13:54:11 +00:00
Marcus Brinkmann
9d8f32207d Fix bugs in last change. 2002-12-06 22:27:12 +00:00
Marcus Brinkmann
d8426127c2 doc/
2002-12-06  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Memory Based Data Buffers): New subsection.
	(File Based Data Buffers): Likewise.
	(Callback Based Data Buffers): Likewise.
	(Manipulating Data Buffers): Update interfaces.  Add
	gpgme_data_seek.
	* gpgme.texi (Engine Version Check): Remove gpgme_chec_engine.

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

	* data.h (gpgme_data_release_cb): Change return type to void.
	(gpgme_data_read_cb): Change return type to ssize_t.
	* data.c (gpgme_data_read): Likewise.
	* data-stream.c (stream_read): Likewise.
	* data-fd.c (fd_read): Likewise.
	* data-mem.c (mem_read): Likewise.
	(mem_release): Change return type to void.
	* data-user.c (user_read): Change return type to ssize_t.
	(user_release): Change return type to void.
	* data-compat.c (old_user_read): Change return type to ssize_t.
	* gpgme.h (GpgmeDataReadCb): Likewise.
	(gpgme_data_read): Likewise.
	(GpgmeDataSeekCb): Change return type to off_t.
2002-12-06 22:06:25 +00:00
Marcus Brinkmann
c12018121a 2002-12-04 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h: Add prototype for gpgme_get_key.
	* key.c (gpgme_get_key): New function.
	* verify.c (gpgme_get_sig_key): Rewrite using gpgme_get_key.

	* gpgme.h: Add prototypes for new interfaces
	gpgme_key_sig_get_string_attr and gpgme_key_get_ulong_attr.
	(enum GpgmeAttr): New attribute GPGME_ATTR_SIG_CLASS.
	* gpgme.c (gpgme_set_keylist_mode): Allow GPGME_KEYLIST_MODE_SIGS.
	* key.h (struct certsig_s): New members ALGO, NAME_PART,
	EMAIL_PART, COMMENT_PART, NAME, SIG_STAT and SIG_CLASS.

	* conversion.c (_gpgme_decode_c_string): Add new parameter LEN.
	Use that to determine if allocation is desired or not.
	* util.h: Adjust prototype of _gpgme_decode_c_string.
	* keylist.c (keylist_colon_handler): Adjust caller of
	_gpgme_decode_c_string.

	* key.h (struct gpgme_key_s): New member last_uid.
	* key.c (_gpgme_key_append_name): Rewritten using
	_gpgme_decode_c_string and the last_uid pointer.
	(my_isdigit): Macro removed.
	(ALLOC_CHUNK): Likewise.
	* keylist.c (set_userid_flags): Use last_uid member of KEY.

	* context.h (struct user_id_s): New member last_certsig.
	* key.h: Add prototype for _gpgme_key_add_certsig.
	* key.c (_gpgme_key_add_certsig): New function.
	(set_user_id_part): Move function before _gpgme_key_add_certsig.
	(parse_user_id): Change first argument to SRC, add new arguments
	NAME, EMAIL and COMMENT.  Change code to use these arguments
	instead going through UID.  Move function before
	_gpgme_add_certsig.
	(parse_x509_user_id): Likewise.
	(_gpgme_key_append_name): Adjust arguments to parse_x509_user_id
	and parse_user_id invocation.
	(one_certsig_as_xml): New function.
	(one_uid_as_xml): Print signatures.
	* context.h (struct gpgme_context_s): New member TMP_UID.
	* keylist.c (keylist_colon_handler): Rewritten, implement "sig"
	record entries.

	* key.c (get_certsig): New function.
	(gpgme_key_sig_get_string_attr): Likewise.
	(gpgme_key_sig_get_ulong_attr): Likewise.

	* keylist.c: Include <ctype.h>.
	(my_isdigit): Macro removed.
	(set_mainkey_trust_info): Use isdigit, not my_isdigit.
	(set_userid_flags): Likewise.
	(set_subkey_trust_info): Likewise.
	(set_ownertrust): Likewise.
	(finish_key): Move function up a bit and remove prototype.

	* rungpg.c (gpg_keylist_ext): Correct precedence of signature
	listing mode.
	(gpg_keylist_ext): Implement signature listing mode.
2002-12-04 16:28:34 +00:00
Marcus Brinkmann
7b32f10617 Fix spelling of my name. 2002-11-28 20:20:46 +00:00
Marcus Brinkmann
33cda58301 2002-11-28 Marcus Brinkmann <marcus@g10code.de>
* NEWS: Add note about moving "gpgmeplug" to the "cryptplug"
	package.
	* README: Remove instructions related to "gpgmeplug".
	* configure.ac: Remove enable option "gpgmeplug" and automake
	conditional BUILD_GPGMEPLUG, as well as the status info about it.
	(GPGMEPLUG): Remove variable.
	* Makefile.am (gpgmeplug): Remove variable.
	(SUBDIRS): Remove ${gpgmeplug}.
	* cryptplug.h, gpgme-openpgp.c, gpgmeplug.dox, gpgme-smime.c,
	Makefile.am, gpgmeplug.c, ChangeLog: Files removed.
CVSk: ----------------------------------------------------------------------
2002-11-28 19:39:48 +00:00
Marcus Brinkmann
c862e9b509 2002-11-25 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (_gpgme_gpg_spawn): Do not set parent fds to -1.
	* posix-io.c (_gpgme_io_spawn): Call _gpgme_io_close instead close
	for parent fds.
	* w32-io.c (_gpgme_io_spawn): Call _gpgme_io_close instead
	CloseHandle for parent fds.
2002-11-25 21:12:46 +00:00
Marcus Brinkmann
46639908f0 2002-11-22 Werner Koch <wk@gnupg.org>
* engine-gpgsm.c (_gpgme_gpgsm_new): Save the result of a first
	setlocale before doing another setlocale.
2002-11-22 17:45:55 +00:00
Marcus Brinkmann
1336c3fdef 2002-11-22 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Disable GPGSM for all dosish systems.
2002-11-22 17:39:09 +00:00
Marcus Brinkmann
68450c7ac7 2002-11-22 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h [_MSC_VER]: Define ssize_t as long.
2002-11-22 17:38:31 +00:00
Marcus Brinkmann
face52587a 2002-11-21 Marcus Brinkmann <marcus@g10code.de>
* decrypt.c: Some beautyfication.
2002-11-21 13:48:41 +00:00
Marcus Brinkmann
602f719d72 2002-11-21 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Verify): Document the new interface.
2002-11-21 13:45:00 +00:00
Marcus Brinkmann
16b83e0ab6 Fix function names which lacked _new_. 2002-11-21 13:34:33 +00:00
Marcus Brinkmann
5c3172af6c Add Miguel Coca <e970095@zipi.fi.upm.es>. 2002-11-21 12:58:12 +00:00
Marcus Brinkmann
7b94a15b7d 2002-11-21 Marcus Brinkmann <marcus@g10code.de>
* verify.c (_gpgme_verify_status_handler): Treat
	GPGME_STATUS_UNEXPECTED like GPGME_STATUS_NODATA.
	Reported by Miguel Coca <e970095@zipi.fi.upm.es>.
2002-11-21 11:21:40 +00:00
Marcus Brinkmann
ef84268580 doc/
2002-11-19  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Generating Keys): Document new argument to
	gpgme_op_genkey.

gpgme/
2002-11-19  Marcus Brinkmann  <marcus@g10code.de>

	* genkey.c: Only include <config.h> if [HAVE_CONFIG_H].
	(struct genkey_result_s): Add new member FPR.
	(_gpgme_release_genkey_result): Free RESULT->fpr if set.
	(genkey_status_handler): Extract the fingerprint from the status
	line.
	(gpgme_op_genkey): Add new argument FPR and return the fingerprint
	in it.
	* gpgme.h: Adjust prototype of gpgme_op_genkey.

tests/
2002-11-19  Marcus Brinkmann  <marcus@g10code.de>

	* gpg/t-genkey.c (main): Add missing argument to gpgme_op_genkey
	invocation.
CVSk: ----------------------------------------------------------------------
2002-11-19 16:41:17 +00:00
Marcus Brinkmann
a5cc8ba084 2002-11-19 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (gpg_keylist): Add --with-fingerprint to gpg invocation
	twice, to get fingerprints on subkeys.  Suggested by Timo Schulz
	<twoaday@freakmail.de>.
	(gpg_keylist_ext): Likewise.
2002-11-19 09:33:20 +00:00
Marcus Brinkmann
5f15e7b20d 2002-11-05 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Verify): Fix prototype of gpgme_get_sig_key.
	Reported by Miguel Coca <e970095@zipi.fi.upm.es>.
2002-11-05 15:25:07 +00:00
Marcus Brinkmann
5828362441 Fix email address. 2002-11-05 15:20:43 +00:00
Marcus Brinkmann
c6017d4bb2 2002-11-05 Marcus Brinkmann <marcus@gnu.org>
* import.c (append_xml_impinfo): Use
	_gpgme_data_append_string_for_xml rather than
	_gpgme_data_append_string for the field content.
	Submitted by Miguel Coca <e970095@zipi.fi.upm.es>.
2002-11-05 12:04:07 +00:00
Karl-Heinz Zimmer
130f0a1df7 Adding support for email addresses includes in '<' and '>'. 2002-10-31 16:30:45 +00:00
Karl-Heinz Zimmer
bad2b24ce8 Add error checking for isEmailInCertificate being called with invalid fingerprint parameter. 2002-10-31 14:20:47 +00:00
Karl-Heinz Zimmer
a23b86ed54 Add support for certificates having the e-mail address stored in GPGME_ATTR_USERID instead of GPGME_ATTR_EMAIL. 2002-10-31 13:59:38 +00:00
Karl-Heinz Zimmer
9e49f66d1c Implementing the 1st of missing features reported by Ingo: isEmailInCertificate() 2002-10-31 13:14:41 +00:00
Marcus Brinkmann
58fda3df4f 2002-10-12 Marcus Brinkmann <marcus@g10code.de>
* gpgmeplug.c (checkMessageSignature): Update call to
	gpgme_op_verify to use new arguments.
2002-10-12 14:32:01 +00:00
Marcus Brinkmann
fe0e9238c1 2002-10-10 Marcus Brinkmann <marcus@g10code.de>
* rungpg.h, engine-gpgsm.h: File removed.
	* engine-backend.h: New file.
	* Makefile.am (gpgsm_components): New variable, set depending on
	automake conditional HAVE_GPGSM.
	(libgpgme_la_SOURCES): Add engine-backend.h, remove rungpg.h and
	engine-gpgsm.h.  Replace engine-gpgsm.c with ${gpgsm_components}.
	(status-table.h): Depend on gpgme.h, not rungpg.h.
	* conversion.c: Include <stdlib.h>.
	* engine-gpgsm.c: Do not set ENABLE_GPGSM here.  Include
	"engine-backend.h" instead "engine-gpgsm.h".  Reorder some
	functions and remove all function prototypes.
	(_gpgme_gpgsm_get_version): Make static and rename to ...
	(gpgsm_get_version): ... this.
	(_gpgme_gpgsm_check_version): Make static and rename to ...
	(gpgsm_check_version): ... this.
	(_gpgme_gpgsm_new): Make static.  Change argument type from
	GpgsmObject * to void **.  Call gpgsm_release instead
	_gpgme_gpgsm_release.
	(_gpgme_gpgsm_op_decrypt): Make static and rename to ...
	(gpgsm_check_decrypt): ... this.
	(_gpgme_gpgsm_op_delete): Make static and rename to ...
	(gpgsm_check_delete): ... this.
	(_gpgme_gpgsm_set_recipients): Make static and rename to ...
	(gpgsm_check_set_recipients): ... this.
	(_gpgme_gpgsm_op_encrypt): Make static and rename to ...
	(gpgsm_encrypt): ... this.
	(_gpgme_gpgsm_op_export): Make static and rename to ...
	(gpgsm_export): ... this.
	(_gpgme_gpgsm_op_genkey): Make static and rename to ...
	(gpgsm_genkey): ... this.
	(_gpgme_gpgsm_op_import): Make static and rename to ...
	(gpgsm_import): ... this.
	(_gpgme_gpgsm_op_keylist): Make static and rename to ...
	(gpgsm_keylist): ... this.
	(_gpgme_gpgsm_op_keylist_ext): Make static and rename to ...
	(gpgsm_keylist_ext): ... this.
	(_gpgme_gpgsm_op_sign): Make static and rename to ...
	(gpgsm_sign): ... this.
	(_gpgme_gpgsm_op_trustlist): Make static and rename to ...
	(gpgsm_trustlist): ... this.
	(_gpgme_gpgsm_op_verify): Make static and rename to ...
	(gpgsm_verify): ... this.
	(gpgsm_status_handler): Rename to ...
	(status_handler): ... this.
	(_gpgme_gpgsm_set_status_handler): Make static and rename to ...
	(gpgsm_set_status_handler): ... this.
	(_gpgme_gpgsm_set_colon_line_handler): Make static and rename to ...
	(gpgsm_set_colon_line_handler): ... this.
	(_gpgme_gpgsm_add_io_cb): Rename to ...
	(add_io_cb): ... this.
	(_gpgme_gpgsm_start): Make static and rename to ...
	(gpgsm_start): ... this.
	(_gpgme_gpgsm_set_io_cb): Make static and rename to ...
	(gpgsm_set_io_cb): ... this.
	(_gpgme_gpgsm_io_event): Make static and rename to ...
	(gpgsm_io_event): ... this.
	(struct _gpgme_engine_ops_gpgsm): New variable.
	[!ENABLE_GPGSM]: Removed.
	* engine.c: Do not include <time.h>, <sys/types.h>, <string.h>,
	<assert.h>, "io.h", "rungpg.h" and "engine-gpgsm.h".  Include
	<stdlib.h> and "engine-backend.h".
	(struct engine_object_s): Rewritten.
	(engine_ops): New variable.
	* engine.c (_gpgme_engine_get_path, _gpgme_engine_get_version,
	_gpgme_engine_check_version, _gpgme_engine_new,
	_gpgme_engine_release, _gpgme_engine_set_verbosity,
	_gpgme_engine_set_status_handler,
	_gpgme_engine_set_command_handler,
	_gpgme_engine_set_colon_line_handler, _gpgme_engine_op_decrypt,
	_gpgme_engine_op_delete, _gpgme_engine_op_edit,
	_gpgme_engine_op_encrypt, _gpgme_engine_op_encrypt_sign,
	_gpgme_engine_op_export, _gpgme_engine_op_genkey,
	_gpgme_engine_op_import, _gpgme_engine_op_keylist,
	_gpgme_engine_op_keylist_ext, _gpgme_engine_op_sign,
	_gpgme_engine_op_trustlist, _gpgme_engine_op_verify,
	_gpgme_engine_start, _gpgme_engine_set_io_cbs,
	_gpgme_engine_io_event): Reimplement.
	* engine.h: Fix a few comments and a variable name in a prototype.
	* ops.h: Do not include "rungpg.h".
	* passphrase.c: Include config.h only if [HAVE_CONFIG_H].  Do not
	include "rungpg.h".
	* recipient.c: Likewise.
	* signers.c: Likewise.
	* version.c: Likewise.
	* rungpg.c: Likewise.  Include "engine-backend.h".  Reorder
	functions and remove prototypes.
	(_gpgme_gpg_get_version): Make static and rename to ...
	(gpg_get_version): ... this.
	(_gpgme_gpg_check_version): Make static and rename to ...
	(gpg_check_version): ... this.
	(_gpgme_gpg_new): Make static.  Change argument type from
	GpgObject * to void **.  Call gpg_release instead
	_gpgme_gpg_release.
	(_gpgme_gpg_op_decrypt): Make static and rename to ...
	(gpg_check_decrypt): ... this.
	(_gpgme_gpg_op_delete): Make static and rename to ...
	(gpg_check_delete): ... this.
	(_gpgme_gpg_set_recipients): Make static and rename to ...
	(gpg_check_set_recipients): ... this.
	(_gpgme_gpg_op_encrypt): Make static and rename to ...
	(gpg_encrypt): ... this.
	(_gpgme_gpg_op_export): Make static and rename to ...
	(gpg_export): ... this.
	(_gpgme_gpg_op_genkey): Make static and rename to ...
	(gpg_genkey): ... this.
	(_gpgme_gpg_op_import): Make static and rename to ...
	(gpg_import): ... this.
	(_gpgme_gpg_op_keylist): Make static and rename to ...
	(gpg_keylist): ... this.
	(_gpgme_gpg_op_keylist_ext): Make static and rename to ...
	(gpg_keylist_ext): ... this.
	(_gpgme_gpg_op_sign): Make static and rename to ...
	(gpg_sign): ... this.
	(_gpgme_gpg_op_trustlist): Make static and rename to ...
	(gpg_trustlist): ... this.
	(_gpgme_gpg_op_verify): Make static and rename to ...
	(gpg_verify): ... this.
	(gpg_status_handler): Rename to ...
	(status_handler): ... this.
	(_gpgme_gpg_set_status_handler): Make static and rename to ...
	(gpg_set_status_handler): ... this.
	(_gpgme_gpg_set_colon_line_handler): Make static and rename to ...
	(gpg_set_colon_line_handler): ... this.
	(gpgme_gpg_add_io_cb): Rename to ...
	(add_io_cb): ... this.
	(_gpgme_gpg_start): Make static and rename to ...
	(gpg_start): ... this.
	(_gpgme_gpg_set_io_cb): Make static and rename to ...
	(gpg_set_io_cb): ... this.
	(_gpgme_gpg_io_event): Make static and rename to ...
	(gpg_io_event): ... this.
	(struct _gpgme_engine_ops_gpg): New variable.
2002-10-12 00:33:05 +00:00
Marcus Brinkmann
23b029b3c8 2002-10-12 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Add automake conditional HAVE_GPGSM.
2002-10-12 00:29:46 +00:00
Marcus Brinkmann
e5d6caf031 2002-10-10 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (_gpgme_gpgsm_op_verify) [!ENABLE_GPGSM]: Add
	missing argument.
2002-10-10 11:34:56 +00:00
Marcus Brinkmann
bed8da0c7b 2002-10-09 Marcus Brinkmann <marcus@g10code.de>
* data.h, data-user.c, data-stream.c, data-mem.c, data-fd.c,
	data-compat.c: New file.  Really check them in this time, completes
	2002-10-08 change.
2002-10-09 12:26:00 +00:00
Marcus Brinkmann
6862dac814 2002-10-09 Marcus Brinkmann <marcus@g10code.de>
* rungpg.h (GpgStatusHandler): Rename type to GpgmeStatusHandler
	and move to ...
	* types.h (GpgmeStatusHandler): ... here.
	* rungpg.h (GpgColonLineHandler): Rename type to GpgmeColonLineHandler.
	and move to ...
	* types.h (GpgmeColonLineHandler): ... here.
	* rungpg.h (GpgCommandHandler): Rename type to GpgmeCommandHandler.
	and move to ...
	* types.h (GpgmeCommandHandler): ... here.
	* engine.h: Don't include "rungpg.h".
	(_gpgme_engine_set_status_handler): Change type of
	argument from GpgStatusHandler to GpgmeStatusHandler.
	(_gpgme_engine_set_colon_line_handler): Change type of
	argument from GpgColonLineHandler to GpgmeColonLineHandler.
	(_gpgme_engine_set_command_handler): Change type of
	argument from GpgCommandHandler to GpgmeCommandHandler.
	* engine-gpgsm.h: Don't include "rungpg.h".
	(_gpgme_gpgsm_set_status_handler): Change type of
	argument from GpgStatusHandler to GpgmeStatusHandler.
	(_gpgme_gpgsm_set_colon_line_handler): Change type of
	argument from GpgColonLineHandler to GpgmeColonLineHandler.
	* engine-gpgsm.c: Do not include "rungpg.h".
	(struct gpgsm_object_s): Change type of
	status.fnc to GpgmeStatusHandler.  Change type of colon.fnc to
	GpgmeColonLineHandler.
	(gpgsm_assuan_simple_command): Change type of argument from
	GpgStatusHandler to GpgmeStatusHandler.
	(_gpgme_gpgsm_set_status_handler): Likewise.
	(_gpgme_gpgsm_set_colon_line_handler): Change type of argument from
	GpgColonLineHandler to GpgmeColonLineHandler.
	* rungpg.h (_gpgme_gpg_set_status_handler): Change type of
	argument from GpgStatusHandler to GpgmeStatusHandler.
	(_gpgme_gpg_set_colon_line_handler): Change type of
	argument from GpgColonLineHandler to GpgmeColonLineHandler.
	(_gpgme_gpg_set_command_handler): Change type of
	argument from GpgCommandHandler to GpgmeCommandHandler.
	* rungpg.c (struct gpg_object_s): Change type of status.fnc to
	GpgmeStatusHandler.  Change type of colon.fnc to
	GpgmeColonLineHandler.  Change type of cmd.fnc to
	GpgmeCommandLineHandler.
	(_gpgme_gpg_set_status_handler): Change type of argument FNC to
	GpgmeStatusHandler.
	(_gpgme_gpg_set_colon_line_handler): Change type of argument FNC
	to GpgmeColonLineHandler.
	(_gpgme_gpg_set_command_handler): Change type of argument FNC to
	GpgmeCommandHandler.
	* engine.c (_gpgme_engine_set_status_handler): Change type of
	argument FNC to GpgmeStatusHandler.
	(_gpgme_engine_set_colon_line_handler): Change type of argument FNC
	to GpgmeColonLineHandler.
	(_gpgme_engine_set_command_handler): Change type of argument FNC to
	GpgmeCommandHandler.
2002-10-09 12:23:33 +00:00
Marcus Brinkmann
c0759c9eda 2002-10-09 Marcus Brinkmann <marcus@g10code.de>
* rungpg.h (_gpgme_gpg_enable_pipemode): Remove prototype.
	* rungpg.c (struct gpg_object_s): Remove PM.
	(pipemode_cb): Prototype removed.
	(add_pm_data): Function removed.
	(_gpgme_gpg_enable_pipemode): Likewise.
	(pipemode_copy): Likewise.
	(pipemode_cb): Likewise.
	(add_arg): Don't check for pipemode.
	(add_data): Likewise.
	(_gpgme_gpg_set_status_handler): Likewise.
	(_gpgme_gpg_set_colon_line_handler): Likewise.
	(_gpgme_gpg_set_command_handler): Likewise.
	(_gpgme_gpg_spawn): Likewise.
	(_gpgme_gpg_spawn): Don't set PM.active.
	(_gpgme_gpg_op_verify): Remove pipemode case.
	* verify.c (_gpgme_op_verify_start): Remove pipemode case.
2002-10-09 11:57:17 +00:00
Marcus Brinkmann
d967a3d34d 2002-10-09 Marcus Brinkmann <marcus@g10code.de>
* rungpg.h (_gpgme_gpg_add_arg, _gpgme_gpg_add_data,
	_gpgme_gpg_add_pm_data, _gpgme_gpg_housecleaning,
	_gpgme_gpg_set_simple_line_handler): Prototype removed.
	(_gpgme_gpg_set_verbosity): New prototype.
	* rungpg.c (_gpgme_gpg_add_data): Make static and rename to ...
	(add_data): ... this.
	(_gpgme_gpg_add_pm_data): Call add_data, not _gpgme_gpg_add_data.
	(_gpgme_gpg_set_command_handler): Likewise.
	(_gpgme_gpg_op_decrypt, _gpgme_gpg_op_edit, _gpgme_gpg_op_encrypt,
	_gpgme_gpg_op_encrypt_sign, _gpgme_gpg_op_export,
	_gpgme_gpg_op_genkey, _gpgme_gpg_op_import, _gpgme_gpg_op_sign,
	_gpgme_gpg_op_verify): Likewise.
	(_gpgme_gpg_add_pm_data): Rename to ...
	(add_pm_data): ... this.
	(_gpgme_gpg_op_verify): Call add_pm_data, not
	_gpgme_gpg_add_pm_data.
	(_gpgme_gpg_add_arg): Make static and rename to ...
	(add_arg): ... this.
	(_gpgme_gpg_set_command_handler, _gpgme_gpg_new,
	_gpgme_gpg_op_decrypt, _gpgme_gpg_op_delete,
	_gpgme_append_gpg_args_from_signers, _gpgme_gpg_op_edit,
	_gpgme_append_gpg_args_from_recipients, _gpgme_gpg_op_encrypt,
	_gpgme_gpg_op_encrypt_sign, _gpgme_gpg_op_export,
	_gpgme_gpg_op_genkey, _gpgme_gpg_op_import, _gpgme_gpg_op_keylist,
	_gpgme_gpg_op_keylist_ext, _gpgme_gpg_op_trustlist,
	_gpgme_gpg_op_sign, _gpgme_gpg_op_verify): Use add_arg, not
	_gpgme_gpg_add_arg.
	(_gpgme_gpg_set_verbosity): New function.
	(struct gpg_object_s): Remove member simple from colon.
	(_gpgme_gpg_set_colon_line_handler): Don't initialize simple.
	(_gpgme_gpg_set_simple_line_handler): Removed function.
	(read_colon_line): Don't check the GPG->colon.simple.
	* engine.c (_gpgme_engine_set_verbosity): Call
	_gpgme_gpg_set_verbosity instead _gpgme_gpg_add_arg.
2002-10-09 09:50:41 +00:00
Marcus Brinkmann
fcedbcebac 2002-10-08 Marcus Brinkmann <marcus@g10code.de>
* util.h (_gpgme_malloc, _gpgme_realloc, _gpgme_calloc,
	_gpgme_strdup, _gpgme_free): Remove prototypes.
	(xtrymalloc, xtrycalloc, xtryrealloc, xtrystrdup, xfree): Remove
	macros.
	* util.c: File removed.
	* Makefile.am (libgpgme_la_SOURCES): Remove util.h.
	* conversion.c (_gpgme_decode_c_string): Use malloc instead of
	xtrymalloc, realloc instead of xtryrealloc, calloc instead of
	xtrycalloc, free instead of xfree.
	(_gpgme_data_append_percentstring_for_xml): Likewise.
	* data.c (_gpgme_data_new, _gpgme_data_release): Likewise.
	* data-compat.c (gpgme_data_new_from_filepart): Likewise.
	* data-mem.c (mem_write, mem_release, gpgme_data_new_from_mem,
	_gpgme_data_get_as_string): Likewise.
	* debug.c (debug_init): Likewise.
	* decrypt.c (_gpgme_release_decrypt_result): Likewise.
	* delete.c (_gpgme_release_delete_result): Likewise.
	* edit.c (_gpgme_release_edit_result, _gpgme_op_edit_start):
	Likewise.
	* encrypt.c (_gpgme_release_encrypt_result): Likewise.
	* engine.c (_gpgme_engine_get_info, _gpgme_engine_new,
	_gpgme_engine_release): Likewise.
	* engine-gpgsm.c (_gpgme_gpgsm_new, _gpgme_gpgsm_release,
	_gpgme_gpgsm_op_decrypt, _gpgme_gpgsm_op_delete,
	gpgsm_set_recipients, _gpgme_gpgsm_op_encrypt,
	_gpgme_gpgsm_op_export, _gpgme_gpgsm_op_genkey,
	_gpgme_gpgsm_op_import, _gpgme_gpgsm_op_keylist,
	_gpgme_gpgsm_op_keylist_ext, _gpgme_gpgsm_op_sign,
	_gpgme_gpgsm_op_verify, gpgsm_status_handler): Likewise.
	* genkey.c (_gpgme_release_genkey_result): Likewise.
	* gpgme.c (gpgme_new, gpgme_release): Likewise.
	* import.c (_gpgme_release_import_result): Likewise.
	* key.c (_gpgme_key_cache_init, _gpgme_key_cache_add, key_new,
	add_subkey, gpgme_key_release, _gpgme_key_append_name): Likewise.
	* keylist.c (_gpgme_release_keylist_result, keylist_colon_handler,
	_gpgme_op_keylist_event_cb, gpgme_op_keylist_next): Likewise.
	* ops.h (test_and_allocate_result): Likewise.
	* passphrase.c (_gpgme_release_passphrase_result,
	_gpgme_passphrase_status_handler,
	_gpgme_passphrase_command_handler): Likewise.
	* progress.c (_gpgme_progress_status_handler): Likewise.
	* recipient.c (gpgme_recipients_new, gpgme_recipients_release,
	gpgme_recipients_add_name_with_validity): Likewise.
	* rungpg.c (_gpgme_gpg_new, _gpgme_gpg_release,
	_gpgme_gpg_add_arg, _gpgme_gpg_add_data,
	_gpgme_gpg_set_colon_line_handler, free_argv, free_fd_data_map,
	build_argv, _gpgme_gpg_spawn, read_status, read_colon_line):
	Likewise.
	* sign.c (_gpgme_release_sign_result): Likewise.
	* signers.c (_gpgme_signers_add): Likewise.
	* trustlist.c (trust_item_new, trustlist_colon_handler,
	_gpgme_op_trustlist_event_cb, gpgme_op_trustlist_next,
	gpgme_trustitem_release): Likewise.
	* verify.c (_gpgme_release_verify_result, finish_sig): Likewise.
	* version.c (gpgme_get_engine_info, _gpgme_get_program_version):
	Likewise.
	* w32-io.c (create_reader, create_writer, destroy_reader,
	destroy_writer, build_commandline, _gpgme_io_spawn): Likewise.
	* w32-sema.c (critsect_init, _gpgme_sema_cs_destroy): Likewise.
	* w32-util.c (read_w32_registry_string): Likewise.
	* wait.c (_gpgme_fd_table_deinit, _gpgme_fd_table_put,
	_gpgme_wait_event_cb, _gpgme_add_io_cb, _gpgme_remove_io_cb)
	* data-compat.c: Include <stdlib.h>.
2002-10-09 01:08:21 +00:00
Marcus Brinkmann
354c9dd85a gpgme/
2002-10-08  Marcus Brinkmann  <marcus@g10code.de>

	New data object component:

	* gpgme.h (GpgmeDataReadCb, GpgmeDataWriteCb, GpgmeDataSeekCb,
	GpgmeDataReleaseCb): New types.
	(struct GpgmeDataCbs): New structure.
	(gpgme_data_read): Changed prototype to match that of read() closely.
	(gpgme_data_write): Similar for write().
	(gpgme_data_seek, gpgme_data_new_from_cbs, gpgme_data_new_from_fd,
	gpgme_data_new_from_stream): New prototypes.
	(gpgme_data_get_type, gpgme_check_engine): Prototype removed.

	* Makefile.am (libgpgme_la_SOURCES): Add data.h, data-fd.c,
	data-stream.c, data-mem.c, data-user.c and data-compat.c.
	* data.c: Reimplemented from scratch.
	* (data-compat.c, data-fd.c, data.h, data-mem.c, data-stream.c,
	data-user.c): New file.
	* context.h (struct gpgme_data_s): Removed.
	* conversion.c: Include <errno.h> and <sys/types.h>.
	(_gpgme_data_append): New function.
	* data.c (_gpgme_data_append_string): Move to ...
	* conversion.c (_gpgme_data_append_string): ... here.
	* data.c (_gpgme_data_append_for_xml): Move to ...
	* conversion.c (_gpgme_data_append_for_xml): ... here.
	* data.c (_gpgme_data_append_string_for_xml): Move to ...
	* conversion.c (_gpgme_data_append_string_for_xml): ... here.
	* data.c (_gpgme_data_append_percentstring_for_xml): Move to ...
	* conversion.c (_gpgme_data_append_percentstring_for_xml): ... here.

	* ops.h (_gpgme_data_get_mode, _gpgme_data_set_mode): Prototype
	removed.
	* types.h (GpgmeDataMode): Type removed.

	* decrypt.c (_gpgme_decrypt_start): Don't check data type or mode.
	* edit.c (_gpgme_op_edit_start): Likewise.
	* encrypt.c (_gpgme_op_encrypt_start): Likewise.
	* encrypt-sign.c (_gpgme_op_encrypt_sign_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.
	* sign.c (_gpgme_op_sign_start): Likewise.
	* verify.c (_gpgme_op_verify_start): Likewise.

	* encrypt.c (gpgme_op_encrypt): Remove hack that returns invalid
	no recipient if no data was returned.
	* encrypt-sign.c (gpgme_op_encrypt_sign): Remove hack that returns
	no recipient if no data was returned.
	* encrypt-sign.c (gpgme_op_encrypt_sign): Remove hack that returns
	no recipient if no data was returned.

	* engine.c (_gpgme_engine_op_verify): Add new argument to
	differentiate detached from normal signatures.
	* engine.h (_gpgme_engine_op_verify): Likewise for prototype.
	* engine-gpgsm.c (_gpgme_gpgsm_op_verify): Likewise.  Don't check
	mode of data argument.
	* engine-gpgsm.h (_gpgme_gpgsm_op_verify): Likewise for prototype.
	* gpgme.h (gpgme_op_verify_start): Likewise for prototype.
	(gpgme_op_verify): Likewise for prototype.
	* rungpg.c (_gpgme_gpg_op_verify): Likewise.
	* rungpg.h (_gpgme_gpg_op_verify): Likewise for prototype.
	* verify.c (_gpgme_op_verify_start): Likewise.
	(gpgme_op_verify_start): Likewise.
	(gpgme_op_verify): Likewise.

	* rungpg.c (struct arg_and_data_s): New member INBOUND to hold
	direction of data object.
	(_gpgme_gpg_add_data): Add new argument INBOUND.  Use it to
	determine direction of data object.
	(_gpgme_gpg_add_pm_data, _gpgme_gpg_set_command_handler,
	_gpgme_gpg_op_decrypt, _gpgme_gpg_op_edit, _gpgme_gpg_op_encrypt,
	_gpgme_gpg_op_encrypt_sign, _gpgme_gpg_op_export,
	_gpgme_gpg_op_genkey, _gpgme_gpg_op_import, _gpgme_gpg_op_sign,
	_gpgme_gpg_op_verify): Add new argument to _gpgme_gpg_add_data
	invocation.
	(build_argv): Use new member INBOUND to determine direction of
	file descriptor.  Don't check the data type.
	* rungpg.h (_gpgme_gpg_add_data): Add new argument to prototype.

	* gpgme.c (gpgme_get_op_info): Don't call
	_gpgme_data_get_as_string if CTX->op_info is NULL.

	* version.c (gpgme_check_engine): Function removed.


tests/
2002-10-09  Marcus Brinkmann  <marcus@g10code.de>

	* gpg/t-decrypt.c (print_data): Update to new gpgme_data_read
	interface, and use gpgme_engine_check_version instead
	gpgme_check_version.
	* gpg/t-decrypt-verify.c (print_data): Likewise.
	* gpg/t-edit.c (main): Likewise.
	* gpg/t-encrypt.c (print_data): Likewise.
	* gpg/t-encrypt-sign.c (print_data): Likewise.
	* gpg/t-encrypt-sym.c (print_data): Likewise.
	* gpg/t-eventloop.c (print_data): Likewise.
	* gpg/t-export.c (print_data): Likewise.
	* gpg/t-sign.c (print_data): Likewise.
	* gpg/t-signers.c (print_data): Likewise.
	* gpgsm/t-decrypt.c (print_data): Likewise.
	* gpgsm/t-encrypt.c (print_data): Likewise.
	* gpgsm/t-export.c (print_data): Likewise.
	* gpgsm/t-sign.c (print_data): Likewise.
	* gpg/t-verify.c (main): Likewise for gpgme_op_verify.
	* gpgsm/t-verify.c (main): Likewise for gpgme_op_verify.
	* t-data.c (read_once_test): Likewise.
	(write_test): Update for new behaviour of data objects.
	(main): Remove type test.
2002-10-09 00:16:38 +00:00
Marcus Brinkmann
50891ab964 2002-10-08 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (AC_INIT): Bump version up to 0.4.0.
	(NEED_GPG_VERSION): Bump up to 1.2.0.
	(NEED_GPGSM_VERSION): Bump up to 0.9.0.
	* README: Update version numbers.
	* NEWS: Start entry for 0.4.0.
2002-10-08 21:52:38 +00:00
Werner Koch
d28df107dd typo 2002-09-30 08:04:16 +00:00
Werner Koch
e48b255c9f * gpgsm/t-keylist.c (doit): Add arg SECRET.
(main): Add option --secret.
2002-09-30 08:03:56 +00:00
Werner Koch
b24f23d3ae * keylist.c (keylist_colon_handler): Take care when printing a
NULL with the DEBUG.

* engine-gpgsm.c (struct gpgsm_object_s): New member ANY.
(gpgsm_status_handler): Run the colon function to indicate.
(_gpgme_gpgsm_set_colon_line_handler): Better reset ANY here.
2002-09-30 08:03:27 +00:00
Karl-Heinz Zimmer
fb19756ec6 Applying Ingo's patch: Makes signatureCertificateDaysLeftToExpiry() and receiverCertificateDaysLeftToExpiry() handle the case that a certificate _never_ expires correctly. 2002-09-29 21:14:16 +00:00
Marcus Brinkmann
f21a6818e5 2002-09-28 Marcus Brinkmann <marcus@g10code.de>
* t-version.c: Include <string.h>.  Reported by St�phane Corth�sy.
2002-09-28 20:09:12 +00:00
Marcus Brinkmann
a7179d82e4 2002-09-28 Marcus Brinkmann <marcus@g10code.de>
* conversion.c (_gpgme_hextobyte): Prevent superfluous
	multiplication with base.  Reported by St�phane Corth�sy.

	* keylist.c (gpgme_op_keylist_ext_start): Use private asynchronous
	operation type in invocation of _gpgme_op_reset.
2002-09-28 20:08:01 +00:00
Werner Koch
8475e7d3aa changed version number after release. 2002-09-20 13:33:42 +00:00
Werner Koch
c437b4affb * configure.ac: Bump up LIBGPGME_LT_REVISION.
* configure.ac (AC_CHECK_HEADERS): Check for sys/select.h.
2002-09-20 11:48:27 +00:00
Werner Koch
50d2a3abfb * gpgmeplug.c (nextCertificate): Sanity check for empty tmp_dn. 2002-09-20 11:47:55 +00:00
Werner Koch
6e98484510 * ath.c: Include sys/time.h if sys/select.h is not available.
* configure.ac (AC_CHECK_HEADERS): Check for sys/select.h.
2002-09-20 10:44:22 +00:00
Marcus Brinkmann
c132d302a0 2002-09-13 Marcus Brinkmann <marcus@g10code.de>
* keylist.c (keylist_status_handler): Do not call finish_key() here.
	(gpgme_op_keylist_ext_start): Set CTX->tmp_key to NULL.
2002-09-13 20:54:52 +00:00
Marcus Brinkmann
4ad26d2a23 Regenerated. 2002-09-13 20:54:31 +00:00
Karl-Heinz Zimmer
db9f323351 Bugfix #1276 (equals KDE bug #43868). Make sure to update kde/kdenetwork/libkdenetwork and kde/kdenetwork/kmail. 2002-09-12 11:02:02 +00:00
Karl-Heinz Zimmer
39bf6acbcc Bugfix: The value text of protocol parameter of OpenPGP's multipart/signed Content-Type header must be enclosed in double quotes. Bugfix was provided by Marc Mutz solving problems with pine. 2002-09-06 11:52:05 +00:00
Marcus Brinkmann
148d258872 2002-09-04 Marcus Brinkmann <marcus@g10code.de>
* autogen.sh (autoconf_vers): Bump up to 2.53 to get the @&t@
	quadrigraph.  Always cutting the edge!
2002-09-04 01:18:08 +00:00
Karl-Heinz Zimmer
2645bb081d AEgypten bugfix #1220: make sure that (a) negative numbers of days-left-to-expire-of-certificate are reported correctly by using an int instead of a time_t and (b) return the special value CRYPTPLUG_CERT_DOES_NEVER_EXPIRE to indicate that no expire date is stored in this certificate 2002-09-03 16:21:34 +00:00
Marcus Brinkmann
61a28d5ea2 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
5678a10f91 2002-09-02 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Create and substitute LTLIBOBJS.
2002-09-02 13:01:44 +00:00
Marcus Brinkmann
0a7da6b888 2002-09-02 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-keylist.c (main): Test PATTERN for NULL before printing.
	Reported by Dr. Stefan Dalibor <Dr.Stefan.Dalibor@bfa.de>.
2002-09-02 13:01:29 +00:00
Marcus Brinkmann
31839a7925 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
2f7e8c3ffa 2002-09-02 Marcus Brinkmann <marcus@g10code.de>
* debug.c (_gpgme_debug_add): Test *LINE, not LINE.
	(_gpgme_debug_end): Likewise.
	Reported by Dr. Stefan Dalibor <Dr.Stefan.Dalibor@bfa.de>.
2002-09-02 12:29:53 +00:00
Marcus Brinkmann
7c993083b0 Wrap the lines nicer. 2002-09-02 12:19:15 +00:00
Marcus Brinkmann
3cac5d63bb 2002-09-02 Marcus Brinkmann <marcus@g10code.de>
* posix-io.c (_gpgme_io_select): Don't use a non-constant struct initializer.
	* version.c (_gpgme_get_program_version): Likewise.
	Reported by Dr. Stefan Dalibor <Dr.Stefan.Dalibor@bfa.de>.
2002-09-02 12:17:51 +00:00
Marcus Brinkmann
772ecca351 Bump up version number. 2002-09-01 23:55:31 +00:00
Marcus Brinkmann
75ad3659d9 2002-09-02 Marcus Brinkmann <marcus@g10code.de>
* conversion.c (_gpgme_decode_c_string): Set DESTP before modifying DEST.
2002-09-01 23:29:55 +00:00
Marcus Brinkmann
5fe72c3ad1 2002-09-02 Marcus Brinkmann <marcus@g10code.de>
* conversion.c (_gpgme_decode_c_string): Fix off by one error in last change.
	* rungpg.c (_gpgme_append_gpg_args_from_signers): Move before
	_gpgme_op_edit so its prototype is known early on.
2002-09-01 23:08:50 +00:00
Marcus Brinkmann
0c49242f40 2002-09-02 Marcus Brinkmann <marcus@g10code.de>
Released 0.3.10.

	* NEWS: Update for 0.3.9 release.
	* configure.ac: Bump up LIBGPGME_LT_REVISION.
2002-09-01 22:30:28 +00:00
Marcus Brinkmann
57b71e41db Add item about prior change. 2002-09-01 22:24:58 +00:00
Marcus Brinkmann
13b21899b7 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
433294f1a2 2002-09-01 Marcus Brinkmann <marcus@g10code.de>
* op-support.c (_gpgme_op_reset): Set CTX->pending after calling
	_gpgme_engine_release, as this will reset pending to zero in the
	event done callback on cancelled operations.
2002-09-01 19:47:11 +00:00
Marcus Brinkmann
9a7c94c928 2002-08-30 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (_gpgme_gpg_op_edit): Add bogus ctx argument.
	* rungpg.h: Also to prototype.
	* engine.c (_gpgme_engine_op_edit): Likewise.
	* engine.h: Likewise.
	* edit.c (_gpgme_op_edit_start): Likewise.
2002-08-31 02:34:26 +00:00
Marcus Brinkmann
e329cdcb9e 2002-08-30 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Selecting Signers): Fix reference count.
2002-08-30 11:37:59 +00:00
Marcus Brinkmann
7a4ba2d0f8 2002-08-30 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (_gpgme_gpg_op_edit): Add args from signers.
	Suggested by Miguel Coca <e970095@zipi.fi.upm.es>.
2002-08-30 11:00:58 +00:00
Werner Koch
3e181c7fb0 new news 2002-08-29 11:58:41 +00:00
Werner Koch
9d9fc030cf * vasprintf.c (va_copy): Define macro if not yet defined. 2002-08-29 11:58:22 +00:00
Werner Koch
1ba7158f97 * engine-gpgsm.c (_gpgme_gpgsm_op_sign): Implement signer
selection.
* vasprintf.c (va_copy): Define macro if not yet defined.
2002-08-29 11:57:53 +00:00
Werner Koch
b0fca36261 * acinclude.m4 (GNUPG_CHECK_VA_COPY): New.
* configure.ac: Use it.
2002-08-29 11:47:21 +00:00
Marcus Brinkmann
c79b6dbcee 2002-08-29 Marcus Brinkmann <marcus@g10code.de>
* gpgme.spec.in: Changed user name in Wojciech Polak's email
	address from ghostface to polak per request by himself.
2002-08-29 10:24:21 +00:00
Marcus Brinkmann
92c15bf4e2 2002-08-29 Marcus Brinkmann <marcus@g10code.de>
* passphrase.c (_gpgme_passphrase_status_handler): Reset
	CTX->result.passphrase->no_passphrase if passphrase is given (good
	or bad).  Submitted by Jean DIRAISON <jean.diraison@free.fr>.
2002-08-29 00:30:31 +00:00
Marcus Brinkmann
b073b6dac3 2002-08-28 Marcus Brinkmann <marcus@g10code.de>
* posix-io.c (_gpgme_io_spawn): Use a double-fork approach.
	Return 0 on success, -1 on error.
	* version.c (_gpgme_get_program_version): Don't wait for the child.
	* engine.c (_gpgme_engine_housecleaning): Function removed.
	(do_reaping): Likewise.
	(_gpgme_engine_add_child_to_reap_list): Likewise.
	(struct reap_s): Removed.
	(reap_list): Likewise.
	(reap_list_lock): Likewise.
	* engine.h (_gpgme_engine_io_event): Remove prototypes for
	_gpgme_engine_housecleaning and
	_gpgme_engine_add_child_to_reap_list.
	* rungpg.c (_gpgme_gpg_release): Don't add child to reap list.
	(struct gpg_object_s): Remove PID member.
	(_gpgme_gpg_new): Don't initialize GPG->pid.
	(_gpgme_gpg_spawn): Don't set GPG->pid.
	* wait.c (run_idle): Removed.
	(gpgme_wait): Run idle_function directly.
2002-08-28 20:31:31 +00:00
Marcus Brinkmann
3f9342448b 2002-08-21 Marcus Brinkmann <marcus@g10code.de>
* encrypt-sign.c (encrypt_sign_status_handler): Remove dead
	variables encrypt_info and encrypt_info_len.
	* trustlist.c (gpgme_op_trustlist_start): Set colon line handler.
	* posix-sema.c (sema_fatal): Remove function.
	All these reported by St�phane Corth�sy.
2002-08-28 17:29:32 +00:00
Werner Koch
5e671c683f * configure.ac (GPGME_CONFIG_CFLAGS): Renamed from GPGME_CFLAGS
and removed the libpath because it is set by the config script.
2002-08-23 19:48:43 +00:00
Werner Koch
0f489e39f4 * gpgme-config.in: Made --prefix work for --libs. 2002-08-23 19:48:30 +00:00
Marcus Brinkmann
045935370d 2002-08-21 Marcus Brinkmann <marcus@g10code.de>
* NEWS: Add template for development version.
2002-08-21 00:52:06 +00:00
Marcus Brinkmann
e7d1b9e9be 2002-08-21 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Bump version number to 0.3.10.
2002-08-21 00:36:27 +00:00
Marcus Brinkmann
d6233db86e 2002-08-21 Marcus Brinkmann <marcus@g10code.de>
Released 0.3.9.

	* NEWS: Update for 0.3.9 release.
	* Makefile.am (EXTRA_DIST): Add gpgme.spec.in.
2002-08-21 00:09:52 +00:00
Steffen Hansen
284c894006 Use gpgme_op_import_ext() instead of gpgme_op_import() 2002-08-20 23:37:43 +00:00
Marcus Brinkmann
3c1331b9b7 2002-08-21 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Header): Document name space.
2002-08-20 23:25:49 +00:00
Marcus Brinkmann
6b108d6865 Remove item about namespace, we are clean now. 2002-08-20 23:19:28 +00:00
Marcus Brinkmann
d0f78cb090 2002-08-21 Marcus Brinkmann <marcus@g10code.de>
* ath.h: Update list of symbols that get a prefix: Rename the
	ath_mutex_*_available symbols to ath_*_available.
2002-08-20 23:15:03 +00:00
Marcus Brinkmann
4a9fc97c70 2002-08-21 Marcus Brinkmann <marcus@g10code.de>
* jnlib/argparse.c, jnlib/argparse.h, jnlib/ChangeLog,
	jnlib/dotlock.c, jnlib/dotlock.h, jnlib/libjnlib-config.h,
	jnlib/logging.c, jnlib/logging.h,jnlib/Makefile.am,
	jnlib/mischelp.h, jnlib/README, jnlib/stringhelp.c,
	jnlib/stringhelp.h, jnlib/strlist.c, jnlib/strlist.h,
	jnlib/types.h, jnlib/xmalloc.c, jnlib/xmalloc.h: Remove files.
2002-08-20 22:53:13 +00:00
Marcus Brinkmann
2799ff695d 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
Werner Koch
546ca52c52 Replaced with a new and faster version. This does not anymore try to
build test programs.  If we really need test programs, we should add
an option to gpgme-config to do so.
2002-08-20 16:11:46 +00:00
Marcus Brinkmann
542940de34 2002-08-20 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Importing Keys): Undocument EOF.
2002-08-20 15:44:48 +00:00
Marcus Brinkmann
aede7659c6 doc/
2002-08-20  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Importing Keys): Document gpgme_op_import_ext.

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

	* gpgme.h: Add prototype for gpgme_op_import_ext.
	* import.c (struct import_result_s): New member `nr_considered'.
	Rename `any_imported' to `nr_imported'.
	(import_status_handler): Increment nr_imported.  Set nr_considered
	if appropriate.
	(gpgme_op_import_ext): New function.
	(gpgme_op_import): Implement in terms of gpgme_op_import_ext.
2002-08-20 13:38:40 +00:00
Werner Koch
dca8bd8c59 * vasprintf.c (int_vasprintf): Hack to handle NULL passed for %s. 2002-08-20 11:59:38 +00:00
Werner Koch
2d0be99a28 Added some feature requests. 2002-08-20 11:59:24 +00:00
Marcus Brinkmann
6ca9f05b63 2002-08-20 Marcus Brinkmann <marcus@g10code.de>
* gpgme.c (_gpgme_set_op_info): Append data on subsequent calls.
	* encrypt-sign.c (encrypt_sign_status_handler): Remove op_info
	handling.
2002-08-20 11:01:43 +00:00
Werner Koch
1f4021401b * decrypt.c (is_token,skip_token): Duplicated from verify.c
(gpgme_op_decrypt): Hack to properly return Decryption_Failed..
(_gpgme_decrypt_status_handler): Create an operation info.
2002-08-19 16:55:08 +00:00
Werner Koch
2d33a19706 * key.h (struct certsig_s): New. Use it in gpgme_key_s.
* key.c (gpgme_key_release): Release it. We need to add more code
of course.
(_gpgme_key_append_name): Use memset to intialize the struct.
* gpgme.h (GPGME_KEYLIST_MODE_SIGS): New.
* rungpg.c (_gpgme_gpg_op_keylist): Include sigs in listing depending
non the list mode.

* key.c (gpgme_key_get_string_attr): Use GPGME_ATTR_TYPE to return
information about the key type (PGP or X.509).
(gpgme_key_get_ulong_attr): Likewise.

* keylist.c (keylist_colon_handler): Include 1 in the check for
valid algorithms so that RSA is usable.  Store the issuer name and
serial number also for "crs" records.  Parse the expire date for
subkeys.
(set_userid_flags): Put them onto the last appended key.
2002-08-14 14:01:09 +00:00
Werner Koch
22b1b4e9b7 * gpgme.texi (Information About Keys): Changed GPGME_ATTR_TYPE. 2002-08-14 13:57:59 +00:00
Marcus Brinkmann
82883d51d6 Fixed a missing update in the fix to the update conflict ;)
(STATUS_EOF -> GPGME_STATUS_EOF).
2002-08-02 10:43:58 +00:00
Marcus Brinkmann
7f529816fe Correct path to test programs. 2002-08-01 17:40:38 +00:00
Marcus Brinkmann
c8ae33ec94 2002-08-01 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-edit.c: Also add a test for the expire command (testing
	the passphrase callback).
2002-08-01 16:02:19 +00:00
Werner Koch
117ff57fc6 Fixed an update conflict. 2002-08-01 10:16:21 +00:00
Steffen Hansen
6e3c1e6a1c new cryptplug function importCertificateFromMem() 2002-07-31 12:37:34 +00:00
Marcus Brinkmann
e49070c4e7 2002-07-29 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (_gpgme_gpg_op_edit): Use --with-colons.
2002-07-29 11:01:53 +00:00
Marcus Brinkmann
8bbfae32d7 Add items about the edit key operation. 2002-07-28 18:45:52 +00:00
Marcus Brinkmann
22693fabc3 2002-07-28 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-edit.c: New file.
	* gpg/Makefile (TESTS): Add t-edit.
2002-07-28 18:43:48 +00:00
Marcus Brinkmann
06acf255f7 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
aa356f00c4 Update the file. 2002-07-27 20:21:36 +00:00
Marcus Brinkmann
b72134c2b7 2002-07-27 Marcus Brinkmann <marcus@g10code.de>
* delete.c (delete_problem): New case ambigious specification.
	(delete_status_handler): Handle new case (poorly).
2002-07-27 14:24:07 +00:00
Marcus Brinkmann
170f7ad053 2002-07-25 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Deleting Keys): Say that secret keys might not be
	deleted.
2002-07-25 18:50:23 +00:00
Marcus Brinkmann
32d1ee1d6f 2002-07-25 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (_gpgme_gpgsm_op_delete): Implement this.
2002-07-25 18:44:57 +00:00
Marcus Brinkmann
37fb6b5df7 Update version information. 2002-07-25 18:20:23 +00:00
Marcus Brinkmann
ffcd46fa9c Update version requirement. 2002-07-25 18:15:52 +00:00
Marcus Brinkmann
1b691e1b00 2002-07-25 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-encrypt-sym.c (main): Change type of I to size_t and
	rename to LEN.
	* gpg/t-verify.c (main): Likewise.  Submitted by St�phane
	Corth�sy.
2002-07-25 18:15:11 +00:00
Marcus Brinkmann
1f2b33c0e0 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
099acb404a 2002-07-25 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (_gpgme_gpg_new): Always set utf8 as charset.
2002-07-25 16:08:14 +00:00
Marcus Brinkmann
9bbc37a7cf 2002-07-25 Marcus Brinkmann <marcus@g10code.de>
* key.c (gpgme_key_get_as_xml): Add OTRUST attribute.  Requested
	by St�phane Corth�sy.
	(gpgme_key_get_string_attr): Add GPGME_ATTR_SIG_SUMMARY case to
	silence gcc warning.
2002-07-25 16:01:55 +00:00
Marcus Brinkmann
09c44496ec 2002-07-25 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Manipulating Data Buffers): Mention that backend
	tries to detect encoding automatically.
2002-07-25 15:52:23 +00:00
Marcus Brinkmann
0cf9570fd5 2002-07-25 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Information About Keys): Document (badly) the new
	key attributes.
2002-07-25 15:50:46 +00:00
Marcus Brinkmann
da034f7c8f 2002-07-25 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (_gpgme_gpg_op_keylist_ext): Skip empty string
	patterns.  Reported by St�phane Corth�sy.
2002-07-25 15:45:40 +00:00
Marcus Brinkmann
30697e6c7c 2002-07-25 Marcus Brinkmann <marcus@g10code.de>
* wait.c (fdt_global): Make static.  Reported by St�phane
	Corth�sy.
2002-07-25 15:33:03 +00:00
Karl-Heinz Zimmer
6c8fcaba7f CRASH prevention fix: Memory was overwritten if there were more than 1 email address in a signature certificate found in checkMessageSignature() function. 2002-07-04 00:02:19 +00:00
Karl-Heinz Zimmer
3e95a6c550 fixing bug #1154 2002-07-03 15:43:41 +00:00
Werner Koch
35787b08c2 * gpgmeplug.c (nextCertificate): Actually free the entire array
and don't loop over tmp_dn and double free the first item.
Spotted by Bernhard Herzog.
2002-07-03 11:04:54 +00:00
Marcus Brinkmann
6c7bfef313 2002-07-03 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Run Control): Update this section.
	(Waiting For Completion): Likewise for this subsection.
	(Cancelling an Operation): Likewise for this subsection.
	(Using External Event Loops): New subsection with several
	subsubsections.
2002-07-03 02:22:38 +00:00
Marcus Brinkmann
cd2100e0a9 2002-07-03 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-eventloop.c: New file.
	* gpg/Makefile (TESTS): Add t-eventloop.
2002-07-03 02:18:43 +00:00
Marcus Brinkmann
4658bc37a6 2002-07-03 Marcus Brinkmann <marcus@g10code.de>
* gpgme.c (gpgme_set_io_cbs): Deal with CTX being NULL.

	* gpgme.c (_gpgme_op_event_cb_user): New function.
	* op-support.c (_gpgme_op_reset): Support a new mode of operation
	for private or user event loop.  Use new user event callback
	wrapper.
	* trustlist.c (gpgme_op_trustlist_start): Use this new mode.
	* keylist.c (gpgme_op_keylist_start): Likewise.

	* rungpg.c (_gpgme_gpg_io_event): New function.
	* rungpg.h (_gpgme_gpg_io_event): New prototype.
	* engine-gpgsm.c (_gpgme_gpg_io_event): New function.
	* engine-gpgsm.h (_gpgme_gpgsm_io_event): New prototype.
	* engine.c (_gpgme_engine_io_event): New function.
	* engine.h (_gpgme_engine_io_event): New prototype.
	* keylist.c (finish_key): Call _gpgme_engine_io_event, and move
	the real work for the default IO callback routines to ...
	(_gpgme_op_keylist_event_cb): ... here.  New function.
	* trustlist.c (trustlist_colon_handler): Signal
	GPGME_EVENT_NEXT_TRUSTITEM.  Move queue manipulation to ...
	(_gpgme_op_trustlist_event_cb): ... here.  New function.
	* gpgme.c (_gpgme_op_event_cb): Call _gpgme_op_keylist_event_cb
	and _gpgme_op_trustlist_event_cb when appropriate.
	* ops.h (_gpgme_op_keylist_event_cb): New prototype.
	(_gpgme_op_trustlist_event_cb): Likewise.
	* op-support.c (_gpgme_op_reset): Add comment why we don't use the
	user provided event handler directly.
	* gpgme.h (GpgmeRegisterIOCb): Return GpgmeError value, and TAG in
	a pointer argument.
	* wait.c (_gpgme_add_io_cb): Likewise.
	* wait.h (_gpgme_add_io_cb): Likewise for prototype.
	* rungpg.c (_gpgme_gpg_add_io_cb): Call IO_CBS->add with new
	argument.  Fix up error handling.
	* engine-gpgsm.c (_gpgme_gpgsm_add_io_cb): Call IO_CBS->add with
	new argument, fix up error handling.
2002-07-03 01:57:03 +00:00
Marcus Brinkmann
d6b6acb8bc Fix news item. 2002-07-02 20:43:25 +00:00
Karl-Heinz Zimmer
bd50e28df5 make sure key used for signing _can_ sign 2002-07-02 16:32:29 +00:00
Werner Koch
fd7901573f * configure.ac: Bumbed version number to 0.3.9; add a comment on
when to change it.

* gpgme.spec.in: New. Contributed by Wojciech Polak.
* Makefile.am (dist-hook): New.

* AUTHORS: Added Wojciech and bug reporting addresses.
2002-07-02 09:08:21 +00:00
Werner Koch
11a5cf670c auto updated version number. 2002-07-02 09:07:52 +00:00
Werner Koch
4cc801ae83 typo fix in comment. 2002-07-02 08:53:31 +00:00
Werner Koch
966b4bfb90 (xstrdup): Oops, obviously I calculated the length wrong when
coded this.  Tsss, wrote xstrdup some hundreds times but missed it
this time.  Thanks to Steffen Hansen for noticing it.
2002-07-01 13:09:18 +00:00
Werner Koch
3984ea8ba7 * gpgmeplug.c (findCertificates): Reintroduced a free which must
have been removed after my last fix.  This avoids a memory leak
when a fingerprint was not found.  Removed the double loop
increment in the code to release the arrays.
(make_fingerprint): Removed superfluous check on retrun value of
xmalloc.
(safe_free): Removed.  Changed all callers to use a regular free
and at appropriate palces set the free pointer to NULL.  That
safe_free stuff seems to have been copied verbatim from some
Mutt example code I posted.
(storeNewCharPtr): Use xmalloc instead of an unchecked
malloc. Removed superfluous string termination.
(parseAddress): Use xmalloc instead of an unchecked malloc.
(nextAddress): Ditto.
* gpgmeplug.c:  Moved a few helper functions more to the top.
Fixed comment syntax.  Merged a copyright notice somewhere in the
middle of the file with the one at the top.
2002-07-01 13:01:51 +00:00
Steffen Hansen
2aecadadb2 Fixed memory corruption bug 2002-07-01 12:52:29 +00:00
Karl-Heinz Zimmer
4502a57766 avoid another memory leak in checkMessageSignature() 2002-07-01 12:08:24 +00:00
Werner Koch
11888ab480 * gpgmeplug.c (findCertificates): Reintroduced a free which must
have been removed after my last fix.  This avoids a memory leak
when a fingerprint was not found.  Removed the double loop
increment in the code to release the arrays.
2002-07-01 11:36:48 +00:00
Karl-Heinz Zimmer
838faa02f8 replace many comment lines by just one single comment 2002-06-28 19:50:31 +00:00
Karl-Heinz Zimmer
0295e2a84d Make it compile. :-( 2002-06-28 19:40:13 +00:00
Karl-Heinz Zimmer
0ce8512aec Removed silly "free( dn )" statement forgotten during my last changes in findCertificates(). 2002-06-28 19:37:06 +00:00
Werner Koch
21879b861a * gpgmeplug.c (xmalloc): New.
(safe_malloc): Removed this macro and replaced it at all places
without return values checks by xmalloc.
(xstrdup): New. Replaces funny named macro with different
semantics.  Changed all callers to the new semantic.
(findCertificates): Don't free duplicate free the FPR array
values.  Removed the unneeded initialization.  Replaces the
gcc-ish use dynamic allocation of automatic variables by repalce
maxCerts with a macro MAXCERTS.  Made some comments Real C (tm).
(startListCertificates): Removed uneeded cast from xmalloc.
2002-06-28 18:30:23 +00:00
Bernhard Reiter
697d84d601 * gpgmeplug.c: new macro days_to_seconds().
this also fixes the dividing factor.
	(signatureCertificateDaysLeftToExpiry)
        (preceiverCertificateDaysLeftToExpiry): using the new macro

	(caCertificateDaysLeftToExpiry)
	(rootCertificateDaysLeftToExpiry): using new macro in deactivated code.
2002-06-28 14:51:12 +00:00
Karl-Heinz Zimmer
dd712a84bb internal AEgypten bugfix #1131: get full list of emails stored in certificated used for signing a received message 2002-06-28 14:12:18 +00:00
Marcus Brinkmann
652ae6fc2c 2002-06-28 Marcus Brinkmann <marcus@g10code.de>
* keylist.c (gpgme_op_keylist_ext_start): Always use our own FD
	table (eg use synchronous mode).
2002-06-28 12:02:43 +00:00
Marcus Brinkmann
93050c525a 2002-06-28 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Multi Threading): Remove item about the need to
	synchronize anything against gpgme_wait (except gpgme_wait
	itself).
2002-06-28 01:14:41 +00:00
Marcus Brinkmann
a9587d0b28 2002-06-28 Marcus Brinkmann <marcus@g10code.de>
* ops.h (_gpgme_wait_on_condition): Remove HANG argument from
	prototype and change return type to GpgmeError.
	(_gpgme_wait_one): New prototype.
	* wait.c (gpgme_wait): Replace with the meat from
	_gpgme_wait_on_condition here, and remove the support for
	conditions.
	(_gpgme_wait_on_condition): Remove HANG argument from prototype
	and change return type to GpgmeError.  Replace with meat from
	_gpgme_wait_one and add support for conditions.
	(_gpgme_wait_one): Just call _gpgme_wait_on_condition without
	condition.
	* keylist.c (gpgme_op_keylist_ext_start): Always use our own FD
	table (eg use synchronous mode).
	(gpgme_op_keylist_next): Remove HANG argument from
	_gpgme_wait_on_condition.  Check its return value.
	* trustlist.c (gpgme_op_trustlist_start): Always use our own FD
	table (eg use synchronous mode).
	(gpgme_op_trustlist_next): Remove HANG argument from
	_gpgme_wait_on_condition.  Check its return value.
2002-06-28 01:11:20 +00:00
Marcus Brinkmann
d7cbeb3e35 doc/
2002-06-27  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Information About Keys): Fix documentation for IDX.
	(Information About Trust Items): Likewise.

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

	* gpgme.h: Fix documentation of key attribute retrieval functions.
2002-06-27 16:34:10 +00:00
Steffen Hansen
1f829e3dd0 use gpgme_op_keylist_ext_start 2002-06-27 16:26:15 +00:00
Steffen Hansen
eb4c2774b9 handle truncated data 2002-06-27 13:15:02 +00:00
Karl-Heinz Zimmer
442edc6fcb Missing implementation bug fixed: Return both error id and error plain text from decryptMessage(). 2002-06-27 08:21:58 +00:00
Karl-Heinz Zimmer
523e652a80 Bugfix: enable function receiverCertificateDaysLeftToExpiry(). 2002-06-26 15:16:32 +00:00
Werner Koch
7bee5c61d5 * gpgsm/t-import.c (print_op_info): New.
(main): Print operation info.

* engine-gpgsm.c (map_assuan_error): Map No_Data_Available to EOF.

* import.c (append_xml_impinfo): Kludge to print fingerprint
instead of keyid for use with gpgsm.
(import_status_handler): Set a flag to know whether any import
occured.
(gpgme_op_import): Reurn -1 if no certificate ewas imported.

* gpgme.texi (Importing Keys): Document the return value -1 of
gpgme_op_import.
2002-06-26 12:49:59 +00:00
Karl-Heinz Zimmer
054c204bef Make the signatureCertificateDaysLeftToExpiry() work as expected. 2002-06-26 08:04:43 +00:00
Karl-Heinz Zimmer
787422a104 IMPORTANT BUGFIX: Avoid random crashes in findCertificates. (This also fixes bug #1088.) 2002-06-26 04:44:58 +00:00
Karl-Heinz Zimmer
b9db0fd302 Oh pazzo mio! I forgot to *use* the nice dn string actually. 2002-06-26 00:05:30 +00:00
Steffen Hansen
dc24ce6798 cert export/import bugfix 2002-06-25 20:24:29 +00:00
Werner Koch
1d48088f2f Prepared for further development. 2002-06-25 19:22:12 +00:00
Werner Koch
4be7c0befb * gpgsm/Makefile.am (DISTCLEANFILES): new. 2002-06-25 19:04:40 +00:00
Werner Koch
490003aa2c * engine-gpgsm.c (_gpgme_gpgsm_set_io_cbs) [ENABLE_GPGSM]: Fixed
function arguments.
2002-06-25 18:50:23 +00:00
Werner Koch
4d36d054c0 * configure.ac: Bumbed LT version to 9/3/0.
(NEED_GPGSM_VERSION): Need 0.3.8 due to fixed export command.
2002-06-25 18:32:20 +00:00
Steffen Hansen
d55f155fa1 importCertificate( const char* fpr ) 2002-06-25 17:42:21 +00:00
Karl-Heinz Zimmer
13a3516233 Have additional secretOnly parameter at the findCertificates() function to allow for searching only secret keys. 2002-06-25 15:05:59 +00:00
Marcus Brinkmann
b3361bd9b9 2002-06-25 Marcus Brinkmann <marcus@g10code.de>
* gpgsm/Makefile.am (TESTS): Add t-export.
	gpgsm/t-export.c: New file.
2002-06-25 12:12:25 +00:00
Marcus Brinkmann
631a7e5c2e 2002-06-25 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (_gpgme_gpgsm_op_export): Only export the keys
	listed in RECP.
	* export.c (gpgme_op_export): If no data was returned, return
	GPGME_No_Recipients.
2002-06-25 12:10:27 +00:00
Marcus Brinkmann
f24bbcc54f 2002-06-25 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (_gpgme_gpgsm_op_export): Implement.
2002-06-25 11:14:44 +00:00
Karl-Heinz Zimmer
1ee485d442 Disable debug output 2002-06-24 21:01:18 +00:00
Karl-Heinz Zimmer
c33eca3223 Use fine DN parts reordering from within findCertificates() as well. 2002-06-24 20:25:19 +00:00
Marcus Brinkmann
60b2d915ab 2002-06-21 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (gpgsm_assuan_simple_command): Return ERR.
	(parse_status): New function.
	(gpgsm_status_handler): Use parse_status.
	(gpgsm_assuan_simple_command): Accept new arguments STATUS_FNC and
	STATUS_FNC_VALUE and process status messages.
	(gpgsm_set_recipients): Pass new arugments to gpgsm_assuan_simple_command.
	(gpgsm_set_fd): Likewise.
	(_gpgme_gpgsm_op_keylist): Likewise.
	(_gpgme_gpgsm_op_keylist_ext): Likewise.
	(_gpgme_gpgsm_op_sign): Likewise.
2002-06-21 19:16:16 +00:00
Marcus Brinkmann
5add5dab59 2002-06-21 Marcus Brinkmann <marcus@g10code.de>
* wait.c (_gpgme_remove_io_cb): Unlock FDT->lock.
2002-06-21 15:28:56 +00:00