<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/NEWS, branch gpgme-0-4-2</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-0-4-2</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-0-4-2'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2003-07-30T12:56:28Z</updated>
<entry>
<title>2003-07-30  Marcus Brinkmann  &lt;marcus@g10code.de&gt;</title>
<updated>2003-07-30T12:56:28Z</updated>
<author>
<name>Marcus Brinkmann</name>
<email>mb@g10code.com</email>
</author>
<published>2003-07-30T12:56:28Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=b0e0ab96cb809392412334df67fa0b755ad0c567'/>
<id>urn:sha1:b0e0ab96cb809392412334df67fa0b755ad0c567</id>
<content type='text'>
	* configure.ac (LIBGPGME_LT_REVISION): Bump up to 1.

	Released 0.4.2.

</content>
</entry>
<entry>
<title>Fill in missing info.</title>
<updated>2003-07-22T11:48:43Z</updated>
<author>
<name>Marcus Brinkmann</name>
<email>mb@g10code.com</email>
</author>
<published>2003-07-22T11:48:43Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=5758e09e61bdde55eaf2d29e96961d5679d73333'/>
<id>urn:sha1:5758e09e61bdde55eaf2d29e96961d5679d73333</id>
<content type='text'>
</content>
</entry>
<entry>
<title>2003-06-06  Marcus Brinkmann  &lt;marcus@g10code.de&gt;</title>
<updated>2003-06-06T03:04:09Z</updated>
<author>
<name>Marcus Brinkmann</name>
<email>mb@g10code.com</email>
</author>
<published>2003-06-06T03:04:09Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=6e899f43f982db8cfdcd110062135792396e839e'/>
<id>urn:sha1:6e899f43f982db8cfdcd110062135792396e839e</id>
<content type='text'>
	* configure.ac (LIBGPGME_LT_CURRENT): Bump up to 11.

</content>
</entry>
<entry>
<title>doc/</title>
<updated>2003-06-06T00:56:03Z</updated>
<author>
<name>Marcus Brinkmann</name>
<email>mb@g10code.com</email>
</author>
<published>2003-06-06T00:56:03Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=a8fe22ca6ba1ef72e603611b6b72b65a701e1575'/>
<id>urn:sha1:a8fe22ca6ba1ef72e603611b6b72b65a701e1575</id>
<content type='text'>
2003-06-06  Marcus Brinkmann  &lt;marcus@g10code.de&gt;

	* gpgme.texi (Crypto Operations): Rename gpgme_invalid_user_id_t
	to gpgme_invalid_key_t.

gpgme/
2003-06-06  Marcus Brinkmann  &lt;marcus@g10code.de&gt;

	* op-support.c (_gpgme_parse_inv_userid): Rename to
	_gpgme_parse_inv_recp and change to new datatype.
	* ops.h (_gpgme_parse_inv_key): Fix prototype.
	* gpgme.h (struct _gpgme_invalid_user_id): Rename to
	__gpgme_invalid_key.  Rename field ID to KEY.
	(gpgme_invalid_user_id_t): Rename to gpgme_invalid_key_t.
	(struct _gpgme_op_encrypt_result): Here, too.
	(struct _gpgme_op_sign_result): Likewise.
	* encrypt.c (struct op_data): Likewise.
	(release_op_data): Likewise.
	* sign.c (struct op_data): Likewise.
	(release_op_data): Likewise.

</content>
</entry>
<entry>
<title>doc/</title>
<updated>2003-06-05T23:20:29Z</updated>
<author>
<name>Marcus Brinkmann</name>
<email>mb@g10code.com</email>
</author>
<published>2003-06-05T23:20:29Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=02536bb72b884dceeaadda9364860f0649450e2e'/>
<id>urn:sha1:02536bb72b884dceeaadda9364860f0649450e2e</id>
<content type='text'>
2003-06-06  Marcus Brinkmann  &lt;marcus@g10code.de&gt;

	* gpgme.texi: Change error codes to GPG_ERR_* variants.
	(Error Handling): Rewritten.

gpgme/
2003-06-05  Marcus Brinkmann  &lt;marcus@g10code.de&gt;

	Everywhere: Use libgpg-error error codes.

	* Makefile.am (EXTRA_DIST): Remove mkerrors.
	(BUILT_SOURCES): Remove errors.c.
	(MOSTLYCLEANFILES): Likewise.
	(libgpgme_la_SOURCES): Likewise.  Add error.c.
	(errors.c): Remove target.
	* mkerrors: File removed.
	* error.c: New file.

	* gpgme.h (gpgme_error_t): Change to type gpg_error_t.
	(gpgme_err_code_t, gpgme_err_source_t): New types.
	(gpgme_err_code, gpgme_err_source, gpgme_error, gpgme_err_make):
	New static inline functions.
	(gpgme_strsource, gpgme_err_code_from_errno,
	gpgme_err_code_to_errno, gpgme_err_make_from_errno,
	gpgme_error_from_errno): New prototypes.

