From 8f8c78d534d7a1242f1cc68bfb1ac9b5079108a5 Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Thu, 29 May 2003 03:21:02 +0000 Subject: doc/ 2003-05-29 Marcus Brinkmann * 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 * 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 * 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. --- NEWS | 79 +++++++++++++++++++++++++++++--------------------------------------- 1 file changed, 34 insertions(+), 45 deletions(-) (limited to 'NEWS') diff --git a/NEWS b/NEWS index 69b3021b..a89e881e 100644 --- a/NEWS +++ b/NEWS @@ -95,36 +95,21 @@ Noteworthy changes in version 0.4.1 (unreleased) The user is expected to write the response to the file descriptor, followed by a newline. - * The recipients interface has been removed and replaced by a more - generic and light gpgme_user_ids_* interface, which only provides - two functions: gpgme_user_ids_append adds a new user ID at the end - of the linked list, and gpgme_user_ids_release releases all user - IDs in the linked list. The resulting user ID object is free for - the user to change (note however that gpgme_user_ids_release only - releases resources allocated by GPGME). - - This change propagates to the prototypes of gpgme_op_encrypt, - gpgme_op_encrypt_start, gpgme_op_encrypt_sign and - gpgme_op_encrypt_sign_start. Also the prototypes of - gpgme_op_export_start and gpgme_op_export finally make sense. - - Here is an example how to use the new interface: - - gpgme_user_id_t rset = NULL; - gpgme_user_id_t *rset_lastp = &rset; + * The recipients interface has been removed. Instead, you use + NULL-terminated lists of keys for specifying the recipients of an + encryption operation. Use the new encryption flag + GPGME_ENCRYPT_ALWAYS_TRUST if you want to override the validity of + the keys (but note that in general this is not a good idea). - err = gpgme_user_ids_append (rset_lastp, "Alpha"); - fail_if_err (err); - (*rset_lastp)->validity = GPGME_VALIDITY_FULL; - - rset_lastp = &(*rset_lastp)->next; - err = gpgme_user_ids_append (rset_lastp, "Bob"); - fail_if_err (err); - (*rset_lastp)->validity = GPGME_VALIDITY_FULL; - - [...] + This change has been made to the prototypes of gpgme_op_encrypt, + gpgme_op_encrypt_start, gpgme_op_encrypt_sign and + gpgme_op_encrypt_sign_start. - gpgme_user_ids_release (rset); + The export interface has been changed to use pattern strings like + the keylist interface. Thus, new functions gpgme_op_export_ext and + gpgme_op_export_ext_start have been added as well. Now the + prototypes of gpgme_op_export_start and gpgme_op_export finally + make sense. * gpgme_op_verify and gpgme_op_decrypt_verify don't return a status summary anymore. Use gpgme_get_sig_status to retrieve the individual @@ -308,23 +293,27 @@ gpgme_op_decrypt_verify CHANGED: Drop R_STAT argument. gpgme_wait CHANGED: Can return NULL even if hang is true. GpgmeIdleFunc REMOVED gpgme_register_idle REMOVED -GpgmeRecipients REMOVED: Use gpgme_user_id_t. -gpgme_recipients_new REMOVED: Initialize gpgme_user_id_t with NULL. -gpgme_recipients_release REMOVED: Use gpgme_user_ids_release. -gpgme_recipients_add_name REMOVED: Use gpgme_user_ids_append -gpgme_recipients_add_name_with_validity REMOVED: Set validity directly. -gpgme_recipients_count REMOVED: You can count them yourself. -gpgme_recipients_enum_open REMOVED: gpgme_user_id_t is a linked list. -gpgme_recipients_enum_read REMOVED: See gpgme_recipients_enum_open. -gpgme_recipients_enum_close REMOVED: See gpgme_recipients_enum_read. -gpgme_user_ids_append NEW -gpgme_user_ids_release NEW -gpgme_op_encrypt CHANGED: Recipients passed as gpgme_user_id_t. -gpgme_op_encrypt_start CHANGED: Recipients passed as gpgme_user_id_t. -gpgme_op_encrypt_sign CHANGED: Recipients passed as gpgme_user_id_t. -gpgme_op_encrypt_sign_start CHANGED: Recipients passed as gpgme_user_id_t. -gpgme_op_export_start CHANGED: User IDs passed as gpgme_user_id_t. -gpgme_op_export CHANGED: User IDs passed as gpgme_user_id_t. +GpgmeRecipients REMOVED +gpgme_recipients_new REMOVED +gpgme_recipients_release REMOVED +gpgme_recipients_add_name REMOVED +gpgme_recipients_add_name_with_validity REMOVED +gpgme_recipients_count REMOVED +gpgme_recipients_enum_open REMOVED +gpgme_recipients_enum_read REMOVED +gpgme_recipients_enum_close REMOVED +gpgme_encrypt_flags_t NEW +GPGME_ENCRYPT_ALWAYS_TRUST NEW +gpgme_op_encrypt CHANGED: Recipients passed as gpgme_key_t[]. +gpgme_op_encrypt_start CHANGED: Recipients passed as gpgme_key_t[]. +gpgme_op_encrypt_sign CHANGED: Recipients passed as gpgme_key_t[]. +gpgme_op_encrypt_sign_start CHANGED: Recipients passed as gpgme_key_t[]. +gpgme_op_export_start CHANGED: User IDs passed as patterns. +gpgme_op_export CHANGED: User IDs passed as patterns. +gpgme_op_export_ext_start NEW +gpgme_op_export_ext NEW +gpgme_keylist_mode_t NEW +gpgme_sigsum_t NEW gpgme_engine_info_t NEW gpgme_get_engine_info CHANGED: Return info structure instead XML. gpgme_get_protocol_name NEW -- cgit v1.2.3