tests/
2003-06-06  Marcus Brinkmann  &lt;marcus@g10code.de&gt;

	Everywhere: Use libgpg-error error codes.

	* gpg/Makefile.am (noinst_HEADERS): New variable.
	* gpg/t-support.h: New file.
	* gpgsm/Makefile.am (noinst_HEADERS): New variable.
	* gpgsm/t-support.h: New file.

</content>
</entry>
<entry>
<title>doc/</title>
<updated>2003-05-29T03:21:02Z</updated>
<author>
<name>Marcus Brinkmann</name>
<email>mb@g10code.com</email>
</author>
<published>2003-05-29T03:21:02Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=8f8c78d534d7a1242f1cc68bfb1ac9b5079108a5'/>
<id>urn:sha1:8f8c78d534d7a1242f1cc68bfb1ac9b5079108a5</id>
<content type='text'>
2003-05-29  Marcus Brinkmann  &lt;marcus@g10code.de&gt;

	* gpgme.texi (Exporting Keys): Change and document prototypes.
	Add new gpgme_op_export_ext and gpgme_op_export_ext_start
	variants.
	(Selecting Recipients): Section removed.
	(Encrypting a Plaintext): Change prototypes and document the
	changes.

gpgme/
2003-05-29  Marcus Brinkmann  &lt;marcus@g10code.de&gt;

	* gpgme.h (gpgme_op_export_start): Change second arg to const char *.
	(gpgme_op_export): Likewise.
	(gpgme_op_export_ext_start): New prototype.
	(gpgme_op_export_ext): Likewise.
	* engine.h: Likewise for _gpgme_engine_op_export and
	_gpgme_engine_op_export_ext.
	* engine-backend.h (struct engine_ops): Change second argument of
	prototype of export to const char *, and add reserverd int as
	third argument.  Add prototype for export_ext.
	* engine.c (_gpgme_engine_op_export_ext): New function.
	(_gpgme_engine_op_export): Change second argument of prototype of
	export to const char *, and add reserverd int as third argument.
	* rungpg.c (gpg_export): Change second argument of prototype of
	export to const char *, and add reserverd int as third argument.
	(gpg_export_ext): New function.
	(gpg_keylist_ext): Break loop at error.
	(_gpgme_engine_ops_gpg): Add gpg_export_ext.
	* engine-gpgsm.c (gpgsm_export): Change second argument of
	prototype of export to const char *, and add reserverd int as
	third argument.
	(gpgsm_export_ext): New function.
	(_gpgme_engine_ops_gpgsm): Add gpgsm_export_ext.
	* export.c (export_start): Change second argument of prototype of
	export to const char *, and add reserverd int as third argument.
	(gpgme_op_export_start): Likewise.
	(export_ext_start): New function.
	(gpgme_op_export_ext_start): Likewise.
	(gpgme_op_export_ext): Likewise.

	* gpgme.h (gpgme_keylist_mode_t): New type for anonymous enum.
	(gpgme_sigsum_t): New type for anonymous enum.

	* encrypt-sign.c (encrypt_sign_start): Check for errors earlier,
	and return an error if RECP is not set.

	* Makefile.am (libgpgme_la_SOURCES): Remove user-id.c.
	* user-id.c: Remove file.
	* ops.h: Remove prototype for _gpgme_user_ids_all_valid.
	* gpgme.h (gpgme_encrypt_flags_t): New type.
	(gpgme_op_encrypt_start): Change second parameter to type
	gpgme_key_t[], and add third parameter.
	(gpgme_op_encrypt): Likewise.
	(gpgme_op_encrypt_sign_start): Likewise.
	(gpgme_op_encrypt_sign): Likewise.
	* encrypt.c (encrypt_start): Likewise.
	(gpgme_op_encrypt_start): Likewise.
	(gpgme_op_encrypt): Likewise.  Pass flags to engine.
	* encrypt-sign.c (encrypt_sign_start): Likewise.
	(gpgme_op_encrypt_sign_start): Likewise.
	(gpgme_op_encrypt_sign): Likewise.
	* engine-backend.h (struct engine_ops): Likewise for prototypes of
	encrypt and encrypt_sign.
	* engine.h: Likewise for prototypes of _gpgme_engine_op_encrypt
	and _gpgme_engine_op_encrypt_sign.
	* engine.c (_gpgme_engine_op_encrypt): Likewise.
	(_gpgme_engine_op_encrypt_sign): Likewise.
	* rungpg.c (gpg_encrypt): Likewise.
	(gpg_encrypt_sign): Likewise.
	* rungpg.c (gpg_encrypt): Check flags for always trust option.
	* engine-gpgsm.c (gpgsm_encrypt): Likewise.
	(set_recipients): Rewritten to use keys instead user IDs.
	* rungpg.c (append_args_from_recipients): Rewritten to use keys
	instead user IDs.
	* encrypt.c (_gpgme_encrypt_status_handler): Change errors
	returned to GPGME_Invalid_Key and GPGME_General_Error.

tests/
2003-05-29  Marcus Brinkmann  &lt;marcus@g10code.de&gt;

	* gpg/t-encrypt-sym.c (main): Adapt to new syntax.
	* gpg/t-encrypt.c (main): Likewise.
	* gpg/t-eventloop.c (main): Likewise.
	* gpg/t-encrypt-sign.c (main): Likewise.
	* gpgsm/t-export.c (main): Likewise.
	* gpgsm/t-encrypt.c (main): Likewise.

</content>
</entry>
<entry>
<title>Fix typo.</title>
<updated>2003-05-28T02:11:25Z</updated>
<author>
<name>Marcus Brinkmann</name>
<email>mb@g10code.com</email>
</author>
<published>2003-05-28T02:11:25Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=8585e1cc532781367d15231ad0b129c4e21a24ff'/>
<id>urn:sha1:8585e1cc532781367d15231ad0b129c4e21a24ff</id>
<content type='text'>
</content>
</entry>
<entry>
<title>doc/</title>
<updated>2003-05-28T01:15:38Z</updated>
<author>
<name>Marcus Brinkmann</name>
<email>mb@g10code.com</email>
</author>
<published>2003-05-28T01:15:38Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=bade4a32b525c3e84cd6a74f1e8d2364322b8526'/>
<id>urn:sha1:bade4a32b525c3e84cd6a74f1e8d2364322b8526</id>
<content type='text'>
2003-05-28  Marcus Brinkmann  &lt;marcus@g10code.de&gt;

	* gpgme.texi (Exporting Keys): Change argument type from
	gpgme_recipient_t to gpgme_user_id_t.
	(Encrypting a Plaintext): Likewise.
	(Selecting Recipients): Rewritten.

gpgme/
2003-05-28  Marcus Brinkmann  &lt;marcus@g10code.de&gt;

	* Makefile.am (libgpgme_la_SOURCES): Remove recipient.c, add
	user-id.c.
	* gpgme.h (gpgme_recipients_t): Removed.
	(gpgme_recipients_new, gpgme_recipients_release,
	gpgme_recipients_add_name,
	gpgme_recipients_add_name_with_validity, gpgme_recipients_count,
	gpgme_recipients_enum_open, gpgme_recipients_enum_read,
	gpgme_recipients_enum_close): Removed.
	(gpgme_op_encrypt, gpgme_op_encrypt_start, gpgme_op_encrypt_sign,
	gpgme_op_encrypt_sign_start, gpgme_op_export_start,
	gpgme_op_export): Change second argument to gpgme_user_id_t.
	(gpgme_user_ids_release): New prototype.
	(gpgme_user_ids_append): Likewise.
	* ops.h (_gpgme_recipients_all_valid): Remove.
	(_gpgme_user_ids_all_valid): Add.
	* context.h (struct gpgme_recipients): Removed.
	* user-id.c: New file.
	* recipient.c: Removed file.
	* rungpg.c (append_args_from_recipients): Change last arg to
	gpgme_user_id_t.  Reimplement.
	(gpg_encrypt): Change second arg to gpgme_user_id_t.
	(gpg_encrypt_sign): Likewise.
	(gpg_export): Likewise.  Rewrite user ID list code.
	* engine.c (_gpgme_engine_op_encrypt): Change second arg to
	gpgme_user_id_t.
	(_gpgme_engine_op_encrypt_sign): Likewise.
	(_gpgme_engine_op_export): Likewise.
	* engine.h (_gpgme_engine_op_encrypt, _gpgme_engine_op_encrypt_sign,
	_gpgme_engine_op_export): Likewise.
	* engine-gpgsm.c (set_recipients): Likewise.  Rewrite loop code.
	(gpgsm_encrypt): Likewise.
	(gpgsm_export): Likewise.
	* engine-backend.h (struct engine_ops): Likewise for members
	ENCRYPT, ENCRYPT_SIGN and EXPORT.
	* export.c (export_start, gpgme_op_export_start, gpgme_op_export):
	Likewise.
	* encrypt.c (encrypt_start): Likewise.  Don't check for count of
	recipients.
	(gpgme_op_encrypt_start): Likewise.
	(gpgme_op_encrypt): Likewise.
	* encrypt-sign.c (encrypt_sign_start): Likewise.
	(gpgme_op_encrypt_sign): Likewise.
	(gpgme_op_encrypt_sign_start): Likewise.

tests/
2003-05-28  Marcus Brinkmann  &lt;marcus@g10code.de&gt;

	* gpg/t-eventloop.c (main): Rewrite recipient management.
	* gpg/t-encrypt-sign.c (main): Likewise.
	* gpg/t-encrypt.c (main): Likewise.
	* gpg/t-export.c (main): Likewise.

</content>
</entry>
<entry>
<title>Add more info.</title>
<updated>2003-05-27T02:16:54Z</updated>
<author>
<name>Marcus Brinkmann</name>
<email>mb@g10code.com</email>
</author>
<published>2003-05-27T02:16:54Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=bcd42df60e7e759d40ef2f4b4093edd44ca100bf'/>
<id>urn:sha1:bcd42df60e7e759d40ef2f4b4093edd44ca100bf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>doc/</title>
<updated>2003-05-27T01:31:06Z</updated>
<author>
<name>Marcus Brinkmann</name>
<email>mb@g10code.com</email>
</author>
<published>2003-05-27T01:31:06Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=03bcb7f4c14e771392ccf04d1d5cd38c5baf47b2'/>
<id>urn:sha1:03bcb7f4c14e771392ccf04d1d5cd38c5baf47b2</id>
<content type='text'>
2003-05-27  Marcus Brinkmann  &lt;marcus@g10code.de&gt;

	* gpgme.texi (Passphrase Callback): Document new prototype.

gpgme/
2003-05-26  Marcus Brinkmann  &lt;marcus@g10code.de&gt;

	* engine.h (EngineCommandHandler): Change last argument to int fd.
	* gpgme.h (gpgme_passphrase_cb_t): Rewritten to take parts of the
	description and fd.
	(gpgme_edit_cb_t): Change last argument to int fd.
	* ops.h (_gpgme_passphrase_command_handler_internal): New prototype.
	* passphrase.c: Include &lt;assert.h&gt;.
	(op_data_t): Rename userid_hint to uid_hint, remove last_pw_handle.
	(release_op_data): Check values before calling free.
	(_gpgme_passphrase_status_handler): Likewise.
	(_gpgme_passphrase_command_handler_internal): New function.
	(_gpgme_passphrase_command_handler): Rewritten.
	* edit.c (edit_status_handler): Pass -1 as fd argument.
	(command_handler): Update prototype.  New variable processed.  Use
	it to store return value of
	_gpgme_passphrase_command_handler_internal which is now used
	instead _gpgme_passphrase_command_handler.  Use it also to check
	if we should call the user's edit function.  Pass fd to user's
	edit function.
	* rungpg.c (struct gpg_object_s): Change type of cmd.cb_data to
	void *.
	(gpg_release): Check value before calling free.  Do not release
	cmd.cb_data.
	(command_cb): Function removed.
	(command_handler): New function.  Thus we don't use a data object
	for command handler stuff anymore, but handle it directly.  This
	allows proper error reporting (cancel of passphrase requests, for
	example).  Also all callbacks work via direct writes to the file
	descriptor (so that passphrases are not kept in insecure memory).
	(gpg_set_command_handler): Rewritten to use even more ugly hacks.
	(read_status): Check cmd.keyword before calling free.  Install
	command_handler as the I/O callback handler with GPG as private
	data.

tests/
2003-05-27  Marcus Brinkmann  &lt;marcus@g10code.de&gt;

	* (t-decrypt-verify.c, t-decrypt.c, t-edit.c, t-encrypt-sign.c,
	t-encrypt-sym.c, t-sign.c, t-signers.c): Include &lt;unistd.h&gt;.
	(passphrase_cb): Rewritten.
	* t-edit.c (edit_fnc): Rewritten.

</content>
</entry>
</feed>
